diff --git a/docs/fa/SUMMARY.md b/docs/fa/SUMMARY.md new file mode 100644 index 00000000000..ec1e00b8b9a --- /dev/null +++ b/docs/fa/SUMMARY.md @@ -0,0 +1,122 @@ +# Sidebar + +- [Overview](qgc-user-guide/index.md) + - [Quick Start](qgc-user-guide/getting_started/quick_start.md) + - [Download and Install](qgc-user-guide/getting_started/download_and_install.md) + - [Toolbar/Menu](qgc-user-guide/toolbar/toolbar.md) + - [Support](qgc-user-guide/support/support.md) + +- [Fly](qgc-user-guide/fly_view/fly_view.md) + - [Replay Flight Data](qgc-user-guide/fly_view/replay_flight_data.md) + - [Video Overlay](qgc-user-guide/fly_view/video_overlay.md) + +- [Plan](qgc-user-guide/plan_view/plan_view.md) + - [GeoFence](qgc-user-guide/plan_view/plan_geofence.md) + - [Rally Points](qgc-user-guide/plan_view/plan_rally_points.md) + - [Pattern](qgc-user-guide/plan_view/pattern.md) + - [Survey](qgc-user-guide/plan_view/pattern_survey.md) + - [Structure Scan](qgc-user-guide/plan_view/pattern_structure_scan_v2.md) + - [Corridor Scan](qgc-user-guide/plan_view/pattern_corridor_scan.md) + - [Fixed Wing Landing Pattern](qgc-user-guide/plan_view/pattern_fixed_wing_landing.md) + - [Pattern Presets](qgc-user-guide/plan_view/pattern_presets.md) + +- [Vehicle Setup](qgc-user-guide/setup_view/setup_view.md) + - [Firmware](qgc-user-guide/setup_view/firmware.md) + - [Airframe](qgc-user-guide/setup_view/airframe.md) + - [Airframe (ArduPilot)](qgc-user-guide/setup_view/airframe_ardupilot.md) + - [Airframe (PX4)](qgc-user-guide/setup_view/airframe_px4.md) + - [Radio](qgc-user-guide/setup_view/radio.md) + - [Sensors](qgc-user-guide/setup_view/sensors.md) + - [Sensors (ArduPilot)](qgc-user-guide/setup_view/sensors_ardupilot.md) + - [Sensors (PX4)](qgc-user-guide/setup_view/sensors_px4.md) + - [Flight Modes](qgc-user-guide/setup_view/flight_modes.md) + - [ArduPilot Flight Modes Setup](qgc-user-guide/setup_view/flight_modes_ardupilot.md) + - [PX4 Flight Modes Setup](qgc-user-guide/setup_view/flight_modes_px4.md) + - [Power](qgc-user-guide/setup_view/power.md) + - [Motors](qgc-user-guide/setup_view/motors.md) + - [Motors (ArduSub)](qgc-user-guide/setup_view/motors_ardusub.md) + - [Safety](qgc-user-guide/setup_view/safety.md) + - [Safety (ArduPilot)](qgc-user-guide/setup_view/safety_ardupilot.md) + - [Tuning](qgc-user-guide/setup_view/tuning.md) + - [Tuning (ArduPilot)](qgc-user-guide/setup_view/tuning_ardupilot.md) + - [ArduCopter Tuning](qgc-user-guide/setup_view/tuning_arducopter.md) + - [ArduSub Tuning](qgc-user-guide/setup_view/tuning_ardusub.md) + - [Tuning (PX4)](qgc-user-guide/setup_view/tuning_px4.md) + - [Camera](qgc-user-guide/setup_view/camera.md) + - [Joystick](qgc-user-guide/setup_view/joystick.md) + - [Parameters](qgc-user-guide/setup_view/parameters.md) + +- [Application Settings](qgc-user-guide/settings_view/settings_view.md) + - [General](qgc-user-guide/settings_view/general.md) + - [CSV Logging](qgc-user-guide/settings_view/csv.md) + - [Offline Maps](qgc-user-guide/settings_view/offline_maps.md) + - [MAVLink](qgc-user-guide/settings_view/mavlink.md) + - [Console Logging](qgc-user-guide/settings_view/console_logging.md) + - [Virtual Joystick (PX4)](qgc-user-guide/settings_view/virtual_joystick.md) + +- [Analyze](qgc-user-guide/analyze_view/index.md) + - [Log Download](qgc-user-guide/analyze_view/log_download.md) + - [GeoTag Images (PX4)](qgc-user-guide/analyze_view/geotag_images.md) + - [MAVLink Console (PX4)](qgc-user-guide/analyze_view/mavlink_console.md) + - [MAVLink Inspector](qgc-user-guide/analyze_view/mavlink_inspector.md) + +- [Releases](qgc-user-guide/releases/index.md) + - [Release Notes](qgc-user-guide/releases/release_notes.md) + - [v4.0 (Additional Notes)](qgc-user-guide/releases/stable_v4.0_additional.md) + - [v3.3 (Detailed)](qgc-user-guide/releases/stable_v3.3_long.md) + - [v3.2 (Detailed)](qgc-user-guide/releases/stable_v3.2_long.md) + - [Daily Builds](qgc-user-guide/releases/daily_builds.md) + - [Daily Build New Features](qgc-user-guide/releases/daily_build_new_features.md) + - [Privacy Policy](qgc-user-guide/releases/privacy_policy.md) + +- [Troubleshooting](qgc-user-guide/troubleshooting/index.md) + + - [Setup Problems](qgc-user-guide/troubleshooting/qgc_setup.md) + - [Usage Problems](qgc-user-guide/troubleshooting/qgc_usage.md) + - [Connection problems](qgc-user-guide/troubleshooting/vehicle_connection.md) + - [Parameter Download failures](qgc-user-guide/troubleshooting/parameter_download.md) + - [Plan Upload/Download failures](qgc-user-guide/troubleshooting/plan_upload_download.md) + - [Resume Mission failures](qgc-user-guide/troubleshooting/resume_mission.md) + +- [Developer's Guide](qgc-dev-guide/index.md) + - [Getting Started with source & builds](qgc-dev-guide/getting_started/index.md) + - [Build using Containers](qgc-dev-guide/getting_started/container.md) + - [Using QGC on CentOS](qgc-dev-guide/getting_started/cent_os.md) + - [QGC Release/Branching Process](qgc-dev-guide/release_branching_process.md) + - [Communication Flow](qgc-dev-guide/communication_flow.md) + - [Plugin Architecture](qgc-dev-guide/firmware_plugin.md) + - [Class Hierarchy](qgc-dev-guide/classes/index.md) + - [User Interface Design](qgc-dev-guide/user_interface_design/index.md) + - [Multi-Device Design Pattern](qgc-dev-guide/user_interface_design/multi_device_pattern.md) + - [Font and Colour Palette](qgc-dev-guide/user_interface_design/font_palette.md) + - [UI Controls](qgc-dev-guide/user_interface_design/controls.md) + - [Fact System](qgc-dev-guide/fact_system.md) + - [Top Level Views](qgc-dev-guide/views/index.md) + - [Settings View](qgc-dev-guide/views/settings.md) + - [Setup View](qgc-dev-guide/views/setup.md) + - [Plan View](qgc-dev-guide/views/plan.md) + - [Dynamic UI for mission item editing](qgc-dev-guide/plan/mission_command_tree.md) + - [Fly View](qgc-dev-guide/views/fly.md) + - [File Formats](qgc-dev-guide/file_formats/index.md) + - [Parameters](qgc-dev-guide/file_formats/parameters.md) + - [Plan](qgc-dev-guide/file_formats/plan.md) + - [MAVLink Logs](qgc-dev-guide/file_formats/mavlink.md) + - [Developer Tools](qgc-dev-guide/tools/index.md) + - [Mock Link](qgc-dev-guide/tools/mock_link.md) + - [Command Line Options](qgc-dev-guide/command_line_options.md) + - [Custom Builds](qgc-dev-guide/custom_build/custom_build.md) + - [Initial Repository Setup For Custom Build](qgc-dev-guide/custom_build/create_repos.md) + - [Custom Build Plugins](qgc-dev-guide/custom_build/plugins.md) + - [Resources Overrides](qgc-dev-guide/custom_build/resource_override.md) + - [Customization](qgc-dev-guide/custom_build/customization.md) + - [First Run Prompts](qgc-dev-guide/custom_build/first_run_prompts.md) + - [Toolbar customization](qgc-dev-guide/custom_build/toolbar.md) + - [Fly View Customization](qgc-dev-guide/custom_build/fly_view.md) + - [Release/Branching Process For Custom Builds](qgc-dev-guide/custom_build/release_branching_process.md) + - [MAVLink](qgc-dev-guide/custom_build/mavlink.md) + - [Code Submission](qgc-dev-guide/contribute/index.md) + - [Developer Call](qgc-dev-guide/contribute/dev_call.md) + - [Coding Style](qgc-dev-guide/contribute/coding_style.md) + - [Unit Tests](qgc-dev-guide/contribute/unit_tests.md) + - [Pull Requests](qgc-dev-guide/contribute/pull_requests.md) + - [Licenses](qgc-dev-guide/contribute/licences.md) diff --git a/docs/fa/docs/en/SUMMARY.md b/docs/fa/docs/en/SUMMARY.md new file mode 100644 index 00000000000..ec1e00b8b9a --- /dev/null +++ b/docs/fa/docs/en/SUMMARY.md @@ -0,0 +1,122 @@ +# Sidebar + +- [Overview](qgc-user-guide/index.md) + - [Quick Start](qgc-user-guide/getting_started/quick_start.md) + - [Download and Install](qgc-user-guide/getting_started/download_and_install.md) + - [Toolbar/Menu](qgc-user-guide/toolbar/toolbar.md) + - [Support](qgc-user-guide/support/support.md) + +- [Fly](qgc-user-guide/fly_view/fly_view.md) + - [Replay Flight Data](qgc-user-guide/fly_view/replay_flight_data.md) + - [Video Overlay](qgc-user-guide/fly_view/video_overlay.md) + +- [Plan](qgc-user-guide/plan_view/plan_view.md) + - [GeoFence](qgc-user-guide/plan_view/plan_geofence.md) + - [Rally Points](qgc-user-guide/plan_view/plan_rally_points.md) + - [Pattern](qgc-user-guide/plan_view/pattern.md) + - [Survey](qgc-user-guide/plan_view/pattern_survey.md) + - [Structure Scan](qgc-user-guide/plan_view/pattern_structure_scan_v2.md) + - [Corridor Scan](qgc-user-guide/plan_view/pattern_corridor_scan.md) + - [Fixed Wing Landing Pattern](qgc-user-guide/plan_view/pattern_fixed_wing_landing.md) + - [Pattern Presets](qgc-user-guide/plan_view/pattern_presets.md) + +- [Vehicle Setup](qgc-user-guide/setup_view/setup_view.md) + - [Firmware](qgc-user-guide/setup_view/firmware.md) + - [Airframe](qgc-user-guide/setup_view/airframe.md) + - [Airframe (ArduPilot)](qgc-user-guide/setup_view/airframe_ardupilot.md) + - [Airframe (PX4)](qgc-user-guide/setup_view/airframe_px4.md) + - [Radio](qgc-user-guide/setup_view/radio.md) + - [Sensors](qgc-user-guide/setup_view/sensors.md) + - [Sensors (ArduPilot)](qgc-user-guide/setup_view/sensors_ardupilot.md) + - [Sensors (PX4)](qgc-user-guide/setup_view/sensors_px4.md) + - [Flight Modes](qgc-user-guide/setup_view/flight_modes.md) + - [ArduPilot Flight Modes Setup](qgc-user-guide/setup_view/flight_modes_ardupilot.md) + - [PX4 Flight Modes Setup](qgc-user-guide/setup_view/flight_modes_px4.md) + - [Power](qgc-user-guide/setup_view/power.md) + - [Motors](qgc-user-guide/setup_view/motors.md) + - [Motors (ArduSub)](qgc-user-guide/setup_view/motors_ardusub.md) + - [Safety](qgc-user-guide/setup_view/safety.md) + - [Safety (ArduPilot)](qgc-user-guide/setup_view/safety_ardupilot.md) + - [Tuning](qgc-user-guide/setup_view/tuning.md) + - [Tuning (ArduPilot)](qgc-user-guide/setup_view/tuning_ardupilot.md) + - [ArduCopter Tuning](qgc-user-guide/setup_view/tuning_arducopter.md) + - [ArduSub Tuning](qgc-user-guide/setup_view/tuning_ardusub.md) + - [Tuning (PX4)](qgc-user-guide/setup_view/tuning_px4.md) + - [Camera](qgc-user-guide/setup_view/camera.md) + - [Joystick](qgc-user-guide/setup_view/joystick.md) + - [Parameters](qgc-user-guide/setup_view/parameters.md) + +- [Application Settings](qgc-user-guide/settings_view/settings_view.md) + - [General](qgc-user-guide/settings_view/general.md) + - [CSV Logging](qgc-user-guide/settings_view/csv.md) + - [Offline Maps](qgc-user-guide/settings_view/offline_maps.md) + - [MAVLink](qgc-user-guide/settings_view/mavlink.md) + - [Console Logging](qgc-user-guide/settings_view/console_logging.md) + - [Virtual Joystick (PX4)](qgc-user-guide/settings_view/virtual_joystick.md) + +- [Analyze](qgc-user-guide/analyze_view/index.md) + - [Log Download](qgc-user-guide/analyze_view/log_download.md) + - [GeoTag Images (PX4)](qgc-user-guide/analyze_view/geotag_images.md) + - [MAVLink Console (PX4)](qgc-user-guide/analyze_view/mavlink_console.md) + - [MAVLink Inspector](qgc-user-guide/analyze_view/mavlink_inspector.md) + +- [Releases](qgc-user-guide/releases/index.md) + - [Release Notes](qgc-user-guide/releases/release_notes.md) + - [v4.0 (Additional Notes)](qgc-user-guide/releases/stable_v4.0_additional.md) + - [v3.3 (Detailed)](qgc-user-guide/releases/stable_v3.3_long.md) + - [v3.2 (Detailed)](qgc-user-guide/releases/stable_v3.2_long.md) + - [Daily Builds](qgc-user-guide/releases/daily_builds.md) + - [Daily Build New Features](qgc-user-guide/releases/daily_build_new_features.md) + - [Privacy Policy](qgc-user-guide/releases/privacy_policy.md) + +- [Troubleshooting](qgc-user-guide/troubleshooting/index.md) + + - [Setup Problems](qgc-user-guide/troubleshooting/qgc_setup.md) + - [Usage Problems](qgc-user-guide/troubleshooting/qgc_usage.md) + - [Connection problems](qgc-user-guide/troubleshooting/vehicle_connection.md) + - [Parameter Download failures](qgc-user-guide/troubleshooting/parameter_download.md) + - [Plan Upload/Download failures](qgc-user-guide/troubleshooting/plan_upload_download.md) + - [Resume Mission failures](qgc-user-guide/troubleshooting/resume_mission.md) + +- [Developer's Guide](qgc-dev-guide/index.md) + - [Getting Started with source & builds](qgc-dev-guide/getting_started/index.md) + - [Build using Containers](qgc-dev-guide/getting_started/container.md) + - [Using QGC on CentOS](qgc-dev-guide/getting_started/cent_os.md) + - [QGC Release/Branching Process](qgc-dev-guide/release_branching_process.md) + - [Communication Flow](qgc-dev-guide/communication_flow.md) + - [Plugin Architecture](qgc-dev-guide/firmware_plugin.md) + - [Class Hierarchy](qgc-dev-guide/classes/index.md) + - [User Interface Design](qgc-dev-guide/user_interface_design/index.md) + - [Multi-Device Design Pattern](qgc-dev-guide/user_interface_design/multi_device_pattern.md) + - [Font and Colour Palette](qgc-dev-guide/user_interface_design/font_palette.md) + - [UI Controls](qgc-dev-guide/user_interface_design/controls.md) + - [Fact System](qgc-dev-guide/fact_system.md) + - [Top Level Views](qgc-dev-guide/views/index.md) + - [Settings View](qgc-dev-guide/views/settings.md) + - [Setup View](qgc-dev-guide/views/setup.md) + - [Plan View](qgc-dev-guide/views/plan.md) + - [Dynamic UI for mission item editing](qgc-dev-guide/plan/mission_command_tree.md) + - [Fly View](qgc-dev-guide/views/fly.md) + - [File Formats](qgc-dev-guide/file_formats/index.md) + - [Parameters](qgc-dev-guide/file_formats/parameters.md) + - [Plan](qgc-dev-guide/file_formats/plan.md) + - [MAVLink Logs](qgc-dev-guide/file_formats/mavlink.md) + - [Developer Tools](qgc-dev-guide/tools/index.md) + - [Mock Link](qgc-dev-guide/tools/mock_link.md) + - [Command Line Options](qgc-dev-guide/command_line_options.md) + - [Custom Builds](qgc-dev-guide/custom_build/custom_build.md) + - [Initial Repository Setup For Custom Build](qgc-dev-guide/custom_build/create_repos.md) + - [Custom Build Plugins](qgc-dev-guide/custom_build/plugins.md) + - [Resources Overrides](qgc-dev-guide/custom_build/resource_override.md) + - [Customization](qgc-dev-guide/custom_build/customization.md) + - [First Run Prompts](qgc-dev-guide/custom_build/first_run_prompts.md) + - [Toolbar customization](qgc-dev-guide/custom_build/toolbar.md) + - [Fly View Customization](qgc-dev-guide/custom_build/fly_view.md) + - [Release/Branching Process For Custom Builds](qgc-dev-guide/custom_build/release_branching_process.md) + - [MAVLink](qgc-dev-guide/custom_build/mavlink.md) + - [Code Submission](qgc-dev-guide/contribute/index.md) + - [Developer Call](qgc-dev-guide/contribute/dev_call.md) + - [Coding Style](qgc-dev-guide/contribute/coding_style.md) + - [Unit Tests](qgc-dev-guide/contribute/unit_tests.md) + - [Pull Requests](qgc-dev-guide/contribute/pull_requests.md) + - [Licenses](qgc-dev-guide/contribute/licences.md) diff --git a/docs/fa/docs/en/index.md b/docs/fa/docs/en/index.md new file mode 100644 index 00000000000..f5ea85cbc0e --- /dev/null +++ b/docs/fa/docs/en/index.md @@ -0,0 +1,27 @@ +--- +layout: home +hero: + name: QGroundControl Guide + tagline: For beginners, experienced users, and developers + actions: + - theme: brand + text: User Guide + link: /en/qgc-user-guide/index.md + - theme: brand + - theme: brand + text: Dev Guide + link: /en/qgc-dev-guide/index.md +features: + - title: Multiple flight stacks + details: Full setup/configuration of ArduPilot and PX4 Pro powered vehicles + - title: Mission planning + details: Autonomous flight with path planning, surveys, safe landing + - title: Flight map + details: Map shows vehicle position, flight track, waypoints and vehicle instruments + - title: Video overlay + details: FPV video streaming and instrument overlays. + - title: Multiple vehicles + details: Manage multiple vehicles and different types of vehicles + - title: Broad OS support + details: Windows, OS X, Linux platforms, iOS and Android devices +--- diff --git a/docs/fa/docs/en/qgc-dev-guide/classes/index.md b/docs/fa/docs/en/qgc-dev-guide/classes/index.md new file mode 100644 index 00000000000..4a60cb304c8 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/classes/index.md @@ -0,0 +1,27 @@ +# Class Hierarchy (high level) + +## LinkManager, LinkInterface + +A "Link" in QGC is a specific type of communication pipe with the vehicle such as a serial port or UDP over WiFi. The base class for all links is LinkInterface. Each link runs on it's own thread and sends bytes to MAVLinkProtocol. + +The `LinkManager` object keeps track of all open links in the system. `LinkManager` also manages automatic connections through serial and UDP links. + +## MAVLinkProtocol + +There is a single `MAVLinkProtocol` object in the system. It's job is to take incoming bytes from a link and translate them into MAVLink messages. MAVLink HEARTBEAT messages are routed to `MultiVehicleManager`. All MAVLink messages are routed to Vehicle's which are associated with the link. + +## MultiVehicleManager + +There is a single `MultiVehicleManager` object within the system. When it receives a HEARTBEAT on a link which has not been previously seen it creates a Vehicle object. `MultiVehicleManager` also keeps tracks of all Vehicles in the system and handles switching from one active vehicle to another and correctly handling a vehicle being removed. + +## Vehicle + +The Vehicle object is the main interface through which the QGC code communicates with the physical vehicle. + +Note: There is also a UAS object associated with each Vehicle which is a deprecated class and is slowly being phased out with all functionality moving to the Vehicle class. No new code should be added here. + +## FirmwarePlugin, FirmwarePluginManager + +The FirmwarePlugin class is the base class for firmware plugins. A firmware plugin contains the firmware specific code, such that the Vehicle object is clean with respect to it supporting a single standard interface to the UI. + +FirmwarePluginManager is a factory class which creates a FirmwarePlugin instance based on the MAV\_AUTOPILOT/MAV\_TYPE combination for the Vehicle. diff --git a/docs/fa/docs/en/qgc-dev-guide/command_line_options.md b/docs/fa/docs/en/qgc-dev-guide/command_line_options.md new file mode 100644 index 00000000000..a66cd53ef4d --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/command_line_options.md @@ -0,0 +1,46 @@ +# Command Line Options + +You can start _QGroundControl_ with command line options. These are used to enable logging, run unit tests, and simulate different host environments for testing. + +## Starting QGroundControl with Options + +You will need to open a command prompt or terminal, change directory to where **qgroundcontrol.exe** is stored, and then run it. This is shown below for each platform (using the `--logging:full` option): + +Windows Command Prompt: + +```bash +cd "\Program Files (x86)\qgroundcontrol" +qgroundcontrol --logging:full +``` + +OSX Terminal app (**Applications/Utilities**): + +```bash +cd /Applications/qgroundcontrol.app/Contents/MacOS/ +./qgroundcontrol --logging:full +``` + +Linux Terminal: + +```bash +./qgroundcontrol-start.sh --logging:full +``` + +## Options + +The options/command line arguments are listed in the table below. + +| Option | Description | +| --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| `--clear-settings` | Clears the app settings (reverts _QGroundControl_ back to default settings). | +| `--logging:full` | Turns on full logging. See [Console Logging](https://docs.qgroundcontrol.com/en/settings_view/console_logging.html#logging-from-the-command-line). | +| `--logging:full,LinkManagerVerboseLog,ParameterLoaderLog` | Turns on full logging and turns off the following listed comma-separated logging options. | +| `--logging:LinkManagerLog,ParameterLoaderLog` | Turns on the specified comma separated logging options | +| `--unittest:name` | (Debug builds only) Runs the specified unit test. Leave off `:name` to run all tests. | +| `--unittest-stress:name` | (Debug builds only) Runs the specified unit test 20 times in a row. Leave off :name to run all tests. | +| `--fake-mobile` | Simulates running on a mobile device. | +| `--test-high-dpi` | Simulates running _QGroundControl_ on a high DPI device. | + +Notes: + +- Unit tests are included in debug builds automatically (as part of _QGroundControl_). _QGroundControl_ runs under the control of the unit test (it does not start normally). diff --git a/docs/fa/docs/en/qgc-dev-guide/communication_flow.md b/docs/fa/docs/en/qgc-dev-guide/communication_flow.md new file mode 100644 index 00000000000..17e838f8250 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/communication_flow.md @@ -0,0 +1,15 @@ +# Communication Flow + +Description of the high level communication flow which takes place during a vehicle auto-connect. + +- LinkManager always has a UDP port open waiting for a vehicle heartbeat +- LinkManager detects a new known device type (Pixhawk, SiK Radio, PX4 Flow) that makes a UDP connection to the computer + - LinkManager creates a new SerialLink between the computer and the device +- Incoming bytes from the Link are sent to MAVLinkProtocol +- MAVLinkProtocol converts the bytes into a MAVLink message +- If the message is a `HEARTBEAT` the MultiVehicleManager is notified +- MultiVehicleManager is notified of the `HEARTBEAT` and creates a new vehicle object based on the information in the `HEARTBEAT` message +- The vehicle object instantiates the plugins that matches the vehicle +- The ParameterLoader associated with the vehicle object sends a `PARAM_REQUEST_LIST` to the connected device to load parameters using the parameter protocol +- Once the parameter load is complete, the MissionManager associated with the vehicle object requests the mission items from the connected device using the mission protocol +- Once parameter load is complete, the VehicleComponents display their UI in the Setup view diff --git a/docs/fa/docs/en/qgc-dev-guide/contribute/coding_style.md b/docs/fa/docs/en/qgc-dev-guide/contribute/coding_style.md new file mode 100644 index 00000000000..3d4d62420c1 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/contribute/coding_style.md @@ -0,0 +1,12 @@ +# Coding Style + +High level style information: + +- Tabs expanded to 4 spaces +- Pascal/CamelCase naming conventions + +The style itself is documents in the following example files: + +- [CodingStyle.cc](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.cc) +- [CodingStyle.h](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.h) +- [CodingStyle.qml](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.qml) diff --git a/docs/fa/docs/en/qgc-dev-guide/contribute/dev_call.md b/docs/fa/docs/en/qgc-dev-guide/contribute/dev_call.md new file mode 100644 index 00000000000..6464fc34d78 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/contribute/dev_call.md @@ -0,0 +1,38 @@ +# Bi-Weekly Dev Call + +The QGroundControl developer team syncs up on technical details and in-depth analysis. There is also a space in the agenda to discuss pull requests, major impacting issues and Q\&A. + +## Who Should attend: + +- Community members +- Core project maintiners +- Component maintainers +- Dronecode members + +:::info +The calls are open for anyone interested to attend, it's a great opportunity to meet the team and contribute to the ongoing development of the project. +::: + +## What gets discussed? + +The main agenda for the call is very simple, and usually remains the same with a few exceptions which are made aware to the community in advance. The calls typically last up to 60 minutes. + +The developer team goes through the issue tracker, including the current queue of Pull Requests, + +## Agenda + +While the agenda below is the norm, we might + +- Community Q\&A (Open mic, you can bring your own topics, we can discuss your PRs/Issues/Questions) +- Update on the project [High Priority Issues](https://github.com/mavlink/qgroundcontrol/projects/2) tracker +- Developer team coordination + +:::info +If you want to guarantee your Pull Request get's discussed on the next developer call, make sure you add the "dev-call" label on GitHub. We expect the author and the assigned reviewer to be on the call. +::: + +## Schedule + +- Time: Bi-Weekly on Tuesdays at 17h00 CET, 12h00 EST, 08h00 PST ([subscribe to the calendar](https://www.dronecode.org/calendar/)) +- The call is hosted on Jitsi the open platform ([QGC Bi-Weekly](https://meet.jit.si/GCS-bi-weekly)) +- the Agenda is published on the [PX4 Discuss - weekly-dev-call](https://discuss.px4.io/c/weekly-dev-call/qgc-developer-call/48) diff --git a/docs/fa/docs/en/qgc-dev-guide/contribute/index.md b/docs/fa/docs/en/qgc-dev-guide/contribute/index.md new file mode 100644 index 00000000000..0fd55b4e573 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/contribute/index.md @@ -0,0 +1,7 @@ +# Code Submission + +This section contains topics about the contributing code, including coding style, testing and the format of pull requests. + +:::info +QGroundControl (QGC) is [dual-licensed as Apache 2.0 and GPLv3](../contribute/licences.md). All contributions have to be made under both licenses. +::: diff --git a/docs/fa/docs/en/qgc-dev-guide/contribute/licences.md b/docs/fa/docs/en/qgc-dev-guide/contribute/licences.md new file mode 100644 index 00000000000..20c157a0d2f --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/contribute/licences.md @@ -0,0 +1,30 @@ +# Licences + +## QGroundControl License + +_QGroundControl_ (QGC) is dual-licensed as Apache 2.0 and GPLv3. All contributions have to be made under both licenses. Users of the codebase are free to use it under either license. + +:::warning +_QGroundControl_ licensing rules out the re-use of any copyleft (e.g. GPL) licensed code. All contributions must be original or from a compatible license (BSD 2/3 clause, MIT, Apache 2.0). +::: + +The dual approach is necessary to be able to offer _QGroundControl_ through the iOS and Android app stores and offers the open source community choice. + +### Apache 2.0 License + +The [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) License is a permissive license which allows QGC to be built and used in any environment, including proprietary applications. It allows QGC to be built for mobile app stores. When building with Apache 2.0 a commercial Qt license is required. + +### GPL v3 License + +The [GPL v3 License](http://www.gnu.org/licenses/gpl-3.0.en.html) is a strong copyleft license. When building QGC under this license the open source version of Qt can be used. Our licensing grants the permission to use a later version of the license, however, contributions have to be made under 3.0. + +## Documentation, Artwork, Images + +The QGroundControl documentation, artwork and images are licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). + +## See Also + +- [qgroundcontrol/COPYING.md](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md) +- [qgroundcontrol/CONTRIBUTING.md](https://github.com/mavlink/qgroundcontrol/blob/master/CONTRIBUTING.md) +- [qgc-user-guide/LICENSE](https://github.com/mavlink/qgc-user-guide/blob/master/LICENSE) +- [qgc-dev-guide/LICENSE](https://github.com/mavlink/qgc-dev-guide/blob/master/LICENSE) diff --git a/docs/fa/docs/en/qgc-dev-guide/contribute/pull_requests.md b/docs/fa/docs/en/qgc-dev-guide/contribute/pull_requests.md new file mode 100644 index 00000000000..fe120dcf7dc --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/contribute/pull_requests.md @@ -0,0 +1,3 @@ +# Pull Requests + +All pull requests go through the QGC CI build system which builds release and debug version. Builds will fail if there are compiler warnings. Also unit tests are run against supported OS debug builds. diff --git a/docs/fa/docs/en/qgc-dev-guide/contribute/unit_tests.md b/docs/fa/docs/en/qgc-dev-guide/contribute/unit_tests.md new file mode 100644 index 00000000000..e8c14fe7b4b --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/contribute/unit_tests.md @@ -0,0 +1,20 @@ +# Unit Tests + +_QGroundControl_ (QGC) contains a set of unit tests that must pass before a pull request will be accepted. The addition of new complex subsystems to QGC should include a corresponding new unit test to test it. + +The full list of unit tests can be found in [UnitTestList.cc](https://github.com/mavlink/qgroundcontrol/blob/master/src/qgcunittest/UnitTestList.cc). + +To run unit tests: + +1. Build in `debug` mode with `UNITTEST_BUILD` definition. +2. Copy the **deploy/qgroundcontrol-start.sh** script in the **debug** directory +3. Run _all_ unit tests from the command line using the `--unittest` command line option. + For Linux this is done as shown: + ``` + qgroundcontrol-start.sh --unittest + ``` +4. Run _individual_ unit tests by specifying the test name as well: `--unittest:RadioConfigTest`. + For Linux this is done as shown: + ``` + qgroundcontrol-start.sh --unittest:RadioConfigTest + ``` diff --git a/docs/fa/docs/en/qgc-dev-guide/custom_build/create_repos.md b/docs/fa/docs/en/qgc-dev-guide/custom_build/create_repos.md new file mode 100644 index 00000000000..c4bce8ee142 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/custom_build/create_repos.md @@ -0,0 +1,15 @@ +# Initial Repository Setup For Custom Build + +The suggested mechanism for working on QGC and a custom build version of QGC is to have two separate repositories. The first repo is your main QGC fork. The second repo is your custom build repo. + +## Main QGC Respository + +This repo is used to work on changes to mainline QGC. When creating your own custom build it is not uncommon to discover that you may need a tweak/addition to the custom build to achieve what you want. By discussing those needed changes firsthand with QGC devs and submitting pulls to make the custom build architecture better you make QGC more powerful for everyone and give back to the community. + +The best way to create this repo is to fork the regular QGC repo to your own GitHub account. + +## Custom Build Repository + +This is where you will do your main custom build development. All changes here should be within the custom directory as opposed to bleeding out into the regular QGC codebase. + +Since you can only fork a repo once, the way to create this repo is to "Create a new repository" in your GitHub account. Do not add any additional files to it like gitignore, readme's and so forth. Once it is created you will be given the option to setup up the Repo. Now you can select to "import code from another repository". Just import the regular QGC repo using the "Import Code" button. diff --git a/docs/fa/docs/en/qgc-dev-guide/custom_build/custom_build.md b/docs/fa/docs/en/qgc-dev-guide/custom_build/custom_build.md new file mode 100644 index 00000000000..ff37e9b1c14 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/custom_build/custom_build.md @@ -0,0 +1,26 @@ +# Custom Builds + +A custom build allows third parties to create their own version of QGC in a way that allows them to easily keep up to date with changes which are being made in regular QGC. QGC has an architecture built into it which allows custom builds to modify and add to the feature set of regular QGC. + +Some possibilities with a custom build + +- Fully brand your build +- Define a single flight stack to avoid carrying over unnecessary code +- Implement your own, autopilot and firmware plugin overrides +- Implement your own camera manager and plugin overrides +- Implement your own QtQuick interface module +- Implement your own toolbar, toolbar indicators and UI navigation +- Implement your own Fly View overlay (and how to hide elements from QGC such as the flight widget) +- Implement your own, custom QtQuick camera control +- Implement your own, custom Pre-flight Checklist +- Define your own resources for all of the above + +One of the downsides of QGC providing both generic support for any vehicle which supports mavlink as well as providing firmware specific support for both PX4 Pro and ArduPilot is complexity of the user interface. Since QGC doesn't know any information about your vehicle ahead of time it requires UI bits which can get in the way if the vehicle you fly only uses PX4 Pro firmware and is a multi-rotor vehicle. If that is a known thing then the UI can be simplified in various places. Also QGC targets both DIY users who are building their own vehicles from scratch as well as commercial users of off the shelf vehicles. Setting up a DIY drone from scratch requires all sort of functionality which is not needed for users of off the shelf vehicles. So for off the shelf vehicle users all the DIY specific stuff is just extra noise they need to look past. Creating a custom build allows you to specify exact details for your vehicle and hide things which are irrelevant thus creating an even simple user experience for your users than regular generic QGC. + +There is a plugin architecture in QGC which allows for this custom build creation. They can be found in QGCCorePlugin.h, FirmwarePlugin.h and AutoPilotPlugin.h associated classes. To create a custom build you create subclasses of the standard plugins overriding the set of methods which are appropriate for you usage. + +There is also a mechanism which allows you to override resources so you can change the smaller visual elements in QGC. + +Also internal to QGC is the concept of an "Advanced Mode". Whereas a standard QGC builds always runs in advanced mode. A custom build always starts out in regular/not advanced mode. There is an easier mechanism in the build to turn on advanced mode which is to click the fly view button 5 times in a row fairly quickly. If you do this in a custom build you will be warned about entering advanced mode. The concept here is to hide things which normal users should not have access to behind advanced mode. For example a commercial vehicle will not need access to most setup pages which are oriented to DIY setup. So a custom build can hide this. The custom example code shows how to do this. + +If you want to understand the possibilities, the first step is to read through those files which document what is possible. Next look through the [`custom-example`](https://github.com/mavlink/qgroundcontrol/tree/master/custom-example) source code including the [README](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/README.md). diff --git a/docs/fa/docs/en/qgc-dev-guide/custom_build/customization.md b/docs/fa/docs/en/qgc-dev-guide/custom_build/customization.md new file mode 100644 index 00000000000..b97b5c63371 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/custom_build/customization.md @@ -0,0 +1,7 @@ +# Customization + +The following topics explain how to customise various views and other parts of the UI. + +- [First Run Prompts](../custom_build/first_run_prompts.md) +- [Toolbar customization](../custom_build/toolbar.md) +- [Fly View Customization](../custom_build/fly_view.md) diff --git a/docs/fa/docs/en/qgc-dev-guide/custom_build/first_run_prompts.md b/docs/fa/docs/en/qgc-dev-guide/custom_build/first_run_prompts.md new file mode 100644 index 00000000000..77d779da1b6 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/custom_build/first_run_prompts.md @@ -0,0 +1,54 @@ +# First Run Prompts + +When QGC is started for the first time it prompts the user to specify some initial settings. At the time of writing this documentation those are: + +- Unit Settings - What units does the user want to use for display. +- Offline Vehicle Settings - Vehicle information for creating Plans while not connected to a vehicle. + +The custom build architecure includes mechanisms for a custom build to both override the display of these prompts and/or create your own first run prompts. + +## First Run Prompt Dialog + +Each first run prompt is a simple dialog which can display ui to the user. Whether the specific dialog has already been show to the user or not is stored in a setting. Here is the code for the upstream first run prompt dialogs: + +- [Units Settings](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirstRunPromptDialogs/UnitsFirstRunPrompt.qml) +- [Offline Vehicle Settings](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirstRunPromptDialogs/OfflineVehicleFirstRunPrompt.qml) + +## Standard First Run Prompt Dialogs + +Each dialog has a unique ID associated with it. When that dialog is shown to the user that ID is registered as having already been displayed so it only happens once (unless you clear settings). The set of first run prompt which are included with upstream QGC are considered the "Standard" set. QGC gets the list of standard prompts to display from the `QGCCorePlugin::firstRunPromptStdIds` call. + +``` + /// Returns the standard list of first run prompt ids for possible display. Actual display is based on the + /// current AppSettings::firstRunPromptIds value. The order of this list also determines the order the prompts + /// will be displayed in. + virtual QList firstRunPromptStdIds(void); +``` + +You can override this method in your custom build if you want to hide some of those. + +## Custom First Run Prompt Dialogs + +Custom builds have the ability to create their own set of additional first run prompts as needed through the use of the following QGCCorePlugin method overrides: + +``` + /// Returns the custom build list of first run prompt ids for possible display. Actual display is based on the + /// current AppSettings::firstRunPromptIds value. The order of this list also determines the order the prompts + /// will be displayed in. + virtual QList firstRunPromptCustomIds(void); +``` + +``` + /// Returns the resource which contains the specified first run prompt for display + Q_INVOKABLE virtual QString firstRunPromptResource(int id); +``` + +Your QGCCorePlugin should override these two methods as well as provide static consts for the ids of your new first run prompts. Look at how the standard set is implemented for how to do this and take the same approach. + +## Order Of Display + +The set of first run prompts shown to the user are in the order returned by the `QGCCorePlugin::firstRunPromptStdIds` and `QGCCorePlugin::firstRunPromptCustomIds` with standard prompts shown before the custom prompts. Only the prompts which have not been previously shown to the user are shown. + +## Always On Prompts + +By setting the `markAsShownOnClose: false` property in your prompt ui implementation you can create a prompt which will show up each time QGC starts. This can be used for things like showing usage tips to your users. If you do this it is best to make sure that this is displayed last. diff --git a/docs/fa/docs/en/qgc-dev-guide/custom_build/fly_view.md b/docs/fa/docs/en/qgc-dev-guide/custom_build/fly_view.md new file mode 100644 index 00000000000..e6b3342817f --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/custom_build/fly_view.md @@ -0,0 +1,42 @@ +# Fly View Customization + +The Fly View is designed in such a way that it can be cusomtized in multiple ways from simple to more complex. It is designed in three separate layers each of which are customizable providing different levels of change. + +## Layers + +- There are three layers to the fly view from top to bottom visually: + - [`FlyView.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyView.qml) This is the base layer of ui and business logic to control map and video switching. + - [`FlyViewWidgetsOverlay.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyViewWidgetLayer.qml) This layer includes all the remaining widgets for the fly view. + - [`FlyViewCustomLayer.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyViewCustomLayer.qml) This is a layer you override using resource override to add your own custom layer. + +### Inset Negotiation using `QGCToolInsets` + +An important aspect of the Fly View is that it needs to understand how much central space it has in the middle of it's map window which is not obstructed by ui widgets which are at the edges of the window. It uses this information to pan the map when the vehicle goes out of view. This need to be done not only for the window edges but also for the widgets themselve such that the map pans before it goes under a widget. + +This is done through the use of the [`QGCToolInsets`](https://github.com/mavlink/qgroundcontrol/blob/master/src/QmlControls/QGCToolInsets.qml) object included in each layer. This objects provides inset information for each window edge informing the system as to how much real estate is taken up by edge based ui. Each layer is given the insets of the layer below it through `parentToolInsets` and then reports back the new insets taking into account the layer below and it's own additions through `toolInsets`. The final results total inset is then given to the map so it can do the right thing. The best way to understand this is to look at both the upstream and custom example code. + +### `FlyView.qml` + +The base layer for the view is also the most complex from ui interactions and business logic. It includes the main display elements of map and video as well as the guided controls. Although you can resource override this layer it is not recommended. And if you do you better really (really) know what you are doing. The reason it is a separate layer is to make the layer above much simpler and easier to customize. + +### `FlyViewWidgetsOverlay.qml` + +This layer contains all the remaining controls of the fly view. You have the ability to hide the controls through use of [`QGCFlyViewOptions`](https://github.com/mavlink/qgroundcontrol/blob/master/src/api/QGCOptions.h). But in order to change the layout of the upstream controls you must use a resource override. If you look at the source you'll see that the controls themselves are well encapsulated such that it should not be that difficult to create your own override which repositions them and/or adds your own ui. While maintaining a connection to the upstream implementaions of the controls. + +### `FlyViewCustomLayer.qml` + +This provides the simplest customization ability to the Fly View. Allowing you the add ui elements which are additive to the existing upstream controls. The upstream code adds no ui elements and is meant to be the basis for your own custom code used as a resource override for this qml. The custom example code provides you with an example of how to do it. + +## Recommendations + +### Simple customization + +The best place to start is using a custom layer override plus turning off ui elements from the widgets layer (if needed). I would recommend trying to stick with only this if at all possible. It provides the greatest abilty to not get screwed by upstream changes in the layers below. + +### Moderate complexity customization + +If you really need to reposition upstream ui elements then your only choice is overriding `FlyViewWidgetsOverlay.qml`. By doing this you are distancing yourself a bit from upstream changes. Although you will still get changes in the upstream controls for free. If there is a whole new control added to the fly view upstream you won't get it until you add it to your own override. + +### Highly complex customization + +The last and least recommended customization mechanism is overriding `FlyView.qml`. By doing this you are distancing yourself even further from getting upstream changes for free. diff --git a/docs/fa/docs/en/qgc-dev-guide/custom_build/mavlink.md b/docs/fa/docs/en/qgc-dev-guide/custom_build/mavlink.md new file mode 100644 index 00000000000..6fa5d685d9f --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/custom_build/mavlink.md @@ -0,0 +1,15 @@ +# MAVLink Customisation + +QGC communicates with flight stacks using [MAVLink](https://mavlink.io/en/), a very lightweight messaging protocol that has been designed for the drone ecosystem. + +QGC includes the [all.xml](https://mavlink.io/en/messages/all.html) dialect by default. The `all.xml` includes all other dialects in the [mavlink/mavlink](https://github.com/mavlink/mavlink/tree/master/message_definitions/v1.0) repository, and allows it to communicate with both PX4 and Ardupilot. +Previous versions of QGC (v4.2.8 and earlier), used the `ArduPilotMega.xml` dialect. + +In order to add support for a new set of messages you should add them to [development.xml](https://mavlink.io/en/messages/development.html), [ArduPilotMega.xml](https://mavlink.io/en/messages/ardupilotmega.html), or [common.xml](https://mavlink.io/en/messages/common.html) (for PX4), or fork _QGroundControl_ and include your own dialect. + +To modify the version of MAVLink used by QGC: + +- Replace the pre-build C library at [/qgroundcontrol/libs/mavlink/include/mavlink](https://github.com/mavlink/qgroundcontrol/tree/master/libs/mavlink/include/mavlink). + - By default this is a submodule importing https\://github.com/mavlink/c\_library\_v2 + - You can change the submodule, or [build your own libraries](https://mavlink.io/en/getting_started/generate_libraries.html) using the MAVLink toolchain. +- You can change the whole dialect used by setting it in [`MAVLINK_CONF`](https://github.com/mavlink/qgroundcontrol/blob/master/QGCExternalLibs.pri#L52) when running _qmake_. diff --git a/docs/fa/docs/en/qgc-dev-guide/custom_build/plugins.md b/docs/fa/docs/en/qgc-dev-guide/custom_build/plugins.md new file mode 100644 index 00000000000..5bbc45c97c4 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/custom_build/plugins.md @@ -0,0 +1,7 @@ +# Custom Build Plugins + +The mechanisms for customizing QGC for a custom build is through the existing `FirmwarePlugin`, `AutoPilotPlugin` and `QGCCorePlugin` architectures. By creating subclasses of these plugins in your custom build you can change the behavior of QGC to suit your needs without needed to modify the upstream code. + +## QGCCorePlugin + +This allows you to modify the parts of QGC which are not directly related to vehicle but are related to the QGC application itself. This includes things like application settings, color palettes, branding and so forth. diff --git a/docs/fa/docs/en/qgc-dev-guide/custom_build/release_branching_process.md b/docs/fa/docs/en/qgc-dev-guide/custom_build/release_branching_process.md new file mode 100644 index 00000000000..41e143a59f1 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/custom_build/release_branching_process.md @@ -0,0 +1,44 @@ +# Release Process for Custom Builds \[WIP Docs] + +One of the trickier aspects of creating your own custom build is the process to keep it up to date with regular QGC. This document describes a suggested process to follow. But in reality you are welcome to use whatever branching and release strategy you want for your custom builds. + +## Upstream QGC release/branching strategy + +The best place to start is understanding the mechanism QGC uses to do it's own releases. We will layer a custom build release process on top of that. You can find standard QGC [release process here](../release_branching_process.md). + +## Custom build/release types + +Regular QGC has two main build types: Stable and Daily. The build type for a custom build is more complex. Throughout this discussion we will use the term "upstream" to refer to the main QGC repo (https\://github.com/mavlink/qgroundcontrol). Also when we talk about a "new" upstream stable release, this means a major/minor release, not a patch release. + +### Synchronized Stable + +This type of release is synchronized with the release of an upstream stable. Once QGC releases stable you then release a version of your custom build which is based on this stable. This build will include all the new features from upstream including the new feature in your own custom code. + +### Out-Of-Band Stable + +This a subsequent release of your custom build after you have released a synchronized stable but prior to upstream releasing a new stable. It only includes new features from your own custom build and include no new features from upstream. Work on this type of release would occur on a branch which is either based on your latest synchronized stable or your last out of band release if it exists. You can release out of band stable releases at any time past your first synchronized stable release. + +### Daily + +Your custom daily builds are built from your `master` branch. It is important to keep your custom master up to date with QGC master. If you lag behind you may be surprised by upstream features which require some effort to integrate with your build. Or you may even require changes to "core" QGC in order to work with your code. +If you don't let QGC development team know soon enough, it may end up being too late to get things changed. + +## Options for your first build + +### Starting with a Synchronized Stable release + +It is suggested that you start with releasing a Synchronized Stable. This isn't necessary but it is the simplest way to get started. To set your self up for a synchronized stable you create your own branch for development which is based on the upstream current stable. + +### Starting with Daily builds + +The reason why you may consider this as your starting point is because you need features which are only in upstream master for your own custom builds. In this case you will have to live with releasing custom Daily builds until the next upstream stable. At which point you would release you first Synchronized Stable. For this setup you use your master branch and keep it in sync with upstream master as you develop. + +## After you release your first Synchronized Stable + +### Patch Releases + +As upstream QGC does patch releases on Stable you should also release your own patch releases based on upstream to keep your stable up to date with latest criticial bug fixes. + +### Out-Of-Band, Daily: One or the other or both? + +At this point you can decide which type of releases you want to follow. You can also decide to possibly do both. You can do smaller new features which don't require new upstream features using out of band releases. And you can do major new feature work as daily/master until the point you can do a new synchronized stable. diff --git a/docs/fa/docs/en/qgc-dev-guide/custom_build/resource_override.md b/docs/fa/docs/en/qgc-dev-guide/custom_build/resource_override.md new file mode 100644 index 00000000000..2c8fa94eba1 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/custom_build/resource_override.md @@ -0,0 +1,24 @@ +# Resource Overrides + +A "resource" in QGC source code terminology is anything found in the [qgroundcontrol.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgroundcontrol.qrc) and [qgcresources.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgcresources.qrc) file. By overriding a resource you can replace it with your own version of it. This could be as simple as a single icon, or as complex as replacing an entire Vehicle Setup page of qml ui code. + +Be aware that using resource overrides does not isolate you from upstream QGC changes like the plugin architecture does. In a sense you are directly modify the upstream QGC resources used by the main code. + +## Exclusion Files + +The first step to overriding a resource is to "exclude" it from the standard portion of the upstream build. This means that you are going to provide that resource in your own custom build resource file(s). There are two files which achieve this: qgroundcontrol.exclusion and [qgcresources.exclusion](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/qgcresources.exclusion). They correspond directly with the \*.qrc counterparts. In order to exclude a resource, copy the resource line from the .qrc file into the appropriate .exclusion file. + +## Custom version of excluded resources + +You must include the custom version of the overriden resouce in you custom build resource file. The resource alias must exactly match the upstream alias. The name and actual location of the resource can be anywhere within your custom directory structure. + +## Generating the new modified versions of standard QGC resource file + +This is done using the `updateqrc.py` python script. It will read the upstream `qgroundcontrol.qrc` and `qgcresources.qrc` file and the corresponding exclusion files and output new versions of these files in your custom directory. These new versions will not have the resources you specified to exclude in them. The build system for custom builds uses these generated files (if they exist) to build with instead of the upstream versions. The generated version of these file should be added to your repo. Also whenever you update the upstream portion of QGC in your custom repo you must re-run `python updateqrc.py` to generate new version of the files since the upstream resources may have changed. + +## Custom Build Example + +You can see an examples of custom build qgcresource overrides in the repo custom build example: + +- [qgcresources.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/qgcresources.exclusion) +- [custom.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/custom.qrc) diff --git a/docs/fa/docs/en/qgc-dev-guide/custom_build/toolbar.md b/docs/fa/docs/en/qgc-dev-guide/custom_build/toolbar.md new file mode 100644 index 00000000000..662cb8db4ae --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/custom_build/toolbar.md @@ -0,0 +1,51 @@ +# Toolbar Customization + +The toolbar can be customized in a number of ways to fit your custom build needs. The toolbar internally is made up of a number of sections from left to right: + +- View Switching +- Indicators + - App Indicators + - Vehicle Indicators + - Vehicle Mode Indicators +- Connection Management +- Branding + +The Indicator section varies based on the view currently displayed: + +- Fly View - Shows all indicators +- Plan View - Show no indicators and has its own custom indicator section for Plan status values +- Other Views - Do not show Vehicle Mode Indicators + +## Customization Possibilities + +### Indicators + +You can add your own indicators for display or remove any of the upstream indicators. The mechanism you use depends on the indicator type. + +#### App Indicators + +These provide information to the user which is not associated with a vehicle. For example RTK status. To manipulate the list of app indicators you use `QGCPlugin::toolbarIndicators`. + +#### Vehicle Indicators + +These are indicators which are associated with information about the vehicle. They are only available when a vehicle is connected. To manipulate the list of vehicle indicators you override `FirmwarePlugin::toolIndicators`. + +#### Vehicle Mode Indicators + +These are indicators which are associated with information about the vehicle. They require additional UI provided by the Fly View to complete their actions. An example is Arming and Disarming. They are only available when a vehicle is connected. To manipulate the list of vehicle mode indicators you override `FirmwarePlugin::modeIndicators`. + +### Modifying the toolbar UI itself + +This is accomplished by using resource overrides on the qml files associated with the toolbar. This provides a high level of customization but also a higher level of complexity. The primary ui for the toolbar is in `MainToolBar.qml`. The main window code in `MainRootWindow.qml` interacts with the toolbar to show different indicator sections based on current view as well as whether the mode indicators show or not also based on current view. + +If you want full control over the toolbar then you can override `MainToolBar.qml` and make your own completely different version. You will need to pay special attention to the interactions of the main toolbar with `MainRootWindow.qml` since you are going to need to replicated those interactions in your own custom version. + +There are two standard indicator ui sections of the toolbar: + +#### `MainToolBarIndicators.qml` + +This is used for all views except Plan. It display all the indicators in a row. Although you can override this file, in reality it doesn't do much other than layout for indicators. + +#### `PlanToolBarIndicators.qml` + +This is used by the Plan view to show the status values. If you want to change that ui you can override this file and provide your own custom version. diff --git a/docs/fa/docs/en/qgc-dev-guide/fact_system.md b/docs/fa/docs/en/qgc-dev-guide/fact_system.md new file mode 100644 index 00000000000..5e7f5242d9c --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/fact_system.md @@ -0,0 +1,33 @@ +# Fact System + +The Fact System provides a set of capabilities which standardizes and simplifies the creation of the QGC user interface. + +## Fact {#fact} + +A Fact represents a single value within the system. + +## FactMetaData + +There is `FactMetaData` associated with each fact. It provides details on the Fact in order to drive automatic user interface generation and validation. + +## Fact Controls + +A Fact Control is a QML user interface control which connects to a Fact and it's `FactMetaData` to provide a control to the user to modify/display the value associated with the Fact. + +## FactGroup + +A _Fact Group_ is a group of [Facts](#fact). +It is used to organise facts and manage user defined facts. + +## Custom Build Support + +User defined facts can be added by overriding `factGroups` function of `FirmwarePlugin` in a custom firmware plugin class. +These functions return a name to fact group map that is used to identify added fact groups. +A custom fact group can be added by extending `FactGroup` class. +FactMetaDatas could be defined using the appopriate `FactGroup` constructor by providing a json file containing necessery information. + +Changing the metadata of existing facts is also possible by overriding `adjustMetaData` of `FirmwarePlugin` class. + +A fact associated with a vehicle (including facts belonging to fact groups returned in `factGroups` function of the vehicles Firmware plugin) can be reached using `getFact("factName")` or `getFact("factGroupName.factName")` + +For additional information please refer to comments in [FirmwarePlugin.h](https://github.com/mavlink/qgroundcontrol/blob/v4.0.8/src/FirmwarePlugin/FirmwarePlugin.h). diff --git a/docs/fa/docs/en/qgc-dev-guide/file_formats/index.md b/docs/fa/docs/en/qgc-dev-guide/file_formats/index.md new file mode 100644 index 00000000000..cf8a409129a --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/file_formats/index.md @@ -0,0 +1,3 @@ +# File Formats + +This section contains topics about the file formats used/supported by _QGroundControl_. diff --git a/docs/fa/docs/en/qgc-dev-guide/file_formats/mavlink.md b/docs/fa/docs/en/qgc-dev-guide/file_formats/mavlink.md new file mode 100644 index 00000000000..8a55c8289af --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/file_formats/mavlink.md @@ -0,0 +1,27 @@ +# MAVLink Log Format + +_QGroundControl_ allows you to generate plain MAVLink packet logs that can be +replayed (with QGroundControl) to watch a mission again for analysis. + +The format is binary: + +- Byte 1-8: Timestamp in microseconds since Unix epoch as unsigned 64 bit integer +- Byte 9-271: MAVLink packet (263 bytes maximum packet length, not all bytes have to be actual data, the packet might be shorter. Includes packet start sign) + +## Debugging + +To check your data, open your written file in a hex editor. You should see after 8 bytes **0x55**. The first 8 bytes should also convert to a valid timestamp, so something either close to zero or around the number **1294571828792000** (which is the current Unix epoch timestamp in microseconds). + +## C++ Sketch for logging MAVLink + +The code fragment below shows how to implement logging using [C++ streams](http://www.cplusplus.com/reference/iostream/istream/) from the C++ standard library. + +```cpp +//write into mavlink logfile +const int len = MAVLINK_MAX_PACKET_LEN+sizeof(uint64_t); +uint8_t buf[len]; +uint64_t time = getSystemTimeUsecs(); +memcpy(buf, (void*)&time, sizeof(uint64_t)); +mavlink_msg_to_send_buffer(buf+sizeof(uint64_t), msg); +mavlinkFile << buf << flush; +``` diff --git a/docs/fa/docs/en/qgc-dev-guide/file_formats/parameters.md b/docs/fa/docs/en/qgc-dev-guide/file_formats/parameters.md new file mode 100644 index 00000000000..60fd66a3638 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/file_formats/parameters.md @@ -0,0 +1,25 @@ +# Parameters File Format + +``` +# Onboard parameters for Vehicle 1 +# +# # Vehicle-Id Component-Id Name Value Type +1 1 ACRO_LOCKING 0 2 +1 1 ACRO_PITCH_RATE 180 4 +1 1 ACRO_ROLL_RATE 180 4 +1 1 ADSB_ENABLE 0 2 +``` + +Above is an example of a parameter file with four parameters. The file can include as many parameters as needed. + +Comments are preceded with a `#`. + +This header: `# MAV ID COMPONENT ID PARAM NAME VALUE` describes the format for each row: + +- `Vehicle-Id` Vehicle id +- `Component-Id` Component id for parameter +- `Name` Parameter name +- `Value` Parameter value +- `Type` Parameter type using MAVLink `MAV_PARAM_TYPE_*` enum values + +A parameter file contains the parameters for a single Vehicle. It can contain parameters for multiple components within that Vehicle. diff --git a/docs/fa/docs/en/qgc-dev-guide/file_formats/plan.md b/docs/fa/docs/en/qgc-dev-guide/file_formats/plan.md new file mode 100644 index 00000000000..914571983f2 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/file_formats/plan.md @@ -0,0 +1,489 @@ +# Plan File Format + +Plan files are stored in JSON file format and contain mission items and (optional) geo-fence and rally-points. +Below you can see the top level format of a Plan file + +:::tip +This is "near-minimal" - a plan must contain at least one mission item. +The plan fence and rally points are also used in modes when no mission is running. +::: + +```json +{ + "fileType": "Plan", + "geoFence": { + "circles": [], + "polygons": [], + "version": 2 + }, + "groundStation": "QGroundControl", + "mission": {}, + "rallyPoints": { + "points": [], + "version": 2 + }, + "version": 1 +} +``` + +The main fields are: + +| Key | Description | +| ------------------------------ | ------------------------------------------------------------------------------ | +| `version` | The version for this file. Current version is 1. | +| `fileType` | Must be `"Plan"`. | +| `groundStation` | The name of the ground station which created this file (here _QGroundControl_) | +| [`mission`](#mission) | The mission associated with this flight plan. | +| [`geoFence`](#geofence) | (Optional) Geofence information for this plan. | +| [`rallyPoints`](#rally_points) | (Optional) Rally/Safe point information for this plan | + +## Mission Object {#mission} + +The structure of the mission object is shown below. +The `items` field contains a comma-separated list of mission items (it must contain at least one mission item, as shown below). +The list may be a mix of both [SimpleItem](#mission_simple_item) and [ComplexItem](#mission_complex_item) objects. + +```json + "mission": { + "cruiseSpeed": 15, + "firmwareType": 12, + "globalPlanAltitudeMode": 1, + "hoverSpeed": 5, + "items": [ + { + "AMSLAltAboveTerrain": null, + "Altitude": 50, + "AltitudeMode": 0, + "autoContinue": true, + "command": 22, + "doJumpId": 1, + "frame": 3, + "params": [ + 15, + 0, + 0, + null, + 47.3985099, + 8.5451002, + 50 + ], + "type": "SimpleItem" + } + ], + "plannedHomePosition": [ + 47.3977419, + 8.545594, + 487.989 + ], + "vehicleType": 2, + "version": 2 + }, +``` + +The following values are required: + +| Key | Description | +| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version for the mission object. Current version is 2. | +| `firmwareType` | The firmware type for which this mission was created. This is one of the [MAV\_AUTOPILOT](https://mavlink.io/en/messages/common.html#MAV_AUTOPILOT) enum values. | +| `globalPlanAltitudeMode` | The global plan-wide altitude mode setting. This is used by plan items that don't specify an `"AltitudeMode"`. | +| `vehicleType` | The vehicle type for which this mission was created. This is one of the [MAV\_TYPE](https://mavlink.io/en/messages/common.html#MAV_TYPE) enum values. | +| `cruiseSpeed` | The default forward speed for Fixed wing or VTOL vehicles (i.e. when moving between waypoints). | +| `hoverSpeed` | The default forward speed for multi-rotor vehicles. | +| `items` | The list of mission item objects associated with the mission . The list may contain either/both [SimpleItem](#mission_simple_item) and [ComplexItem](#mission_complex_item) objects. | +| `plannedHomePosition` | The planned home position is shown on the map and used for mission planning when no vehicle is connected. The array values shown above are (from top): latitude, longitude and AMSL altitude. | + +The format of the simple and complex items is given below. + +### `SimpleItem` - Simple Mission Item {#mission\_simple\_item} + +A simple item represents a single MAVLink [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM) command. + +``` + { + "AMSLAltAboveTerrain": null, + "Altitude": 50, + "AltitudeMode": 0, + "autoContinue": true, + "command": 22, + "doJumpId": 1, + "frame": 3, + "params": [ + 15, + 0, + 0, + null, + 47.3985099, + 8.5451002, + 50 + ], + "type": "SimpleItem" + } +``` + +The field mapping is shown below. + +| Key | Description | +| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | `SimpleItem` for a simple item | +| `AMSLAltAboveTerrain` | Altitude value shown to the user. | +| `Altitude` | | +| `AltitudeMode` | | +| `autoContinue` | [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).autoContinue | +| `command` | The command ([MAV\_CMD](https://mavlink.io/en/messages/common.html#MAV_CMD)) for this mission item - see [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).command. | +| `doJumpId` | The target id for the current mission item in DO\_JUMP commands. These are auto-numbered from 1. | +| `frame` | [MAV\_FRAME](https://mavlink.io/en/messages/common.html#MAV_FRAME) (see [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).frame) | +| `params` | [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).param1,2,3,4,x,y,z (values depends on the particular [MAV\_CMD](https://mavlink.io/en/messages/common.html#MAV_CMD)). | + +### Complex Mission Item {#mission\_complex\_item} + +A complex item is a higher level encapsulation of multiple `MISSION_ITEM` objects treated as a single entity. + +There are currently three types of complex mission items: + +- [Survey](#survey) +- [Corridor Scan](#corridor_scan) +- [Structure Scan](#structure_scan) + +#### Survey - Complex Mission Item {#survey} + +The object definition for a `Survey` complex mission item is given below. + +``` +{ + "TransectStyleComplexItem": { + ... + }, + "angle": 0, + "complexItemType": "survey", + "entryLocation": 0, + "flyAlternateTransects": false, + "polygon": [ + [ + -37.75170619863631, + 144.98414811224316 + ], + ... + [ + -37.75170619863631, + 144.99457681259048 + ] + ], + "type": "ComplexItem", + "version": 4 + }, +``` + +Complex items have these values associated with them: + +| Key | Description | +| ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version number for this `survey` definition. Current version is 3. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `survey` | +| [`TransectStyleComplexItem`](#TransectStyleComplexItem) | The common base definition for Survey and CorridorScan complex items. | +| `angle` | The angle for the transect paths (degrees). | +| `entryLocation` | ? | +| `flyAlternateTransects` | If true, the vehicle will skip every other transect and then come back at the end and fly these alternates. This can be used for fixed wing aircraft when the turnaround would be too acute for the vehicle to make the turn. | +| `polygon` | The polygon array which represents the polygonal survey area. Each point is a latitude, longitude pair for a polygon vertex. | + +#### Corridor Scan {#corridor\_scan} + +The object definition for a `CorridorScan` complex mission item is given below. + +``` + { + "CorridorWidth": 50, + "EntryPoint": 0, + "TransectStyleComplexItem": { + ... + }, + }, + "complexItemType": "CorridorScan", + "polyline": [ + [ + -37.75234887156983, + 144.9893624624168 + ], + ... + [ + -37.75491914850321, + 144.9893624624168 + ] + ], + "type": "ComplexItem", + "version": 2 + }, +``` + +| Key | Description | +| ------------------------------------------------------- | --------------------------------------------------------------------- | +| `version` | The version for this `CorridorScan` definition. Current version is 3. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `CorridorScan` | +| `CorridorWidth` | ? | +| `EntryPoint` | ? | +| [`TransectStyleComplexItem`](#TransectStyleComplexItem) | The common base definition for Survey and CorridorScan complex items. | +| `polyline` | ? | + +#### Structure Scan {#structure\_scan} + +The object definition for a `StructureScan` complex mission item is given below. + +```json + { + "Altitude": 50, + "CameraCalc": { + "AdjustedFootprintFrontal": 25, + "AdjustedFootprintSide": 25, + "CameraName": "Manual (no camera specs)", + "DistanceToSurface": 10, + "DistanceToSurfaceRelative": true, + "version": 1 + }, + "Layers": 1, + "StructureHeight": 25, + "altitudeRelative": true, + "complexItemType": "StructureScan", + "polygon": [ + [ + -37.753184359536355, + 144.98879374063998 + ], + ... + [ + -37.75408368012594, + 144.98879374063998 + ] + ], + "type": "ComplexItem", + "version": 2 + } +``` + +| Key | Description | +| --------------------------- | ---------------------------------------------------------------------- | +| `version` | The version for this `StructureScan` definition. Current version is 2. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `StructureScan` | +| `Altitude` | ? | +| [`CameraCalc`](#CameraCalc) | ? | +| `Layers` | ? | +| `StructureHeight` | ? | +| `altitudeRelative` | `true`: `altitude` is relative to home, `false`: `altitude` is AMSL. | +| `polygon` | ? | + +#### `TransectStyleComplexItem` {#TransectStyleComplexItem} + +`TransectStyleComplexItem` contains the common base definition for [`survey`](#survey) and [`CorridorScan`](#CorridorScan) complex items. + +```json + "TransectStyleComplexItem": { + "CameraCalc": { + ... + }, + "CameraTriggerInTurnAround": true, + "FollowTerrain": false, + "HoverAndCapture": false, + "Items": [ + ... + ], + "Refly90Degrees": false, + "TurnAroundDistance": 10, + "VisualTransectPoints": [ + [ + -37.75161626657736, + 144.98414811224316 + ], + ... + [ + -37.75565155437309, + 144.99438539496475 + ] + ], + "version": 1 + }, +``` + +| Key | Description | +| --------------------------- | --------------------------------------------------------------------------------- | +| `version` | The version for this `TransectStyleComplexItem` definition. Current version is 1. | +| [`CameraCalc`](#CameraCalc) | ? | +| `CameraTriggerInTurnAround` | ? (boolean) | +| `FollowTerrain` | ? (boolean) | +| `HoverAndCapture` | ? (boolean) | +| `Items` | ? | +| `Refly90Degrees` | ? (boolean) | +| `TurnAroundDistance` | The distance to fly past the polygon edge prior to turning for the next transect. | +| `VisualTransectPoints` | ? | + +##### CameraCalc {#CameraCalc} + +The `CameraCalc` contains camera information used for a survey, corridor or structure scan. + +``` + "CameraCalc": { + "AdjustedFootprintFrontal": 272.4, + "AdjustedFootprintSide": 409.2, + "CameraName": "Sony ILCE-QX1", + "DistanceToSurface": 940.6896551724138, + "DistanceToSurfaceRelative": true, + "FixedOrientation": false, + "FocalLength": 16, + "FrontalOverlap": 70, + "ImageDensity": 25, + "ImageHeight": 3632, + "ImageWidth": 5456, + "Landscape": true, + "MinTriggerInterval": 0, + "SensorHeight": 15.4, + "SensorWidth": 23.2, + "SideOverlap": 70, + "ValueSetIsDistance": false, + "version": 1 + }, +``` + +| Key | Description | +| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version for this `CameraCalc` definition. Current version is 1. | +| `AdjustedFootprintFrontal` | ? | +| `AdjustedFootprintSide` | ? | +| `DistanceToSurface` | ? Units? | +| `DistanceToSurfaceRelative` | ? | +| `CameraName` | Name of camera being used (must correspond to one of the cameras known to _QGroundControl_ or: `Manual (no camera specs)` for manual setup, `Custom Camera` for a custom setup. The keys listed after this point are not specified for a "Manual" camera definition. | +| `FixedOrientation` | ? (boolean) | +| `FocalLength` | Focal length of camera lens in millimeters. | +| `FrontalOverlap` | Percentage of frontal image overlap. | +| `ImageDensity` | ? | +| `ImageHeight` | Image height in px | +| `ImageWidth` | Image width in px | +| `Landscape` | `true`: Camera installed in landscape orientation on vehicle, `false`: Camera installed in portrait orientation on vehicle. | +| `MinTriggerInterval` | ? | +| `SensorHeight` | Sensor height in millimeters. | +| `SensorWidth` | Sensor width in millimeters. | +| `SideOverlap` | Percentage of side image overlap. | +| `ValueSetIsDistance` | ? (boolean) | + +## GeoFence {#geofence} + +Geofence information is optional. +The plan can contain an arbitrary number of geofences defined in terms of polygons and circles. + +The minimal definition is shown below. + +```json + "geoFence": { + "circles": [ + ], + "polygons": [ + ], + "version": 2 + }, +``` + +The fields are: + +| Key | Description | +| ------------------------------- | ----------------------------------------------------------------------------- | +| `version` | The version number for the geofence plan format. The documented version is 2. | +| [`circles`](#circle_geofence) | List containing circle geofence definitions (comma separated). | +| [`polygons`](#polygon_geofence) | List containing polygon geofence definitions (comma separated). | + +### Circle Geofence {#circle\_geofence} + +Each circular geofence is defined in a separate item, as shown below (multiple comma-separated items can be defined). +The items define the centre and radius of the circle, and whether or not the specific geofence is activated. + +```json +{ + "circle": { + "center": [47.39756763610029, 8.544649762407738], + "radius": 319.85 + }, + "inclusion": true, + "version": 1 +} +``` + +The fields are: + +| Key | Description | +| ----------- | -------------------------------------------------------------------------------------------------- | +| `version` | The version number for the geofence "circle" plan format. The documented version is 1. | +| `circle` | The definition of the circle. Includes `centre` (latitude, longitude) and `radisu` as shown above. | +| `inclusion` | Whether or not the geofence is enabled (true) or disabled. | + +### Polygon Geofence {#polygon\_geofence} + +Each polygon geofence is defined in a separate item, as shown below (multiple comma-separated items can be defined). +The geofence includes a set of points defined with a clockwise winding (i.e. they must enclose an area). + +```json + { + "inclusion": true, + "polygon": [ + [ + 47.39807773798406, + 8.543834631785785 + ], + [ + 47.39983519888905, + 8.550024648373267 + ], + [ + 47.39641100087146, + 8.54499282423751 + ], + [ + 47.395590322265186, + 8.539435808992085 + ] + ], + "version": 1 + } + ], + "version": 2 + } +``` + +The fields are: + +| Key | Description | +| ----------- | ------------------------------------------------------------------------------------------------------------------------------ | +| `version` | The version number for the geofence "polygon" plan format. The documented version is 2. | +| `polygon` | A list of points for the polygon. Each point contains a latitude and longitude. The points are ordered in a clockwise winding. | +| `inclusion` | Whether or not the geofence is enabled (true) or disabled. | + +## Rally Points {#rally\_points} + +Rally point information is optional. +The plan can contain an arbitrary number of rally points, each of which has a latitude, longitude, and altitude (above home position). + +A definition with two points is shown below. + +```json + + "rallyPoints": { + "points": [ + [ + 47.39760401, + 8.5509154, + 50 + ], + [ + 47.39902017, + 8.54263274, + 50 + ] + ], + "version": 2 + } +``` + +The fields are: + +| Key | Description | +| --------- | -------------------------------------------------------------------------------- | +| `version` | The version number for the rally point plan format. The documented version is 2. | +| `points` | A list of rally points. | diff --git a/docs/fa/docs/en/qgc-dev-guide/firmware_plugin.md b/docs/fa/docs/en/qgc-dev-guide/firmware_plugin.md new file mode 100644 index 00000000000..95d0c3ddc74 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/firmware_plugin.md @@ -0,0 +1,23 @@ +# Plugin Architecture + +Although the MAVLink spec defines a standard communication protocol to communicate with a vehicle. There are many aspects of that spec that are up for interpretation by the firmware developers. Because of this there are many cases where communication with a vehicle running one firmware is be slightly different than communication with a vehicle running a different firmware in order to accomplish the same task. Also each firmware may implement a different subset of the MAVLink command set. + +Another major issue is that the MAVLink spec does not cover vehicle configuration or a common parameter set. Due to this all code which relates to vehicle setup ends up being firmware specific. Also any code which must refer to a specific parameter is also firmware specific. + +Given all of these differences between firmware implementations it can be quite tricky to create a single ground station application that can support each without having the codebase degrade into a massive pile of if/then/else statements peppered everywhere based on the firmware the vehicle is using. + +QGC uses a plugin architecture to isolate the firmware specific code from the code which is generic to all firmwares. There are two main plugins which accomplish this `FirmwarePlugin` and `AutoPilotPlugin`. + +This plugin architecture is also used by custom builds to allow ever further customization beyond when standard QGC can provide. + +## FirmwarePlugin + +This is used to create a standard interface to parts of Mavlink which are generally not standardized. + +## AutoPilotPlugin + +This is used to provide the user interface for Vehicle Setup. + +## QGCCorePlugin + +This is used to expose features of the QGC application itself which are not related to a Vehicle through a standard interface. This is then used by custom builds to adjust the QGC feature set to their needs. diff --git a/docs/fa/docs/en/qgc-dev-guide/getting_started/cent_os.md b/docs/fa/docs/en/qgc-dev-guide/getting_started/cent_os.md new file mode 100644 index 00000000000..c709b04874b --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/getting_started/cent_os.md @@ -0,0 +1,220 @@ +# Using QGC on CentOS 7 + +## OS Installation + +To install CentOS 7: + +1. Fetch the latest [CentOS 7 ISO from here](http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso) +2. Make a bootable USB stick out of the ISO e.g. by [following this guide](https://linuxize.com/post/how-to-create-a-bootable-centos-7-usb-stick/). +3. Boot the target device from the stick. + +The following examples show how to boot the target device from the stick. + +**Example:** _Panasonic Toughpad FZ-M1_ (attaching a keyboard and mouse to the device to follow this guide is recommended). + +1. Enter the BIOS menu by holding **Delete** on an attached USB keyboard or pressing all hardware buttons around the power button during boot. +2. Once inside the BIOS switch to the _Exit_ tab using the arrow keys or the touchscreen. +3. Select your previously created and plugged in USB stick under Boot device override. + +**Example** [UAV Components Micronav](https://www.uavcomp.com/command-control/micronav/) device: + +1. The setup of CentOS will not start with the default configuration. + To solve this + 1. Go to the BIOS menu as explained in the example above. + 2. Disable the "Extension Port" device under the "Advanced" tab. + 3. "Exit and save" the BIOS menu on the Exit page of the BIOS and try again. + 4. After CentOS is installed, you revert the changes again so that the Microhard network works. +2. Make sure to never do a warm reboot but always first shut down the device if you want to reboot into Linux. + Otherwise the Microhard network adapter will not work properly and slows down the whole system. + +### CentOS Software Selection Installation Options + +These were the options used to setup a CentOS development system. +Use it as a guideline. + +![CentOS Installation](../../../assets/dev_getting_started/centos/centos_installation.png) + +![CentOS Software Selection](../../../assets/dev_getting_started/centos/centos_sw_selection.png) + +### Update GStreamer + +Once CentOS is installed and booted we need to set up the environment for QGC. +First, we need to update GStreamer to a more recent version. +This guide follows Alice Wonder's tips found here: https\://media.librelamp.com + +``` +sudo yum install epel-release -y +wget http://awel.domblogger.net/7/media/x86_64/awel-media-release-7-6.noarch.rpm +sudo yum localinstall awel-media-release-7-6.noarch.rpm -y +sudo yum clean all +sudo yum update +sudo yum install gstreamer1* --skip-broken -y +``` + +**Note:** Make sure these are installed (vaapi for Intel GPUs) + +``` +sudo yum install gstreamer1-vaapi +sudo yum install gstreamer1-libav +``` + +**Note:** Install these to enable hardware accelerated video decoding + +``` +sudo yum install libva +sudo yum install libva-utils +sudo yum install libva-intel-driver +``` + +If libva-intel-driver is not found you can download it and install it manually + +``` +wget http://download1.rpmfusion.org/free/el/updates/7/x86_64/l/libva-intel-driver-1.8.3-4.el7.x86_64.rpm +sudo yum localinstall libva-intel-driver-1.8.3-4.el7.x86_64.rpm -y +``` + +### Installing SDL2 + +SDL2 is used for joystick support. + +``` +sudo yum install SDL2 SDL2-devel -y +``` + +### Update Kernel (optional) + +:::tip +If your Joystick gets recognized and shows up as `/dev/input/js0` when you run the command `/dev/input/*` you can skip this step. +::: + +We recommend updating the kernel for: + +- Better touch screen responsiveness. +- Correct recognition of some USB devices - in particular joysticks. + +The following joysticks are known not do work out of the box with the default CentOS 7 kernel (3.10.0): + +- Logitech F310 +- Microsoft Xbox 360 controller (USB) + +To fix the joystick not being recognized (even if the same unit is working under Windows or Ubuntu) please [follow this guide to update the kernel](https://www.howtoforge.com/tutorial/how-to-upgrade-kernel-in-centos-7-server/). + +Here's a short summary of the commands that you need to execute to update the kernel: + +``` +sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org +sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm +sudo yum --enablerepo=elrepo-kernel install kernel-ml -y +``` + +Reboot your device afterwards and make sure the new kernel version shows up as the default start option in the GRUB menu on boot. + +:::info +You might need to disable secure boot in the BIOS to allow the new kernel to be booted. +::: + +## Running QGC on CentOS + +Before launching QGC, you need to make sure the current user has access to the dialout group (serial port access permission): + +``` +sudo usermod -a -G dialout $USER +``` + +### Firewall + +The default firewall security level of Red Hat distributions like CentOS block MAVLink communication and also the camera video stream. +So you need to create rules to open the incoming ports for MAVLink and camera stream. +For non-production local environment testing purposes ONLY you can temporarily disable the firewall using the following commands ([from here](https://www.liquidweb.com/kb/how-to-stop-and-disable-firewalld-on-centos-7/)): + +Temporary: + +``` +systemctl stop firewalld +``` + +Permanent (at your own risk): + +``` +systemctl disable firewalld +``` + +Undo permanent change: + +``` +systemctl enable firewalld +``` + +### Connection problems with multiple networks + +In our test with CentOS we had problems when connecting to multiple networks through multiple network devices even with appropriate IP address and subnet assignment. + +Issues consisted of: + +- Losing Internet access when connecting to a second network +- Having flaky connection to the vehicle with a lot of hiccups and packet losses (e.g. 30 seconds perfect connection 4 seconds of packet loss in a regular pattern) + +If you face any of these problems avoid them by only connecting one network at a time e.g. switching between WiFi and Microhard. + +### Executing a Prebuilt QGC Binary + +- Get hold of an archive containing a prebuilt binary of QGC for CentOS. + At the moment there is no automatic deployment for this build if you urgently need one get in touch with the developers. +- [Unpack the archive](https://www.hostdime.com/kb/hd/command-line/how-to-tar-untar-and-zip-files). +- Go inside the unpacked files and locate the script named `qgroundcontrol-run.sh` +- Run it by executing the command + ``` + ./qgroundcontrol-run.sh + ``` + +## Building QGC on CentOS + +### Installing Qt + +``` +mkdir ~/devel +cd ~/devel +``` + +Install Qt 5.12.4 from the Qt installation script that can be downloaded [here](https://www.qt.io/download-thank-you?os=linux\&hsLang=en). +Once downloaded, make it executable and run it: + +``` +chmod +x qt-unified-linux-x64-3.1.1-online.run +./qt-unified-linux-x64-3.1.1-online.run +``` + +Select the following options and install it under `~/devel/Qt`: + +![Qt Software Selection](../../../assets/dev_getting_started/centos/qt_setup.png) + +### Clone and Build QGC + +``` +git clone --recursive https://github.com/mavlink/qgroundcontrol.git +mkdir build +cd build +``` + +For a debug/test build: + +``` +../Qt/5.12.4/gcc_64/bin/qmake ../qgroundcontrol/qgroundcontrol.pro -spec linux-g++ CONFIG+=debug +``` + +For a release build: + +``` +../Qt/5.12.4/gcc_64/bin/qmake ../qgroundcontrol/qgroundcontrol.pro -spec linux-g++ CONFIG+=qtquickcompiler +``` + +Build it: + +``` +make -j4 +``` + +You can alternatively launch _QtCreator_ (found under `~/devel/Qt/Tools/QtCreator/bin/qtcreator`), load the `qgroundcontro.pro` project and build/debug from within its IDE. + +By default, this will build the regular QGC. +To build the sample, customized UI version, follow [these instructions](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/README.md). diff --git a/docs/fa/docs/en/qgc-dev-guide/getting_started/container.md b/docs/fa/docs/en/qgc-dev-guide/getting_started/container.md new file mode 100644 index 00000000000..3bdda672439 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/getting_started/container.md @@ -0,0 +1,81 @@ +# Building using Containers + +The community created a docker image that makes it much easier to build a Linux-based QGC application. +This can give you a massive boost in productivity and help with testing. + +## About the Container + +The Container is located in the `./deploy/docker` directory. +It's based on ubuntu 20.04. +It pre-installs all the dependencies at build time, including Qt, thanks to a script located in the same directory, `install-qt-linux.sh`. +The main advantage of using the container is the usage of the `CMake` build system and its many improvements over `qmake` + +## Building the Container + +Before using the container, you have to build the image. +You can accomplish this using docker, running the following script from the root of the QGC source code directory. + +``` +docker build --file ./deploy/docker/Dockerfile-build-linux -t qgc-linux-docker . +``` + +:::info +The `-t` flag is essential. +Keep in mind this is tagging the image for later reference since you can have multiple builds of the same container +::: + +::: info +If building on a Mac computer with an M1 chip you must also specify the build option `--platform linux/x86_64` as shown: + +``` +docker build --platform linux/x86_64 --file ./deploy/docker/Dockerfile-build-linux -t qgc-linux-docker . +``` + +Otherwise you will get a build error like: + +``` +qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory +``` + +::: + +## Building QGC using the Container + +To use the container to build QGC, you first need to define a directory to save the artifacts. +We recommend you create a `build` directory on the source tree and then run the docker image using the tag provided above as follows, from the root directory: + +``` +mkdir build +docker run --rm -v ${PWD}:/project/source -v ${PWD}/build:/project/build qgc-linux-docker +``` + +::: info +If using the script to build the Linux image on a Windows host, you would need to reference the PWD differently. +On Windows the docker command is: + +``` +docker run --rm -v %cd%:/project/source -v %cd%/build:/project/build qgc-linux-docker +``` + +::: + +Depending on your system resources, or the resources assigned to your Docker Daemon, the build step can take some time. + +## Troubleshooting + +### Windows: 'bash\r': No such file or directory + +This error indicates that a Linux script is being run with Windows line endings, which might occur if `git` was configured to use Windows line endings: + +``` + > [4/7] RUN /tmp/qt/install-qt-linux.sh: +#9 0.445 /usr/bin/env: 'bash\r': No such file or directory +``` + +One fix is to force Linux line endings using the command: + +``` +git config --global core.autocrlf false +``` + +Then update/recreate your local repository. diff --git a/docs/fa/docs/en/qgc-dev-guide/getting_started/index.md b/docs/fa/docs/en/qgc-dev-guide/getting_started/index.md new file mode 100644 index 00000000000..c01c1af6e99 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/getting_started/index.md @@ -0,0 +1,238 @@ +--- +qt_version: 5.15.2 +--- + +# Getting Started + +This topic explains how to get the _QGroundControl_ source code and build it either natively or within a _Vagrant_ environment. +It also provides information about optional or OS specific functionality. + +## Daily Builds + +If you just want to test (and not debug) a recent build of _QGroundControl_ you can use the [Daily Build](https://docs.qgroundcontrol.com/en/releases/daily_builds.html). Versions are provided for all platforms. + +## Source Code + +Source code for _QGroundControl_ is kept on GitHub here: https\://github.com/mavlink/qgroundcontrol. +It is [dual-licensed under Apache 2.0 and GPLv3](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md). + +To get the source files: + +1. Clone the repo (or your fork) including submodules: + ``` + git clone --recursive -j8 https://github.com/mavlink/qgroundcontrol.git + ``` +2. Update submodules (required each time you pull new source code): + ``` + git submodule update --recursive + ``` + +:::tip +Github source-code zip files cannot be used because these do not contain the appropriate submodule source code. +You must use git! +::: + +## Build QGroundControl + +### Using Containers + +We support Linux builds using a container found on the source tree of the repository, which can help you develop and deploy the QGC apps without having to install any of the requirements on your local environment. + +[Container Guide](../getting_started/container.md) + +### Native Builds + +_QGroundControl_ builds are supported for macOS, Linux, Windows, iOS and Android. +_QGroundControl_ uses [Qt](http://www.qt.io) as its cross-platform support library and uses [QtCreator](http://doc.qt.io/qtcreator/index.html) as its default build environment. + +- **macOS:** v10.11 or higher +- **Ubuntu:** 64 bit, gcc compiler +- **Windows:** Vista or higher, [Visual Studio 2019 compiler](#vs) (64 bit) +- **iOS:** 10.0 and higher +- **Android:** Android 5.0 and later. + - Standard QGC is built against ndk version 19. + - Java JDK 11 is required. +- **Qt version:** {{ $frontmatter.qt\_version }} **(only)** + + ::: warning + **Do not use any other version of Qt!** + QGC has been thoroughly tested with the specified version of Qt ({{ $frontmatter.qt\_version }}). + There is a significant risk that other Qt versions will inject bugs that affect stability and safety (even if QGC compiles). + ::: + +For more information see: [Qt 5 supported platform list](http://doc.qt.io/qt-5/supported-platforms.html). + +:::info +Native [CentOS Builds](../getting_started/cent_os.md) are also supported, but are documented separately (as the tested environment is different). +::: + +#### Install Visual Studio 2019 (Windows Only) {#vs} + +The Windows compiler can be found here: [Visual Studio 2019 compiler](https://visualstudio.microsoft.com/vs/older-downloads/) (64 bit) + +When installing, select _Desktop development with C++_ as shown: + +![Visual Studio 2019 - Select Desktop Environment with C++](../../../assets/dev_getting_started/visual_studio_select_features.png) + +:::info +Visual Studio is ONLY used to get the compiler. Actually building _QGroundControl_ should be done using [Qt Creator](#qt-creator) or [qmake](#qmake) as outlined below. +::: + +#### Install Qt + +You **need to install Qt as described below** instead of using pre-built packages from say, a Linux distribution, because _QGroundControl_ needs access to private Qt headers. + +To install Qt: + +1. Download and run the [Qt Online Installer](http://www.qt.io/download-open-source) + - **Ubuntu:** + - Set the downloaded file to executable using: `chmod +x`. + - Install to default location for use with **./qgroundcontrol-start.sh.** If you install Qt to a non-default location you will need to modify **qgroundcontrol-start.sh** in order to run downloaded builds. + +2. In the installer _Select Components_ dialog choose: {{ $frontmatter.qt\_version }}. + + ::: info + If the version needed is not displayed, check the archive (show archive and refresh). + ::: + + Then install just the following components: + + - **Windows**: _MSVC 2019 64 bit_ + - **MacOS**: _macOS_ + - **Linux**: _Desktop gcc 64-bit_ + - All: + - _Qt Charts_ + - _Android ARMv7_ (optional, used to build Android) + + ![QtCreator Select Components (Windows)](../../../assets/dev_getting_started/qt_creator_select_components.jpg) + +3. Install Additional Packages (Platform Specific) + + - **Ubuntu:** `sudo apt-get install speech-dispatcher libudev-dev libsdl2-dev patchelf build-essential curl` + - **Fedora:** `sudo dnf install speech-dispatcher SDL2-devel SDL2 systemd-devel patchelf` + - **Arch Linux:** `pacman -Sy speech-dispatcher patchelf` + - **Android:** [Qt Android Setup](http://doc.qt.io/qt-5/androidgs.html) + + ::: info + JDK11 is required (install if needed)! + ::: + +4. Install Optional/OS-Specific Functionality + + ::: info + Optional features that are dependent on the operating system and user-installed libraries are linked/described below. + These features can be forcibly enabled/disabled by specifying additional values to qmake. + ::: + + - **Video Streaming/Gstreamer:** - see [Video Streaming](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoReceiver/README.md). + - **Airmap SDK:** - TBD. + +5. Disable platform-specific optional features that are enabled (but not installed), by default. + + ::: info + This currently applies to Airmap on Linux, which is optional but enabled by default. + ::: + + - **Ubuntu:** + - Airmap: Create a file named **user\_config.pri** (in the repo root directory) containing the text `DEFINES += DISABLE_AIRMAP`. + This can be done in a bash terminal using the command: + ``` + echo -e "DEFINES += DISABLE_AIRMAP\r\n" | tee user_config.pri + ``` + +#### Building using Qt Creator {#qt-creator} + +1. Launch _Qt Creator_ and open the **qgroundcontrol.pro** project. + +2. In the **Projects** section, select the appropriate kit for your needs: + + - **OSX:** Desktop Qt {{ $frontmatter.qt\_version }} clang 64 bit + + ::: info + iOS builds must be built using [XCode](http://doc.qt.io/qt-5/ios-support.html). + ::: + + - **Ubuntu:** Desktop Qt {{ $frontmatter.qt\_version }} GCC 64bit + + - **Windows:** Desktop Qt {{ $frontmatter.qt\_version }} MSVC2019 **64bit** + + - **Android:** Android for armeabi-v7a (GCC 4.9, Qt {{ $frontmatter.qt\_version }}) + - JDK11 is required. + You can confirm it is being used by reviewing the project setting: **Projects > Manage Kits > Devices > Android (tab) > Android Settings > _JDK location_**. + +3. Build using the "hammer" (or "play") icons: + + ![QtCreator Build Button](../../../assets/dev_getting_started/qt_creator_build_qgc.png) + +#### Build using qmake on CLI {#qmake} + +Example commands to build a default QGC and run it afterwards: + +1. Make sure you cloned the repository and updated the submodules before, see chapter _Source Code_ above and switch into the repository folder: + ``` + cd qgroundcontrol + ``` + +2. Create and enter a shadow build directory: + ``` + mkdir build + cd build + ``` + +3. Configure the build using the qmake script in the root of the repository: + ``` + qmake ../ + ``` + +4. Run make to compile and link. + To accelerate the process things you can use the `-j{number of threads}` parameter. + + ``` + make -j12 + ``` + + ::: info + You can also specify build time flags here. + For example, you could disable airmap inclusion using the command: + + ``` + DEFINES+=DISABLE_AIRMAP make build + ``` + + ::: + +5. Run the QGroundcontrol binary that was just built: + ``` + ./staging/QGroundControl + ``` + +### Vagrant + +[Vagrant](https://www.vagrantup.com/) can be used to build and run _QGroundControl_ within a Linux virtual machine (the build can also be run on the host machine if it is compatible). + +1. [Download](https://www.vagrantup.com/downloads.html) and [Install](https://www.vagrantup.com/docs/getting-started/) Vagrant +2. From the root directory of the _QGroundControl_ repository run `vagrant up` +3. To use the graphical environment run `vagrant reload` + +### Additional Build Notes for all Supported OS + +- **Parallel builds:** For non Windows builds, you can use the `-j#` option to run parellel builds. +- **Location of built files:** Individual build file results can be found in the `build_debug` or `build_release` directories. The built executable can be found in the `debug` or `release` directory. +- **If you get this error when running _QGroundControl_**: `/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version 'GLIBCXX_3.4.20' not found.`, you need to either update to the latest _gcc_, or install the latest _libstdc++.6_ using: `sudo apt-get install libstdc++6`. +- **Unit tests:** To run the [unit tests](../contribute/unit_tests.md), build in `debug` mode with `UNITTEST_BUILD` definition, and then copy `deploy/qgroundcontrol-start.sh` script into the `debug` directory before running the tests. + +## Building QGC Installation Files + +You can additionally create installation file(s) for _QGroundControl_ as part of the normal build process. + +:::tip +On Windows you will need to first install [NSIS](https://sourceforge.net/projects/nsis/). +::: + +To add support for installation file creation you need to add `CONFIG+=installer` to your project file, or when you call _qmake_. + +To do this in _Qt Creator_: + +- Open **Projects > Build > Build Steps > qmake > Additional arguments**. +- Enter `CONFIG+=installer` as shown: + ![Installer](../../../assets/dev_getting_started/qt_project_installer.png) diff --git a/docs/fa/docs/en/qgc-dev-guide/index.md b/docs/fa/docs/en/qgc-dev-guide/index.md new file mode 100644 index 00000000000..22020d391d3 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/index.md @@ -0,0 +1,68 @@ +# QGroundControl Dev Guide + +[![Releases](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases) [![Discuss](https://img.shields.io/badge/discuss-dev-ff69b4.svg)](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-developers) + +This developer guide is the best source for information if you want to build, modify or extend [QGroundControl](http://qgroundcontrol.com) (QGC). +It shows how to obtain and build the source code, explains how QGC works, and provides guidelines for contributing code to the project. + +:::tip +This part of the guide is for **developers**! +::: + +:::warning +This is an active work in progress - information should be correct, but may not be complete! +If you find that it is missing helpful information (or errors) please raise an issue. +::: + +## Design Philosophy + +QGC is designed to provide a single codebase that can run across multiple OS platforms as well as multiple device sizes and styles. + +The QGC user interface is implemented using [Qt QML](http://doc.qt.io/qt-5/qtqml-index.html). QML provides for hardware acceleration which is a key feature on lower powered devices such as tablets or phones. QML also provides features which allows us to more easily create a single user interface which can adapt itself to differing screen sizes and resolution. + +The QGC UI targets itself more towards a tablet+touch style of UI than a desktop mouse-based UI. This make a single UI easier to create since tablet style UI also tends to work fine on desktop/laptops. + +## Support {#support} + +Development questions can be raised in the [QGroundControl Developer](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-developers) discuss category. + +## Contribution + +Information about contributing, including coding styles, testing and licenses can be found in [Code Submissions](contribute/index.md). + +:::tip +We expect all contributors to adhere to the [QGroundControl code of conduct](https://github.com/mavlink/qgroundcontrol/blob/master/CODE_OF_CONDUCT.md). +This code aims to foster an open and welcoming environment. +::: + +### Coordination Call + +The developer team meets bi-weekly to discuss the highest priority issues, project coordination, and discuss any Issues, PRs, or Questions from the Community. ([Developer Call Details](contribute/dev_call.md)) + +### Translations + +We use [Crowdin](https://crowdin.com) to make it easier to manage translation for both _QGroundControl_ and the documentation. + +The translation projects (and join links) are listed below: + +- [QGroundControl](https://crowdin.com/project/qgroundcontrol) ([join](https://crwd.in/qgroundcontrol)) +- [QGroundControl User Guide](https://crowdin.com/project/qgroundcontrol-user-guide) ([join](https://crwd.in/qgroundcontrol-user-guide)) +- [QGroundControl Developer Guide](https://crowdin.com/project/qgroundcontrol-developer-guide) ([join](https://crwd.in/qgroundcontrol-developer-guide)) + +The PX4 Developer Guide contains additional information about the (common) docs/translation toolchain: + +- [Documentation](https://dev.px4.io/en/contribute/docs.html) +- [Translation](https://dev.px4.io/en/contribute/docs.html) + +## License + +_QGroundControl_ source code is [dual-licensed under Apache 2.0 and GPLv3](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md). +For more information see: [Licenses](contribute/licences.md). + +## Governance + +The QGroundControl mission planner is hosted under the governance of the [Dronecode Project](https://www.dronecode.org/). + +Dronecode Logo Linux Foundation Logo + +
 
diff --git a/docs/fa/docs/en/qgc-dev-guide/plan/mission_command_tree.md b/docs/fa/docs/en/qgc-dev-guide/plan/mission_command_tree.md new file mode 100644 index 00000000000..55441b4e3fc --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/plan/mission_command_tree.md @@ -0,0 +1,196 @@ +# Mission Command Tree + +QGC creates the user interface for editing a specific mission item command dynamically from a hierarchy of json metadata. This hierarchy is called the Mission Command Tree. This way only json metadata must be created when new commands are added. + +## Why a tree? + +The tree is needed to deal with the idosyncracies of differening firmware supporting commands differently and/or different vehicle types supporting the commands in different ways. The simplest example of that is mavlink spec may include command parameters which are not supported by all firmwares. Or command parameters which are only valid for certain vehicle types. Also in some cases a GCS may decide to hide some of the command parameters from view to end users since they are too complex or cause usability problems. + +The tree is the MissionCommandTree class: [MissionCommandTree.cc](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.cc), [MissionCommandTree.h](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.h) + +### Tree Root + +The root of the tree is json metadata which matches the mavlink spec exactly. + +Here you can see an example of the root [json](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoCommon.json#L27) for `MAV_CMD_NAV_WAYPOINT`: + +``` + { + "id": 16, + "rawName": "MAV_CMD_NAV_WAYPOINT", + "friendlyName": "Waypoint", + "description": "Travel to a position in 3D space.", + "specifiesCoordinate": true, + "friendlyEdit": true, + "category": "Basic", + "param1": { + "label": "Hold", + "units": "secs", + "default": 0, + "decimalPlaces": 0 + }, + "param2": { + "label": "Acceptance", + "units": "m", + "default": 3, + "decimalPlaces": 2 + }, + "param3": { + "label": "PassThru", + "units": "m", + "default": 0, + "decimalPlaces": 2 + }, + "param4": { + "label": "Yaw", + "units": "deg", + "nanUnchanged": true, + "default": null, + "decimalPlaces": 2 + } + }, +``` + +Note: In reality this based information should be provided by mavlink itself and not needed to be part of a GCS. + +### Leaf Nodes + +The leaf nodes then provides metadata which can override values for the command and/or remove parameters from display to the user. The full tree hierarchy is this: + +- Root - Generic Mavlink + - Vehicle Type Specific - Vehicle specific overrides to the generic spec + - Firmware Type Specific - One optional leaf node for each firmware type (PX4/ArduPilot) + - Vehicle Type Specific - One optional leaf node for each vehicel type (FW/MR/VTOL/Rover/Sub) + +Note: In reality this override capability should be part of mavlink spec and should be able to be queried from the vehicle. + +### Building the instance tree from the full tree + +Since the json metadata provides information for all firmware/vehicle type combinations the actual tree to use must be built based on the firmware and vehicle type which is being used to create a Plan. This is done through a process call "collapsing" the full tree to a firmware/vehicle specific tree ([code](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.cc#L119)). + +The steps are as follows: + +- Add the root to the instance tree +- Apply the vehicle type specific overrides to the instance tree +- Apply the firmware type specific overrides to the instance tree +- Apply the firmware/vehicle type specific overrides to the instance tree + +The resulting Mission Command Tree is then used to build UI for the Plan View item editors. In reality it is used for more than just that, there are many other places where knowing more information about a specific command id is useful. + +## Example hierarchy for `MAV_CMD_NAV_WAYPOINT` + +Let's walk through an example hierarchy for `MAV_CMD_NAV_WAYPOINT`. Root information is shown above. + +### Root - Vehicle Type Specific leaf node + +The next level of the hiearchy is generic mavlink but vehicle specific. Json files are here: [MR](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoMultiRotor.json), [FW](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoFixedWing.json), [ROVER](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoRover.json), [Sub](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoSub.json), [VTOL](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoVTOL.json). And here are the overrides for (Fixed Wings)(https\://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoFixedWing.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "4" + }, +``` + +What this does is remove the editing UI for param4 which is Yaw and not used by fixed wings. Since this is a leaf node of the root, this applies to all fixed wing vehicle no matter the firmware type. + +### Root - Firmware Type Specific leaf node + +The next level of the hiearchy are overrides which are specific to a firmware type but apply to all vehicle types. Once again lets loook at the waypoint overrides: + +[ArduPilot](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/APM/MavCmdInfoCommon.json#L6): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2" + }, +``` + +[PX4](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/PX4/MavCmdInfoCommon.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2,3" + }, +``` + +You can see that for both firmwares param2 which is acceptance radius is removed from the editing ui. This is a QGC specific decision. It is generally safer and easier to use the firmwares generic acceptance radius handling than the specify a value. So we've decided to hide it from users. + +You can also see that for PX4 param3/PassThru is removed since it is not supported by PX. + +### Root - Firmware Type Specific - Vehicle Type Specific leaf node + +The last level of the hiearchy is both firmware and vehicle type specific. + +[ArduPilot/MR](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/APM/MavCmdInfoMultiRotor.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2,3,4" + }, +``` + +Here you can see that for an ArduPilot Multi-Rotor vehicle param2/3/4 Acceptance/PassThru/Yaw are removed. Yaw for example is removed because it is not supported. Due to quirk of how this code works, you need to repeat the overrides from the lower level. + +## Mission Command UI Info + +Two classes define the metadata associated with a command: + +- MissionCommandUIInfo - Metadata for the entire command +- MissionCmdParamInfo - Metadata for a param in a command + +The source is commented with full details of the json keys which are supported. + +[MissionCommandUIInfo](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandUIInfo.h#L82): + +``` +/// UI Information associated with a mission command (MAV_CMD) +/// +/// MissionCommandUIInfo is used to automatically generate editing ui for a MAV_CMD. This object also supports the concept of only having a set of partial +/// information for the command. This is used to create overrides of the base command information. For on override just specify the keys you want to modify +/// from the base command ui info. To override param ui info you must specify the entire MissionParamInfo object. +/// +/// The json format for a MissionCommandUIInfo object is: +/// +/// Key Type Default Description +/// id int reauired MAV_CMD id +/// comment string Used to add a comment +/// rawName string required MAV_CMD enum name, should only be set of base tree information +/// friendlyName string rawName Short description of command +/// description string Long description of command +/// specifiesCoordinate bool false true: Command specifies a lat/lon/alt coordinate +/// specifiesAltitudeOnly bool false true: Command specifies an altitude only (no coordinate) +/// standaloneCoordinate bool false true: Vehicle does not fly through coordinate associated with command (exampl: ROI) +/// isLandCommand bool false true: Command specifies a land command (LAND, VTOL_LAND, ...) +/// friendlyEdit bool false true: Command supports friendly editing dialog, false: Command supports 'Show all values" style editing only +/// category string Advanced Category which this command belongs to +/// paramRemove string Used by an override to remove params, example: "1,3" will remove params 1 and 3 on the override +/// param[1-7] object MissionCommandParamInfo object +/// +``` + +[MissionCmdParamInfo](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandUIInfo.h#L25): + +``` +/// UI Information associated with a mission command (MAV_CMD) parameter +/// +/// MissionCommandParamInfo is used to automatically generate editing ui for a parameter associated with a MAV_CMD. +/// +/// The json format for a MissionCmdParamInfo object is: +/// +/// Key Type Default Description +/// label string required Label for text field +/// units string Units for value, should use FactMetaData units strings in order to get automatic translation +/// default double 0.0/NaN Default value for param. If no default value specified and nanUnchanged == true, then defaultValue is NaN. +/// decimalPlaces int 7 Number of decimal places to show for value +/// enumStrings string Strings to show in combo box for selection +/// enumValues string Values associated with each enum string +/// nanUnchanged bool false True: value can be set to NaN to signal unchanged +``` diff --git a/docs/fa/docs/en/qgc-dev-guide/release_branching_process.md b/docs/fa/docs/en/qgc-dev-guide/release_branching_process.md new file mode 100644 index 00000000000..8cff755d051 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/release_branching_process.md @@ -0,0 +1,81 @@ +# QGroundControl Release/Branching process + +## Semantic Versioning + +QGC uses semantic versioning for the version numbers associated with its releases. +Semantic versioning is a 3-component number in the format of `vX.Y.Z`, where: + +- `X` is the major version. +- `Y` is the minor version. +- `Z` is the patch version. + +## Stable Builds + +The current stable build is the highest quality build available for QGC. +[Patch releases](#patch_releases) of the stable build are regularly made to fix important issues. + +Stable builds are built from a separate branch that is named with the format: `Stable_VX.Y` (note, there is no patch number!) +The branch has one or more git tags for each patch release (with the format `vX.Y.Z`), indicating the point in the repo source code that the associated patch release was created from. + +### Patch Releases {#patch\_releases} + +A patch release contains fixes to the stable release that are important enough to _require_ an update, and are safe enough that the stable release continues to maintain high quality. + +Patch releases increment the patch version number only. + +### Patch - Development Stage + +Approved fixes to the stable release are commited to the current stable branch. +These fixes continue to queue up in the stable branch until a patch release is made (see next step). + +Commits/changes to the stable branch must also be brought over to the master branch (either through cherry pick or separate pulls). + +### Patch - Release Stage + +At the point where the decision is made to do a patch release, the release binaries are created and a new _tag_ is added to the stable branch (with the same patch release number) indicating the associated source code. + +:::info +New branches are not created for patch releases - only for major and minor releases. +::: + +## Daily Builds + +### Development Stage + +Daily builds are built from the `master` branch, and this is where all new major feature development happens. +The state of master represents either the next minor point release, or a new major version release (depending on the level of change). + +There are no git tags associated with a released daily builds. +The released daily build will always match repo HEAD. + +### Release Stage + +When the decision is made to release a new major/minor version the master branch tends to go through an intial lockdown mode. +This is where only important fixes for the release are accepted as pull requests. + +:::info +During the lockdown phase, new features are not allowed in master. +::: + +Once the level of fixes associated with the release slows down to a low level, a new stable branch is created (at this point the `master` branch can move forward again as the latest and greatest). + +Fixes continue in the stable branch until it is deemed ready to release (ideally after a short time)! +At that point the new stable branch is tagged with the new version tag and the first stable release is made. + +## Custom Builds + +A proposed strategy for branching on custom builds can be found [here](custom_build/release_branching_process.md). + +## Process to create a new Stable + +### Major/Minor Version + +1. Create a branch from master named `Stable_VX.Y` where `X` is the major version number and `Y` is the minor version number. +2. Create a tag on the HEAD of master name `dX.Y` where the minor version is one greater than the new Stable. For example if you are create a new Stable 4.2 version then the tag would be 'd4.3'. This tag is used to create the version numbers for Android daily builds. Example: `git tag -a d4.3.0 -m "QGroundControl Daily Android Version Base"`. +3. Create an annotated tag on the newly created Stable branch named `vX.Y.0` with the correct major/minor version number. Example: `git tag -a v4.2.0 -m "QGroundControl v4.2.0"`. Pushing this tag to the repo will start a build. +4. Once the build completes verify the builds are pushed up to S3 correctly and sanity check that they at least boot correctly. Location on S3 will be `https://qgroundcontrol.s3.us-west-2.amazonaws.com/latest/...`. +5. Update the `https://qgroundcontrol.s3.us-west-2.amazonaws.com/builds/latest/QGC.version.txt` text file to the latest Stable version. This will notify uses there is a new Stable available the next time they launch QGC. + +### Patch Version + +Creating a new Patch Version is the same except you skip steps 1 and 2 and in step 3 you bump the patch version number up as needed. diff --git a/docs/fa/docs/en/qgc-dev-guide/tools/index.md b/docs/fa/docs/en/qgc-dev-guide/tools/index.md new file mode 100644 index 00000000000..d2f1bd88502 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/tools/index.md @@ -0,0 +1,20 @@ +# Developer Tools + +_QGroundControl_ makes a number of tools available primarily for autopilot developers. +These ease common developer tasks including setting up simulated connections for testing, +and accessing the System Shell over MAVLink. + +:::info +[Build the source in debug mode](https://github.com/mavlink/qgroundcontrol#supported-builds) to enable these tools. +::: + +Tools include: + +- **[Mock Link](../tools/mock_link.md)** (Daily Builds only) - Creates and stops multiple simulated vehicle links. +- **[Replay Flight Data](https://docs.qgroundcontrol.com/en/app_menu/replay_flight_data.html)** - Replay a telemetry log (User Guide). +- **[MAVLink Inspector](https://docs.qgroundcontrol.com/en/app_menu/mavlink_inspector.html)** - Display received MAVLink messages/values. +- **[MAVLink Analyzer](https://docs.qgroundcontrol.com/en/app_menu/mavlink_analyzer.html)** - Plot trends for MAVLink messages/values. +- **[Custom Command Widget](https://docs.qgroundcontrol.com/en/app_menu/custom_command_widget.html)** - Load custom/test QML UI at runtime. +- **[Onboard Files](https://docs.qgroundcontrol.com/en/app_menu/onboard_files.html)** - Navigate vehicle file system and upload/download files. +- **[HIL Config Widget](https://docs.qgroundcontrol.com/en/app_menu/hil_config.html)** - Settings for HIL simulators. +- **[MAVLink Console](https://docs.qgroundcontrol.com/en/analyze_view/mavlink_console.html)** (PX4 Only) - Connect to the PX4 nsh shell and send commands. diff --git a/docs/fa/docs/en/qgc-dev-guide/tools/mock_link.md b/docs/fa/docs/en/qgc-dev-guide/tools/mock_link.md new file mode 100644 index 00000000000..bbb8878c9c2 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/tools/mock_link.md @@ -0,0 +1,33 @@ +# Mock Link + +_Mock Link_ allows you to create and stop links to multiple simulated (mock) vehicles in _QGroundControl_ debug builds. + +The simulation does not support flight, but does allow easy testing of: + +- Mission upload/download +- Viewing and changing parameters +- Testing most setup pages +- Multiple vehicle UIs + +It is particularly useful for unit testing error cases for mission upload/download. + +## Using Mock Link + +To use _Mock Link_: + +1. Create a debug build by [building the source](https://github.com/mavlink/qgroundcontrol#supported-builds). + +2. Access _Mock Link_ by selecting the _Application Settings_ icon in the top toolbar and then **Mock Link** in the sidebar: + + ![](../../../assets/dev_tools/mocklink_waiting_for_connection.jpg) + +3. The buttons in the panel can be clicked to create a vehicle link of the associated type. + + - Each time you click a button a new connection will be created. + - When there is more than one connection the multiple-vehicle UI will appear. + + ![](../../../assets/dev_tools/mocklink_connected.jpg) + +4. Click the **Stop one Mock Link** to stop the currently active vehicle. + +Using _Mock Link_ is then more or less the same as using any other vehicle, except that the simulation does not allow flight. diff --git a/docs/fa/docs/en/qgc-dev-guide/user_interface_design/controls.md b/docs/fa/docs/en/qgc-dev-guide/user_interface_design/controls.md new file mode 100644 index 00000000000..16bbca6fbed --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/user_interface_design/controls.md @@ -0,0 +1,35 @@ +# User Interface Controls + +QGC provides a base set of controls for building user interface. In general they tend to be thin layers above the base QML Controls supported by Qt which respect the QGC color palette. + +``` +import QGroundControl.Controls 1.0 +``` + +## Qt Controls + +The following controls are QGC variants of standard Qt QML Controls. They provide the same functionality as the corresponding Qt controls except for the fact that they are drawn using the QGC palette. + +- QGCButton +- QGCCheckBox +- QGCColoredImage +- QGCComboBox +- QGCFlickable +- QGCLabel +- QGCMovableItem +- QGCRadioButton +- QGCSlider +- QGCTextField + +## QGC Controls + +These custom controls are exclusive to QGC and are used to create standard UI elements. + +- DropButton - RoundButton which drops out a panel of options when clicked. Example is Sync button in Plan view. +- ExclusiveGroupItem - Used as a base Item for custom controls which supports the QML ExclusiveGroup concept. +- QGCView - Base control for all top level views in the system. Provides support for FactPanels and displaying QGCViewDialogs and QGCViewMessages. +- QGCViewDialog - Dialog which pops out from the right side of a QGCView. You can specific the accept/reject buttons for the dialog as well as the dialog contents. Example usage is when you click on a parameter and it brings up the value editor dialog. +- QGCViewMessage - A simplified version of QGCViewDialog which allows you to specify buttons and a simple text message. +- QGCViewPanel - The main view contents inside of a QGCView. +- RoundButton - A round button control which uses an image as its inner contents. +- SetupPage - The base control for all Setup vehicle component pages. Provides a title, description and component page contents area. diff --git a/docs/fa/docs/en/qgc-dev-guide/user_interface_design/font_palette.md b/docs/fa/docs/en/qgc-dev-guide/user_interface_design/font_palette.md new file mode 100644 index 00000000000..b9472025352 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/user_interface_design/font_palette.md @@ -0,0 +1,20 @@ +# Font and Palette + +QGC has a standard set of fonts and color palette which should be used by all user interface. + +``` +import QGroundControl.Palette 1.0 +import QGroundControl.ScreenTools 1.0 +``` + +## QGCPalette + +This item exposes the QGC color palette. There are two variants of this palette: light and dark. The light palette is meant for outdoor use and the dark palette is for indoor. Normally you should never specify a color directly for UI, you should always use one from the palette. If you don't follow this rule, the user interface you create will not be capable of changing from a light/dark style. + +## QGCMapPalette + +The map palette is used for colors which are used to draw over a map. Due to the the different map styles, specifically satellite and street you need to have different colors to draw over them legibly. Satellite maps needs lighter colors to be seen whereas street maps need darker colors to be seen. The `QGCMapPalette` item provides a set of colors for this as well as the ability to switch between light and dark colors over maps. + +## ScreenTools + +The ScreenTools item provides values which you can use to specify font sizing. It also provides information on screen size and whether QGC is running on a mobile device. diff --git a/docs/fa/docs/en/qgc-dev-guide/user_interface_design/index.md b/docs/fa/docs/en/qgc-dev-guide/user_interface_design/index.md new file mode 100644 index 00000000000..caff40d9801 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/user_interface_design/index.md @@ -0,0 +1,11 @@ +# User Interface Design + +The main pattern for UI design in QGC is a UI page written in QML, many times communicating with a custom "Controller" written in C++. This follows a somewhat hacked variant of the MVC design pattern. + +The QML code binds to information associated with the system through the following mechanisms: + +- The custom controller +- The global `QGroundControl` object which provides access to things like the active Vehicle +- The FactSystem which provides access to parameters and in some cases custom Facts. + +Note: Due to the complexity of the QML used in QGC as well as it's reliance on communication with C++ objects to drive the ui it is not possible to use the QML Designer provided by Qt to edit QML. diff --git a/docs/fa/docs/en/qgc-dev-guide/user_interface_design/multi_device_pattern.md b/docs/fa/docs/en/qgc-dev-guide/user_interface_design/multi_device_pattern.md new file mode 100644 index 00000000000..241be1409f4 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/user_interface_design/multi_device_pattern.md @@ -0,0 +1,52 @@ +# Multi-Device Design Pattern + +QGroundControl is designed to run on multiple device types from desktop to laptop to tablet to small phone sized screens using mouse and touch. Below is the description of how QGC does it and the reasoning behind it. + +## Efficient 1 person dev team + +The design pattern that QGC development uses to solve this problem is based around making new feature development quick and allowing the code base to be testable and maintained by a very small team (let's say 1 developer as the default dev team size). The pattern to achieve this is followed very strictly, because not following it will lead to slower dev times and lower quality. + +Supporting this 1 person dev team concept leads to some tough decisions which not everyone may be happy about. But it does lead to QGC being released on many OS and form factors using a single codebase. This is something most other ground stations out there are not capable of achieving. + +What about contributors you ask? QGC has a decent amount of contributors. Can't they help move things past this 1 person dev team concept? Yes QGC has quite a few contributors. But unfortunately they come and go over time. And when they go, the code they contributed still must be maintained. Hence you fall back to the 1 person dev team concept which is mostly what has been around as an average over the last three years of development. + +## Target Device + +The priority target for QGC UI design is a tablet, both from a touch standpoint and a screen size standpoint (think 10" Samsung Galaxy tab). Other device types and sizes may see some sacrifices of visuals and/or usability due to this decision. The current order when making priority based decisions is Tablet, Laptop, Desktop, Phone (any small screen). + +### Phone sized screen support + +As specified above, at this point smaller phone sized screens are the lowest level priority for QGC. More focus is put onto making active flight level displays, such as the Fly view, more usable. Less focus is placed on Setup related views such as Setup and Plan. Those specific views are tested to be functionally usable on small screens but they may be painful to use. + +## Development tools used + +### Qt Layout controls + +QGC does not have differently coded UIs which are targeted to different screen sizes and/or form factors. In general it uses QML Layout capabilities to reflow a single set of QML UI code to fit different form factors. In some cases it provides less detail on small screen sizes to make things fit. But that is a simple visibility pattern. + +### FactSystem + +Internal to QGC is a system which is used to manage all of the individual pieces of data within the system. This data model is then connected to controls. + +### Heavy reliance on reusable controls + +QGC UI is developed from a base set of reusable controls and UI elements. This way any new feature added to a reusable control is now available throughout the UI. These reusable controls also connect to FactSystem Facts which then automatically provides appropriate UI. + +## Cons for this design pattern + +- The QGC user interface ends up being a hybrid style of desktop/laptop/tablet/phone. Hence not necessarily looking or feeling like it is optimized to any of these. +- Given the target device priority list and the fact that QGC tends to just re-layout the same UI elements to fit different form factors you will find this hybrid approach gets worse as you get farther away from the priority target. Hence small phone sized screens taking the worst hit on usability. +- The QGC reusable control set may not provide the absolute best UI in some cases. But it is still used to prevent the creation of additional maintenance surface area. +- Since the QGC UI uses the same UI code for all OSes, QGC does not follow the UI design guidelines specified by the OS itself. It has it's own visual style which is somewhat of a hybrid of things picked from each OS. Hence the UI looks and works mostly the same on all OS. Once again this means for example that QGC running on Android won't necessarily look like an android app. Or QGC running on an iPhone will not look or work like most other iPhone apps. That said the QGC visual/functional style should be understandable to these OS users. + +## Pros for this design pattern + +- It takes less time to design a new feature since the UI coding is done once using this hybrid model and control set. Layout reflow is quite capable in Qt QML and becomes second nature once you get used to it. +- A piece of UI can be functionally tested on one platform since the functional code is the same across all form factors. Only layout flow must be visually checked on multiple devices but this is fairly easily done using the mobile simulators. In most cases this is what is needed: + - Use desktop build, resizing windows to test reflow. This will generally cover a tablet sized screen as well. + - Use a mobile simulator to visually verify a phone sized screen. On OSX XCode iPhone simulator works really well. +- All of the above are critical to keeping our hypothetical 1 person dev team efficient and to keep quality high. + +## Future directions + +- Raise phone (small screen) level prioritization to be more equal to Tablet. Current thinking is that this won't happen until a 3.3 release time frame (release after current one being worked on). diff --git a/docs/fa/docs/en/qgc-dev-guide/views/fly.md b/docs/fa/docs/en/qgc-dev-guide/views/fly.md new file mode 100644 index 00000000000..a9f5a8e6c7c --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/views/fly.md @@ -0,0 +1,8 @@ +# Fly View + +- Top level QML code is in **FlightDisplayView\.qml** +- QML code communicates with `MissionController` (C++) for mission display +- Instrument widgets communicate with active Vehicle object +- Two main inner views are: + - `FlightDisplayViewMap` + - `FlightDisplayViewVideo` diff --git a/docs/fa/docs/en/qgc-dev-guide/views/index.md b/docs/fa/docs/en/qgc-dev-guide/views/index.md new file mode 100644 index 00000000000..9cf9e09ef22 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/views/index.md @@ -0,0 +1,3 @@ +# Top Level Views + +This section contains topics about the code for the top level views: settings, setup, plan and fly. diff --git a/docs/fa/docs/en/qgc-dev-guide/views/plan.md b/docs/fa/docs/en/qgc-dev-guide/views/plan.md new file mode 100644 index 00000000000..8ca6765fdf6 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/views/plan.md @@ -0,0 +1,5 @@ +# Plan View + +- Top level QML code is in [PlanView.qml](https://github.com/mavlink/qgroundcontrol/blob/master/src/plan_view/PlanView.qml) +- Main visual UI is a FlightMap control +- QML communicates with MissionController (C++) which provides the view with the mission item data and methods diff --git a/docs/fa/docs/en/qgc-dev-guide/views/settings.md b/docs/fa/docs/en/qgc-dev-guide/views/settings.md new file mode 100644 index 00000000000..8ac25ed099b --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/views/settings.md @@ -0,0 +1,4 @@ +# Settings View + +- Top level QML code is **AppSettings.qml** +- Each button loads a separate QML page diff --git a/docs/fa/docs/en/qgc-dev-guide/views/setup.md b/docs/fa/docs/en/qgc-dev-guide/views/setup.md new file mode 100644 index 00000000000..0dd51a0b157 --- /dev/null +++ b/docs/fa/docs/en/qgc-dev-guide/views/setup.md @@ -0,0 +1,5 @@ +# Setup View + +- Top level QML code implemented in **SetupView\.qml** +- Fixed set of buttons/pages: Summary, Firmware +- Remainder of buttons/pages come from AutoPilotPlugin VehicleComponent list diff --git a/docs/fa/docs/en/qgc-user-guide/analyze_view/geotag_images.md b/docs/fa/docs/en/qgc-user-guide/analyze_view/geotag_images.md new file mode 100644 index 00000000000..2b5f9547c1a --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/analyze_view/geotag_images.md @@ -0,0 +1,13 @@ +# GeoTag Images (Analyze View) + +The _GeoTag Images_ screen (**Analyze > GeoTag Images**) allows you to geotag images from a survey mission using information in the flight log. + +:::info +This feature only works with _PX4_ flight stack logs. +ArduPilot is not supported. +::: + +![Analyze View GeoTag Images](../../../assets/analyze/geotag_images.jpg) + +Select the log file, image directory and (optionally) output directory for geotagged images using the buttons provided. +Click **Start Tagging** to generate the geotagged images. diff --git a/docs/fa/docs/en/qgc-user-guide/analyze_view/index.md b/docs/fa/docs/en/qgc-user-guide/analyze_view/index.md new file mode 100644 index 00000000000..7c507283f39 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/analyze_view/index.md @@ -0,0 +1,12 @@ +# Analyze View + +The _Analyze View_ is accessed by selecting the _QGroundControl_ application menu ("Q" icon in the top left corner) and then selecting the **Analyze Tools** button (from the _Select Tool_ popup). + +![Analyze ](../../../assets/analyze/menu_analyze_tool.png) + +The view provides tools to: + +- [Download Logs](../analyze_view/log_download.md) — List, download and clear logs on the vehicle. +- [GeoTag Images (PX4)](../analyze_view/geotag_images.md) — Geotag survey mission images using the flight log (on a computer). +- [MAVLink Console (PX4)](../analyze_view/mavlink_console.md) — Access the the nsh shell running on the vehicle. +- [MAVLink Inspector](../analyze_view/mavlink_inspector.md) — Display and chart received MAVLink messages/values. diff --git a/docs/fa/docs/en/qgc-user-guide/analyze_view/log_download.md b/docs/fa/docs/en/qgc-user-guide/analyze_view/log_download.md new file mode 100644 index 00000000000..90ac5b82174 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/analyze_view/log_download.md @@ -0,0 +1,6 @@ +# Log Download (Analyze View) + +The _Log Download_ screen (**Analyze > Log Download**) is used to list (_Refresh_), +_Download_ and _Erase All_ log files from the connected vehicle. + +![Analyze View Log Download](../../../assets/analyze/log_download.jpg) diff --git a/docs/fa/docs/en/qgc-user-guide/analyze_view/mavlink_console.md b/docs/fa/docs/en/qgc-user-guide/analyze_view/mavlink_console.md new file mode 100644 index 00000000000..69c0eae0df2 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/analyze_view/mavlink_console.md @@ -0,0 +1,20 @@ +# MAVLink Console (Analyze View) + +The MAVLink Console (**Analyze > Mavlink Console**) allows you to connect to the PX4 [System Console](https://docs.px4.io/main/en/debug/system_console.html) and send commands. + +:::info +The console only works when connected to _hardware_ running the _PX4_ flight stack. +PX4 SITL and ArduPilot are not supported. +::: + +:::tip +This is a very useful feature for developers as it allows deep access to the system. In particular, if you are connected via Wifi, you can have this same level of access while the vehicle is flying. +::: + +![Analyze View MAVLink Console](../../../assets/analyze/mavlink_console.jpg) + +The view does not display any output except in response to commands. +Once the vehicle is connected, you can enter commands in the bar provided (for a full list of available commands enter: `?`). + +Command output is displayed in the view above the command bar. +Click **Show Latest** to jump to the bottom of the command output. diff --git a/docs/fa/docs/en/qgc-user-guide/analyze_view/mavlink_inspector.md b/docs/fa/docs/en/qgc-user-guide/analyze_view/mavlink_inspector.md new file mode 100644 index 00000000000..127fc65ce6a --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/analyze_view/mavlink_inspector.md @@ -0,0 +1,42 @@ +# MAVLink Inspector + +The _MAVLink Inspector_ provides real-time information and charting of MAVLink traffic received by _QGroundControl_. + +:::warning +This feature is intended primarily for **autopilot developers**/**vehicle creators**. +It is only supported on desktop builds (Windows, Linux, Mac OS). +::: + +![MAVLink inspector](../../../assets/analyze/mavlink_inspector/mavlink_inspector.jpg) + +The inspector lists all received messages for the current vehicle, along with their source component id and update frequency. +You can drill down into individual messages to get the message id, source component id, and the values of all the individual fields. +You can also chart field values in real time, selecting multiple fields from multiple messages to display on one of two charts. + +To use the _MAVLink Inspector_: + +1. Open _Analyze View_ by selecting the _QGroundControl_ application menu ("Q" icon in top left corner) and then choosing the **Analyze Tools** button (from the _Select Tool_ popup). + ![Analyze ](../../../assets/analyze/menu_analyze_tool.png) + +2. Select the **MAVLink Inspector** from the sidebar. + + ![MAVLink inspector menu](../../../assets/analyze/mavlink_inspector/mavlink_inspector_menu.jpg) + + The view will start populating with messages as they are received. + +3. Select a message to see its fields and their (dynamically updating) value: + + ![MAVLink inspector: message detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_message_details.jpg) + +4. Add fields to charts by enabling the adjacent checkboxes (plot 1 is displayed below plot 2). + + ![MAVLink inspector: chart fields detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_plot1.jpg) + + - Fields can be added to only one chart. + + - A chart can have multiple fields, and fields from multiple messages (these are listed above each chart). + Messages containing fields that are being charted are highlighted with an asterisk. + + ![MAVLink inspector: chart fields detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_charted_messages.jpg) + + - The _Scale_ and _Range_ are set to sensible values, but can be modified if needed. diff --git a/docs/fa/docs/en/qgc-user-guide/fly_view/fly_view.md b/docs/fa/docs/en/qgc-user-guide/fly_view/fly_view.md new file mode 100644 index 00000000000..4e0edc42877 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/fly_view/fly_view.md @@ -0,0 +1,437 @@ +# Fly View + +The Fly View is used to command and monitor the vehicle when flying. + +You can use it to: + +- Run an automated [pre-flight checklist](#preflight_checklist). +- Arm the vehicle (or check why it won't arm). +- Control missions: [start](#start_mission), [continue](#continue_mission), [pause](#pause), and [resume](#resume_mission). +- Guide the vehicle to [arm](#arm)/[disarm](#disarm)/[emergency stop](#emergency_stop), [takeoff](#takeoff)/[land](#land), [change altitude](#change_altitude), [go to](#goto) or [orbit](#orbit) a particular location, and [return/RTL](#rtl). +- Switch between a map view and a video view (if available) +- Display video, mission, telemetry, and other information for the current vehicle, and also switch between connected vehicles. + +![Fly View](../../../assets/fly/fly_view_overview.jpg) + +## UI Overview + +The screenshot above shows the main elements of the fly view: + +- **Map:** Displays the positions of all connected vehicles and the mission for the current vehicle. + - You can drag the map to move it around (the map automatically re-centres after a certain amount of time). + - Once flying, you can click on the map to set a [Go to](#goto) or [Orbit at](#orbit) location. +- **Fly Toolbar:** Key status information for sensors (GPS, battery, RC control), and vehicle state (Flight mode, Armed/Disarmed status). + - Select the sensor indicators to view more detail. + - Press the _Flight mode_ text (e.g. "Hold") to select a new mode. + Not every mode may be available. + - The text next to the **Q** icon indicates the flight readiness using text: "Not Ready", "Ready to Fly", "Flying", and status using colour: "green" (all good!), amber (a warning), red (serious problem). + Select the text when the background is amber or red to find out the cause of any preflight issues (QGC 4.2.0 and later). + You can also select the text to reach a button to arm/disarm/emergency-stop the vehicle. +- **Fly tools:** You can use these to: + - Toggle between takeoff/land. + - Pause/restart the current operation (e.g. landing, or the mission). + - Safety return (also known as RTL or Return). + - The _Action_ button offers other appropriate options for the current state (these overlay the _Confirmation Slider_). + Actions include changing the altitude or continuing a mission. + - Enable the [preflight checklist](#preflight_checklist) (tool option disabled by default). +- **[Instrument Panel](#instrument_panel):** A widget that displays vehicle telemetry. +- **Attitude/Compass**: A widget that provides virtual horizon and heading information. +- **Camera Tools**: A widget for switching between still and video modes, starting/stopping capture, and controlling camera settings. +- **[Video/Switcher](#video_switcher):** Toggle between video or map in a window. + - Press the element to switch _Video_ and _Map_ to foreground. + - _QGroundControl_ supports RTP and RTSP video streaming over your vehicles UDP connection. + It also supports directly connected UVC devices. + QGC video support is further discussed in the [Video README](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoStreaming/README.md). + - A [Telemetry Overlay](../fly_view/video_overlay.md) is automatically generated as a subtitle file +- **Confirmation Slider:** Context sensitive slider to confirm requested actions. + Slide to start operation. Press **X** to cancel. + +There are a number of other elements that are not displayed by default/are only displayed in certain conditions. +For example, the multi-vehicle selector is only displayed if you have multiple vehicles, and the preflight checklist tool button is only displayed if the appropriate setting is enabled. + +## Instrument Panel (Telemetry) {#instrument\_panel} + +The instrument panel displays telemetry information about the current vehicle. + +![Instrument Panel - for values/telemetry](../../../assets/fly/instrument_panel/instrument_panel_default_values.png) + +The default values include altitude (relative to the home location), horizontal and vertical speed, total flight time, and distance between vehicle and ground station. + +You can configure where the information is displayed by hovering over the panel and selecting the left-side square tool. +This toggles the position of the panel between bottom centre and right-centre. + +![Instrument Panel - hover for move/edit tools](../../../assets/fly/instrument_panel/instrument_panel_tools_move_edit.png) + +You configure what information is display by selecting the edit/pencil icon. +The grid will then display "+" and "-" icons that you can use to add or remove rows and columns (and the pencil icon is replaced by a "lock" icon that you can use to save the settings). + +![Instrument Panel - add rows/columns](../../../assets/fly/instrument_panel/instrument_panel_tools_edit_on.png) + +Select a value to launch its "Value Display" editor. +This allows you to change the icon, text, size, units and so on of the current telemetry value. + +![Instrument Panel - edit a value](../../../assets/fly/instrument_panel/instrument_panel_tools_edit_value.png) + +The selection list on the top left is used to change the source of the telemetry. +By default this is the vehicle, but you can use the selector to choose a particular sensor type. + +![Instrument Panel - value type](../../../assets/fly/instrument_panel/instrument_panel_edit_value_type.png) + +The selection list on the top right is used to select a particular telemetry value for the vehicle or sensor. + +![Instrument Panel - value options](../../../assets/fly/instrument_panel/instrument_panel_edit_value_options.png) + +### Camera {#camera\_instrument\_page} + +The camera panel is used to capture still images and video, and to configure the camera. + +![Camera Panel](../../../assets/fly/camera_panel/camera_mavlink.png) + +The camera capture and configuration options depend on the connected camera. +The configuration options are selected using the panel gear icon. +The configuration for a simple autopilot-connected camera are shown below. + +![Camera Panel - minimal settings](../../../assets/fly/camera_panel/camera_settings_minimal.png) + +When connected to camera that supports the [MAVLink Camera Protocol](https://mavlink.io/en/services/camera.html) you can additionally configure and use other camera services that it makes available. +For example, if your camera supports video mode you will be able to switch between still image capture and video mode, and start/stop recording. + +![Camera Panel - MAVLink settings](../../../assets/fly/camera_panel/camera_settings_mavlink.png) + +::: info +Most of the settings that are displayed depend on the camera (they are defined in its [MAVLink Camera Definition File](https://mavlink.io/en/services/camera_def.html)). + +> A few common settings at the end are hard-coded: Photo Mode (Single/Time Lapse), Photo Interval (if Time Lapse), Reset Camera Defaults (sends a reset command to the camera), Format (storage) +> ::: + +### Video Stream {#video\_instrument\_page} + +The video page is used to enable/disable video streaming. +When enabled, you can start/stop the video stream, enable a grid overlay, change how the image fits the screen, and record the video locally with QGC. + +![Instrument Page - Video Stream](../../../assets/fly/instrument_page_video_stream.jpg) + +## Actions/Tasks + +The following sections describe how to perform common operations/tasks in the Fly View. + +::: info +Many of the available options depend on both the vehicle type and its current state. +::: + +### Pre Flight Checklist {#preflight\_checklist} + +An automated preflight checklist can be used to run through standard checks that the vehicle is configured correctly and it is safe to fly. + +To view the checklist, first enable the tool by navigating to [Application Settings > General > Fly View](../settings_view/general.md) and selecting the **Use preflight checklist** checkbox. +The tool will then be added to the _Flight Tools_. +Press it to open the checklist: + +![Pre Flight Checklist](../../../assets/fly/pre_flight_checklist.jpg) + +Once you have performed each test, select it on the UI to mark it as complete. + +### Arming and Preflight Checks {#arm} + +Arming a vehicle starts the motors in preparation for takeoff. +You will only be able to arm the vehicle if it is safe and ready to fly. + +:::tip +Generally, if the vehicle is ready to arm, _QGroundControl_ will arm the vehicle for you if you start a mission or takeoff. +::: + +The vehicle is ready to fly in all modes if the status text says "Ready to Fly" and the background is green. + +![Vehicle state - ready to fly green/ready background](../../../assets/fly/vehicle_states/ready_to_fly_ok.png) + +If the background is amber then it is ready to take off in the current mode, but may not be able to switch to other modes. +If the background is red and the text is "Not Ready" then you will not be able to arm in the current mode. + +![Vehicle state - ready to fly amber/warning background](../../../assets/fly/vehicle_states/ready_to_fly_warning.png) +![Vehicle state - not ready](../../../assets/fly/vehicle_states/not_ready.png) + +From QGC 4.2.0 (at time of writing, a daily build) you can find out the exact cause of the warning or error, and possible solutions, by pushing the status text. + +This launches the preflight arming checks popup with a list of all preflight warnings. +The toggle on the right expands each error with additional information and possible solutions. + +![UI To check arming warnings](../../../assets/fly/vehicle_states/arming_preflight_check_ui.png) + +Once each issue is resolved it will disappear from the UI. +When all issues blocking arming have been removed you can use the arm button to display the arming confirmation slider, and arm the vehicle (or you can just take off - note that the vehicles will (by default) disarm automatically if you do not take off after a few seconds. + +![Arm confirmation slider](../../../assets/fly/vehicle_states/arming_slider.png) + +::: info +The status text also displays when flying. + +> ![Vehicle state - armed](../../../assets/fly/vehicle_states/armed.png) > ![Vehicle state - flying](../../../assets/fly/vehicle_states/flying.png) +> +> The arming checks UI will open even when flying, allowing you to emergency disarm. +> ::: + +### Disarm {#disarm} + +Disarming the vehicle when landed stops the motors (making the vehicle safe). + +Generally you do not need to explicitly disarm as vehicles will disarm automatically after landing, or shortly after arming if you do not take off. + +If needed, you can do so from the Arming Preflight Checks UI. + +![Disarming](../../../assets/fly/vehicle_states/arming_ui_landed_disarm.png) + +You will then need to use the disarming slider. + +![disarm slider](../../../assets/fly/vehicle_states/disarm_slider.png) + +::: info +Disarming the vehicle while it is flying is called an [Emergency Stop](#emergency_stop) +::: + +### Emergency Stop {#emergency\_stop} + +Emergency stop is effectively the same as disarming the vehicle while it is flying. +Your vehicle will crash! + +If needed, you can do so from the Arming Preflight Checks UI. + +![Disarming when flying](../../../assets/fly/vehicle_states/arming_ui_flying_disarm.png) + +You will then need to use the emergency disarming slider. + +![Emergency disarm slider](../../../assets/fly/vehicle_states/emergency_disarm_slider.png) + +### Takeoff {#takeoff} + +:::tip +If you are starting a mission for a multicopter, _QGroundControl_ will automatically perform the takeoff step. +::: + +To takeoff (when landed): + +1. Press the **Takeoff** button in the _Fly Tools_ (this will toggle to a **Land** button after taking off). +2. Optionally set the takeoff altitude in the right-side vertical slider. +3. Confirm takeoff using the slider. + +![takeoff](../../../assets/fly/takeoff.jpg) + +### Land {#land} + +You can land at the current position at any time while flying: + +1. Press the **Land** button in the _Fly Tools_ (this will toggle to a **Takeoff** button when landed). +2. Confirm landing using the slider. + +![land](../../../assets/fly/land.jpg) + +### RTL/Return + +Return to a "safe point" at any time while flying: + +1. Press the **RTL** button in the _Fly Tools_. +2. Confirm RTL using the slider. + +![rtl](../../../assets/fly/rtl.jpg) + +:::info +Vehicles commonly return to the "home" (takeoff) location and land. +This behaviour depends on the vehicle type and configuration. +For example, rally points or mission landings may be used as alternative return targets. +::: + +### Change Altitude {#change\_altitude} + +You can change altitude while flying, except when in a mission: + +1. Press the **Action** button on the _Fly Tools_ + +2. Select the _Change Altitude_ action from the dialog. + + ![Continue Mission/Change Altitude action](../../../assets/fly/continue_mission_change_altitude_action.jpg) + +3. Move the vertical slider to the desired altitude, then drag the confirmation slider to start the action. + + ![Change altitude](../../../assets/fly/change_altitude.jpg) + +### Goto Location {#goto} + +After taking off you can specify that you want to fly to a particular location. + +1. Left click/Press on the map where you want the vehicle to move and select **Go to location** on the popup. + +![Goto or orbit](../../../assets/fly/goto_or_orbit.jpg) + +1. The location will be displayed on the map, along with a confirmation slider. + + ![Goto confirmation](../../../assets/fly/goto.jpg) + +2. When you're ready, drag the slider to start the operation (or press the **X** icon to cancel it). + +:::info +Goto points must be set within 1 km of the vehicle (hard-coded in QGC). +::: + +### Orbit Location {#orbit} + +After taking off you can specify that you want to orbit a particular location. + +1. Left click/Press on the map (near the centre of your desired orbit) and select **Orbit at location** on the popup. + +![Goto or orbit](../../../assets/fly/goto_or_orbit.jpg) + +1. The proposed orbit will be displayed on the map, along with a confirmation sider. + + ![Orbit confirmation](../../../assets/fly/orbit.jpg) + + - Select and drag the central marker to move the orbit location. + - Select and drag the dot on the outer circle to change the orbit radius + +2. When you're ready, drag the slider to start the operation (or press the **X** icon to cancel it). + +### Pause + +You can pause most operations, including taking off, landing, RTL, mission execution, orbit at location. +The vehicle behaviour when paused depends on the vehicle type; typically a multicopter will hover, and a fixed wing vehicle will circle. + +:::info +You cannot pause a _Goto location_ operation. +::: + +To pause: + +1. Press the **Pause** button in the _Fly Tools_. +2. Optionally set a new altitude using the right-side vertical slider. +3. Confirm the pause using the slider. + +![pause](../../../assets/fly/pause.jpg) + +### Missions + +#### Start Mission {#start\_mission} + +You can start a mission when the vehicle is landed (the start mission confirmation slider is often displayed by default). + +To start a mission from landed: + +1. Press the **Action** button on the _Fly Tools_ + +2. Select the _Start Mission_ action from the dialog. + + ![Start mission action](../../../assets/fly/start_mission_action.jpg) + + (to display the confirmation slider) + +3. When the confirmation slider appears, drag it to start the mission. + + ![Start mission](../../../assets/fly/start_mission.jpg) + +#### Continue Mission {#continue\_mission} + +You can _continue_ mission from the _next_ waypoint when you're flying (the _Continue Mission_ confirmation slider is often displayed by default after you takeoff). + +:::info +Continue and [Resume mission](#resume_mission) are different! +Continue is used to restart a mission that has been paused, or where you have taken off, so you've already missed a takeoff mission command. +Resume mission is used when you've used a RTL or landed midway through a mission (e.g. for a battery change) and then wish to continue the next mission item (i.e. it takes you to where you were up to in the mission, rather than continuing from your place in the mission). +::: + +You can continue the current mission while (unless already in a mission!): + +1. Press the **Action** button on the _Fly Tools_ + +2. Select the _Continue Mission_ action from the dialog. + + ![Continue Mission/Change Altitude action](../../../assets/fly/continue_mission_change_altitude_action.jpg) + +3. Drag the confirmation slider to continue the mission. + + ![Continue Mission](../../../assets/fly/continue_mission.jpg) + +#### Resume Mission {#resume\_mission} + +_Resume Mission_ is used to resume a mission after performing an [RTL/Return](#rtl) or [Land](#land) from within a mission (in order, for example, to perform a battery change). + +:::info +If you are performing a battery change, **do not** disconnect QGC from the vehicle after disconnecting the battery. +After you insert the new battery _QGroundControl_ will detect the vehicle again and automatically restore the connection. +::: + +After landing you will be prompted with a _Flight Plan complete_ dialog, which gives you the option to remove the plan from the vehicle, leave it on the vehicle, or to resume the mission from the last waypoint that was traveled through. + +![Resume Mission](../../../assets/fly/resume_mission.jpg) + +If you select to resume the mission, then _QGroundControl_ will rebuild the mission and upload it to the vehicle. +Then use the _Start Mission_ slider to continue the mission. + +The image below shows the mission that was rebuilt after the Return shown above. + +![Resume Rebuilt Mission](../../../assets/fly/resume_mission_rebuilt.jpg) + +:::info +A mission cannot simply resume from the last mission item that the vehicle executed, because there may be multiple items at the last waypoint that affect the next stage of the mission (e.g. speed commands or camera control commands). +Instead _QGroundControl_ rebuilds the mission, starting from the last mission item flown, and automatically prepending any relevant commands to the front of the mission. +::: + +#### Remove Mission Prompt After Landing {#resume\_mission\_prompt} + +You will be prompted to remove the mission from the vehicle after the mission completes and the vehicle lands and disarms. +This is meant to prevent issues where stale missions are unknowingly left on a vehicle, potentially resulting in unexpected behavior. + +### Display Video {#video\_switcher} + +When video streaming is enabled, _QGroundControl_ will display the video stream for the currently selected vehicle in the "video switcher window" at the bottom left of the map. +You can press the switcher anywhere to toggle _Video_ and _Map_ to foreground (in the image below, the video is shown in the foreground). + +![Video Stream Record](../../../assets/fly/video_record.jpg) + +:::info +Video streaming is configured/enabled in [Application Settings > General tab > Video](../settings_view/general.md#video). +::: + +You can further configure video display using controls on the switcher: + +![Video Pop](../../../assets/fly/video_pop.jpg) + +- Resize the switcher by dragging the icon in the top right corner. +- Hide the switcher by pressing the toggle icon in the lower left. +- Detach the video switcher window by pressing on the icon in its top left corner + (once detached, you can move and resize the window just like any other in your OS). + If you close the detached window the switcher will re-lock to the QGC Fly view. + +### Record Video + +If supported by the camera and vehicle, _QGroundControl_ can start and stop video recording on the camera itself. _QGroundControl_ can also record the video stream and save it locally. + +:::tip +Video stored on the camera may be of much higher quality, but it is likely that your ground station will have a much larger recording capacity. +::: + +#### Record Video Stream (on GCS) + +Video stream recording is controlled on the [video stream instrument page](#video_instrument_page). +Press the red circle to start recording a new video (a new video file is created each time the circle is pressed); the circle will change into a red square while recording is in progress. + +![Video Stream Record](../../../assets/fly/video_record.jpg) + +Video stream recording is configured in the [Application Settings > General tab](../settings_view/general.md): + +- [Video Recording](../settings_view/general.md#video-recording) - specifies the recording file format and storage limits. + + ::: info + Videos are saved in Matroska format (.mkv) by default. + This format is relatively robust against corruption in case of errors. + ::: + +- [Miscellaneous](../settings_view/general.md#miscellaneous) - Streamed video is saved under the **Application Load/Save Path**. + +:::tip +The stored video includes just the video stream itself. +To record video with QGroundControl application elements displayed, you should use separate screen recording software. +::: + +#### Record Video on Camera + +Start/stop video recording _on the camera itself_ using the [camera instrument page](#camera_instrument_page). +First toggle to video mode, then select the red button to start recording. + +![Instrument Page - Camera MAVLink Settings](../../../assets/fly/instrument_page_camera_mavlink.jpg) diff --git a/docs/fa/docs/en/qgc-user-guide/fly_view/replay_flight_data.md b/docs/fa/docs/en/qgc-user-guide/fly_view/replay_flight_data.md new file mode 100644 index 00000000000..280359e29eb --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/fly_view/replay_flight_data.md @@ -0,0 +1,40 @@ +# Replay Flight Data + +:::warning +This feature is intended primarily for **autopilot developers**/**vehicle creators**. +It is only supported on desktop builds (Windows, Linux, Mac OS). +::: + +The _Replay Flight Data_ feature allows users to replay a telemetry log, enabling review of past or problematic flights. +The flight can be started, paused, stopped, restarted etc. + +:::info +_QGroundControl_ treats flight replay like an active connection. +When you pause/stop playing, the ground station will report "Communication Lost" and wait for disconnection or for more messages. +::: + +To replay a flight: + +1. Disconnect any active connections. + +2. Select **Application Settings > General > Fly View** + +3. Check **Show Telemetry Log Replay Status Bar** to toggle the flight replay bar at the bottom of the screen. + + ![Toggle Flight Replay](../../../assets/fly/flight_replay/flight_replay_toggle.jpg) + +4. Select the **Load Telemetry Log** button in the bar to display a _file selection_ dialog. + - Choose a log file to replay from the available telemetry logs. + - _QGroundControl_ will immediately start playing the log. + +5. When a log is loaded you can use the: + - **Pause/Play** button to pause and restart playing. + - _Slider_ to drag to a new position in the log. + - _Rate_ selector to choose the playback speed. + +6. To stop replay (i.e. to load a new file to replay), first pause the flight, and then select **Disconnect** (when it appears). + After disconnecting, the **Load Telemetry Log** button will be displayed. + +:::tip +You can inspect the running replay in more detail using the [MAVLink Inspector](../analyze_view/mavlink_inspector.md). +::: diff --git a/docs/fa/docs/en/qgc-user-guide/fly_view/video_overlay.md b/docs/fa/docs/en/qgc-user-guide/fly_view/video_overlay.md new file mode 100644 index 00000000000..a43f80d34d6 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/fly_view/video_overlay.md @@ -0,0 +1,42 @@ +# Video Overlay + +When QGroundControl is recording a video stream to a file, it will also export a subtitle file with telemetry data that can be used to overlay the telemetry on the video during playback. Whichever telemetry values are selected for display in the telemetry [values widget](FlyView.md#values-telemetry) will also be exported to the overlay. The overlay values are updated at 1Hz. + +![Values Widget](../../../assets/fly/overlay_widget.png) + +The selected values are laid out in three columns to optimize the screen utilization. +![Overlay in action](../../../assets/fly/overlay_capture.png) + +## Playing + +The overlay can be used with any player that [supports the SubStation Alpha](https://en.wikipedia.org/wiki/SubStation_Alpha#Players_and_renderers) subtitle format. +Most players will open both files together when you try to play the video. They need to be in the same folder and with the same name, which is how they are created by QGC. + +## Permanent Video Subtitles using Handbrake + +Subtitles can be permanently added to a video file using [HandBrake](https://handbrake.fr/). +This will make the subtitles permanently visible on any video player. + +Open **HandBrake**, you should see its main interface. +Click **Open** and select the video file. + +![Handbrake UI showing how to open video file](../../../assets/fly/video_overlay/1-open.png) + +With the video file loaded, switch to the subtitles tab. +Click **Add** to load the subtitle file. + +![Handbrake UI screenshot showing how to add subtitles](../../../assets/fly/video_overlay/2-subtitles.png) + +Choose **import SSA** ([ASS](https://en.wikipedia.org/wiki/SubStation_Alpha#Advanced_SubStation_Alpha) is an extension of SSA). + +![Import SSA file](../../../assets/fly/video_overlay/3-ssa.png) + +Load the **.ass** file corresponding to your video and tick the **Burn into video** checkbox. + +![burn](../../../assets/fly/video_overlay/4-openandburn.png) + +Choose where you want to save the new file and click **Start**. + +![Start burning new file](../../../assets/fly/video_overlay/5-start.png) + +This will start burning the subtitle and video to a new file. diff --git a/docs/fa/docs/en/qgc-user-guide/getting_started/download_and_install.md b/docs/fa/docs/en/qgc-user-guide/getting_started/download_and_install.md new file mode 100644 index 00000000000..1ff59f859cc --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/getting_started/download_and_install.md @@ -0,0 +1,106 @@ +# Download and Install + +The sections below can be used to download the [current stable release](../releases/release_notes.md) of _QGroundControl_ for each platform. + +:::tip +See [Troubleshooting QGC Setup](../troubleshooting/qgc_setup.md) if _QGroundControl_ doesn't start and run properly after installation! +::: + +## System Requirements + +QGC should run well on any modern computer or mobile device. Performance will depend on the system environment, 3rd party applications, and available system resources. +More capable hardware will provide a better experience. +A computer with at least 8Gb RAM, an SSD, Nvidia or AMD graphics and an i5 or better CPU will be suitable for most applications. + +For the best experience and compatibility, we recommend you the newest version of your operating system. + +## Windows {#windows} + +_QGroundControl_ can be installed on 64 bit versions of Windows: + +1. Download [QGroundControl-installer.exe](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl-installer.exe). +2. Double click the executable to launch the installer. + +:::info +The Windows installer creates 3 shortcuts: **QGroundControl**, **GPU Compatibility Mode**, **GPU Safe Mode**. +Use the first shortcut unless you experience startup or video rendering issues. +For more information see [Troubleshooting QGC Setup > Windows: UI Rendering/Video Driver Issues](../troubleshooting/qgc_setup.md#opengl_troubleshooting). +::: + +:::info +Prebuilt _QGroundControl_ versions from 4.0 onwards are 64-bit only. +It is possible to manually build 32 bit versions (this is not supported by the dev team). +::: + +## Mac OS X {#macOS} + +_QGroundControl_ can be installed on macOS 10.11 or later: + + + + + +1. Download [QGroundControl.dmg](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.dmg). +2. Double-click the .dmg file to mount it, then drag the _QGroundControl_ application to your _Application_ folder. + +::: info +QGroundControl continues to not be signed which causes problem on Catalina. To open QGC app for the first time: + +- Right-click the QGC app icon, select Open from the menu. You will only be presented with an option to Cancel. Select Cancel. +- Right-click the QGC app icon again, Open from the menu. This time you will be presented with the option to Open. + ::: + +## Ubuntu Linux {#ubuntu} + +_QGroundControl_ can be installed/run on Ubuntu LTS 20.04 (and later). + +Ubuntu comes with a serial modem manager that interferes with any robotics related use of a serial port (or USB serial). +Before installing _QGroundControl_ you should remove the modem manager and grant yourself permissions to access the serial port. +You also need to install _GStreamer_ in order to support video streaming. + +Before installing _QGroundControl_ for the first time: + +1. On the command prompt enter: + ```sh + sudo usermod -a -G dialout $USER + sudo apt-get remove modemmanager -y + sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y + sudo apt install libqt5gui5 -y + sudo apt install libfuse2 -y + ``` + +2. Logout and login again to enable the change to user permissions. + +  +To install _QGroundControl_: + +1. Download [QGroundControl.AppImage](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.AppImage). +2. Install (and run) using the terminal commands: + ```sh + chmod +x ./QGroundControl.AppImage + ./QGroundControl.AppImage (or double click) + ``` + +::: info +There are known [video steaming issues](../troubleshooting/qgc_setup.md#dual_vga) on Ubuntu 18.04 systems with dual adaptors. +::: + +:::info +Prebuilt _QGroundControl_ versions from 4.0 cannot run on Ubuntu 16.04. +To run these versions on Ubuntu 16.04 you can [build QGroundControl from source without video libraries](https://dev.qgroundcontrol.com/en/getting_started/). +::: + +## Android {#android} + +_QGroundControl_ is temporily unavailable from the Google Play Store. You can install manually from here: + +- [Android 32 bit APK](https://qgroundcontrol.s3-us-west-2.amazonaws.com/latest/QGroundControl32.apk) +- [Android 64 bit APK](https://qgroundcontrol.s3-us-west-2.amazonaws.com/latest/QGroundControl64.apk) + +## Old Stable Releases + +Old stable releases can be found on GitHub. + +## Daily Builds + +Daily builds can be [downloaded from here](../releases/daily_builds.md). diff --git a/docs/fa/docs/en/qgc-user-guide/getting_started/quick_start.md b/docs/fa/docs/en/qgc-user-guide/getting_started/quick_start.md new file mode 100644 index 00000000000..616f3c188fd --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/getting_started/quick_start.md @@ -0,0 +1,27 @@ +# QGroundControl Quick Start + +Getting _QGroundControl_ up and running is quick and easy: + +1. [Download and install](../getting_started/download_and_install.md) the application. +2. Start _QGroundControl_. +3. Attach your vehicle to the ground station device via USB, through a telemetry radio, or over WiFi. _QGroundControl_ should detect your vehicle and connect to it automatically. + +That's it! If the vehicle is ready to fly, _QGroundControl_ should display [Fly View](../fly_view/fly_view.md) as shown below (otherwise it will open [Setup View](../setup_view/setup_view.md)). + +![](../../../assets/quickstart/fly_view_connected_vehicle.jpg) + +A good way to become familiar with _QGroundControl_ is to start experimenting: + +- Use the [toolbar](../toolbar/toolbar.md) to switch between the main views: + - [Settings](../settings_view/settings_view.md): Configure the _QGroundControl_ application. + - [Setup](../setup_view/setup_view.md): Configure and tune your vehicle. + - [Plan](../plan_view/plan_view.md): Create autonomous missions. + - [Fly](../fly_view/fly_view.md): Monitor your vehicle(s) while flying, including streaming video. + - \[Analyze] \*\* Description of Analyze view is missing \*\* +- Click the _Status icons_ on the toolbar to find out the status of the connected vehicle. + +While the UI is fairly intuitive, this documentation can also be referenced to find out more. + +:::info +Make sure QGC has an internet connection when you connect a new vehicle. This will allow it to get the latest parameter and other metadata for the vehicle, along with [translations](../settings_view/general.md#miscellaneous). +::: diff --git a/docs/fa/docs/en/qgc-user-guide/index.md b/docs/fa/docs/en/qgc-user-guide/index.md new file mode 100644 index 00000000000..9a7b80beba3 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/index.md @@ -0,0 +1,27 @@ +# QGroundControl User Guide + +[![Releases](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases) [![Discuss](https://img.shields.io/badge/discuss-px4-ff69b4.svg)](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-usage) [![Discuss](https://img.shields.io/badge/discuss-ardupilot-ff69b4.svg)](http://discuss.ardupilot.org/c/ground-control-software/qgroundcontrol) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mavlink/qgroundcontrol?utm_source=badge\&utm_medium=badge\&utm_campaign=pr-badge\&utm_content=badge) [![Slack](../../assets/site/slack.svg)](https://join.slack.com/t/px4/shared_invite/zt-si4xo5qs-R4baYFmMjlrT4rQK5yUnaA) + +_QGroundControl_ provides full flight control and vehicle setup for PX4 or ArduPilot powered vehicles. +It provides easy and straightforward usage for beginners, while still delivering high end feature support for experienced users. + +**Key Features:** + +- Full setup/configuration of ArduPilot and PX4 Pro powered vehicles. +- Flight support for vehicles running PX4 and ArduPilot (or any other autopilot that communicates using the MAVLink protocol). +- Mission planning for autonomous flight. +- Flight map display showing vehicle position, flight track, waypoints and vehicle instruments. +- Video streaming with instrument display overlays. +- Support for managing multiple vehicles. +- QGC runs on Windows, OS X, Linux platforms, iOS and Android devices. + +![](../../assets/quickstart/connected_vehicle.jpg) + +:::info +This guide is an active work in progress. +The information provided should be correct, but you may find missing information or incomplete pages. +::: + +:::tip +Information about _QGroundControl_ development, architecture, contributing, and translating can be found in the [Developers Guide](https://dev.qgroundcontrol.com/en/). +::: diff --git a/docs/fa/docs/en/qgc-user-guide/plan_view/pattern.md b/docs/fa/docs/en/qgc-user-guide/plan_view/pattern.md new file mode 100644 index 00000000000..805e06765e0 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/plan_view/pattern.md @@ -0,0 +1,13 @@ +# Pattern + +The _Pattern tools_ (in the [PlanView](../plan_view/plan_view.md) _Plan Tools_) allow you to specify complex flight patterns using a simple graphical UI. +The available pattern tools depend on the vehicle (and support for the vehicle-type in the flight stack). + +![Pattern Tool (Plan Tools)](../../../assets/plan/pattern/pattern_tool.jpg) + +| Pattern | Description | Vehicles | +| ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | +| [Survey](../plan_view/pattern_survey.md) | Create a grid flight pattern over a polygonal area.
You can specify the polygon as well as the specifications for the grid and camera settings appropriate for creating geotagged images. | All | +| [Structure Scan](../plan_view/pattern_structure_scan_v2.md) | Create a grid flight pattern that captures images over vertical surfaces (polygonal or circular).
These are typically used for the visual inspection or creation of 3D models of structures. | MultiCopter, VTOL | +| [Corridor Scan](../plan_view/pattern_corridor_scan.md) | Create a flight pattern which follows a poly-line (for example, to survey a road). | All | +| [Fixed Wing Landing](../plan_view/pattern_fixed_wing_landing.md) | Add a landing pattern for fixed wing vehicles to a mission. | Fixed Wing | diff --git a/docs/fa/docs/en/qgc-user-guide/plan_view/pattern_corridor_scan.md b/docs/fa/docs/en/qgc-user-guide/plan_view/pattern_corridor_scan.md new file mode 100644 index 00000000000..d5195290484 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/plan_view/pattern_corridor_scan.md @@ -0,0 +1,102 @@ +# Corridor Scan (Plan Pattern) + +A corridor scan allows you to create a flight pattern that follows a poly-line. This can be used to, for example, survey a road. It is supported on all autopilots and vehicle types. + +> **Important** When planning a Corridor Scan using camera specifications the ground elevations under your survey area are assumed to be at the same altitude as your launch/home location. If the ground elevation under your survey area is either higher or lower than your launch/home location the effective overlap in your images will be less or more (respectively) than calculated. If ground elevation under your survey area is significantly higher than your launch/home location you could inadvertently plan a mission which causes the vehicle to fly into trees, obstacles, or the ground. Use Terrain Follow to create a survey that more closely maintains the desired altitude above terrain that has significant elevation differences from your launch/home altitude. + +![Corridor Scan](../../../assets/plan/corridor_scan.jpg) + +You can specify the path, the width of the corridor, and camera settings appropriate for creating geotagged images. + +## Creating a Scan + +To create a corridor scan: + +1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + +2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Corridor Scan_. + + ![Corridor Scan](../../../assets/plan/corridor_scan_menu.jpg) + + This will add a corridor to the map, and a _Corridor Scan_ item to the mission list (on the right). + +3. On the map drag the ends of the corridor to the start and end positions of the scan, respectively. + +4. Click the `(+)` symbol at the centre of a line to create a new vertix. + The new vertix can then be dragged into position to follow the path of the desired corridor. + +The corridor scan settings are covered in the next section. + +## Settings + +The corridor scan can be further configured in the associated mission item (in the mission item list on the right hand side of the Plan View). + +### Camera + +Camera triggering behaviour depends on the camera/camera settings. +You can select an existing camera or manually enter the settings. +The list of available cameras (QGC 3.4) is given below. + +![Corridor Scan - Select Camera](../../../assets/plan/corridor_scan_settings_camera_select.jpg) + +#### Known Camera + +Selecting a known camera from the option dropdown allows you to generate a grid pattern based on the camera's specifications. + +![Corridor Scan - Camera Settings Canon SX260](../../../assets/plan/corridor_scan_settings_camera_canon_sx260.jpg) + +The configurable options are: + +- **Landscape/Portrait** - Camera orientation relative to the "normal" orientation of the vehicle. +- **Image Overlap** - Overlap between each image. +- Select one of: + - **Altitude** - Survey altitude (ground resolution will be calculated/displayed for this altitude). + - **Ground resolution** - Ground resolution for each image (altitude required to achieve this resolution calculated and shown). + +#### Manual Camera + +The manual camera option allows you to specify desired survey height, trigger interval and appropriate grid spacing for your camera. + +![Corridor Scan - Manual Camera Settings](../../../assets/plan/corridor_scan_settings_camera_manual.jpg) + +The configurable options are: + +- **Altitude** - Survey altitude. +- **Trigger Distance** - The distance over ground between each camera shot. +- **Spacing** - Distance between adjacent grid (flight path) lines across the corridor. + +### Corridor + +![Corridor Scan - Corridor Settings](../../../assets/plan/corridor_scan_settings_corridor.jpg) + +The configurable options are: + +- **Width** - Set the width of the scan around the polyline that defines the path. +- **Turnaround dist** - Amount of additional distance to add outside the survey area for vehicle turn around. +- **Take images in turnarounds** - Check to enable image capture a turnaround points. +- **Relative altitude** - Check to specify a relative altitude. This is only supported for manual grids that are not using [terrain following](#terrain_following). +- **Rotate entry point** - Press button to swap the start and end point of the corridor scan. + +### Terrain Following {#terrain\_following} + +By default a flying vehicle will follow the corridor path at a fixed altitude. +Enabling _Terrain Following_ makes the vehicle maintain a constant height relative to ground. + +![Corridor Scan - Terrain Following Settings](../../../assets/plan/corridor_scan_settings_terrain.jpg) + +:::info +Terrain following uses terrain heights queried from _AirMap_ servers. +::: + +The configurable options are: + +- **Vehicle follows terrain** - Check to enable terrain following (and display the following options). + - **Tolerance** - The accepted deviation in altitude from the target altitude. + - **Max Climb Rate** - Maximum climb rate when following terrain. + - **Max Descent Rate** - Maximum descent rate when following terrain. + +### Statistics + +The _Statistics_ section shows the calculated survey area, photo interval, photo spacing and planned photo count. + +![Corridor Scan - Statistics](../../../assets/plan/corridor_scan_settings_statistics.jpg) diff --git a/docs/fa/docs/en/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md b/docs/fa/docs/en/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md new file mode 100644 index 00000000000..451aefb2881 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md @@ -0,0 +1,77 @@ +# Fixed Wing Landing Pattern (Plan Pattern) + +The _Fixed Wing Landing Pattern_ tool allows you to add a fixed wing landing pattern to a mission. +It is supported on both ArduPilot and PX4. + +![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern.jpg) + +The first point of the pattern is a loiter point with a specific altitude and the second is a landing point. +The vehicle will loiter at the first point until it reaches the target altitude, and then begin the landing sequence to fly down to the specified landing spot. + +Both the loiter and land points can be dragged to new positions, and a number of other settings can be configured in the associated mission item. + +## Creating a Landing Pattern + +To create a landing pattern: + +1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + +2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Fixed Wing Landing Pattern_. + + ![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern_menu.jpg) + + This will add a _Landing Pattern_ item to the mission list (on the right). + + ![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern_mission_item_initial.jpg) + +3. Click on the map to create both the loiter point and the landing point. + These can be moved on the map. + +Additional settings are covered in the next section. + +## Settings + +The landing pattern can be further configured in the associated mission item (in the mission item list on the right hand side of the Plan View). + +### Loiter Point + +The _Loiter Point_ settings are used to configure the loiter altitude, radius and direction. + +![Landing Pattern - Loiter Point](../../../assets/plan/pattern/fixed_wing_landing_pattern_settings_loiter.jpg) + +The configurable options are: + +- **Altitude** - Loiter altitude. +- **Radius** - Loiter radius. +- **Loiter clockwise** - Check to loiter in a clockwise direction (anti-clockwise is the default). + +### Landing Point + +The _Landing Point_ settings are used to configure the landing position and path. + +![Landing Pattern - Landing Point](../../../assets/plan/pattern/fixed_wing_landing_pattern_settings_landing.jpg) + +The configurable options are: + +- **Heading** - Heading from loiter point to land point. +- **Altitude** - Altitude for landing point (nominally zero). +- _Radio Buttons_ + - **Landing Dist** - Distance between loiter point and landing point. + - **Glide Slope** - Glide slope between loiter point and landing point. +- **Altitudes relative to home** - Check to set all altitudes in mission item to be relative to home (default is AMSL). + +## Implementation + +This pattern creates three mission items: + +- `DO_LAND_START` - If you abort a landing it sends `DO_GO_AROUND` to the vehicle, which then causes the mission to return to this point and try to land again. +- `NAV_LOITER_TO_ALT` - Start point for landing +- `NAV_LAND` - End point for landing + +The vehicle flares to landing using a flight path generated by the firmware between the `NAV_LOITER_TO_ALT` point and the `NAV_LAND` point. + +If those two locations violate the vehicle's flare constraints (e.g. descent angle is too steep) an error will be raised after you upload the invalid mission to the vehicle. + +:::info +On PX4, violating the flare constraints sends an error message to the ground station at upload time, and the autopilot will refuse to start the mission (since it fails integrity checks). +::: diff --git a/docs/fa/docs/en/qgc-user-guide/plan_view/pattern_presets.md b/docs/fa/docs/en/qgc-user-guide/plan_view/pattern_presets.md new file mode 100644 index 00000000000..fc94879d5d6 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/plan_view/pattern_presets.md @@ -0,0 +1,34 @@ +# Plan View - Pattern Presets + +Allows you to save commonly used settings as a named preset. + +:::info +Currently only supported by Survey. Support for other Patterns is in development. +::: + +## Managing Presets + +![Preset Combo](../../../assets/plan/pattern/pattern_preset_combo.jpg) + +Pattern items have a new selection at the top which allows you to manage presets: + +- **Custom (specify all settings)** This allows you to _not_ use a preset and specify all settings manually. +- **Save Settings As Preset** Saves the current settings as a named preset. +- **Delete Current Preset** Deletes the currently selected preset. +- **Presets:** Below this item will be listed the available presets for this pattern. + +## Creating/Updating A Preset + +![Preset Save](../../../assets/plan/pattern/pattern_preset_save.jpg) + +When you select **Save Settings As Preset** you will be prompted for the preset name. To save new settings for an existing preset select **Save Settings As Preset** while a preset is currently selected. + +You can also specify whether you want to save the currently selected camera in the preset. If you choose not to save the camera with the preset then the current camera will be used when loading the preset. You will also be able to change to a different camera when using the preset. Unless you fly your vehicle with different cameras at different times with the same preset you should select to save the camera in the preset. + +## Viewing Preset Settings + +If you want to view what the exact settings are for a Preset switch back to **Custom (specify all settings)** which will show you all the settings. Then you can switch back to using the named preset when done. + +## Presets In A Plan File + +The currently selected Preset is also saved in the Plan file such that when you load the Plan back the preset will once again be selected. Keep in mind that presets are specific to your version of QGroundControl. If you share a Plan file with a preset with another user, incorrect behavior may occur if that other user also has a preset of the same name but different settings. diff --git a/docs/fa/docs/en/qgc-user-guide/plan_view/pattern_structure_scan_v2.md b/docs/fa/docs/en/qgc-user-guide/plan_view/pattern_structure_scan_v2.md new file mode 100644 index 00000000000..c3a73eba65d --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/plan_view/pattern_structure_scan_v2.md @@ -0,0 +1,99 @@ +# Structure Scan (Plan Pattern) + +A _Structure Scan_ allows you to create a grid flight pattern that captures images over _vertical surfaces_ (e.g. walls) around a structure with an arbitrary polygonal (or circular) ground footprint. +Structure Scans are typically used for the visual inspection or creating 3D models of structures. + +_Structure Scans_ may be inserted into a mission using the Plan view **Pattern > Structure Scan** tool. + +:::info +The new version of _Structure Scan_ can't read older _Structure Scan_ plans. They will need to be recreated. +::: + +:::warning +This feature is not yet supported by ArduPilot firmware. +It is supported in PX4. +::: + +## Overview + +The image below shows a screenshot of structure scan. +The green polygon is used to mark out the ground footprint of the structure, while the white line around it indicates the vehicle flight path. +The green numbered circle on the flight path is the scan entry/exit point (where the scan starts). + +![Structure Scan](../../../assets/plan/structure_scan_v2/structure_scan.jpg) + +The scan divides the structure evenly into layers; the vehicle flies all the way around the structure at a particular altitude and _scan distance_ from the structure, then repeats the process at each layer until the whole surface has been scanned. + +![Layer JPG](../../../assets/plan/structure_scan_v2/layers.jpg) + +Users can set the _scan bottom altitude_ to avoid obstacles at the bottom of the structure, and the _extrance/exit altitude_ to avoid obstacles as the vehicle travels to/from the scan. + +## Creating a Scan + +To create a scan: + +1. In the **Plan View** select **Pattern tool > Structure Scan**. + +![Create Scan JPG](../../../assets/plan/structure_scan_v2/create_scan.jpg) + +1. This will create a simple square structure scan on the map. + + ![Initial Polygon](../../../assets/plan/structure_scan_v2/initial_polygon_scan.jpg) + + The region shown in green must be modified so that it surrounds the structure. + + - Drag the opaque vertices on the map to the edge of the structure (example circled in mauve above). + - If the structure footprint is more than a simple square you can click the semi-transparent circles between the vertices to create a new vertix. + +2. You can also change to a circular footprint by clicking on the central "vertix" (marked in red) and selecting _Circle_ in the popup menu. + + ![Circle Scan](../../../assets/plan/structure_scan_v2/circle_scan.jpg). + + - From the popup menu you can switch back to a polygon footprint and change the radius and/or position of the scan. + - Drag the central vertix to position the centre of the circle. + +3. The rest of the configuration is handled using the _Structure Scan_ editor on the right hand side of the view. + First select whether you want to perform a manual scan, a scan using a particular camera, or a scan using a custom camera definition. + + ::: info + The main difference between the modes is that predefined cameras are already set up to correctly calculate an effective layer height and trigger distance. + ::: + + Options for the different modes are shown below. + + ![Structure Scan editor](../../../assets/plan/structure_scan_v2/editor_options.jpg) + +The user can always configure the following settings: + +- **Start scan from top/bottom:** The direction in which layers are scanned. +- **Structure height:** The height of the object being scanned. +- **Scan distance:** Distance from the structure to the flight path. +- **Entrance/Exit Alt:** Use this setting to avoid obstacles between the last/next waypoint and the structure to be scanned. + - The vehicle will fly to the _Entrance/Exit_ point at this altitude and then descend to the initial layer to start the scan. + - The vehicle will ascend to this altitude after completing the scan and then move to the next waypoint. +- **Scan Bottom Alt:** Use this setting to avoid obstacles around the base of the structure. + This adjust the bottom of the structure to be above the ground, and hence the altitude of the first scan + (the height of the lowest layer flight path is shown in the scan statistics as _Bottom Layer Alt_. +- **Rotate Entry Point:** Move the start/finish point to the next vertix/position on the flight path. + +The remaining settings depend on the _camera mode_: + +- _Manual Mode_ allows you to specify: + - **Layer height:** The height of each layer. + - **Trigger Distance:** The distance between each camera trigger. + The camera is only triggered while flying the layer path. + It does not trigger images while transitioning from one layer to the next. + - **Gimbal Pitch** - Gimbal pitch you want to use for the scan. + +- _Known/pre-defined cameras_ automatically calculates layer heights and image triggering from required image overlap, and allows you to trade off scan distance and require image resolution. + It also ensures that the camera is pointed directly at the surface when it is capturing images (i.e. at a right angle rather than some tangent). + The settings are: + + - **Camera Orientation:** Portrait or Landscape + - _Overlap_: + - **Front Lap:** Image overlap from top to bottom (increasing shrinks layer height and increases layer count). + - **Side Lap:** Image overlap at sides (increasing takes more images in each lap/layer scan). + - **Scan distance:** Distance from the structure to the flight path. + - **Ground Res:** Required image resolution/sample quality of surface. + +- _Custom camera_ selection allows you to enter your own camera characteristics, but otherwise behaves the same as a predefined camera. diff --git a/docs/fa/docs/en/qgc-user-guide/plan_view/pattern_survey.md b/docs/fa/docs/en/qgc-user-guide/plan_view/pattern_survey.md new file mode 100644 index 00000000000..db492c27206 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/plan_view/pattern_survey.md @@ -0,0 +1,130 @@ +# Survey (Plan Pattern) + +A survey allows you to create a grid flight pattern over a polygonal area. +You can specify an arbitrary polygon, the angle and other properties of the grid, and camera settings appropriate for creating geotagged images. + +::: warning +If the survey area has significant elevation variation then consider enabling [Terrain Following](#terrain). + +When planning a Survey using camera specifications, the ground under the survey area are assumed to be flat - i.e. at the same altitude as the launch/home location. +If the ground elevation under the survey is either higher or lower than the home location the effective overlap in images will be less or more (respectively) than calculated. +If ground elevation under the survey area is _significantly_ higher than the home location you could inadvertently plan a mission path that causes the vehicle to fly into ground-level obstacles. + +Using terrain following ensures that the survey more closely matches the desired altitude above terrain, and reduces the likelihood of planning a mission that is too close to ground level. +::: + +![Survey](../../../assets/plan/survey/survey.jpg) + +## Creating a Survey + +To create a survey: + +1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + +2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Survey_. + + ![Survey Menu](../../../assets/plan/survey/survey_menu.jpg) + + This will add a survey grid to the map, and a _Survey_ item to the mission list (on the right). + +3. On the map drag the vertices to change the shape of the polygon. + +4. Click the `(+)` symbol between existing vertices to create a new vertix. + The new vertix can then be dragged into a new position. + +The survey settings are covered in the next section. + +## Settings + +The survey can be further configured in the associated mission item (in the mission item list on the right hand side of the _Plan View_). + +### Camera + +Camera triggering behaviour depends on the camera/camera settings. +You can select an existing camera, custom camera, or manually enter the settings. +The list of available cameras (QGC 3.4) is given below. + +![Survey - Camera Select](../../../assets/plan/survey/survey_camera_select.jpg) + +#### Known Camera {#known\_camera} + +Selecting a known camera from the option dropdown generates a grid pattern based on the camera capabilities. + +![Survey - Camera Sony](../../../assets/plan/survey/survey_camera_sony.jpg) + +The default settings can be tuned for your survey using the configuration options: + +- **Landscape/Portrait** - Camera orientation relative to the "normal" orientation of the vehicle. +- **Overlap** - Overlap between each image capture. + This can be configured separately for when flying along grid lines or across them. +- Select one of: + - **Altitude** - Survey altitude (ground resolution will be calculated/displayed for this altitude). + - **Ground resolution** - Ground resolution for each image (altitude required to achieve this resolution calculated and shown). + +#### Custom Camera {#custom\_camera} + +Selecting the custom camera option allows you to specify the settings for a new camera in a similar way to a known camera. + +![Survey - Custom Camera](../../../assets/plan/survey/survey_camera_custom.jpg) + +The camera-specific settings are: + +- **Sensor width/height** - The size of the image sensor of the camera. +- **Image width/height** - The resolution of the image captured by the camera. +- **Focal Length** - The focal length of the camera lens. + +The remaining settings are the same as for a [known camera](#known_camera). + +#### Manual Camera + +The manual camera option allows you to specify desired survey height, trigger interval and appropriate grid spacing for your camera. + +![Survey - Manual Camera Settings](../../../assets/plan/survey/survey_camera_manual.jpg) + +The configurable options are: + +- **Altitude** - Survey altitude to fly the whole grid. +- **Trigger Distance** - The distance over ground between each camera shot. +- **Spacing** - Distance between adjacent grid (flight path) lines across the corridor. + +### Transects + +The _Transects_ section is used for grid settings that are independent of the camera used. + +![Survey - Transects](../../../assets/plan/survey/survey_transects.jpg) + +The configurable options are: + +- **Angle** - The angle of the grid lines, relative to North. + ![Survey - Angle](../../../assets/plan/survey/survey_transects_angle.jpg) +- **Turnaround dist** - Amount of additional distance to add outside the survey area for vehicle turn around. +- **Rotate Entry Point** - Press button to swap the start and end point of the survey. +- **Hover and capture image** - Hover to capture images (multicopter only). +- **Refly at 90 degree offset** - Check to refly the whole mission at a 90 degree offset. + ![Survey - Fly Offset](../../../assets/plan/survey/survey_transects_offset.jpg) +- **Images in turnarounds** - Check to take images when turning +- **Relative altitude** - Check to make specified altitudes relative to home (if unchecked they are AMSL). + +### Terrain + +By default, a flying vehicle will follow the survey path at a fixed altitude. +Enabling _Terrain Following_ makes the vehicle maintain a constant height relative to ground. + +![Survey - Terrain Following Settings](../../../assets/plan/survey/survey_terrain.jpg) + +:::info +Terrain following uses terrain heights queried from _AirMap_ servers. +::: + +The configurable options are: + +- **Vehicle follows terrain** - Check to enable terrain following (and display the following options). + - **Tolerance** - The accepted deviation in altitude from the target altitude. + - **Max Climb Rate** - Maximum climb rate when following terrain. + - **Max Descent Rate** - Maximum descent rate when following terrain. + +### Statistics + +The _Statistics_ section shows the calculated survey area, photo interval, photo spacing and planned photo count. + +![Survey - Statistics](../../../assets/plan/survey/survey_statistics.jpg) diff --git a/docs/fa/docs/en/qgc-user-guide/plan_view/plan_geofence.md b/docs/fa/docs/en/qgc-user-guide/plan_view/plan_geofence.md new file mode 100644 index 00000000000..49780949b6d --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/plan_view/plan_geofence.md @@ -0,0 +1,60 @@ +# Plan View - GeoFence + +GeoFences allow you to create virtual regions within which the vehicle can fly, or in which it is _not allowed_ to fly. +You can also configure the action taken if you fly outside permitted areas. + +![Geofence overview](../../../assets/plan/geofence/geofence_overview.jpg) + +:::info +**ArduPilot users:** GeoFence support is only supported by Rover 3.6 and Copter 3.7 or higher. It also requires usage of a Daily build or Stable 3.6 (once available). +_QGroundControl_ will not display the GeoFence options if they are not supported by the connected vehicle. +::: + +## Create a Geofence + +To create a GeoFence: + +1. Navigate to the Plan View + +2. Select the _Geofence_ radio button above the Mission Command List + + ![Select geofence radio button](../../../assets/plan/geofence/geofence_select.jpg) + +3. Insert a circular or polygon region by pressing the **Circular Fence** or **Polygon Fence** button, respectively. + A new region will be added to the map and to the associated list of fences below the buttons. + +:::tip +You can create multiple regions by pressing the buttons multiple times, allowing complex geofence definitions to be created. +::: + +- Circular region: + + ![Circular Geofence](../../../assets/plan/geofence/geofence_circular.jpg) + + - Move the region by dragging the central dot on the map + - Resize the circle by dragging the dot on the edge of the circle (or you can change the radius value in the fence panel). + +- Polygon region: + + ![Polygon Geofence](../../../assets/plan/geofence/geofence_polygon.jpg) + + - Move the vertices by dragging the filled dots + - Create new vertices by clicking the "unfilled" dots on the lines between the filled vertices. + +1. By default new regions are created as _inclusion_ zones (vehicles must stay within the region). + Change them to exclusion zones (where the vehicle can't travel) by unchecking the associated _Inclusion_ checkbox in the fence panel. + +## Edit/Delete a GeoFence + +You can select a geofence region to edit by selecting its _Edit_ radio button in the GeoFence panel. +You can then edit the region on the map as described in the previous section. + +Regions can be deleted by pressing the associated **Del** button. + +## Upload a GeoFence + +The GeoFence is uploaded in the same way as a mission, using **File** in the [Plan tools](../plan_view/plan_view.md). + +## Remaining tools + +The rest of the tools work exactly as they do while editing a Mission. diff --git a/docs/fa/docs/en/qgc-user-guide/plan_view/plan_rally_points.md b/docs/fa/docs/en/qgc-user-guide/plan_view/plan_rally_points.md new file mode 100644 index 00000000000..d23a284eb28 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/plan_view/plan_rally_points.md @@ -0,0 +1,35 @@ +# Plan View - Rally Points + +Rally Points are alternative landing or loiter locations. +They are typically used to provide a safer or more convenient (e.g. closer) destination than the home position in Return/RTL mode. + +:::info +Rally Points are only supported by ArduPilot on Rover 3.6 and Copter 3.7 (or higher). +PX4 support is planned in PX4 v1.10 timeframes. +It also requires usage of a Daily build or Stable 3.6 (once available). +_QGroundControl_ will not display the Rally Point options if they are not supported by the connected vehicle. +::: + +![Rally Points](../../../assets/plan/rally/rally_points_overview.jpg) + +## Rally Point Usage + +To create Rally Points: + +1. Navigate to the Plan View +2. Select the _Rally_ radio button above the Mission Command List +3. Click the map wherever you want rally points. + - An **R** marker is added for each + - the currently active marker has a different colour (green) and can be edited using the _Rally Point_ panel. +4. Make any rally point active by selecting it on the map: + - Move the active rally point by either dragging it on the map or editing the position in the panel. + - Delete the active rally point by selecting the menu option on the _Rally Point_ panel + ![Delete Rally Point](../../../assets/plan/rally/rally_points_delete.jpg) + +## Upload Rally Points + +Rally points are uploaded in the same way as a mission, using **File** in the [Plan tools](../plan_view/plan_view.md). + +## Remaining tools + +The rest of the tools work exactly as they do while editing a Mission. diff --git a/docs/fa/docs/en/qgc-user-guide/plan_view/plan_view.md b/docs/fa/docs/en/qgc-user-guide/plan_view/plan_view.md new file mode 100644 index 00000000000..27e97e1375d --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/plan_view/plan_view.md @@ -0,0 +1,205 @@ +# Plan View + +The _Plan View_ is used to plan _autonomous missions_ for your vehicle, and upload them to the vehicle. Once the mission is [planned](#plan_mission) and sent to the vehicle, you switch to the [Fly View](../fly_view/fly_view.md) to fly the mission. + +It is also use to configure the [GeoFence](plan_geofence.md) and [Rally Points](plan_rally_points.md) if these are supported by the firmware. + + +![Plan View](../../../assets/plan/plan_view_overview.jpg) + +## UI Overview {#ui\_overview} + +The [screenshot above](#plan_screenshot) shows a simple mission plan that starts with a takeoff at the [Planned Home](#planned_home) position (H), +flies through three waypoints, and then lands on the last waypoint (i.e. waypoint 3). + +The main elements of the UI are: + +- **Map:** Displays the numbered indicators for the current mission, including the [Planned Home](#planned_home). + Click on the indicators to select them (for editing) or drag them around to reposition them. +- **Plan Toolbar:** Status information for the currently selected waypoint relative to the previous waypoint, as well as statistics for the entire mission (e.g. horizontal distance and time for mission). + - `Max telem dist` is the distance between the [Planned Home](#planned_home) and the furthest waypoint. + - When connected to a vehicle it also shows an **Upload** button, can be used to upload the plan to the vehicle. +- **[Plan Tools](#plan_tools):** Used to create and manage missions. +- **[Mission Command List/Overlay](#mission_command_list):** Displays the current list of mission items (select items to [edit](#mission_command_editors)). +- **Terrain Altitude Overlay:** Shows the relative altitude of each mission command. + +It shows you information related to the currently selected waypoint as well as statistics for the entire mission. + +## Planning a Mission {#plan\_mission} + +At very high level, the steps to create a mission are: + +1. Change to _Plan View_. +2. Add waypoints or commands to the mission and edit as needed. +3. Upload the mission to the vehicle. +4. Change to _Fly View_ and fly the mission. + +The following sections explain some of the details in the view. + +## Planned Home Position {#planned\_home} + +The _Planned Home_ shown in _Plan View_ is used to set the approximate start point when planning a mission (i.e. when a vehicle may not even be connected to QGC). +It is used by QGC to estimate mission times and to draw waypoint lines. + +![Planned Home Position](../../../assets/plan/mission/mission_settings_planned_home.jpg) + +You should move/drag the planned home position to roughly the location where you plan to takeoff. +The altitude for the planned home position is set in the [Mission Settings](#mission_settings) panel. + + + +:::tip +The Fly View displays the _actual_ home position set by the vehicle firmware when it arms (this is where the vehicle will return in Return/RTL mode). +::: + +## Plan Tools {#plan\_tools} + +The plan tools are used for adding individual waypoints, easing mission creation for complicated geometries, uploading/downloading/saving/restoring missions, and for navigating the map. The main tools are described below. + +:::info +**Center map**, **Zoom In**, **Zoom Out** tools help users better view and navigate the _Plan view_ map (they don't affect the mission commands sent to the vehicle). +::: + +### Add Waypoints + +Click on the **Add Waypoint** tool to activate it. While active, clicking on the map will add new mission waypoint at the clicked location. +The tool will stay active until you select it again. +Once you have added a waypoint, you can select it and drag it around to change its position. + +### File (Sync) {#file} + +The _File tools_ are used to move missions between the ground station and vehicle, and to save/restore them from files. +The tool displays an `!` to indicate that there are mission changes that you have not sent to the vehicle. + +:::info +Before you fly a mission you must upload it to the vehicle. +::: + +The _File tools_ provide the following functionality: + +- Upload (Send to vehicle) +- Download (Load from vehicle) +- Save/Save as to File, including as KML file. +- Load from File +- Remove All (removes all mission waypoints from _Plan view_ and from vehicle) + +### Pattern + +The [Pattern](Pattern.md) tool simplifies the creation of missions for flying complex geometries, including [surveys](../plan_view/pattern_survey.md) and [structure scans](../plan_view/pattern_structure_scan_v2.md). + +## Mission Command List {#mission\_command\_list} + +Mission commands for the current mission are listed on the right side of the view. +At the top are a set of options to switch between editing the mission, GeoFence and rally points. +Within the list you can select individual mission items to edit their values. + +![Mission Command List](../../../assets/plan/mission/mission_command_list.jpg) + +### Mission Command Editors {#mission\_command\_editors} + +Click on a mission command in the list to display its editor (in which you can set/change the command attributes). + +You can change the **type** of the command by clicking on the command name (for example: _Waypoint_). +This will display the _Select Mission Command_ dialog shown below. +By default this just displays the "Basic Commands", but you can use the **Category** drop down menu to display more (e.g. choose **All commands** to see all the options). + + + +To the right of each command name is a menu that you can click to access to additional options such as _Insert_ and _Delete_. + +:::info +The list of available commands will depend on firmware and vehicle type. +Examples may include: Waypoint, Start image capture, Jump to item (to repeat mission) and other commands. +::: + +### Mission Settings {#mission\_settings} + +The _Mission Start_ panel is the first item that appears in the [mission command list](#mission_command_list). +It may be used to specify a number default settings that may affect the start or end of the mission. + +![Mission Command List - showing mission settings](../../../assets/plan/mission_start.png) + +![Mission settings](../../../assets/plan/mission/mission_settings.png) + +#### Mission Defaults + +##### Waypoint alt + +Set the default altitude for the first mission item added to a plan (subsequent items take an initial altitude from the previous item). +This can also be used to change the altitude of all items in a plan to the same value; you will be prompted if you change the value when there are items in a plan. + +##### Flight speed + +Set a flight speed for the mission that is different than the default mission speed. + +#### Mission End + +##### Return to Launch after mission end + +Check this if you want your vehicle to Return/RTL after the final mission item. + +#### Planned Home Position + +The [Planned Home Position](#planned_home) section allows you to simulate the vehicle's home position while planning a mission. +This allows you to view the waypoint trajectory for your vehicle from takeoff to mission completion. + +![MissionSettings Planned Home Position Section](../../../assets/plan/mission/mission_settings_planned_home_position_section.jpg) + +:::info +This is only the _planned_ home position and you should place it where you plan to start the vehicle from. +It has no actual impact on flying the mission. +The actual home position of a vehicle is set by the vehicle itself when arming. +::: + +This section allows you to set the **Altitude** and **Set Home to Map Centre** +(you can move it to another position by dragging it on the map). + +#### Camera + +The camera section allows you to specify a camera action to take, control the gimbal and set your camera into photo or video mode. + +![MissionSettings Camera Section](../../../assets/plan/mission/mission_settings_camera_section.jpg) + +The available camera actions are: + +- No change (continue current action) +- Take photos (time) +- Take photos (distance) +- Stop taking photos +- Start recording video +- Stop recording video + +#### Vehicle Info + +The appropriate mission commands for the vehicle depend on the firmware and vehicle type. + +If you are planning a mission while you are _connected to a vehicle_ the firmware and vehicle type will be determined from the vehicle. +This section allows you to specify the vehicle firmware/type when not connected to a vehicle. + +![MissionSettings VehicleInfoSection](../../../assets/plan/mission/mission_settings_vehicle_info_section.jpg) + +The additional value that can be specified when planning a mission is the vehicle flight speed. +By specifying this value, total mission or survey times can be approximated even when not connected to a vehicle. + +## Troubleshooting + +### Mission (Plan) Upload/Download Failures {#plan\_transfer\_fail} + +Plan uploading and downloading can fail over a noisy communication link (affecting missions, GeoFence, and rally points). +If a failure occurs you should see a status message in the QGC UI similar to: + +> Mission transfer failed. Retry transfer. Error: Mission write mission count failed, maximum retries exceeded. + +The loss rate for your link can be viewed in [Settings View > MAVLink](../settings_view/mavlink.md). +The loss rate should be in the low single digits (i.e. maximum of 2 or 3): + +- A loss rate in the high single digits can lead to intermittent failures. +- Higher loss rates often lead to 100% failure. + +There is a much smaller possibility that issues are caused by bugs in either flight stack or QGC. +To analyse this possibility you can turn on [Console Logging](../settings_view/console_logging.md) for Plan upload/download and review the protocol message traffic. + +## Further Info + +- New Plan View features for [QGC release v3.2](../releases/stable_v3.2_long.md#plan_view) +- New Plan View features for [QGC release v3.3](../releases/stable_v3.3_long.md#plan_view) diff --git a/docs/fa/docs/en/qgc-user-guide/releases/daily_build_new_features.md b/docs/fa/docs/en/qgc-user-guide/releases/daily_build_new_features.md new file mode 100644 index 00000000000..6b298f7f00e --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/releases/daily_build_new_features.md @@ -0,0 +1,7 @@ +# Daily Build Major Changes + +This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ since the last [stable release](../releases/release_notes.md). +These features are available in [daily builds](../releases/daily_builds.md). +There is also a [Change Log](https://github.com/mavlink/qgroundcontrol/blob/master/ChangeLog.md) available for viewing. + +- TBD diff --git a/docs/fa/docs/en/qgc-user-guide/releases/daily_builds.md b/docs/fa/docs/en/qgc-user-guide/releases/daily_builds.md new file mode 100644 index 00000000000..0550549176e --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/releases/daily_builds.md @@ -0,0 +1,32 @@ +# Daily Builds + +Daily Builds of _QGroundControl_ have the absolute latest set of [new features](../releases/daily_build_new_features.md). + +:::warning +Daily Builds are less tested than stable builds. +Use at your own risk! +::: + +These can be downloaded from the links below (install as described in [Download and Install](../getting_started/download_and_install.md)): + +- [Windows](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl-installer.exe) + +- [OS X](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl.dmg) + + ::: info + QGroundControl continues to not be signed which causes problem on Catalina. To open QGC app for the first time: + + - Right-click the QGC app icon, select Open from the menu. You will only be presented with an option to Cancel. Select Cancel. + - Right-click the QGC app icon again, Open from the menu. This time you will be presented with the option to Open. + + ::: + +- [Linux](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl.AppImage) + +- [Android](https://play.google.com/store/apps/details?id=org.mavlink.qgroundcontrolbeta) - Google Play: Listed as _QGroundControl (Daily Test Build)_. + +- iOS currently unavailable + +:::info +The QGroundControl Continous Delivery pipeline from time to time might experience issues uploading to the Google Play store. You can find the daily build APK for Android devices for direct download here: [QGroundControl32.apk](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl32.apk), and [QGroundControl64.apk](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl64.apk) +::: diff --git a/docs/fa/docs/en/qgc-user-guide/releases/index.md b/docs/fa/docs/en/qgc-user-guide/releases/index.md new file mode 100644 index 00000000000..dec0acc68b7 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/releases/index.md @@ -0,0 +1,3 @@ +# Releases + +This section contains information about releases and daily builds. diff --git a/docs/fa/docs/en/qgc-user-guide/releases/privacy_policy.md b/docs/fa/docs/en/qgc-user-guide/releases/privacy_policy.md new file mode 100644 index 00000000000..44718df6e95 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/releases/privacy_policy.md @@ -0,0 +1,8 @@ +# Privacy Policy + +_QGroundControl_ may require access to personal and/or sensitive user data. None of this data is used outside of _QGroundControl_. + +The list below explains how some of the data is used: + +- Camera sensor: This is used for the purpose of overlaying the video with flight telemetry data. +- Location: This is used for tracking current user position on the map. diff --git a/docs/fa/docs/en/qgc-user-guide/releases/release_notes.md b/docs/fa/docs/en/qgc-user-guide/releases/release_notes.md new file mode 100644 index 00000000000..54dfa2f76de --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/releases/release_notes.md @@ -0,0 +1,255 @@ +# Release Notes + +This topic contains the cumulative release notes for _QGroundControl_. + +:::info +Stable build major/minor numbers are listed below. +_Patch_ release numbers are not listed, but can be found on the [Github release page](https://github.com/mavlink/qgroundcontrol/releases). +::: + +## Stable Version 4.0 (current) + +:::info +The format for Settings in QGC had to change in this release. Which means all QGC settings will be reset to defaults. +::: + +- Settings + - Language: Allow selection of language + - Optional [CSV Logging](../settings_view/csv.md) of telemetry data for improved accessibility. + - ArduPilot + - Mavlink: Configurable stream rate settings +- Setup + - Joystick + - New joystick setup ui + - Ability to configure held button to single or repeated action + - ArduPilot + - Motor Test + - ArduSub + - Automatic motor direction detection +- Plan + - Create Plan from template with wizard like progression for completing full Plan. + - Survey: Save commonly used settings as a Preset + - Polygon editing + - New editing tools ui + - Support for tracing a polygon from map locations + - ArduPilot + - Support for GeoFence and Rally Points using latest firmwares and mavlink v2 +- Fly + - Click to ROI support + - Added support for connecting to ADSB SBS server. Adds support for ADSB data from USB SDR Dongle running 'dump1090 --net' for example. + - Ability to turn on Heading to home, COG and Next Waypoint heading indicators in Compass. + - Video + - Add support for h.265 video streams + - Automatically add a [Video Overlay](../fly_view/video_overlay.md) with flight data as a subtitle for locally-recorded videos + - Vehicle type specific pre-flight checklists. Turn on from Settings. +- Analyze + - New Mavlink Inspector which includes charting support. Supported on all builds including Android and iOS. +- General + - Released Windows build are now 64 bit only + - Log Replay: Ability to specify replay speed + - ArduPilot + - Improved support for chibios firmwares and ArduPilot bootloader with respect to flashing and auto-connect. + +Additional notes for some features can be found here: [v4.0 (Additional Notes)](../releases/stable_v4.0_additional.md). + +## Stable Version 3.5 + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.5. + +- **Overall** + - Added Airmap integration to QGC. OSX build only. + - Bumped settings version (now 8). + This will cause all settings to be reset to defaults. + - Added Chinese and Turkish localization and partial German localization. + - Added support for the Taisync 2.4GHz ViUlinx digital HD wireless link. + - Fix loading of parameters from multiple components. + This especially affected WiFi connections. + - **ArduPilot** Support for ChibiOS firmware connect and flash. +- **Settings** + - **RTK** Add support for specifying fixed RTK based station location in Settings/General. + - **GCS Location** + - Added UDP Port option for NMEA GPS Device. + - GCS heading shown if available +- **Plan** + - **Polygons** Support loading polygons from SHP files. + - **Fixed Wing Landing Pattern** Add stop photo/video support. + Defaults to on such that doing an RTL will stop camera. + - **Edit Position dialog** Available on polygon vertices. +- **Fly** + - **Camera Page** Updated support for new MAVLInk camera messages. + Camera select, camera mode, start/stop photo/video, storage mangement... + - **Orbit** Support for changing rotation direction. + - **Instrument Panel** + - Added ESTIMATOR\_STATUS values to new estimatorStatus Vehicle FactGroup. + These are now available to display in instrument panel. + - Make Distance to GCS available for display from instrument panel. + - Make Heading to Home available for display from instrument panel. + +## Stable Version 3.4 + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.4. Not to mention the large number of bug fixes in each stable release. + +- **Settings** + - **Offline Maps** + - Center Tool allows you to specify a map location in lat/lon or UTM coordinates. Making it easier to get to the location you want to create an offline map for. + - Ability to pre-download terrain heights for offline use. + - **Help** Provides links to QGC user guide and forums. + +- **Setup** + - **Firmware** Ability to flash either PX4 or ArduPilot Flow firmware. + - PX4 Pro Firmware + - **Flight Modes** Specify channels for all available transmitter switches. + - **Tuning: Advanced** Initial implementation of vehicle PID tuning support. Note that this is a work in progress that will improve in 3.5 daily builds. + - ArduPilot Firmware + - **Power/Safety** Support for new multi-battery setup. + - **Trad Heli** New setup page. + +- **Plan** + + - **File Load/Save** New model for Plan file loading which matches a standard File Load/Save/Save As user model. + + - **Load KML** Ability to load a KML file directly from the Sync menu. You will be prompted for what type of Pattern you want to create from the KML if needed. + + - **Survey** Better support for irregular shaped polygons. + + - **[Corridor Scan](../plan_view/pattern_corridor_scan.md)** - Create a flight pattern which follows a poly-line. For example can be used to survey a road. + + - **[Fixed Wing Landing Pattern](../plan_view/pattern_fixed_wing_landing.md)** + - Landing area visually represented in Plan. + - Landing position/heading can be copied from Vehicle position/heading. + + - **Terrain** + + - Height of mission items can be specified as height above terrain. + - Survey and Corridor Scan can generate flight plans which follow terrain. + + ::: info + This feature does not support [ArduPilot terrain following](http://ardupilot.org/copter/docs/common-terrain-following.html). + ::: + + - **Edit Position** Set item position from vehicle position. + +- **Fly** + - **Pre-Flight Checklist** You can turn this on from Settings. It provides a generic checklist to follow prior to flight. Expect more feature to appear for this in 3.5 daily builds. + - **Instrument Panel** + - Many new values available for display. + - New Camera page which provides full camera control. Requires a camera which support new MavLink camera specification. + - **ArduPlane** Much better support for guided commands including QuadPlane support. + - **High Latency Links** Support for high latency links such as satellite connections. + Limits the traffic from QGC up to Vehicle on these links to reduce cost. + Supports HIGH\_LATENCY MavLink message. + Supports failover back/forth from high latency to normal link with dual link setup. + +## Stable Version 3.3 + +:::tip +More detailed release notes for version 3.3 can be found [here](../releases/stable_v3.3_long.md). +::: + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.3. Not to mention the large number of bug fixes of this release. + +- **Settings** + - Local NMEA GPS device support. + - Video Recording save settings. +- **Setup** + - **Parameter Editor** - Searching updates as you type characters for near immediate response to searches. + - **Joystick** - Android joystick support. +- **Plan** + - **NEW - Structure Scan Pattern** - Create a multi-layered flight pattern that captures images over vertical surfaces (polygonal or circular). Used for 3d model generation or vertical surface inspection. + - **Fixed Wing Landing Pattern** - You can now adjust the distance from the loiter to land point by either distance or glide slope fall rate. + - PX4 GeoFence and Rally Point support. + - Terrain height display in lower Mission Item altitude display +- **Fly** + - Start/Stop video recording. + - Better display of vehicle icons when connected to multiple vehicles. + - Multi-Vehicle View supports commands which apply to all vehicles. + - Displays vehicles reported from ADS-B sensor. +- **Analyze** + - **Mavlink console** - New support for communicating with Mavlink console. + - **Log Download** - Moved from Menu to Analyze view. + +## Stable Version 3.2 + +:::tip +More detailed release notes for version 3.2 can be found [here](../releases/stable_v3.2_long.md). +::: + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.2. + +- **Settings** + + - **File Save path** - Specify a save path for all files used by QGC. + - **Telemetry log auto-save** - Telemetry logs are now automatically saved without prompting. + - **AutoLoad Plans** - Used to automatically load a Plan onto a vehicle when it first connects. + - **RTK GPS** - Specify the Survey in accuracy and Minimum observation duration. + +- **Setup** + + - ArduPilot only + - **Pre-Flight Barometer and Airspeed calibration** - Now supported + - **Copy RC Trims** - Now supported + +- **Plan View** + + - **Plan files** - Missions are now saved as .plan files which include the mission, geo-fence and rally points. + - **Plan Toolbar** - New toolbar which shows you mission statistics and Upload button. + - **Mission Start** - Allows you to specify values such as flight speed and camera settings to start the mission with. + - **New Waypoint features** - Adjust heading and flight speed for each waypoint as well as camera settings. + - **Visual Gimbal direction** - Gimbal direction is shown on waypoint indicators. + - **Pattern tool** - Allows you to add complex patterns to a mission. + - Fixed Wing Landing (new) + - Survey (many new features) + - **Fixed Wing Landing Pattern** - Adds a landing pattern for fixed wings to your mission. + - **Survey** - New features + - **Take Images in Turnarounds** - Specify whether to take images through entire survey or just within each transect segment. + - **Hover and Capture** - Stop vehicle at each image location and take photo. + - **Refly at 90 degree offset** - Add additional pattern at 90 degree offset to original so get better image coverage. + - **Entry location** - Specify entry point for survey. + - **Polygon editing** - Simple on screen mechanism to drag, resize, add/remove points. Much better touch support. + +- **Fly View** + + - **Arm/Disarm** - Available from toolbar. + - **Guided Actions** - New action toolbar on the left. Supports: + - Takeoff + - Land + - RTL + - Pause + - Start Mission + - Resume Mission - after battery change + - Change Altitude + - Land Abort + - Set Waypoint + - Goto Location + - **Remove mission after vehicle lands** - Prompt to remove mission from vehicle after landing. + - **Flight Time** - Flight time is shown in instrument panel. + - **Multi-Vehicle View** - Better control of multiple vehicles. + +- **Analyze View** - New + + - **Log Download** - Moved to Analyze view from menu + - **Mavlink Console** - NSH shell access + +- **Support for third-party customized QGroundControl** + - Standard QGC supports multiple firmware types and multiple vehicle types. There is now support in QGC which allows a third-party to create their own custom version of QGC which is targeted specifically to their custom vehicle. They can then release their own version of QGC with their vehicle. + +## Stable Version 3.1 + +New Features + +- [Survey](../plan_view/pattern_survey.md) mission support +- [GeoFence](../plan_view/plan_geofence.md) support in Plan View +- [Rally Point](../plan_view/plan_rally_points.md) support in Plan View (ArduPilot only) +- ArduPilot onboard compass calibration +- Parameter editor search will now search as you type for quicker access +- Parameter display now supports unit conversion +- GeoTag images from log files (PX4 only) +- System health in instrument panel +- MAVLink 2.0 support (no signing yet) + +Major Bug Fixes + +- Fixed crash after disconnect from Vehicle +- Fixed android crash when using SiK Radios +- Many multi-vehicle fixes +- Bluetooth fixes diff --git a/docs/fa/docs/en/qgc-user-guide/releases/stable_v3.2_long.md b/docs/fa/docs/en/qgc-user-guide/releases/stable_v3.2_long.md new file mode 100644 index 00000000000..0056ad212fc --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/releases/stable_v3.2_long.md @@ -0,0 +1,265 @@ +# QGroundControl v3.2 Release Notes (Detailed) + +This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.2. + +## Settings + +### Telemetry log auto-save + +If you have _Save telemetry log after each flight_ turned on you will no longer be prompted as to where to save the log each time the vehicle disarms. +Logs will automatically be saved to the [Application Load/Save Path](../settings_view/general.md#load_save_path) + +For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#autosave_log). + +### AutoLoad plans + +If this setting is turned on, _QGroundControl_ will automatically upload a plan to the vehicle when it connects. +The plan file must be named **AutoLoad#.plan** where the `#` is replaced with the vehicle id. +The plan file must be located in the [Application Load/Save Path](../settings_view/general.md#load_save_path). + +For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#autoload_missions). + +### Application Load/Save Path + +You can now specify a save path which QGC will use as the default location to save files such as Parameters, Telemetry or Mission Plans. + +For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#load_save_path). + +### RTK GPS + +You can now specify the _Survey in accuracy_ and _Minimum observation duration_ for use with a connected RTK GPS. + +For more information see [Settings > General (RTK GPS)](../settings_view/general.md#rtk_gps). + +## Setup + +### ArduPilot - Pre-Flight Barometer and Airspeed calibration + +This is now supported from the Sensors page. + +### ArduPilot - Copy RC Trims + +This is now supported from the Copy Trims button on the Radio setup page. + +## Plan View {#plan\_view} + +### Plan Files + +Previous version of _QGroundControl_ saved missions, geo-fences and rally points in separate files (**.mission**, **.fence**, **.rally**). QGC now save all information related to a flight plan into a single file called a _Plan File_ with a file extension of **.plan**. + +Information about the format can be found in [Plan File Format](https://dev.qgroundcontrol.com/en/file_formats/plan.html) (QGC Developer Guide). + +### Plan Toolbar + +![Plan Toolbar](../../../assets/plan/plan_toolbar.jpg) + +The new _Plan Toolbar_ is displayed at the top of the [PlanView](../plan_view/plan_view.md). +It shows you information related to the currently selected waypoint as well as statistics for the entire mission. + +When connected to a vehicle it also shows an **Upload** button, which can be used to upload the plan to the vehicle. + +### Mission Settings + +The [Mission Settings](../plan_view/plan_view.md#mission_settings) panel allows you to specify values which apply to the entire mission, or settings you want to control right at the beginning of a mission. +This is the first item in the mission list on the right of the screen. + + + +#### Mission Defaults + +##### Waypoint alt + +This specifies the default altitude for newly added mission items. +If you update this value while you have a mission loaded it will prompt you to update all the the waypoints to this new altitude. + +##### Flight speed + +This allows you to set the flight speed for the mission to be different than the default mission speed. + +##### RTL after mission end + +Check this if you want your vehicle to RTL after the final mission item. + +#### Camera section + + + +The camera section allows you to specify a camera action to take, control the gimbal and set your camera into photo or video mode. + +The camera actions available are: + +- Continue current action +- Take photos (time) +- Take photos (distance) +- Stop taking photos +- Start recording video +- Stop recording video + +#### Vehicle Info section + + + +When planning a mission the firmware being run on the vehicle as well as the vehicle type must be known in order for QGroundControl to show you the mission commands which are appropriate for your vehicle. + +If you are planning a mission while you are connected to your vehicle the Firmware and Vehicle Type will be determined from the vehicle. If you are planning a mission while not connected to a vehicle you will need to specify this information yourself. + +The additional value that can be specified when planning a mission is the vehicle flight speed. By specifying this value, total mission or survey times can be approximated even when not connected to a vehicle. + +#### Planned Home Position + + + +The planned home position allows you to simulate the vehicle's home position while planning a mission. This way you see the waypoint trajectory for your vehicle from takeoff to mission completion. Keep in mind that this is only the "planned" home position and you should place it where you plan to start the vehicle from. It has no actual impact on flying the mission. The actual home position of a vehicle is set by the vehicle itself when arming. + +### New Waypoint features + + + +- You can now adjust heading and flight speed for each waypoint. +- There is a camera section available for camera changes on each waypoint. Explanation of Camera Section can be read under Mission Settings above. + +### Visual Gimbal direction + + + +If you specify gimbal yaw changes on waypoints, both the plan and fly views will show you a visual representation of the gimbal direction. + +### Pattern tool + +There is a new _Pattern tool_. The following patterns are supported: + +- Fixed Wing Landing (new) +- Survey (with new features) + +#### Fixed Wing Landing Pattern + +![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern.jpg) + +This adds a landing pattern for fixed wings to your mission. +The first point of the pattern is the loiter point which commands to vehicle to loiter to a specific altitude. +Once that altitude is reached, the vehicle will begin the landing sequence and fly down to the specified landing spot. + +Both the loiter and land points can be dragged to adjust. +Also all the various values associated with the pattern can be adjusted. + +For more information see [Fixed Wing Landing Pattern](../plan_view/pattern_fixed_wing_landing.md). + +#### Survey (new features) + +- Images are not automatically taken in the turnaround zone outside of the polygonal survey area. +- There is a new _Hover and Capture_ option which can be used to capture the highest quality image at each image location. The vehicle will stop at each image location prior to taking the image such that the vehicle is stable while the image is taken. +- There is a new option to re-fly the survey grid at a 90 degree angle to the previous pass. This allows you to generate much denser coverage for the images. + +![](../../../assets/plan/polygon_edit.jpg) + +Manipulating the survey area polygon is now easier to use on tablets with touch screens: + +- You can drag the entire polygon to a new location by dragging the center point handle. +- Each polygon vertex can be dragged to a new location. +- To remove a polygon vertex, simple click on the drag handle for it. +- Click on the **+** handles to add a new vertex between two existing vertices. + +## Fly View + +### RTK GPS + +RTK status is now shown in the toolbar. + +### Arm/Disarm + +There is an armed/disarmed indicator in the toolbar. You can click it to arm/disarm your vehicle. If you click Disarm in the toolbar while your vehicle is flying you will provided the option to Emergency Stop your vehicle. + +### Guided Actions + +- Takeoff +- Land +- RTL +- Pause +- Actions + - Start Mission + - Resume Mission + - Change Altitude + - Land Abort +- Direct interaction with map + - Set Waypoint + - Goto Location + +#### Resume Mission + +The Resume Mission guided action is used to resume a mission after performing an RTL from within the mission to perform a battery change. +After the vehicle lands from RTL and you have disconnected the battery **do not** disconnect QGC from the Vehicle. +Put in your new battery and QGC will detect the vehicle again and automatically restore the connection. +Once this happens you will be prompted with a Resume Mission confirmation slider. +If you want to resume the mission, confirm this and the mission will be rebuilt from your last waypoint traveled through. +Once the mission is rebuilt you will be presented with another Resume Mission slide which allows you to review the rebuilt mission before starting it again. +Confirm this Resume Mission slider to continue on with the mission. + +###### How resume mission rebuilding works + +In order to resume a mission you cannot simply continue it from the last mission item the vehicle ran. +The reason is is that may skip over important change speed commands or camera control commands which are prior to that item in the mission. +If you skipped over those the remainder of the mission will not run correctly. +In order to make resume mission work correctly QGC rebuilds the mission looking backwards from the last mission item flown and automatically appends relevant commands to the front of the mission. +By doing this the state of the mission prior to the resume point is restore. +The following mission commands are the ones scanned for: + +- `MAV_CMD_DO_CONTROL_VIDEO` +- `MAV_CMD_DO_SET_ROI` +- `MAV_CMD_DO_DIGICAM_CONFIGURE` +- `MAV_CMD_DO_DIGICAM_CONTROL` +- `MAV_CMD_DO_MOUNT_CONFIGURE` +- `MAV_CMD_DO_MOUNT_CONTROL` +- `MAV_CMD_DO_SET_CAM_TRIGG_DIST` +- `MAV_CMD_DO_FENCE_ENABLE` +- `MAV_CMD_IMAGE_START_CAPTURE` +- `MAV_CMD_IMAGE_STOP_CAPTURE` +- `MAV_CMD_VIDEO_START_CAPTURE` +- `MAV_CMD_VIDEO_STOP_CAPTURE` +- `MAV_CMD_DO_CHANGE_SPEED` +- `MAV_CMD_NAV_TAKEOFF` + +### Remove mission after vehicle lands + +You will be prompted to remove the mission from the vehicle after the mission completes and the vehicle lands and disarms. +This is meant to prevent issues where stale missions are unknowingly left on a vehicle cause unexpected behavior. + +### Instrument panel + +#### Camera trigger + +#### Flight Time + +Flight time is now available for display in the instrument panel. +For new users, flight time will be shown by default. +For existing users who have already modified their instrument panel values you will have to add it yourself if you want to use it. + +## [Analyze View](../analyze_view/index.md) + +- [Log Download](../analyze_view/log_download.md) moved to _Analyze View_ from menu. +- New [GeoTag Images](../analyze_view/geotag_images.md) support for PX4 Pro firmware +- New [MAVLink Console](../analyze_view/mavlink_console.md) which provides access the the _nsh shell_ running on the vehicle. + +## Multi-Vehicle View + +There is a new view available when you have multiple vehicles connected to QGC. It will only show up when more than one vehicle is connected. When that happens you will see an additional set of radio button at the top right of the Plan view. + + + +Click the **Multi-Vehicle** radio button to replace the instrument panel with the multi-vehicle list: + + + +The example above shows three vehicles. The numbers are the vehicle id. In the large font is the current flight mode. You can click the flight mode name to change to a different flight mode. To the right are small version of the instruments for each vehicle. You can command the vehicle to do the following actions from the control panel: + +- Arm/Disarm +- Start/Stop a mission +- Return to Launch +- Take Control back of the vehicle by returning to manual control from a mission. + +### Multi-Vehicle Gotchas - Unique vehicle ids + +Each vehicle connected to QGC must have a unique id. Otherwise QGC will think the vehicles are actually the same vehicle. The symptom of this is the Plan view jerking around as it tries to position itself to one vehicle and then the next. For PX4 Pro firmwares this is the `MAV_SYS_ID` parameter. For ArduPilot firmwares it is the `SYSID_THISMAV` parameter. + +## Support for third-party customized QGroundControl + +Standard QGC supports multiple firmware types and multiple vehicle types. There is now support in QGC which allows a third-party to create their own custom version of QGC which is targeted specifically to their custom vehicle. They can then release their own version of QGC with their vehicle. diff --git a/docs/fa/docs/en/qgc-user-guide/releases/stable_v3.3_long.md b/docs/fa/docs/en/qgc-user-guide/releases/stable_v3.3_long.md new file mode 100644 index 00000000000..4c2f86d680d --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/releases/stable_v3.3_long.md @@ -0,0 +1,96 @@ +# QGroundControl v3.3 Release Notes (Detailed) + +This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.3. + +## Detailed Notes + +### Settings View + +#### NMEA GPS Device support + +![NMEA GPS Device support](../../../assets/settings/general/NMEADevice.jpg) + +You can specify a connection to one of these devices on the General page. +The GPS information will then be used for ground station location and in turn follow me support. + +For more information see [Settings > General (AutoConnect to the following devices)](../settings_view/general.md#auto_connect). + +#### Video Recording + +![Video Recording](../../../assets/settings/video_recording.jpg) + +Videos will be saved to the Video directory of your QGC file save path. +You can also specify the maximum amount of space you want video files to consume. +After that size if exceeded the oldest video files will be removed. +Video Recording is turned on/off from the Video widget in the Fly View. + +For more information see [Settings > General (Video / Video Recording)](../settings_view/general.md#video). + +### Plan View {#plan\_view} + +#### Structure Scan + +A Structure Scan allows you to create a grid flight pattern that captures images over vertical surfaces (polygonal or circular). +These are typically used for the visual inspection or creation of 3d models of structures. + +Details [here](../plan_view/pattern_structure_scan_v2.md). + +#### New MAVLink GeoFence, Rally Point support + +![](../../../assets/plan/geofence_rally.jpg) + +QGC supports the new MAVLink GeoFence and Rally Point specification/protocol. This new system supports multiple polygonal and/or circular fences which can be specified as an exclusion or an inclusion fence. + +The fence which is currently selected by the "Edit" radio button will show the on screen editing controls such as the drag points for polygon editing. + +**Note** Only PX4 Pro firmware supports the new specification. ArduPilot does not yet support the new spec. Support for GeoFence/Rally is temporarily disabled in QGC until QGC ArduPilot code is reworked to the new architecture. + +#### Edit Position Dialog + +![](../../../assets/plan/edit_position_dialog.jpg) + +The Edit Position Dialog allows you to specify a detailed position for an item in either Geographic or UTM coordinate systems. It is available from the Polygon Tools menu as well as the hamburger menu of any mission item which specifies a coordinate: + +![](../../../assets/plan/mission_item_editor_hamburger.jpg) + +#### Polygon Tools + +![](../../../assets/plan/polygon_tools.jpg) + +You can now also click on the polygon center drag handle to bring up a set of polygon manipulation tools. The tools are available anywhere polygon editing is supported: Survey, Structure Scan, GeoFence, ... + +- Circle - Converts the polygon to a circular polygon. +- Polygon - Changes a circular polygon back to a rectangular polygon. +- Set radius - Set radius for circular polygons. +- Edit position - Displays the edit position dialog to specify a detailed position for the circular center. +- Load KML - Set polygon to polygon loaded from KML file. + +Circular polygon example: + + + +### Fly View + +#### Start/Stop Video Recording + +This is now a video record button in the video window. Settings for saved videos are available from General Page of Setup view. + +#### Multi-Vehicle vehicle indicators + +When you are connected to multiple vehicles the vehicle id will be shown below the vehicle icon. The active vehicle will be opaque and the inactive vehicles will be semi-transparent. + +![](../../../assets/fly/multi_vehicle_indicators.jpg) + +#### Multi-Vehicle View supports batch commands + +The multi-vehicle list now supports commands which apply to all vehicles. + +![](../../../assets/fly/multi_vehicle_list.jpg) + +The current list of available commands are Pause and Start Mission but that will be exapanded upon with further development. + +#### ADS-B sensor vehicle display + +Vehicle reported by ADS-B sensor on vehicle are shown on map as smaller blue icons with altitude and callsign below the icon. + +![](../../../assets/fly/adsb_vehicle.jpg) diff --git a/docs/fa/docs/en/qgc-user-guide/releases/stable_v4.0_additional.md b/docs/fa/docs/en/qgc-user-guide/releases/stable_v4.0_additional.md new file mode 100644 index 00000000000..9399f0d3702 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/releases/stable_v4.0_additional.md @@ -0,0 +1,13 @@ +# QGroundControl v4.0 Release Notes (Additional) + +This topic contains additional notes about QGroundControl 4.0. +These should be integrated into main documentation in coming months (and this document deleted). + +- [Pattern Presets](../plan_view/pattern_presets.md) - Allows you to save settings for a Pattern item (Survey, Corridor Scan, ...) into a named preset. You can then use this preset over and over again as you create new Pattern. +- ArduPilot: + - Copter - PID Tuning support ![PID Tuning JPG](../../../assets/daily_build_changes/arducopter_pid_tuning.jpg) + - Copter - Additional Basic Tuning options ![Basic Tuning JPG](../../../assets/daily_build_changes/arducopter_basic_tuning.jpg) + - Copter/Rover - Frame setup ui ![Setup Frame Copter JPG](../../../assets/daily_build_changes/arducopter_setup_frame.jpg) + - Improved support for flashing ChibiOS firmware + - Improved support for connecting to ChibiOS bootloader boards + - Support configurable mavlink stream rates. Available from Settings/Mavlink page. ![Stream Rates JPG](../../../assets/daily_build_changes/arducopter_stream_rates.jpg) diff --git a/docs/fa/docs/en/qgc-user-guide/settings_view/console_logging.md b/docs/fa/docs/en/qgc-user-guide/settings_view/console_logging.md new file mode 100644 index 00000000000..e89bb78be30 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/settings_view/console_logging.md @@ -0,0 +1,47 @@ +# Console Logging + +The _Console_ can be helpful tool for diagnosing _QGroundControl_ problems. It can be found in **SettingsView > Console**. + +![Console logging](../../../assets/support/console.jpg) + +Click the **Set Logging** button to enable/disable logging information displayed by _QGroundControl_. + +## Common Logging Options + +The most commmonly used logging options are listed below. + +| Option(s) | Description | +| ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `LinkManagerLog`, `MultiVehicleManagerLog` | Debug connection problems. | +| `LinkManagerVerboseLog` | Debug serial ports not being detected. Very noisy continuous output of available serial ports. | +| `FirmwareUpgradeLog` | Debug firmware flash issues. | +| `ParameterManagerLog` | Debug parameter load problems. | +| `ParameterManagerDebugCacheFailureLog` | Debug parameter cache crc misses. | +| `PlanManagerLog`, `MissionManagerLog`, `GeoFenceManagerLog`, `RallyPointManagerLog` | Debug Plan upload/download issues. | +| `RadioComponentControllerLog` | Debug Radio calibration issues. | + +## Logging from the Command Line + +An alternate mechanism for logging is using the `--logging` command line option. This is handy if you are trying to get logs from a situation where _QGroundControl_ crashes. + +How you do this and where the traces are output vary by OS: + +- Windows + - You must open a command prompt, change directory to the **qgroundcontrol.exe** location, and run it from there: + ```bash + cd "\Program Files (x86)\qgroundcontrol" + qgroundcontrol --logging:full + ``` + - When _QGroundControl_ starts you should see a separate console window open which will have the log output +- OSX + - You must run _QGroundControl_ from Terminal. The Terminal app is located in Applications/Utilities. Once Terminal is open paste the following into it: + ```bash + cd /Applications/qgroundcontrol.app/Contents/MacOS/ + ./qgroundcontrol --logging:full + ``` + - Log traces will output to the Terminal window. +- ## Linux + ```bash + ./qgroundcontrol-start.sh --logging:full + ``` + - Log traces will output to the shell you are running from. diff --git a/docs/fa/docs/en/qgc-user-guide/settings_view/csv.md b/docs/fa/docs/en/qgc-user-guide/settings_view/csv.md new file mode 100644 index 00000000000..ae227ea9238 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/settings_view/csv.md @@ -0,0 +1,11 @@ +# CSV Logging + +![Csv checkbox](../../../assets/settings/general/csv.jpg) + +When checked, a CSV (comma-separated value) telemetry file will be created along with the usual **.tlog** telemetry file. +The file is only created if **Save log after each flight** is enabled, and is recorded for the same duration. + +This CSV file contains the most relevant vehicle telemetry data available for quick analysis such as GPS position, attitude, battery status, and others. +It is populated at 1 Hz and while it is not as detailed as the telemetry log, it is a lot easier to work with and quicker to extract data out of. + +The file can be opened by common spreadsheet software, including: Microsoft Excel, Google Sheets, LibreOffice Calc or OpenOffice Calc. diff --git a/docs/fa/docs/en/qgc-user-guide/settings_view/general.md b/docs/fa/docs/en/qgc-user-guide/settings_view/general.md new file mode 100644 index 00000000000..f88e660ef42 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/settings_view/general.md @@ -0,0 +1,282 @@ +# General Settings (Settings View) + +The general settings (**SettingsView > General Settings**) are the main place for application-level configuration. +Settable values include: display units, autoconnection devices, video display and storage, RTK GPS, brand image, and other miscellaneous settings. + +:::info +Values are settable even if no vehicle is connected. Settings that require a vehicle restart are indicated in the UI. +::: + +![SettingsView - Full General Tab](../../../assets/settings/general/overview.jpg) + +## Units + +This section defines the display units used in the application. + +![Units settings](../../../assets/settings/general/units.jpg) + +The settings are: + +- **Distance**: Meters | Feet +- **Area**: SquareMetres | SquareFeet | SquareKilometers | Hectares | Acres | SquareMiles +- **Speed**: Metres/second | Feet/second | Miles/hour | Kilometres/hour | Knots +- **Temperature**: Celsius | Fahrenheit + +## Miscellaneous + +This section defines a number of miscellaneous settings, related to (non exhaustively): font sizes, colour schemes, map providers, map types, telemetry logging, audio output, low battery announcement levels, default mission altitude, [virtual joysticks](../settings_view/virtual_joystick.md), mission autoloading, default application file load/save path etc. + +![Miscellaneous settings](../../../assets/settings/general/miscellaneous.jpg) + +The settings are: + +- **Language**: System (System Language) | Bulgarian, Chinese, ... + + ![Display languages](../../../assets/settings/general/languages.jpg) + + Translations are generally built into the application and selected automatically based on the system language. + + Metadata downloaded from the vehicle (such as parameter descriptions) might have translations as well. + These are downloaded from the internet upon vehicle connection. The translations are then cached locally. + This means an internet connection during vehicle connection is required at least once. + +- **Color Scheme**: Indoor (Dark) | Outdoor (Light) + +- **Map Provider**: Google | Mapbox | Bing | Airmap | VWorld | Eniro | Statkart + +- **Map Type**: Road | Hybrid | Satellite + +- **Stream GCS Position**: Never | Always | When in Follow Me Flight Mode. + +- **UI Scaling**: UI scale percentage (affects fonts, icons, button sizes, layout etc.) + +- **Mute all audio output**: Turns off all audio output. + +- **Check for Internet Connection**: Uncheck to allow maps to be used in China/places where map tile downloads are likely to fail (stops the map-tile engine continually rechecking for an Internet connection). + +- **Autoload Missions**: If enabled, automatically upload a plan to the vehicle on connection. + - The plan file must be named **AutoLoad#.plan**, where the `#` is replaced with the vehicle id. + - The plan file must be located in the [Application Load/Save Path](#load_save_path). + +- **Clear all settings on next start**: Resets all settings to the default (including this one) when _QGroundControl_ restarts. + +- **Announce battery lower than**: Battery level at which _QGroundControl_ will start low battery announcements. + +- **Application Load/Save Path**: Default location for loading/saving application files, including: parameters, telemetry logs, and mission plans. + +## Data Persistence {#data\_persistence} + +![Data Persistence Settings](../../../assets/settings/general/data_persistence.jpg) + +The settings are: + +- **Disable all data persistence**: Check to prevent any data being saved or cached: logs, map tiles etc. + This setting disables the [telemetry logs section](#telemetry_logs). + +## Telemetry Logs from Vehicle {#telemetry\_logs} + +![Telemetry Logs from Vehicle Settings](../../../assets/settings/general/telemetry_logs.jpg) + +The settings are: + +- **Save log after each flight**: Telemetry logs (`.tlog`) automatically saved to the _Application Load/Save Path_ ([above](#load_save_path)) after flight. +- **Save logs even if vehicle was not armed**: Logs when a vehicle connects to _QGroundControl_. + Stops logging when the last vehicle disconnects. +- [**CSV Logging**](csv.md): Log subset of telemetry data to a CSV file. + +## Fly View {#fly\_view} + +![Fly View Settings](../../../assets/settings/general/fly_view.jpg) + +The settings are: + +- **Use Preflight Checklist**: Enable pre-flight checklist in Fly toolbar. + +- **Enforce Preflight Checklist**: Checklist completion is a pre-condition for arming. + +- **Keep Map Centered on Vehicle**: Forces map to center on the currently selected vehicle. + +- **Show Telemetry Log Replay Status Bar**: Display status bar for [Replaying Flight Data](../fly_view/replay_flight_data.md). + +- **Virtual Joystick**: Enable [virtual joysticks](../settings_view/virtual_joystick.md) (PX4 only) + +- **Use Vertical Instrument Panel**: Align instrument panel vertically rather than horizontally (default). + +- **Show additional heading indicators on Compass**: Adds additional indicators to the compass rose: + +- _Blue arrow_: course over ground. + +- _White house_: direction back to home. + +- _Green line_: Direction to next waypoint. + +- **Lock Compass Nose-Up**: Check to rotate the compass rose (default is to rotate the vehicle inside the compass indicateor). + +- **Guided Minimum Altitude**: Minimum value for guided actions altitude slider. + +- **Guided Maximum Altitude**: Minimum value for guided actions altitude slider. + +- **Go To Location Max Distance**: The maximum distance that a Go To location can be set from the current vehicle location (in guided mode). + +## Plan View {#plan\_view} + +![Plan View Settings](../../../assets/settings/general/plan_view.jpg) + +The settings are: + +- **Default Mission Altitude**: The default altitude used for the Mission Start Panel, and hence for the first waypoint. + +## AutoConnect to the following devices {#auto\_connect} + +This section defines the set of devices to which _QGroundControl_ will auto-connect. + +![Device autoconnect settings](../../../assets/settings/general/autoconnect_devices.jpg) + +Settings include: + +- **Pixhawk:** Autoconnect to Pixhawk-series device +- **SiK Radio:** Autoconnect to SiK (Telemetry) radio +- **PX4 Flow:** Autoconnect to PX4Flow device +- **LibrePilot:** Autoconnect to Libre Pilot autopilot +- **UDP:** Autoconnect to UDP +- **RTK GPS:** Autoconnect to RTK GPS device +- **NMEA GPS Device:** Autoconnect to an external GPS device to get ground station position ([see below](#nmea_gps)) + +### Ground Station Location (NMEA GPS Device) {#nmea\_gps} + +_QGroundControl_ will automatically use an internal GPS to display its own location on the map with a purple `Q` icon (if the GPS provides a heading, this will be also indicated by the icon). +It may also use the GPS as a location source for _Follow Me Mode_ - currently supported on [PX4 Multicopters only](https://docs.px4.io/en/flight_modes/follow_me.html). + +You can also configure QGC to connect to an external GPS device via a serial or UDP port. +The GPS device must support the ASCII NMEA format - this is normally the case. + +:::tip +A higher quality external GPS system may be useful even if the ground station has internal GPS support. +::: + +Use the _NMEA GPS Device_ drop-down selector to manually select the GPS device and other options: + +- USB connection: + + ![NMEA GPS Device - Serial](../../../assets/settings/general/nmea_gps_serial.jpg) + + - **NMEA GPS Device:** _Serial_ + - **NMEA GPS Baudrate**: The baudrate for the serial port + + :::tip + To troubleshoot serial GPS problems: Disable RTK GPS [auto connection](#auto_connect), close _QGroundControl_, reconnect your GPS, and open QGC. + ::: + +- Network connection: + + ![NMEA GPS Device - UDP](../../../assets/settings/general/nmea_gps_udp.jpg) + + - **NMEA GPS Device:** _UDP Port_. + - **NMEA Stream UDP Port**: The UDP port on which QGC will listen for NMEA data (QGC binds the port as a server) + +## RTK GPS {#rtk\_gps} + +This section allows you to specify the RTK GPS "Survey-in" settings, to save and reuse the result of a Survey-In operation, or to directly enter any other known position for the base station. + +![RTK GPS Settings](../../../assets/settings/general/rtk_gps.jpg) + +:::info +The _Survey-In_ process is a startup procedure required by RTK GPS systems to get an accurate estimate of the base station position. +The process takes measurements over time, leading to increasing position accuracy. +Both of the setting conditions must met for the Survey-in process to complete. +For more information see [RTK GPS](https://docs.px4.io/en/advanced_features/rtk-gps.html) (PX4 docs) and [GPS- How it works](http://ardupilot.org/copter/docs/common-gps-how-it-works.html#rtk-corrections) (ArduPilot docs). +::: + +:::tip +In order to save and reuse a base position (because Survey-In is time consuming!) perform Survey-In once, select _Use Specified Base Position_ and press **Save Current Base Position** to copy in the values for the last survey. +The values will then persist across QGC reboots until they are changed. +::: + +The settings are: + +- Perform Survey-In + - **Survey-in accuracy (U-blox only):** The minimum position accuracy for the RTK Survey-In process to complete. + - **Minimum observation duration:** The minimum time that will be taken for the RTK Survey-in process. +- Use Specified Base Position + - **Base Position Latitude:** Latitude of fixed RTK base station. + - **Base Position Longitude:** Longitude of fixed RTK base station. + - **Base Position Alt (WGS94):** Altitude of fixed RTK base station. + - **Base Position Accuracy:** Accuracy of base station position information. + - **Save Current Base Position** (button): Press to copy settings from the last Survey-In operation to the _Use Specified Base Position_ fields above. + +## ADSB Server {#adsb\_server} + +![ADSB\_Server Settings](../../../assets/settings/general/adbs_server.jpg) + +The settings are: + +- **Connect to ADSB SBS server**: Check to connect to ADSB server on startup. +- **Host address**: Host address of ADSB server +- **Server port**: Port of ADSB server + +QGC can consume ADSB messages in SBS format from a remote or local server (at the specified IP address/port) and display detected vehicles on the Fly View map. + +::: tip +One way to get ADSB information from nearby vehicles is to use [dump1090](https://github.com/antirez/dump1090) to serve the data from a connected RTL-SDR dongle to QGC. + +The steps are: + +1. Get an RTL-SDR dongle (and antenna) and attach it to your ground station computer (you may need to find compatible drivers for your OS). +2. Install _dump1090_ on your OS (either pre-built or build from source). +3. Run `dump1090 --net` to start broadcasting messages for detected vehicles on TCP localhost port 30003 (127.0.0.1:30003). +4. Enter the server (`127.0.0.1`) and port (`30003`) address in the QGC settings above. +5. Restart QGC to start seeing local vehicles on the map. + +::: + +## Video {#video} + +The _Video_ section is used to define the source and connection settings for video that will be displayed in _Fly View_. + +![Video settings](../../../assets/settings/general/video_udp.jpg) + +The settings are: + +- **Video Source**: Video Stream Disabled | RTSP Video Stream | UDP h.264 Video Stream | UDP h.265 Video Stream | TCP-MPEG2 Video Stream | MPEG-TS (h.264) Video Stream | Integrated Camera + + ::: info + If no video source is specified then no other video or _video recording_ settings will be displayed (above we see the settings when UDP source is selected). + ::: + +- **URL/Port**: Connection type-specific stream address (may be port or URL). + +- **Aspect Ratio**: Aspect ratio for scaling video in video widget (set to 0.0 to ignore scaling) + +- **Disabled When Disarmed**: Disable video feed when vehicle is disarmed. + +- **Low Latency Mode**: Enabling low latency mode reduces the video stream latency, but may cause frame loss and choppy video (especially with a poor network connection). + +## Video Recording + +The _Video Recording_ section is used to specify the file format and maximum allocated file storage for storing video. +Videos are saved to a sub-directory ("Video") of the [Application Load/Save Path](#load_save_path). + +![Video - without auto deletion](../../../assets/settings/general/video_recording.jpg) + +![Video - auto deletion](../../../assets/settings/general/video_recording_auto_delete.jpg) + +The settings are: + +- **Auto-Delete Files**: If checked, files are auto deleted when the specified amount of storage is used. +- **Max Storage Usage**: Maximum video file storage before video files are auto deleted. +- **Video File Format**: File format for the saved video recording: mkv, mov, mp4. + +## Brand Image + +This setting specifies the _brand image_ used for indoor/outdoor colour schemes. + +The brand image is displayed in place of the icon for the connected autopilot in the top right corner of the toolbar. +It is provided so that users can easily create screen/video captures that include a company logo/branding. + +![Brand Image](../../../assets/settings/general/brand_image.jpg) + +The settings are: + +- **Indoor Image**: Brand image used in [indoor color scheme](#colour_scheme) +- **Outdoor Image**: Brand image used in [outdoor color scheme](#colour_scheme) +- **Reset Default Brand Image**: Reset the brand image back to default. diff --git a/docs/fa/docs/en/qgc-user-guide/settings_view/mavlink.md b/docs/fa/docs/en/qgc-user-guide/settings_view/mavlink.md new file mode 100644 index 00000000000..05bf0cd5581 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/settings_view/mavlink.md @@ -0,0 +1,81 @@ +# MAVLink Settings + +The MAVLink settings (**SettingsView > MAVLink**) allow you to configure options and view information specific to MAVLink communications. +This includes setting the MAVLink system ID for _QGroundControl_ and viewing link quality. + +The screen also allows you to manage [MAVLink 2 Log Streaming](#logging) (PX4 only), including _automating log upload to Flight Review_! + +![MAVLink settings screen](../../../assets/settings/mavlink/overview.png) + +## Ground Station {#ground\_station} + +This section sets the MAVLink properties and behaviour of _QGroundControl_. + +![Ground Station](../../../assets/settings/mavlink/ground_station.png) + +- **MAVLink System ID:** System ID of _QGroundControl_ on the MAVLink network (Default: 255). + Vehicles are typically allocated IDs from 1. + You may have to specify another ID if there are multiple ground stations or MAVLink applications on the network. +- **Emit heartbeat:** Disable emission of regular MAVLink HEARTBEAT message (Default: True). + Generally speaking, you should not turn this off. +- **Only accept MAVs with the same protocol version:** Set true to only connect to MAVLink 1 or to MAVLink 2 vehicles (Default: True). +- **Enable MAVLink forwarding:** Enable _QGroundControl_ to forward MAVLink messages from connected vehicles to another UDP endpoint (Default: False). + Note that this forwarding is one-way: from QGC to the specified host. + Any MAVLink messages that are received from the specified host will be ignored. + +## Link Status {#link\_status} + +This shows the status of MAVLink message transfer over the communications link. +A high **Loss rate** may lead to protocol errors for things like parameter download or mission upload/download. + +![Link Status](../../../assets/settings/mavlink/link_status.jpg) + +## MAVLink 2 Logging (PX4 only) {#logging} + +The _MAVLink 2 Logging_ settings (PX4 only) configure real-time log streaming from PX4 to _QGroundControl_ and upload of logs to [Flight Review](https://logs.px4.io). + +:::warning +MAVLink 2 Logging cannot be used on "basic" setups because it requires a constant high-rate MAVLink connection to the vehicle (it _may_ work over WiFI but will _not_ work over a Telemetry link). +::: + +:::tip +In theory log streaming allows real time analysis of data. +At time of writing real-time analysis has not yet been implemented. +::: + +The log format is the same as for SD Card logs (downloaded using [Analyze View > Log Download](../analyze_view/log_download.md)), but actual data logged may be slightly different because log start/stop time is controlled by _QGroundControl_ and because some dropouts may occur when streaming over a lossy channel. + +The _MAVLink 2 Logging_ section allows you to manually start and stop logging, and to enable automatic capture of logs. + +![MAVLink 2 Logging](../../../assets/settings/mavlink/mavlink2_logging.jpg) + +The _MAVLink 2 Log Uploads_ section allows you configure uploading of MAVLink logs to [Flight Review](https://logs.px4.io). +You can specify all the fields that you would otherwise have to directly enter in the site, and also choose whether logs are automatically or manually uploaded. + +![MAVLink 2 Log Uploads](../../../assets/settings/mavlink/mavlink2_log_uploads.jpg) + +The fields are: + +- **Email address for Log Uploads:** _Flight Review_ will email you a link to the upload at this address. + This is important as otherwise you will have no way to access a non-public log after upload. +- **Default Description:** Description/name of flight used for log. +- **Default Upload URL:** URL for upload of the log/log metadata. + This is set by default to the _Flight Review_ URL. +- **Video URL:** (Optional) URL for video of flight associated with log. + This may be included on the Flight Review page to ease analysis. +- **Wind Speed:** Used to aid debugging and filtering (from multiple flights). Allowed values: _Calm_ | _Breeze_ | _Gale_ | _Storm_. +- **Flight Rating:** Used to aid debugging and filtering (from multiple flights). Allowed values: _Crashed (Pilot Error)_ | _Crashed (Software or Hardware Issue)_ | _Unsatisfactory_ | _Good_ | _Great_. +- **Additional Feedback:** (Optional). Enter a more detailed description of the flight or behaviour. +- **Make this log publically available:** If set, the log will be visible and searchable on _Flight Review_. + If not set, it will only be available via the link emailed on upload. +- **Enable automatic log uploads:** If set, the log will automatically be uploaded on completion. +- **Delete log file after uploading:** If set, the log will automatically deleted after upload. + +The _Saved Log Files_ section is used to manually manage log uploads. +Use the checkboxes and buttons to select logs, and either delete or upload them. + +:::tip +You can change the parameters in _MAVLink 2 Log Uploads_ above to specify separate descriptions for uploaded logs. +::: + +![Saved log files](../../../assets/settings/mavlink/saved_log_files.jpg) diff --git a/docs/fa/docs/en/qgc-user-guide/settings_view/offline_maps.md b/docs/fa/docs/en/qgc-user-guide/settings_view/offline_maps.md new file mode 100644 index 00000000000..a3c0384c15b --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/settings_view/offline_maps.md @@ -0,0 +1,14 @@ +# Offline Maps + +![](../../../assets/settings/offline_maps.jpg) + +Offline Maps allows you to cache map tiles for use when not connected to the Internet. You can create multiple offline sets, each for a different location. + +## Add new set + +To create a new offline map set, click "Add new set". Which will take you to this page: +![](../../../assets/settings/offline_maps_add.jpg) + +From here you can name your set as well as specify the zoom levels you want to cache. Move the map to the position you want to cache and then set the zoom levels and click Download to cache the tiles. + +To the left you can see previews of the min and max zoom levels you have chosen. diff --git a/docs/fa/docs/en/qgc-user-guide/settings_view/settings_view.md b/docs/fa/docs/en/qgc-user-guide/settings_view/settings_view.md new file mode 100644 index 00000000000..d370436affa --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/settings_view/settings_view.md @@ -0,0 +1,19 @@ +# Settings View + +The _Settings View_ is used to configure the settings for the _QGroundControl_ application (rather than a specific vehicle). You do not have to have a vehicle connected to change these values. + +You can switch between the various settings options by clicking the buttons in the left-sidebar. + +![](../../../assets/settings/settings_view.jpg) + +## Settings Options + +**[General](general.md)**
The main application configuration settings. These are used to specify: display units, autoconnection devices, video display and storage, RTK GPS, etc. + +**Comm Links**
Allows you to manually create communication links and connect to them. _Keep in mind that normally this is not needed since QGroundControl will automatically connect to the most common devices._ + +**[Offline Maps](offline_maps.md)**
Allows you to cache maps for use while you have no Internet connection. + +**[MAVLink](mavlink.md)**
Settings associated with the MAVLink connection to a vehicle. + +**[Console](console_logging.md)**
Used to capture application logs for help with diagnosing application problems. diff --git a/docs/fa/docs/en/qgc-user-guide/settings_view/virtual_joystick.md b/docs/fa/docs/en/qgc-user-guide/settings_view/virtual_joystick.md new file mode 100644 index 00000000000..33544050b15 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/settings_view/virtual_joystick.md @@ -0,0 +1,20 @@ +# Virtual Joystick + +_QGroundControl_ allows you to control a vehicle with on-screen virtual thumbsticks. These are displayed as shown below in the flight view. + +![QGroundControl Preferences > Enable Virtual Joystick](../../../assets/settings/joystick_virtual_joystick_displayed.jpg) + +:::info +Thumbstick control is not as responsive as using an RC Transmitter (because the information is sent over MAVLink). Another alternative is to use a [USB Joystick/Gamepad](../setup_view/joystick.md). +::: + +## Enable the thumbsticks + +To enable the virtual joysticks: + +1. Select the **Q** icon from the top toolbar +2. Open the **Application Settings** +3. Make sure you're on the **General** tab +4. Check the **Virtual joystick** box + + ![QGroundControl Application Settings > Enable Virtual joystick](../../../assets/settings/joystick_virtual_joystick_enable.png) diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/airframe.md b/docs/fa/docs/en/qgc-user-guide/setup_view/airframe.md new file mode 100644 index 00000000000..475afe234ed --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/airframe.md @@ -0,0 +1,7 @@ +# Airframe Setup + +This page allows you to configure the main airframe selection associated with your vehicle. +The view/process differs slightly based on the flight controller firmware used. + +- [Airframe (ArduPilot)](../setup_view/airframe_ardupilot.md) +- [Airframe (PX4)](../setup_view/airframe_px4.md) diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/airframe_ardupilot.md b/docs/fa/docs/en/qgc-user-guide/setup_view/airframe_ardupilot.md new file mode 100644 index 00000000000..d0dd811a1be --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/airframe_ardupilot.md @@ -0,0 +1,41 @@ +# Airframe Setup (ArduPilot) + +Airframe Setup is used to select the frame class and type that matches your vehicle + +:::info +Airframe Setup is only available on _ArduCopter_ and _ArduSub_ vehicles (it is not shown for _ArduPilot_ Rover or Plane vehicles). +::: + +## ArduCopter Airframe Setup + +To select the airframe in Copter: + +1. First select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Airframe** in the sidebar. + + ![Airframe config](../../../assets/setup/airframe/arducopter.jpg) + +2. Select the broad _Frame Class_ for your vehicle: + + ![Airframe type](../../../assets/setup/airframe/arducopter_class.jpg) + + ::: info + You will need to reboot the vehicle for class changes to take effect. + ::: + +3. Select the specific _Frame Type_ for your vehicle: + + ![Airframe type](../../../assets/setup/airframe/arducopter_type.jpg) + +## ArduSub Frame Setup {#ardusub} + +To select the frame type for Sub: + +1. First select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Frame** in the sidebar. +2. Select the frame type that matches your vehicle (selecting a frame applies the selection). +3. Make sure that all **green** thrusters have **clockwise** propellers and all **blue** thrusters have **counter-clockwise** propellers (or vice-versa). + + ![Select airframe type](../../../assets/setup/airframe_ardusub.jpg) + + - You can also click **Load Vehicle Default Parameters** to load default parameter set for ArduSub. + + ![Load vehicle params](../../../assets/setup/airframe_ardusub_parameters.jpg) diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/airframe_px4.md b/docs/fa/docs/en/qgc-user-guide/setup_view/airframe_px4.md new file mode 100644 index 00000000000..9a1dac51cb1 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/airframe_px4.md @@ -0,0 +1,19 @@ +# Airframe Setup (PX4) + +To select the airframe in PX4: + +1. Start _QGroundControl_ and connect the vehicle. + +2. Select **QGroundControl icon > Vehicle Setup > Airframe** (sidebar) to open _Airframe Setup_. + +3. Select the broad vehicle group/type that matches your airframe and then use the dropdown within the group to choose the airframe that best matches your vehicle. + + ![Airframe options](../../../assets/setup/airframe_px4/airframe_px4.jpg) + + The example above shows _Generic Hexarotor X geometry_ selected from the _Hexarotor X_ group. + +4. Click the **Apply and Restart** button on the top right of the screen. + +5. Click **Apply** in the following prompt to save the settings and restart the vehicle. + + diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/camera.md b/docs/fa/docs/en/qgc-user-guide/setup_view/camera.md new file mode 100644 index 00000000000..0a63044c0a2 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/camera.md @@ -0,0 +1,18 @@ +# Camera Setup + +The details of the page differ if you are using PX4 firmware or ArduPilot firmware. + +## ArduPilot Camera Setup + +![](../../../assets/setup/ardupilot_camera.jpg) + +## PX4 Camera Setup + +![PX4 Camera setup](../../../assets/setup/px4_camera.jpg) + +For more information see [Camera](http://docs.px4.io/master/en/peripherals/camera.html) (PX4 User Guide). + +:::info +The camera settings section is not available by default for FMUv2-based flight controllers (e.g. 3DR Pixhawk) because the camera module is not automatically included in firmware. +For more information see [this topic](http://docs.px4.io/master/en/advanced_config/parameters.html#parameter-not-in-firmware). +::: diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/firmware.md b/docs/fa/docs/en/qgc-user-guide/setup_view/firmware.md new file mode 100644 index 00000000000..0ca404450a4 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/firmware.md @@ -0,0 +1,49 @@ +# Loading Firmware + +_QGroundControl_ **desktop** versions can install [PX4 Pro](http://px4.io/) or [ArduPilot](http://ardupilot.com) firmware onto Pixhawk-family flight-controller boards. By default QGC will install the current stable version of the selected autopilot, but you can also choose to install beta builds, daily builds, or custom firmware files. + +_QGroundControl_ can also install the firmware for SiK Radios and PX4 Flow devices. + +> **Caution** Loading Firmware is currently not available on tablet or phone versions of _QGroundControl_. + +## Connect Device for Firmware Update + +> **Caution** **Before you start installing Firmware** all USB connections to your vehicle must be _disconnected_ (both direct or through a telemetry radio). The vehicle must _not be_ powered by a battery. + +1. First select the **Gear** icon (_Vehicle Setup_) in the top toolbar and then **Firmware** in the sidebar. + +![Firmware disconnected](../../../assets/setup/firmware/firmware_disconnected.jpg) + +1. Connect your device (Pixhawk, SiK Radio, PX4 Flow) directly to your computer via USB. + + ::: info + Connect directly to a powered USB port on your machine (do not connect through a USB hub). + ::: + +## Select Firmware to Load + +Once the device is connected you can choose which firmware to load (_QGroundControl_ presents sensible options based on the connected hardware). + +1. For a Pixhawk-compatible board choose either **PX4 Flight Stack vX.X.X Stable Release** or **ArduPilot Flight Stack** radio buttons to download the _current stable release_. + + ![Select PX4](../../../assets/setup/firmware/firmware_select_default_px4.jpg) + + If you select _ArduPilot_ you will also have to choose the specific firmware and the type of vehicle (as shown below). + + ![Select ArduPilot](../../../assets/setup/firmware/firmware_selection_ardupilot.jpg) + +2. Check **Advanced settings** to select specific developer releases or install firmware from your local file system. + + ![ArduPilot - Advanced Settings](../../../assets/setup/firmware/firmware_selection_advanced_settings.jpg) + +## Update the firmware + +1. Click the **OK** button to start the update. + + The firmware will then proceed through a number of upgrade steps (downloading new firmware, erasing old firmware etc.). + Each step is printed to the screen and overall progress is displayed on a progress bar. + + ![Firmware Upgrade Complete](../../../assets/setup/firmware/firmware_upgrade_complete.jpg) + +Once the firmware has finished loading the device/vehicle will reboot and reconnect. +Next you will need to configure the [airframe](../setup_view/airframe.md) (and then sensors, radio, etc.) diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/flight_modes.md b/docs/fa/docs/en/qgc-user-guide/setup_view/flight_modes.md new file mode 100644 index 00000000000..382c8bee975 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/flight_modes.md @@ -0,0 +1,62 @@ +# Flight Modes Setup + +The _Flight Modes_ section allows you to map flight modes to radio channel(s), and hence to the switches on your radio control transmitter. +Both flight mode setup and the available flight modes are different in PX4 and ArduPilot (and there are some differences between ArduCopter and ArduPlane). + +:::info +In order to set up flight modes you must already have already [configured your radio](../setup_view/radio.md), and [setup the transmitter](#transmitter-setup) (as shown below). +::: + +To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +For more flight stack specific setup see: + +- [ArduPilot Flight Modes Setup](../setup_view/flight_modes_ardupilot.md) +- [PX4 Flight Modes Setup](../setup_view/flight_modes_px4.md) + +## Transmitter Setup + +In order setup flight modes you will first need to configure your _transmitter_ to encode the physical positions of your mode switch(es) into a single channel. + +On both PX4 and ArduPilot you can assign up to 6 different flight modes to a single channel of your transmitter +It is common to use the positions of a 2- and a 3-position switch on the transmitter to represent the 6 flight modes. +Each combination of switches is then encoded as a particular PWM value that will be sent on a single channel. + +:::info +The single channel is selectable on PX4 and ArduPlane, but is fixed to channel 5 on Copter. +::: + +The process for this varies depending on the transmitter. +A number of setup examples are provided below. + +### Taranis + +These examples show several configurations for the _FrSky Taranis_ transmitter. + +#### Map 3-way Switch to a Single Channel + +If you only need to support selecting between two or three modes then you can map the modes to the positions just one 3-way switch. +Below we show how to map the Taranis 3-way "SD" switch to channel 5. + +Open the Taranis UI **MIXER** page and scroll down to **CH5**, as shown below: + +![Taranis - Map channel to switch](../../../assets/setup/flight_modes/taranis_single_channel_mode_selection_1.png) + +Press **ENT(ER)** to edit the **CH5** configuration then change the **Source** to be the _SD_ button. + +![Taranis - Configure channel](../../../assets/setup/flight_modes/taranis_single_channel_mode_selection_2.png) + +That's it! +Channel 5 will now output 3 different PWM values for the three different **SD** switch positions. + +#### Map Multiple Switches to a Single Channel + +Most transmitters do not have 6-way switches, so if you need to be able to support more modes than the number of switch positions available (up to 6) then you will have to represent them using multiple switches. +Commonly this is done by encoding the positions of a 2- and a 3-position switch into a single channel, so that each switch position combination results in a different PWM value. + +On the FrSky Taranis this process involves assigning a "logical switch" to each combination of positions of the two real switches. +Each logical switch is then assigned to a different PWM value on the same channel. + +This video shows how this is done with the _FrSky Taranis_ transmitter: https\://youtu.be/TFEjEQZqdVA + + diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/flight_modes_ardupilot.md b/docs/fa/docs/en/qgc-user-guide/setup_view/flight_modes_ardupilot.md new file mode 100644 index 00000000000..2f4978ced77 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/flight_modes_ardupilot.md @@ -0,0 +1,54 @@ +# ArduPilot Flight Mode Setup + +The _Flight Modes_ section allows you to configure which flight modes and other actions are triggered by particular switches/switch positions on your RC transmitter. + +::: info +In order to set up flight modes you must already have + +> - [Configured your radio](../setup_view/radio.md) in order to set flight modes. +> - [Setup the RC transmitter](../setup_view/FlightModes.md#transmitter-setup) (Flight Modes > Transmitter Setup)> ::: + +To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +![Flight modes setup - ArduCopter](../../../assets/setup/flight_modes/ardupilot_copter.jpg) + +## Flight Mode Settings + +On ArduPilot you can assign up to 6 different flight modes to a single channel of your transmitter (the channel is selectable on Plane, but fixed to channel 5 on Copter). +ArduCopter also allows you to specify additional _Channel Options_ for channels 7-12. +These allow you to assign functions to these switches (for example, to turn on a camera, or return to launch). + +To set the flight modes: + +1. Turn on your RC transmitter. + +2. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + + ![Flight modes setup - ArduCopter](../../../assets/setup/flight_modes/ardupilot_copter.jpg) + + ::: info + The above image is a screenshot of the flight mode setup for ArduCopter. + ::: + +3. Select up to 6 flight modes in the drop downs. + +4. **ArduCopter only:** Select additional _Channel Options_ for channels 7-12. + +5. **ArduPlane only:** Select the mode channel from the dropdown. + + ![Flight modes setup - ArduPlane](../../../assets/setup/flight_modes/ardupilot_plane.jpg) + +6. Test that the modes are mapped to the right transmitter switches by selecting each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode). + +All values are automatically saved as they are changed. + +::: info +The ArduCopter screenshot above shows a typical setup for a three position flight mode switch with an additional option of RTL being on a channel 7 switch. +You can also setup 6 flight modes using two switches plus mixing on your transmitter. Scroll down to the center section of this [page](http://ardupilot.org/copter/docs/common-rc-transmitter-flight-mode-configuration.html#common-rc-transmitter-flight-mode-configuration) for tutorials on how to do that. +::: + +## See Also + +- [ArduCopter Flight Modes](http://ardupilot.org/copter/docs/flight-modes.html) +- [ArduPlane Flight Modes](http://ardupilot.org/plane/docs/flight-modes.html) +- [ArduCopter > Auxiliary Function Switches](https://ardupilot.org/copter/docs/channel-7-and-8-options.html#channel-7-and-8-options) - additional information about channel configuration. diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/flight_modes_px4.md b/docs/fa/docs/en/qgc-user-guide/setup_view/flight_modes_px4.md new file mode 100644 index 00000000000..2fac3ae0d8e --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/flight_modes_px4.md @@ -0,0 +1,50 @@ +# PX4 Flight Modes Setup + +The _Flight Modes_ section allows you to configure which [flight modes](http://docs.px4.io/master/en/getting_started/flight_modes.html) and other actions are triggered by particular switches/switch positions on your RC transmitter. + +::: info +In order to set up flight modes you must already have + +- [Configured your radio](../setup_view/radio.md) in order to set flight modes. +- [Setup the RC transmitter](../setup_view/FlightModes.md#transmitter-setup) (Flight Modes > Transmitter Setup) + ::: + +To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +![Flight modes single-channel](../../../assets/setup/flight_modes/px4_single_channel.jpg) + +## Flight Mode Settings + +The screen allows you to specify a "mode" channel and select up to 6 flight modes that will be activated based on the value sent on the channel. +You can also assign a small number of channels to trigger particular actions, such as deploying landing gear, or emergency shutdown (kill switch). + +The steps are: + +1. Turn on your RC transmitter. + +2. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + + ![Flight modes single-channel](../../../assets/setup/flight_modes/px4_single_channel.jpg) + +3. Specify _Flight Mode Settings_: + + - Select the transmitter **Mode channel** (shown as Channel 5 above). + - Select up to six **Flight Modes** for switch positions encoded in the channel. + + ::: info + Position mode, return mode and mission mode [are recommended](https://docs.px4.io/master/en/config/flight_mode.html#what-flight-modes-and-switches-should-i-set). + ::: + +4. Specify _Switch Settings_: + + - Select the channels that you want to map to specific actions - _Kill switch_, landing gear, etc. (if you have spare switches and channels on your transmitter). + +5. Test that the modes are mapped to the right transmitter switches: + - Check the _Channel Monitor_ to confirm that each switch moves the expected channel. + - Select each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode). + +All values are automatically saved as they are changed. + +## See Also + +- [PX4 Flight Modes](https://docs.px4.io/en/flight_modes/) diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/joystick.md b/docs/fa/docs/en/qgc-user-guide/setup_view/joystick.md new file mode 100644 index 00000000000..ffd4be052c0 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/joystick.md @@ -0,0 +1,205 @@ +# Joystick Setup + +_QGroundControl_ allows you to control a vehicle using a joystick or gamepad instead of an RC Transmitter. + +:::info +Flying with a Joystick (or [virtual thumb-sticks](../settings_view/virtual_joystick.md)) requires a reliable high bandwidth telemetry channel to ensure that the vehicle is responsive to joystick movements (because joystick information is sent over MAVLink). +::: + +:::info +Joystick and Gamepad support is enabled using the cross-platform [SDL2](http://www.libsdl.org/index.php) library. +Compatibility with a particular controller depends on SDL (all buttons that are exposed by that API are displayed through the _QGroundControl_ UI). +A [number of common joysticks and gamepads](#supported-joysticks) are known to work. +::: + +:::info +The joystick is _enabled_ as the last step of the calibration process. +::: + +## Enabling PX4 Joystick Support + +To enable Joystick support in PX4 you need to set the parameter \[`COM_RC_IN_MODE`]\(h[ttp://localhost:8080/px4\_user\_guide/en](https://docs.px4.io/en/main/advanced_config/parameter_reference.html#COM_RC_IN_MODE) to `1` - _Joystick_. +If this parameter is `0` then _Joystick_ will not be offered as a setup option. + +This is enabled by default for PX4 SITL builds (see the [Parameters](../setup_view/parameters.md) topic for information on how to find and set a particular parameter). + +## Ardupilot Joystick Support + +All ArduPilot vehicles are supported. No parameter configuration is necessary. + +## Configuring the Joystick {#configure} + +To configure a joystick: + +1. Start _QGroundControl_ and connect to a vehicle. + +2. Connect the Joystick or Gamepad to a USB port. + +3. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Joystick** in the sidebar. + The screen below will appear. + + ![Joystick setup - PlayStation](../../../assets/setup/joystick_sony_playstation.jpg) + +4. Make sure your joystick is selected in the **Active joystick** dropdown. + +5. Go to the **Calibrate** Tab, press the **Start** button and then follow the on-screen instructions to calibrate/move the sticks. + + ![Joystick setup - Calibration](../../../assets/setup/joystick_calibration.jpg) + + The joystick is _enabled_ as the last step of the calibration process. + +6. Test the buttons and sticks work as intended by pressing them, and viewing the result in the Axis/Button monitor in the **General** tab. + +7. Select the flight modes/vehicle functions activated by each joystick button. + ![Joystick setup - Buttons](../../../assets/setup/joystick_buttons.jpg) + +## Advanced Options + +Some additional Options are available at the **Advanced** tab. +These options may be useful for specific, unsual setups, for increasing sensibility, and for handling noisy joysticks. + +### Throttle Options + +![Joystick setup - Throttle Modes](../../../assets/setup/joystick_throttle_modes.jpg) + +- **Center stick is zero throttle**: Centered or lowered stick sends 0 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), raised stick sends 1000. + - **Spring loaded throttle smoothing**: In this mode you control not the throttle itself, but the rate at which it increases/decreases. + This is useful for setups where the throttle stick is spring loaded, as the user can hold the desired throttle while releasing the stick. +- **Full down stick is zero throttle**: In this mode, lowered stick sends 0 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), centered stick 500, and raised 1000. +- **Allow negative thrust**: When in **Center stick is zero throttle** mode, this allows the user to send negative values by lowering the stick. + So that lowered stick sends -1000 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), centered sends zero, and raised stick sends 1000. + This mode is only enabled for vehicles that support negative thrust, such as [Rover](http://ardupilot.org/rover/index.html). + +### Expo + +The expo slider allows you to make the sticks less sensitive in the center, allowing finer control in this zone. + +![Joystick setup - Expo](../../../assets/setup/joystick_throttle_expo.jpg) + +The slider adjusts the curvature of the exponential curve. + +![Joystick setup - Expo Curve](../../../assets/setup/joystick_throttle_expo_curve.jpg) + +The higher the Expo value, the flatter the curve is at the center, and steeper it is at the edges. + +### Advanced Settings + +The advanced settings are not recommended for everyday users. +They can cause unpredicted results if used incorrectly. + +![Joystick setup - Advanced Settings](../../../assets/setup/joystick_advanced.jpg) + +The following settings are available: + +- **Enable Gimbal Control**: Enabled two additional channels for controlling a gimbal. + +- **Joystick Mode**: Changes what the joystick actually controls, and the MAVLink messages sent to the vehicle. + + - **Normal**: User controls as if using a regular RC radio, MAVLink [MANUAL\_CONTROL](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL) messages are used. + - **Attitude**: User controls the vehicle attitude, MAVLink [SET\_ATTITUDE\_TARGET](https://mavlink.io/en/messages/common.html#SET_ATTITUDE_TARGET) messages are used. + - **Position**: User controls the vehicle position, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **position** only are used. + - **Force**: User controls the forces applied to the vehicle, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **force** only are used. + - **Velocity**: User controls the forces applied to the vehicle, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **velocity** only are used. + +- **Axis Frequency**: When the joystick is idle (inputs are not changing), the joystick commands are sent to the vehicle at 5Hz. When the joystick is in use (input values are changing), the joystick commands are sent to the vehicle at the (higher) frequency configured by this setting. The default is 25Hz. + +- **Button Frequency**: Controls the frequency at which repeated button actions are sent. + +- **Enable Circle Correction**: RC controllers sticks describe a square, while joysticks usually describe a circle. + When this option is enabled a square is inscribed inside the joystick movement area to make it more like an RC controller (so it is possible to reach all four corners). The cost is decreased resolution, as the effective stick travel is reduced. + + - **Disabled:** When this is **disabled** the joystick position is sent to the vehicle unchanged (the way that it is read from the joystick device). + On some joysticks, the (roll, pitch) values are confined to the space of a circle inscribed inside of a square. + In this figure, point B would command full pitch forward and full roll right, but the joystick is not able to reach point B because the retainer is circular. + This means that you will not be able to achieve full roll and pitch deflection simultaneously. + + ![](../../../assets/setup/joystick_circle_correction.jpg) + + - **Enabled:** The joystick values are adjusted in software to ensure full range of commands. + The usable area of travel and resolution is decreased, however, because the area highlighted grey in the figure is no longer used. + + ![Circle correction enabled](../../../assets/setup/joystick_circle_correction2.jpg) + +- **Deadbands:** Deadbands allow input changes to be ignored when the sticks are near their neutral positions. + This helps to avoid noise or small oscillations on sensitive sticks which may be interpreted as commands, or small offsets when sticks do not re-center well. + They can be adjusted during the first step of the [calibration](#configure), or by dragging vertically on the corresponding axis monitor. + +## Supported Joysticks + +The following joysticks/controllers have been shown to work with relatively recent _QGroundControl_ builds. + +### Sony Playstation 3/4 Controllers + +Both these joysticks are highly recommended. +They work well "out of the box" and have many buttons that you can map to flight modes. + +#### Sony PS4 - DualShock 4 Controller V2 (Wireless setup) + +This controller supports both USB and Bluetooth wireless connection. +Wired USB connection usually works out of the box. +The wireless connection needs some setup. + +##### Linux Ubuntu setup + +To make the controller work wirelessly under Linux the [jstest-gtk](https://jstest-gtk.gitlab.io/) and [ds4drv](https://github.com/chrippa/ds4drv) utilities are needed. + +The steps are: + +1. Install _jstest-gtk_: + ``` + sudo apt install jstest-gtk + ``` +2. Install _ds4drv_: + ``` + sudo pip install ds4drv + ``` +3. Run ds4drv + ``` + sudo ds4drv + ``` +4. Hold **Share** button and then **PS** button until controller LED starts blinking rapidly. + The _ds4drv_ should then detect a new device. +5. Last of all, you should check the controller setup by running the _jstest-gtk_ utility. + +### FrSky Taranis XD9 plus + +The _FrSky Taranis XD9 plus_ remote control can also be connected as a joystick. +You will need to connect it via the USB port on the back. + +The Taranis does not allow you to use button options (to be precise, you can set the options, but toggling the buttons on your transmitter does not cause them to be pressed). + +:::info +The Taranis is an open system that is openly being worked on. +It is possible that at time of writing there is a firmware or configuration that allows it to work effectively as a joystick. +::: + +### Logitech Gamepad F310 + +The Logitech Gamepad F310 has been tested via USB on MacOSX "Sierra". + +### Logitech Extreme 3D Pro + +The [Logitech Extreme 3D Pro](http://gaming.logitech.com/en-ch/product/extreme-3d-pro-joystick) Joystick has been tested on all platforms (Linux, Windows, Mac OSX). +This is a single stick controller that can also be twisted. The main stick axes are used for pitch and roll, while the twist action is used for yaw. The throttle is mapped onto a separate wheel. + +### Logitech F710 Gamepad + + + +This gamepad is great for flying a multirotor manually via QGroundControl. It works on Windows, Linux and Mac OS. + +#### Mac OS Leopard / Lion Setup + +The F710 is detected under Leopard / Lion but is not automatically configured as an input device. +In order to get a working configuration, the F710 has to be recognised as _Rumblepad2_. + +First check how it is recognised: **Apple > About this Mac > Additional Information > System Report > USB**. +It is detected as "Logitech Cordless RumblePad 2" then nothing further needs to be done. + +If it is detected as a "Logitech Wireless 710", perform these steps: + +1. Unplug the USB receiver of the gamepad +2. Prepare to quickly plug it into a USB port +3. Hit the Logitech button (its silver with the Logitech Logo on it in the center of the pad) +4. Quickly connect the USB receiver to your Mac +5. The pad should now be detected in the system report as "Logitech Cordless RumblePad 2". If not, retry the above steps. diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/motors.md b/docs/fa/docs/en/qgc-user-guide/setup_view/motors.md new file mode 100644 index 00000000000..e190dca8b4e --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/motors.md @@ -0,0 +1,34 @@ +# Motor Setup + +Motor Setup is used to test individual motors/servos (for example, to verify that motors spin in the correct direction). + +:::tip +These instructions apply to PX4 and to most vehicle types on ArduPilot. +Vehicle-specific instructions are provided as sub-topics (e.g. [Motors Setup (ArduSub)](../setup_view/motors_ardusub.md)). +::: + +![Motors Test](../../../assets/setup/Motors.png) + +## Test Steps + +To test the motors: + +1. Remove all propellers. + + ::: warning + You must remove props before activating the motors! + ::: + +2. (_PX4-only_) Enable safety switch - if used. + +3. Slide the switch to enable motor sliders (labeled: _Propellers are removed - Enable motor sliders_). + +4. Adjust the individual sliders to spin the motors and confirm they spin in the correct direction. + + ::: info + The motors only spin after you release the slider and will automatically stop spinning after 3 seconds. + ::: + +## Additional Information + +- [Basic Configuration > Motor Setup](http://docs.px4.io/master/en/config/motors.html) (_PX4 User Guide_) - This contains additional PX4-specific information. diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/motors_ardusub.md b/docs/fa/docs/en/qgc-user-guide/setup_view/motors_ardusub.md new file mode 100644 index 00000000000..469d8995821 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/motors_ardusub.md @@ -0,0 +1,43 @@ +# Motors Setup (ArduSub) + +In order for ArduSub to function properly, the motors must be correctly set up. + +If you just assembled your ROV, first make sure that the thrusters are connected to the correct outputs in the **Manual Test** section. +Drag each slider and make sure that the _correct motor_ spins accordingly to the frame displayed. + +Once you know that the thrusters are connected to the proper outputs you can check for _correct direction_ (forward/reverse) using either [automatic direction detection](#automatic) (recommended from ArduSub 4.0) or the [manual test](#manual). + +:::info +[Manual Test](#manual) is supported by ArduSub up to 3.5, while ArduSub 4.0 supports both [Manual Test](#manual) and [automatic direction detection](#automatic). +::: + +## Manual Test {#manual} + +The ArduSub motor setup allows you to test individual motors. +The sliders allow spinning each motor in forward or reverse mode, and the checkboxes under the sliders allow reversing the operation of individual thrusters. + +The image at the right shows the frame currently in use, along with the location and orientation of each thruster. +If the frame selection does not match your vehicle, first select the correct frame in the [Frame](../setup_view/airframe_ardupilot.md#ardusub) tab. + +To manually set up and test the motors, read and follow the instructions on the page. + +:::warning +Make sure the motors and propellers are clear from obstructions before sliding the switch to arm the vehicle and enable the test! +::: + +![Ardusub Motors Test](../../../assets/setup/motors-sub.jpg) + +## Automatic Direction Detection {#automatic} + +Ardusub 4.0 and newer support automatic detection of the motor directions. +This works by applying pulses to each motor, checking if the frame reacts as expected, and reversing the motor if necessary. +The process takes around one minute. + +To perform the automatic motor direction detection, navigate to **Vehicle Setup->Motors** tab, click the **Auto-Detect Directions** button and wait. +Additional output about the process will be shown next to the button as it runs. + +:::warning +This procedure still requires that the motors are connected to the _correct outputs_ as shown in the frame view! +::: + +![Ardusub Motors Auto-Setup](../../../assets/setup/motors-sub-auto.jpg) diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/parameters.md b/docs/fa/docs/en/qgc-user-guide/setup_view/parameters.md new file mode 100644 index 00000000000..8c12411227b --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/parameters.md @@ -0,0 +1,43 @@ +# Parameters + +The _Parameters_ screen allows you to find and modify any of the parameters associated with the vehicle. + +![Parameters Screen](../../../assets/setup/parameters_px4.jpg) + +:::info +PX4 Pro and ArduPilot use different parameter sets, but they are both managed as described in this section. +::: + +## Finding a Parameter + +The parameters are organized in groups. Select a group of parameters to view by clicking on the buttons to the left (in the image above the _Battery Calibration_ group is selected). + +You can also _search_ for a parameter by entering a term in the _Search_ field. This will show you a list of all parameter names and descriptions that contain the entered substring (press **Clear** to reset the search). + +![Parameters Search](../../../assets/setup/parameters_search.jpg) + +## Changing a Parameter + +To change the value of a parameter click on the parameter row in a group or search list. This will open a side dialog in which you can update the value (this dialog also provides additional detailed information about the parameter - including whether a reboot is required for the change to take effect). + +![Changing a parameter value](../../../assets/setup/parameters_changing.png) + +:::info +When you click **Save** the parameter is automatically and silently uploaded to the connected vehicle. Depending on the parameter, you may then need to reboot the flight controller for the change to take effect. +::: + +## Tools + +You can select additional options from the **Tools** menu on the top right hand side of the screen. + +![Tools menu](../../../assets/setup/parameters_tools_menu.png) + +**Refresh**
Refresh the parameter values by re-requesting all of them from the vehicle. + +**Reset all to defaults**
Reset all parameters to their original default values. + +**Load from file / Save to file**
Load parameters from an existing file or save your current parameter settings to a file. + +**Clear RC to Param**
This clears all associations between RC transmitter controls and parameters. For more information see: [Radio Setup > Param Tuning Channels](../setup_view/Radio.md#param-tuning-channels-px4). + +**Reboot Vehicle**
Reboot the vehicle (required after changing some parameters). diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/power.md b/docs/fa/docs/en/qgc-user-guide/setup_view/power.md new file mode 100644 index 00000000000..a87b436a697 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/power.md @@ -0,0 +1,53 @@ +# Power Setup + +The _Power Setup_ screen is used to configure battery parameters and also provide advanced settings for propellers. + +![Battery Calibration](../../../assets/setup/px4_power.jpg) + +## Battery Voltage/Current Calibration + +Enter data for your battery/power module from its data sheet: number of cells, full voltage per cell, empty voltage per cell. If provided, also enter voltage divider and amps-per-volt information. + +_QGroundControl_ can be used to calculate appropriate voltage divider and amps-per-volt values from measurements: + +1. Measure the voltage from the battery using a multimeter. +2. Click **Calculate** next to the _Voltage divider_ field. On the prompt that appears: +3. Enter the measured voltage. +4. Click **Calculate** to generate a new voltage-divider value. +5. Click **Close** to save the value into the main form. +6. Measure the current from the battery. +7. Click **Calculate** next to the _Amps per volt_ field. On the prompt that appears: +8. Enter the measured current. +9. Click **Calculate** to generate a new _amps per volt_ value. +10. Click **Close** to save the value into the main form. + +## Advanced Power Settings + +Click the **Show Advanced Settings** checkbox to specify advanced power settings. + +### Voltage Drop on Full Load + +Batteries show less voltage at high throttle. Enter the difference in Volts between idle throttle and full throttle, divided by the number of battery cells. The default value should be used if unsure! + +:::warning +If the value is too high the battery may be deep-discharged and damaged. +::: + +## ESC PWM Minimum and Maximum Calibration + +To calibrate the ESC max/min PWM values: + +1. Remove the propellers. +2. Connect the vehicle to QGC via USB (only). +3. Click the **Calibrate** button. + +::: warning +Never attempt ESC calibration with props on. + +Motors should not spin during ESC calibration. +However if an ESC doesn't properly support/detect the calibration sequence then it will respond to the PWM input by running the motor at maximum speed. +::: + +## Other Settings + +Select the **Show UAVCAN Settings** checkbox to access additional settings for UAVCAN Bus Configuration and motor index and direction assignment. diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/radio.md b/docs/fa/docs/en/qgc-user-guide/setup_view/radio.md new file mode 100644 index 00000000000..94c73c6ee7c --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/radio.md @@ -0,0 +1,131 @@ +# Radio Setup + +Radio Setup is used to configure the mapping of your main transmitter attitude control sticks (roll, pitch, yaw, throttle) to channels, and to calibrate the minimum, maximum, trim and reverse settings for all other transmitter controls/RC channels. + +The main calibration process is identical for PX4 and ArduPilot (a number of additional flight-controller specific settings/tools are [detailed below](#additional-radio-setup)). + +:::info +Before you can calibrate the radio system the receiver and transmitter must be connected/bound. The process for binding a transmitter and receiver pair is hardware specific (see your manual for instructions). +::: + +## Performing the Calibration + +The calibration process is straightforward - you will be asked to move the sticks in a specific pattern that is shown on the transmitter diagram on the top right of the screen. Simply follow the instructions to complete calibration. + +To calibrate the radio: + +1. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Radio** in the sidebar. + +2. Turn on your RC transmitter. + +3. Press **OK** to start the calibration. + + ![Radio setup - before starting](../../../assets/setup/radio_start_setup.jpg) + + ::: info + The image above is for PX4 Pro. Calibration/top section is the same for both firmware, but the _Additional Radio setup_ section will differ. + ::: + +4. Set the _transmitter mode_ radio button that matches your transmitter configuration (this ensures that _QGroundControl_ displays the correct stick positions for you to follow during calibration). + + ![Radio setup - move sticks](../../../assets/setup/radio_sticks_throttle.jpg) + +5. Move the sticks to the positions indicated in the text (and on the transmitter image). Press **Next** when the sticks are in position. Repeat for all positions. + +6. When prompted, move all other switches and dials through their full range (you will be able to observe them moving on the _Channel Monitor_). + +7. Press **Next** to save the settings. + +Radio calibration is demonstrated in the [PX4 setup video here](https://youtu.be/91VGmdSlbo4?t=4m30s) (youtube). + +## Additional Radio Setup + +At the lower part of the _Radio Setup_ screen is firmware-specific _Additional Radio setup_ section. The options for each autopilot are shown below. + +| PX4 | ArduPilot | +| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| | | + +### Spectrum Bind (ArduPilot/PX4) + +Before you can calibrate the radio system the receiver and transmitter must be connected/bound. If you have a _Spektrum_ receiver you can put it in _bind mode_ using _QGroundControl_ as shown below (this can be particularly useful if you don't have easy physical access to the receiver on your vehicle). + +To bind a Spektrum transmitter/receiver: + +1. Select the **Spektrum Bind** button + +2. Select the radio button for your receiver + +3. Press **OK** + + ![Spektrum Bind](../../../assets/setup/radio_additional_setup_spectrum_bind_select_channels.jpg) + +4. Power on your Spektrum transmitter while holding down the bind button. + +### Copy Trims (PX4) + +This setting is used to copy the manual trim settings from your radio transmitter so that they can be applied automatically within the autopilot. After this is done you will need to remove the manually set trims. + +To copy the trims: + +1. Select **Copy Trims**. + +2. Center your sticks and move throttle all the way down. + +3. Press **Ok**. + + ![Copy Trims](../../../assets/setup/radio_additional_radio_setup_copy_trims_px4.jpg) + +4. Reset the trims on your transmitter back to zero. + +### AUX Passthrough Channels (PX4) + +AUX passthrough channels allow you to control arbitrary optional hardware from your transmitter (for example, a gripper). + +To use the AUX passthrough channels: + +1. Map up to 2 transmitter controls to separate channels. +2. Specify these channels to map to the AUX1 and AUX2 ports respectively, as shown below. Values are saved to the vehicle as soon as they are set. + + ![AUX1 and AUX2 RC passthrough channels](../../../assets/setup/radio_additional_setup_aux_passthrough_channels_px4.jpg) + +The flight controller will pass through the unmodified values from the specified channels out of AUX1/AUX2 to the connected servos/relays that drive your hardware. + +### Param Tuning Channels (PX4) + +Tuning channels allow you to map a transmitter tuning knob to a parameter (so that you can dynamically modify a parameter from your transmitter). + +:::tip +This feature is provided to enable manual in-flight tuning. +::: + +The channels used for parameter tuning are assigned in the _Radio_ setup (here!), while the mapping from each tuning channel to its associated parameter is defined in the _Parameter editor_. + +To set up tuning channels: + +1. Map up to 3 transmitter controls (dials or sliders) to separate channels. +2. Select the mapping of _PARAM Tuning Id_ to radio channels, using the selection lists. Values are saved to the vehicle as soon as they are set. + + ![Map radio channels to tuning channels](../../../assets/setup/radio_additional_radio_setup_param_tuning_px4.jpg) + +To map a PARAM tuning channel to a parameter: + +1. Open the **Parameters** sidebar. + +2. Select the parameter to map to your transmitter (this will open the _Parameter Editor_). + +3. Check the **Advanced Settings** checkbox. + +4. Click the **Set RC to Param...** button (this will pop-up the foreground dialog displayed below) + + ![Map tuning channels to parameters](../../../assets/setup/parameters_radio_channel_mapping_px4.jpg) + +5. Select the tuning channel to map (1, 2 or 3) from the _Parameter Tuning ID_ selection list. + +6. Press **OK** to close the dialog. + +7. Press **Save** to save all changes and close the _Parameter Editor_. + +:::tip +You can clear all parameter/tuning channel mappings by selecting menu **Tools > Clear RC to Param** at the top right of the _Parameters_ screen. +::: diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/safety.md b/docs/fa/docs/en/qgc-user-guide/setup_view/safety.md new file mode 100644 index 00000000000..f58ec5e50e5 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/safety.md @@ -0,0 +1,13 @@ +# Safety Setup + +The _Safety Setup_ page allows you to configure the most important failsafe settings (other failsafe settings can be set via the [parameters](../setup_view/parameters.md) described in the failsafe documentation for each vehicle type). + +For ArduPilot safety page information see: [Safety (ArduPilot)](../setup_view/safety_ardupilot.md) + +The PX4 page is shown below. + +![Safety Setup - PX4](../../../assets/setup/px4_safety.jpg) + +:::info +For additional PX4 safety settings and information see: [Safety Configuration](https://docs.px4.io/en/config/safety.html). +::: diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/safety_ardupilot.md b/docs/fa/docs/en/qgc-user-guide/setup_view/safety_ardupilot.md new file mode 100644 index 00000000000..10719356fbc --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/safety_ardupilot.md @@ -0,0 +1,200 @@ +# Safety Setup (ArduPilot) + +The _Safety Setup_ page allows you to configure (vehicle specific) failsafe settings. + +:::tip +The setup page covers the most important safety options; other failsafe settings can be set via the [parameters](../setup_view/parameters.md) described in the failsafe documentation for each vehicle type. +::: + +:::tip +_QGroundControl_ does not support polygon fences or rally points on ArduPilot. +::: + +## Copter + +The Copter safety page is shown below. + +![Safety Setup - Copter (Ardupilot)](../../../assets/setup/safety/safety_arducopter.jpg) + +:::info +For additional safety settings and information see: [Failsafe](http://ardupilot.org/copter/docs/failsafe-landing-page.html). +::: + +### Battery Failsafe {#battery\_failsafe\_copter} + +This panel sets the [Battery Failsafe](http://ardupilot.org/copter/docs/failsafe-battery.html) parameters. +You can set low and critical thresholds for voltage and/or remaining capacity and define the action if the failsafe value is breached. +The thresholds can be disabled by setting them to zero. + +:::tip +If there is a second battery (enabled in the [Power Setup](../setup_view/power.md)) a second panel will be displayed with the same settings. +::: + +![Safety Setup - Battery1 Failsafe Triggers (Copter)](../../../assets/setup/safety/safety_arducopter_battery1_failsafe_triggers.jpg) + +The configuration options are: + +- **Low action** ([BATT\_FS\_LOW\_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-low-act-low-battery-failsafe-action)) - Select one of: None, Land, RTL, SmartRTL, SmartRTL or Land, Terminate. +- **Critical action** ([BATT\_FS\_CRT\_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-crt-act-critical-battery-failsafe-action)) - Select one of: None, Land, RTL, SmartRTL, SmartRTL or Land, Terminate. +- **Low voltage threshold** ([BATT\_LOW\_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-low-volt-low-battery-voltage)) - Battery voltage that triggers the _low action_. +- **Critical voltage threshold** ([BATT\_CRT\_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-crt-volt-critical-battery-voltage))- Battery voltage that triggers the _critical action_. +- **Low mAh threshold** ([BATT\_LOW\_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-low-mah-low-battery-capacity)) - Battery capacity that triggers the _low action_. +- **Critical mAh threshold** ([BATT\_CRT\_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-crt-mah-battery-critical-capacity)) - Battery capacity that triggers the _critical action_. + +### General Failsafe Triggers {#failsafe\_triggers\_copter} + +This panel enables the [GCS Failsafe](http://ardupilot.org/copter/docs/gcs-failsafe.html) +and enables/configures the throttle failsafe. + +![Safety Setup - General Failsafe Triggers (Copter)](../../../assets/setup/safety/safety_arducopter_general_failsafe_triggers.jpg) + +The configuration options are: + +- **Ground Station failsafe** - Disabled, Enabled always RTL, Enabled Continue with Mission in Auto Mode, Enabled Always SmartRTL or RTL, Enabled Always SmartRTL or Land. +- **Throttle failsafe** - Disabled, Always RTL, Continue with Mission in Auto Mode, Always land. +- **PWM Threshold** ([FS\_THR\_VALUE](http://ardupilot.org/copter/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. + +### Geofence {#geofence\_copter} + +This panel sets the parameters for the cylindrical [Simple Geofence](http://ardupilot.org/copter/docs/ac2_simple_geofence.html). +You can set whether the fence radius or height are enabled, the maximum values for causing a breach, and the action in the event of a breach. + +![Safety Setup - Geofence (Copter)](../../../assets/setup/safety/safety_arducopter_geofence.jpg) + +The configuration options are: + +- **Circle GeoFence enabled** ([FENCE\_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE\_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - Enable the circular geofence. +- **Altitude GeoFence enabled** ([FENCE\_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE\_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - Enable altitude geofence. +- Fence action ([FENCE\_ACTION](http://ardupilot.org/copter/docs/parameters.html#fence-action-fence-action)) One of: + - **Report only** - Report fence breach. + - **RTL or Land** - RTL or land on fence breach. +- **Max radius** ([FENCE\_RADIUS](http://ardupilot.org/copter/docs/parameters.html#fence-radius-circular-fence-radius)) - Circular fence radius that when broken causes RTL. +- **Max altitude** ([FENCE\_ALT\_MAX](http://ardupilot.org/copter/docs/parameters.html#fence-alt-max-fence-maximum-altitude))- Fence maximum altitude to trigger altitude geofence. + +### Return to Launch {#rtl\_copter} + +This panel sets the [RTL Mode](http://ardupilot.org/copter/docs/rtl-mode.html) behaviour. + +![Safety Setup - RTL (Copter)](../../../assets/setup/safety/safety_arducopter_return_to_launch.jpg) + +The configuration options are: + +- Select RTL return altitude ([RTL\_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): + - **Return at current altitude** - Return at current altitude. + - **Return at specified altitude** - Ascend to specified altitude to return if below current altitude. +- **Loiter above home for** ([RTL\_LOIT\_TIME](http://ardupilot.org/copter/docs/parameters.html#rtl-loit-time-rtl-loiter-time)) - Check to set a loiter time before landing. +- One of + - **Land with descent speed** ([LAND\_SPEED](http://ardupilot.org/copter/docs/parameters.html#land-speed-land-speed)) - Select final descent speed. + - **Final loiter altitude** ([RTL\_ALT\_FINAL](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-final-rtl-final-altitude)) - Select and set final altitude for landing after RTL or mission (set to 0 to land). + +### Arming Checks {#arming\_checks\_copter} + +This panel sets which [Pre-ARM Safety Checks](http://ardupilot.org/copter/docs/prearm_safety_check.html) are enabled. + +![Safety Setup - Arming Checks (Copter)](../../../assets/setup/safety/safety_arducopter_arming_checks.jpg) + +The configuration options are: + +- **Arming Checks to perform** ([ARMING\_CHECK](http://ardupilot.org/copter/docs/parameters.html#arming-check-arm-checks-to-peform-bitmask)) - Check all appropriate: Barometer, Compass, GPS lock, INS, Parameters, RC Channels, Board voltage, Battery Level, Airspeed, Logging Available, Hardware safety switch, GPS Configuration, System. + +## Plane + +The Plane safety page is shown below. + +![Safety Setup - Plane (Ardupilot)](../../../assets/setup/safety/safety_arduplane.jpg) + +:::info +For additional safety settings and information see: [Plane Failsafe Function](http://ardupilot.org/plane/docs/apms-failsafe-function.html) and [Advanced Failsafe Configuration](http://ardupilot.org/plane/docs/advanced-failsafe-configuration.html). +::: + +### Battery Failsafe {#battery\_failsafe\_plane} + +The plane battery failsafe is the same as for copter except there are different options for the [Low](http://ardupilot.org/plane/docs/parameters.html#batt-fs-low-act-low-battery-failsafe-action) and [Critical](http://ardupilot.org/plane/docs/parameters.html#batt-fs-crt-act-critical-battery-failsafe-action) actions: None, RTL, Land, Terminate. + +For more information see: [battery failsafe](#battery_failsafe_copter) (copter). + +### Failsafe Triggers {#failsafe\_triggers\_plane} + +This panel enables the [GCS Failsafe](http://ardupilot.org/plane/docs/advanced-failsafe-configuration.html#ground-station-communications-loss) and enables/configures the throttle failsafe. + +![Safety Setup - Failsafe Triggers (Plane)](../../../assets/setup/safety/safety_arduplane_failsafe_triggers.jpg) + +The configuration options are: + +- **Throttle PWM threshold** ([THR\_FS\_VALUE](http://ardupilot.org/plane/docs/parameters.html#thr-fs-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. +- **GCS failsafe** ([FS\_GCS\_ENABL](http://ardupilot.org/plane/docs/parameters.html#fs-gcs-enabl-gcs-failsafe-enable)) - Check to enable GCS failsafe. + +### Return to Launch {#rtl\_plane} + +This panel sets the [RTL Mode](http://ardupilot.org/copter/docs/rtl-mode.html) behaviour. + +![Safety Setup - RTL (Plane)](../../../assets/setup/safety/safety_arduplane_return_to_launch.jpg) + +The configuration options are: + +- Select RTL return altitude ([RTL\_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): + - **Return at current altitude** - Return at current altitude. + - **Return at specified altitude** - Ascend to specified altitude to return if below current altitude. + +### Arming Checks {#arming\_checks\_plane} + +[Arming Checks](#arming_checks_copter) are the same as for copter. + +## Rover + +The Rover safety page is shown below. + +![Safety Setup - Rover (Ardupilot)](../../../assets/setup/safety/safety_ardurover.jpg) + +:::info +For additional safety settings and information see: [Failsafes](http://ardupilot.org/rover/docs/rover-failsafes.html). +::: + +### Battery Failsafe {#battery\_failsafe\_rover} + +The rover battery failsafe is the same as for [copter](#battery_failsafe_copter). + +### Failsafe Triggers {#failsafe\_triggers\_rover} + +This panel enables the rover [Failsafes](http://ardupilot.org/rover/docs/rover-failsafes.html). + +![Safety Setup - Failsafe Triggers (Rover)](../../../assets/setup/safety/safety_ardurover_failsafe_triggers.jpg) + +The configuration options are: + +- **Ground Station failsafe** ([FS\_GCS\_ENABL](http://ardupilot.org/rover/docs/parameters.html#fs-gcs-enable-gcs-failsafe-enable)) - Check to enable GCS failsafe. +- **Throttle failsafe** ([FS\_THR\_ENABLE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-enable-throttle-failsafe-enable)) - Enable/disable throttle failsafe (value is _PWM threshold_ below). +- **PWM threshold** ([FS\_THR\_VALUE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. +- **Failsafe Crash Check** ([FS\_CRASH\_CHECK](http://ardupilot.org/rover/docs/parameters.html#fs-crash-check-crash-check-action)) - What to do in the event of a crash: Disabled, Hold, HoldAndDisarm + +### Arming Checks {#arming\_checks\_rover} + +[Arming Checks](#arming_checks_copter) are the same as for copter. + +## Sub + +The Sub safety page is shown below. + +![Safety Setup - Sub (Ardupilot)](../../../assets/setup/safety/safety_ardusub.jpg) + +:::info +For additional safety settings and information see: [Failsafes](https://www.ardusub.com/operators-manual/failsafes.html). +::: + +### Failsafe Actions {#failsafe\_actions\_sub} + +The configuration options are: + +- **GCS Heartbeat** - Select one of: Disabled, Warn only, Disarm, Enter depth hold mode, Enter surface mode. +- **Leak** - Select one of: Disabled, Warn only, Enter surface mode. + - **Detector Pin** - Select one of: Disabled, Pixhawk Aux (1-6), Pixhawk 3.3ADC(1-2), Pixhawk 6.6ADC. + - **Logic when Dry** - Select one of: Low, High. +- **Battery** - ?. +- **EKF** - Select one of: Disabled, Warn only, Disarm. +- **Pilot Input** - Select one of: Disabled, Warn only, Disarm. +- **Internal Temperature** - Select one of: Disabled, Warn only. +- **Internal Pressure** - Select one of: Disabled, Warn only. + +### Arming Checks {#arming\_checks\_sub} + +[Arming Checks](#arming_checks_copter) are the same as for copter. diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/sensors.md b/docs/fa/docs/en/qgc-user-guide/setup_view/sensors.md new file mode 100644 index 00000000000..4d7869856bf --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/sensors.md @@ -0,0 +1,15 @@ +# Sensors + +The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors +(the available sensors will depend on the autopilot firmware and vehicle type). + +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. + +Click on the button for each sensor to start its calibration sequence. + +Flight stack specific instructions are provided in the following topics: + +- [Sensors (ArduPilot)](../setup_view/sensors_ardupilot.md) +- [Sensors (PX4)](../setup_view/sensors_px4.md) diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/sensors_ardupilot.md b/docs/fa/docs/en/qgc-user-guide/setup_view/sensors_ardupilot.md new file mode 100644 index 00000000000..5aa8d72b3d4 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/sensors_ardupilot.md @@ -0,0 +1,123 @@ +# Sensor Setup (ArduPilot) + +The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors +(the available sensors will depend on the vehicle type). + +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. + +Click on the button for each sensor to start its calibration sequence. + +![Sensors Setup screen Copter](../../../assets/setup/sensor/sensor_setup_overview_ardupilot.jpg) + +## Accelerometer {#accelerometer} + +To calibrate the flight controller accelerometers you will be asked to place and hold your vehicle a number of orientations (you will be prompted when to move between positions). + +The calibration steps are: + +1. Click the **Accelerometer** sensor button. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_ardupilot.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Click **OK** to start the calibration. + +3. Position the vehicle based on text instructions in the center display. + Click the **Next** button to capture each position. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_positions_ardupilot.jpg) + +## Compass {#compass} + +ArduPilot uses onboard calibration support that allows for more accurate calibration. + +:::info +Older ArduPilot firmware can be calibrated using the [same process as PX4](../setup_view/sensors_px4.md#compass). +::: + +You need to rotate the vehicle randomly around all axes until the progress bar fills all the way to the right and the calibration completes. When the calibration completes you will get the following results: + +![ArduPilot Compass Calibration Onboard Result](../../../assets/setup/sensor_compass_ardupilot_onboard_calibration_result.jpg) + +This shows you the quality of the calibration for each compass. Using these values you can determine whether you may want to turn off usage of poorly performing compasses. + +## Level Horizon {#level\_horizon} + +If the horizon (as shown in the HUD) is not level after completing accelerometer calibration you can calibrate the level horizon for your vehicle. +You will be asked to place the vehicle in a level orientation while it captures the information. + +1. Click the **Level Horizon** sensor button. + ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Place the vehicle in its level flight orientation on a level surface: + +- For planes this is the position during level flight (planes tend to have their wings slightly pitched up!) +- For copters this is the hover position. + +1. Click **OK** to start the calibration. + +## Pressure/Barometer {#pressure} + +This calibration set's the altitude to zero at the current pressure. + +To perform **Pressure** calibration: + +1. Click the **Calibrate Pressure** button and then **Ok**. + + ![Calibrate Pressure](../../../assets/setup/sensor/calibrate_pressure_ardupilot.jpg) + + The calibration result is immediately displayed: + + ![Calibrate Pressure Result](../../../assets/setup/sensor/calibrate_pressure_result_ardupilot.jpg) + +## CompassMot (Optional) + +CompassMot calibration is optional! It is recommended for vehicles that only have an internal compass and when there is significant interference on the compass from the motors, power wires, etc. +CompassMot only works well if you have a battery current monitor because the magnetic interference is linear with current drawn. + +To perform **CompassMot** calibration: + +1. Click the **CompassMot** sensor button. + + + +2. Follow the onscreen prompts. + + ![CompassMot calibration](../../../assets/setup/sensor_compass_mot.jpg) + +## Sensor Settings {#sensor\_settings} + +The _Sensor Settings_ section allows you to specify the compass orientation and which compasses are enabled. + +:::tip +You can skip this section if the flight controller and compass are mounted upright on the vehicle and facing the front (this is the default orientation - `ROTATION_NONE`). +::: + +If the autopilot/compass are mounted in any other way you will need to specify their orientations as YAW, PITCH and/or ROLL offsets relative to the forward-facing-upright orientation (clock-wise rotation around the Z, Y and X axis, respectively). + +![Flight Controller Orientation](../../../assets/setup/flight_controller_orientation.png) + +For example, the image below are at orientations: `ROTATION_NONE`, `ROTATION_YAW_90`,`ROTATION_YAW_180`,`ROTATION_YAW_270`. + +![Flight controller yaw rotation](../../../assets/setup/flight_controller_yaw_rotation.png) + +To set the orientation(s) and compasses used: + +1. Select the **Sensor Settings** button. + + ![Sensor Settings](../../../assets/setup/sensor/sensor_settings_ardupilot.jpg) + +2. Select the **AutoPilot Orientation**. + +3. Select the _orientation_ from **Compass 1 (primary/external) > Orientation** (or check **Compass2 (secondary, external) > Use Compass** to instead use the internal compass). + +4. Press **OK**. diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/sensors_px4.md b/docs/fa/docs/en/qgc-user-guide/setup_view/sensors_px4.md new file mode 100644 index 00000000000..de46f62fe63 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/sensors_px4.md @@ -0,0 +1,163 @@ +# Sensor Setup (PX4) + +The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors +(the available sensors will depend on the vehicle type). + +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. + +Click on the button for each sensor to start its calibration sequence. + +![Sensors Setup screen for VTOL vehicle](../../../assets/setup/sensors_px4_vtol.jpg) + +:::info +The image shown is from a VTOL vehicle running PX4 firmware. +Other autopilot firmware and vehicles will offer slightly different options. +::: + +## Compass {#compass} + +The process guides you to position the vehicle in a number of set orientations and rotate the vehicle about the specified axis. + +The calibration steps are: + +1. Click the **Compass** sensor button + ![Select Compass calibration PX4](../../../assets/setup/sensor_compass_select_px4.jpg) + + ::: info + The default flight controller orientation is `ROTATION_NONE` (flight controller and compass mounted upright on the vehicle and facing the front). + You can set a different value here or in [Set Orientations](#flight_controller_orientation). + ::: + +2. Click **OK** to start the calibration. + +3. Place the vehicle in any of the orientations shown in red (incomplete) and hold it still. + Once prompted (the orientation-image turns yellow) rotate the vehicle around the specified axis in either/both directions. + Once the calibration is complete in that orientation the associated image on the screen will turn green. + ![Compass calibration steps on PX4](../../../assets/setup/sensor_compass_calibrate_px4.jpg) + +4. Repeat the calibration process for all vehicle orientations. + +Once you've rotated the vehicle in all the positions _QGroundControl_ will display _Calibration complete_ (all orientation images will be displayed in green and the progress bar will fill completely) +You can then proceed to the next sensor. + +## Gyroscope {#gyroscope} + +You will be guided to place the vehicle on a flat surface and keep it still. + +The calibration steps are: + +1. Click the **Gyroscope** sensor button + ![Select Gyroscope calibration PX4](../../../assets/setup/sensor/gyroscope_calibrate_px4.jpg) + +2. Place the vehicle on a surface and leave it still. + +3. Click **Ok** to start the calibration. + + The bar at the top shows the progress: + + ![Gyro calibration in progress on PX4](../../../assets/setup/sensor/gyroscope_calibrate_progress_px4.jpg) + +4. When finished, _QGroundControl_ will display _Calibration complete_ and the progress bar will fill completely. + ![Gyro calibration complete on PX4](../../../assets/setup/sensor/gyroscope_calibrate_complete_px4.jpg) + +:::info +If you move the vehicle during calibration, _QGroundControl_ will automatically restart the calibration. +::: + +You can then proceed to the next sensor. + +## Accelerometer {#accelerometer} + +To calibrate the flight controller accelerometers you will be asked to place and hold your vehicle a number of orientations (you will be prompted when to move between positions). + +The calibration steps are: + +1. Click the **Accelerometer** sensor button. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_px4.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Click **OK** to start the calibration. + +3. Position the vehicle as guided by the _images_ on the screen. This is very similar to compass calibration. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_positions_px4.jpg) + +4. Repeat the calibration process for all vehicle orientations. + +Once you've rotated the vehicle in all the positions _QGroundControl_ will display _Calibration complete_. + +You can then proceed to the next sensor. + +## Level Horizon + +If the horizon (as shown in the HUD) is not level after completing accelerometer calibration you can calibrate the level horizon for your vehicle. +You will be asked to place the vehicle in a level orientation while it captures the information. + +1. Click the **Level Horizon** sensor button. + ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Place the vehicle in its level flight orientation on a level surface: + +- For planes this is the position during level flight (planes tend to have their wings slightly pitched up!) +- For copters this is the hover position. + +1. Click **OK** to start the calibration. + +## Airspeed {#airspeed} + +The airspeed calibration needs to read a stable baseline with 0 airspeed in order to determine an offset. +Cup your hands over the pitot to block any wind (if calibrating the sensor indoors this is not needed) and then blow into the tube using your mouth (to signal completion of the calibration). + +To calibrate the airspeed sensor: + +1. Click the **Airspeed** sensor button + + ![Airspeed calibration](../../../assets/setup/sensors_airspeed.jpg) + +2. Cover the sensor (i.e. with your hand) + + ::: warning + Do not touch the sensor (obstruct any holes) during calibration. + ::: + +3. Click **OK** to start the calibration. + +4. Blow into the sensor. + +5. Wait for 2-3 seconds before removing the covering (calibration completes silently after several seconds) + +## Set Orientations {#flight\_controller\_orientation} + +:::tip +You can skip this section if the flight controller and compass are mounted upright on the vehicle and facing the front (this is the default orientation - `ROTATION_NONE`). +::: + +If the autopilot/compass are mounted in any other way you will need to specify their orientations as YAW, PITCH and/or ROLL offsets relative to the forward-facing-upright orientation (clock-wise rotation around the Z, Y and X axis, respectively). + + + +For example, the image below are at orientations: `ROTATION_NONE`, `ROTATION_YAW_90`,`ROTATION_YAW_180`,`ROTATION_YAW_270`. + + + +To set the orientation(s) on PX4: + +1. Select the **Set Orientations** button. + + + +2. Select the **AutoPilot Orientation**. + +3. Select the **External Compass Orientation** (this option will only be displayed if there is an external compass). + +4. Press **OK**. diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/setup_view.md b/docs/fa/docs/en/qgc-user-guide/setup_view/setup_view.md new file mode 100644 index 00000000000..6b3d32e9ecc --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/setup_view.md @@ -0,0 +1,37 @@ +# Setup View + +The Setup View is used to configure a new vehicle prior to first flight and/or tune a configured vehicle. + +![](../../../assets/setup/setup_view.jpg) + +## Setup Options + +To the left of the screen are the set of available setup options. A setup button is marked with a red icon if there are still settings needed to be adjusted/specified. You should not fly if any of these are red. In the above image the Radio setup is not yet complete. + +:::info +The set of options shown and the contents of each option may differ based on whether the vehicle is running PX4 Pro or ArduPilot firmware. The image above is from a vehicle which is running PX4 Pro firmware. +::: + +**Summary**
An overview of all the important setup options for your vehicle. Similar to the individual setup buttons, the summary blocks show a red indicator when those settings are not fully configured. + +**[Firmware](firmware.md)**
Flash new firmware onto your vehicle. + +**[Airframe](airframe.md)**
Specify the airframe type for the vehicle. + +**[Radio](radio.md)**
Calibrate your Radio Control Transmitter. + +**[Sensors](sensors.md)**
Calibrate the sensors on the vehicle. + +**[Flight Modes](flight_modes.md)**
Used to assign flight modes to your RC Transmitter switches. + +**[Power](power.md)**
Battery settings and additional power options such as ESC calibration. + +**[Motors](motors.md)**
Motors testing and setup. + +**[Safety](Safety.md)**
Specify settings for options related to Safety such as Return to Home or Failsafes. + +**[Tuning](tuning.md)**
Tune flight characteristics of the vehicle. + +**[Camera](camera.md)**
Configure settings for camera and gimbal. + +**[Parameters](parameters.md)**
Allows you to modify all parameters associated with your vehicle.

diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/tuning.md b/docs/fa/docs/en/qgc-user-guide/setup_view/tuning.md new file mode 100644 index 00000000000..13032afc2c0 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/tuning.md @@ -0,0 +1,7 @@ +# Tuning Setup + +The Tuning page allows you to configure settings on your vehicle which control basic flight characteristics. +The details differ depending on flight stack: + +- [Tuning (ArduPilot)](../setup_view/tuning_ardupilot.md) +- [Tuning (PX4)](../setup_view/tuning_px4.md) diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/tuning_arducopter.md b/docs/fa/docs/en/qgc-user-guide/setup_view/tuning_arducopter.md new file mode 100644 index 00000000000..242f58b2417 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/tuning_arducopter.md @@ -0,0 +1,48 @@ +# ArduCopter Tuning + +![ArduCopter Tuning Page](../../../assets/setup/tuning/arducopter.png) + +## Basic Tuning + +Adjust the flight characteristics by moving the desired slider to the left or right. + +## AutoTune + +AutoTune is used to automatically tune the rate parameters in order to provide the highest response without significant overshoot. + +Performing an AutoTune: + +- Select which axes you would like to tune. + + ::: tip + Tuning all axes at once can take a significant amount of time, which may cause you to run out of battery. + To prevent this choose to tune only one axis at a time. + ::: + +- Assign AutoTune to one of your transmitter switches. + Ensure that switch is in low position before taking off. + +- Take off and put the copter into AltHold. + +- Turn on AutoTune with your transmitter switch. + +- The copter will twitch around the specified axes for a few minutes. + +- When AutoTune completes the copter will change back to the original settings. + +- Move the AutoTune switch back to low position and then back to high to test the new settings. + +- Move the AutoTune switch to low to test previous settings. + +- To save new settings, land and disarm while AutoTune switch is in high position. + +Note: + +- Since AutoTune is done in AltHold your copter must already have a tuning which is minimally flyable in AltHold. + You can cancel AutoTune at any time by moving the AutoTune switch back to low position. +- You can reposition the copter using your transmitter at any time during AutoTune. + +### In-Flight Tuning + +This is an advanced option which allows you to tune a flight control parameter using one of your transmitter dial channels. +Select the control option from the dropdown and specify the min/max for the values to assign to the dial. diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/tuning_ardupilot.md b/docs/fa/docs/en/qgc-user-guide/setup_view/tuning_ardupilot.md new file mode 100644 index 00000000000..53d84b08bbf --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/tuning_ardupilot.md @@ -0,0 +1,4 @@ +# Tuning (ArduPilot) + +- [Tuning (ArduCopter)](../setup_view/tuning_arducopter.md) +- [Tuning (ArduSub)](../setup_view/tuning_ardusub.md) diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/tuning_ardusub.md b/docs/fa/docs/en/qgc-user-guide/setup_view/tuning_ardusub.md new file mode 100644 index 00000000000..0745cf3190e --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/tuning_ardusub.md @@ -0,0 +1,17 @@ +# ArduSub Tuning + +![ArduSub Tuning Page](../../../assets/setup/tuning/ardusub.jpg) + +## Basic Tuning + +This page allows changing the PID controller gains to better suit your vehicle and application. Changing these may help you get a snappier response for more precise movements, or a smoother response for recording cinematic footages. Adjust a parameter by moving the desired slider, or by clicking the increase/decrease buttons. There are three controllers that can be adjusted here: + +- [**Attitude Controller Parameters**](https://www.ardusub.com/operators-manual/full-parameter-list.html#atc-parameters) are the parameters for the controller responsible for keeping the vehicle oriented as you want it, assuming your vehicle has ability (enough motors/DOF) to do so. + +- **Position Controller Parameters** are the parameters for the controller responsible for positioning the vehicle at a point in 3D space. The **Z** parameters control how the depth control works (eg in [_Depth Hold_](https://www.ardusub.com/operators-manual/flight-modes.html#depth-hold) mode). The **XY** parameters affect how the vehicle controls the horizontal position in [_Position Enabled_](https://www.ardusub.com/operators-manual/flight-modes.html#position-enabled-modes) modes. + +- **Waypoint Navigation Parameters** are the parameters for the controller responsible for following waypoints in **Auto** and **Guided** mode. + + ::: warning + **Guided** and **Auto** modes are currently unsupported and some features are disabled in QGC. + ::: diff --git a/docs/fa/docs/en/qgc-user-guide/setup_view/tuning_px4.md b/docs/fa/docs/en/qgc-user-guide/setup_view/tuning_px4.md new file mode 100644 index 00000000000..76ed41fd803 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/setup_view/tuning_px4.md @@ -0,0 +1,135 @@ +# Tuning (PX4) + +Tuning only needs to be done once, and is recommended unless you're using vehicle that has already been tuned by the manufacturer (and not modified since). + +[Auto-tuning](#autotune) should generally be used for frame types and controllers that support it (multicopter, fixed wing, and hybrid VTOL fixed wing vehicles). +The tuning UI also supports manual tuning of all controllers. + +![Tuning Setup > Autotune](../../../assets/setup/tuning/px4_autotune_hero.png) + +:::info +During [Airframe Setup](../config/airframe.md) you should have selected the frame that most closely matches your vehicle. +This will usually be tuned well enough to fly, and it _may_ also be sufficiently well tuned to run autotuning. +::: + +## Autotune + +Auto-tuning automates the process of tuning the PX4 rate and attitude controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional"). + +:::info +This guide shows the default usage of this feature. +Additional information and configuration can be found in the [PX4 Autotuning Guide](http://docs.px4.io/master/en/config/autotune.html) (PX4 User Guide). +::: + +### Pre-Autotuning Test + +Auto-tuning is performed while flying. +The vehicle must be able to fly and adequately stabilize itself before running auto-tune. +This test ensures that the vehicle can fly safely in position controlled modes. + +To make sure the vehicle is stable enough for auto-tuning: + +1. Perform a normal preflight safety checklist to ensure the flight zone is clear and has enough space. +2. Takeoff and prepare for the test + - **Multicopters:** Take off and hover at 1m above ground in **Altitude mode** or Stabilized mode. + - **Fixed-wing mode:** Take off and fly at cruise speed in **Position mode** or **Altitude mode**. +3. Use the RC transmitter roll stick to perform the following maneuver, tilting the vehicle just a few degrees: _roll left > roll right > center_ (The whole maneuver should take about 3 seconds). + The vehicle should stabilise itself within 2 oscillations. +4. Repeat the maneuver, tilting with larger amplitudes at each attempt. + If the vehicle can stabilise itself within 2 oscillations at \~20 degrees move to the next step. +5. Repeat the same maneuvers but on the pitch axis. + As above, start with small angles and confirm that the vehicle can itself within 2 oscillations before increasing the tilt. + +If the drone can stabilize itself within 2 oscillations it is ready for the auto-tuning procedure. + +If not, see the [PX4 User Guide > Autotuning > Troubleshooting](http://docs.px4.io/master/en/config/autotune.html#troubleshooting). + +### Auto-tuning procedure + +The auto-tuning sequence must be performed in a **safe flight zone, with enough space**. +It takes about 40 seconds (between 19 and 68 seconds). +For best results, we recommend running the test in calm weather conditions. + +:::info +Be ready to abort the autotuning process by moving the RC controller sticks. +::: + +The test steps are: + +1. Perform the [pre-tuning test](#pre-tuning-test) above. + +2. Takeoff using RC control and prepare for test: + - **Multicopters:** Takeoff using the remote controller in **Altitude mode**. + Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m). + - **VTOL in Fixed-wing mode:** Once flying at cruise speed, activate **Hold Mode**. + This will guide the plane to fly in circle at constant altitude and speed. + +3. In QGroundControl, open the menu: **Vehicle setup > PID Tuning** + + ![Tuning Setup > Autotune Enabled](../../../assets/setup/tuning/px4_autotune.png) + +4. Select either the _Rate Controller_ or _Attitude Controller_ tabs. + Ensure that the **Autotune enabled** button is enabled (this will display the **Autotune** button and remove the manual tuning selectors). + +5. Stop moving the joysticks and click on the **Autotune** button. + Read the warning popup and click on **OK** to start tuning. + +6. The drone will first start to perform quick roll motions followed by pitch and yaw motions. + The progress is shown in the progress bar, next to the _Autotune_ button. + +7. Apply the tuning: + - **Fixed Wing:** The tuning will be immediately/automatically be applied and tested in flight (by default). + PX4 will then run a 4 second test and revert the new tuning if a problem is detected. + - **Multicopters:** Manually land and disarm to apply the new tuning parameters. + Takeoff carefully and manually test that the vehicle is stable. + +8. If any strong oscillations occur, land immediately and follow the instructions in [PX4 User Guide > Autotuning > Troubleshooting](http://docs.px4.io/master/en/config/autotune.html#troubleshooting). + +
+ + + +A video of the process is shown below: + + + +## Manual Tuning + +Manual tuning is done in-flight, so your vehicle must already be tuned well enough to fly with (this is normally the case if you have selected an appropriate default airframe). + +The instructions below explain how you can use the manual tuning UI. +It is designed to be read/used in conjustion with the [PX4 Manual PID Tuning Guides](http://docs.px4.io/master/en/config/autotune.html#see-also), which provide more detailed hints on the kinds of step sizes to use when changing PID values. + +In overview: + +1. Takeoff using RC control and prepare for test: + - **Multicopters:** Takeoff using the remote controller in **Altitude mode**. + Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m). + - **Fixed-wing:** Once flying at cruise speed, activate **Hold Mode**. + This will guide the plane to fly in circle at constant altitude and speed. + +2. In QGroundControl, open the menu: **Vehicle setup > PID Tuning** + +3. Select the _Rate Controller_ tab. + Ensure that the **Autotune enabled** button is is turned off. + + ![PX4 Tuning - Manual - Rate controller](../../../assets/setup/tuning/px4_copter_manual_rate.png) + +4. Select the _Tuning axis_ to tune: **Roll**, **Pitch** or **Yaw** (each axis is tuned separately). + +5. Fly the vehicle, observing the tracking on the chart. + - Adjust the _Tuning Values_ (parameters) to improve the tracking shown on the graph using the slider. + - The values are automatically saved, but you may wish to use the **Save to Clipboard** and **Restore from Clipboard** buttons to store the last known good configuration. + - You can also **Clear**/**Stop** the chart using the buttons provided. + +6. Tune the other axes. + +7. Switch to the other controllers and repeat the process. + Screenshots of the tuning pages are shown below. + + ![PX4 Tuning - Manual - Attitude controller](../../../assets/setup/tuning/px4_copter_manual_attitude.png) + ![PX4 Tuning - Manual - Velocity controller](../../../assets/setup/tuning/px4_copter_manual_velocity.png) + ![PX4 Tuning - Manual - Position controller](../../../assets/setup/tuning/px4_copter_manual_velocity.png) diff --git a/docs/fa/docs/en/qgc-user-guide/support/support.md b/docs/fa/docs/en/qgc-user-guide/support/support.md new file mode 100644 index 00000000000..0a379a572f9 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/support/support.md @@ -0,0 +1,57 @@ +# Support + +This user guide is meant to be the main provider of support for _QGroundControl_. +If you find incorrect or missing information please report an [Issue](https://github.com/mavlink/qgc-user-guide/issues). + +_Questions_ about how to use _QGroundControl_ should be raised in the discussion forum for the associated flight stack: + +- [PX4 Pro Flight Stack](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-usage) (discuss.px4.io). +- [ArduPilot Flight Stack](http://discuss.ardupilot.org/c/ground-control-software/qgroundcontrol) (discuss.ardupilot.org). + +These forums are also the best place to start discussions on bugs/problems you are having with _QGroundControl_ and or feature requests you would like to make. From there you may be directed to entering information in a GitHub Issue for further resolution. + +### Developer Chat {#developer\_chat} + +_QGroundControl_ developers (and many regular/deeply-involved users) can be found on the [#QGroundControl channel on the Dronecode Discord](https://discord.gg/dronecode). + +## GitHub Issues + +Issues are used to track bugs against _QGroundControl_ as well as feature requests for later versions. The current list of issues can be found on [GitHub here](https://github.com/mavlink/qgroundcontrol/issues). + +:::info +Please contact our developers using the support forums **before** creating GitHub issues for either bugs or feature requests. +::: + +### Reporting Bugs + +If you are directed to create an issue, please use the "Bug report" template and provide all information specified in the template. + +##### Reporting Crashes from Windows Builds + +When QGC crashes a crash dump file will be place in the Users LocalAppData directory. To navigate to that directory use the Start/Run command. You can bring this up window WinKey+R. Type into that `%localappdata%` for Open and click Ok. Crash dumps will be in a `QGCCrashDumps` folder in that directory. You should find a new **.dmp** file there. Add a link to that file in a GitHub Issue when reporting you problem. + +##### Reporting Hangs from Windows Builds + +If Windows is telling you the _QGroundControl program is unresponsive_ use the following steps to report the hang: + +1. Open _Task Manager_ (right-click TaskBar, select **Task Manager**) +2. Switch to the Processes tab and local **qgroundcontrol.exe** +3. Right-click on **groundcontrol.exe** and select **Create Dump File** +4. Place the dump file in a public location +5. Add a link to the **.dmp** file and above details in the GitHub issue. + +### Feature Requests + +If you are directed to create a feature request after discussion on support forums please use the "Feature request" template which has some helpful information on required details. + +## Troubleshooting + +Troubleshooting information is linked from [here](../troubleshooting/index.md). + +### Console Logging + +_Console Logs_ can be helpful when diagnosing _QGroundControl_ problems. For more information see: [Console Logging](../settings_view/console_logging.md). + +## Help Improve these Docs! + +Just like _QGroundControl_ itself, the user guide is an open source, user created and supported GitBook. We welcome [Pull Requests](https://github.com/mavlink/qgc-user-guide/pulls) against the guide for fixes and/or updates. diff --git a/docs/fa/docs/en/qgc-user-guide/toolbar/toolbar.md b/docs/fa/docs/en/qgc-user-guide/toolbar/toolbar.md new file mode 100644 index 00000000000..f5e666186d2 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/toolbar/toolbar.md @@ -0,0 +1,37 @@ +# Main Toolbar + +The main toolbar provides access to select the different application views, and high level status information for connected vehicles. +The toolbar is the same in all views except for "PlanView" (which has a single icon to take you back to "Fly" view). + +## View-select icons + +The following icons are used to switch between the main _Views_. These are displayed even if no vehicle is connected. + +![Settings view icon](../../../assets/toolbar/toolbar_view_select_settings.jpg) **[Settings](../settings_view/settings_view.md)**
Configure the _QGroundControl_ application. + +![Setup view icon](../../../assets/toolbar/toolbar_view_select_setup.jpg) **[Setup](../setup_view/setup_view.md)**
Configure and tune your vehicle. + +![Plan view icon](../../../assets/toolbar/toolbar_view_select_plan.jpg) **[Plan](../plan_view/plan_view.md)**
Create autonomous missions. + +![Fly icon](../../../assets/toolbar/toolbar_view_select_fly.jpg) **[Fly](../fly_view/fly_view.md)**
Monitor your vehicle(s) while flying, including streaming video. + +![Analyze icon](../../../assets/toolbar/toolbar_view_select_analyse.jpg) **[Analyze](../analyze_view/index.md)**
Download logs, geotag images from a survey mission, access the MAVLink console. + +## Status icons + +Status icons are displayed when _QGroundControl_ is connected to a vehicle. +These show the high level status of the vehicle, and can be clicked to see more detailed information. + +![](../../../assets/toolbar/toolbar_status_message.jpg) ![yield](../../../assets/toolbar/toolbar_status_critical.jpg) **Vehicle Messages**
Click to show a list of messages from the vehicle. Note that version on the right is displayed when there are critical messages. + +![](../../../assets/toolbar/toolbar_status_gps.jpg) **GPS Status**
Shows you satellite count and curent HDOP. + +![](../../../assets/toolbar/toolbar_status_rc.jpg) **RC RSSI**
RC signal strength information. + +![](../../../assets/toolbar/toolbar_status_telemetry.jpg) **Telemetry RSSI**
Telemetry signals strength information. + +![](../../../assets/toolbar/toolbar_status_battery.jpg) **Battery**
Remaining battery percent. + +![](../../../assets/toolbar/toolbar_status_flight_mode.jpg) **Flight Mode**
Current flight mode. Click to change flight mode. + +![](../../../assets/toolbar/toolbar_status_rtk_gps.jpg) **RTK GPS Survey-In Status**
Shows you progress of RTK GPS Survey-In process. diff --git a/docs/fa/docs/en/qgc-user-guide/troubleshooting/index.md b/docs/fa/docs/en/qgc-user-guide/troubleshooting/index.md new file mode 100644 index 00000000000..81150a50b89 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/troubleshooting/index.md @@ -0,0 +1,8 @@ +## Troubleshooting + +Troubleshooting information is provided in two sections: + +- [QGC Setup](../troubleshooting/qgc_setup.md) - Troubleshooting _QGroundControl_ installation and setup. +- [QGC Usage](../troubleshooting/qgc_usage.md) - Troubleshooting problems when **using** _QGroundControl_ to interact with a vehicle. + +If your questions are still unresolved, please check the [Support](../support/support.md) page for more information on getting help. diff --git a/docs/fa/docs/en/qgc-user-guide/troubleshooting/parameter_download.md b/docs/fa/docs/en/qgc-user-guide/troubleshooting/parameter_download.md new file mode 100644 index 00000000000..547c9f1ae27 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/troubleshooting/parameter_download.md @@ -0,0 +1,15 @@ +# Parameter Download failures + +The majority of parameter download failures are caused by a communication link which is noisy and has a high loss rate. +Although the parameter protocol has retry logic for such a case it will eventually give up. +At which point you will get an error stating that QGC was unable to retrieve the full set or parameters. + +Although you can still fly the vehicle in this state it is not recommended. +Also the vehicle setup pages will not be available. + +You can see the loss rate for your link from the [Settings View > MAVLink](../settings_view/mavlink.md) page. +Even a loss rate in the high single digits can lead to intermittent failures of the plan protocols. +Higher loss rates could leads to 100% failure. + +There is also the more remote possibility of either firmware or QGC bugs. +To see the details of the back and forth message traffic of the protocol you can turn on [Console Logging](../settings_view/console_logging.md) for the Parameter Protocol. diff --git a/docs/fa/docs/en/qgc-user-guide/troubleshooting/plan_upload_download.md b/docs/fa/docs/en/qgc-user-guide/troubleshooting/plan_upload_download.md new file mode 100644 index 00000000000..6475ded936b --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/troubleshooting/plan_upload_download.md @@ -0,0 +1,5 @@ +# Mission Upload/Download failures + +Although the protocol for uploading and download Plans (Mission, GeoFence, Rally Points) to a vehicle includes retry logic it can still fail over a communication link which is running at a high loss rate. + +For more information see: [Plan View > Mission (Plan) Upload/Download Failures](../plan_view/plan_view.md#plan_transfer_fail) diff --git a/docs/fa/docs/en/qgc-user-guide/troubleshooting/qgc_setup.md b/docs/fa/docs/en/qgc-user-guide/troubleshooting/qgc_setup.md new file mode 100644 index 00000000000..0ca91a83a58 --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/troubleshooting/qgc_setup.md @@ -0,0 +1,97 @@ +# Troubleshooting QGC Setup + +This topic lists troubleshooting information related to _QGroundControl_ setup and installation on the host computer. + +:::tip +Problems when **using** _QGroundControl_ to interact with a vehicle are covered in: [QGC Vehicle Interaction Problems](../troubleshooting/qgc_usage.md). +::: + +## 64-bit Windows: Audio in Unexpected Language + +On Windows 64-bit machines _QGroundControl_ may sometimes play audio/messages in a language that does not match the _Text-to-speech_ setting in **Control Panel > Speech** (e.g. audio spoken in German on an English machine). + +This can occur because 64-bit Windows only displays 64-bit voices, while _QGroundControl_ is a 32-bit application (on Windows) and hence can only run 32-bit voices. + +The solution is to set the desired _32-bit voice_ for your system: + +1. Run the control panel application: **C:\Windows\SysWOW64\Speech\SpeechUX\sapi.cpl**. +2. Make your desired _Voice selection_ and then click **OK** at the bottom of the dialog. + ![Windows 32-bit Text-To-Speech Control Panel](../../../assets/support/windows_text_to_speech.png) + +:::info +Additional information about the Windows speech APIs can be found [here](https://www.webbie.org.uk/blog/microsoft-speech/). +::: + +## Windows: UI Rendering/Video Driver Issues {#opengl\_troubleshooting} + +If you experience UI rendering issues or video driver crashes on Windows, this may be caused by "flaky" OpenGL drivers. _QGroundControl_ provides 3 shortcuts that you can use to start _QGroundControl_ in "safer" video modes (try these in order): + +- **QGroundControl:** QGC uses OpenGL graphics drivers directly. +- **GPU Compatibility Mode:** QGC uses ANGLE drivers, which implement OpenGL on top of DirectX. +- **GPU Safe Mode:** QGC uses a software rasterizer for the UI (this is very slow). + +## Windows: Doesn't connect to Vehicle over WiFi {#waiting\_for\_connection} + +If _QGroundControl_ sits forever (for example, _Waiting For Vehicle Connection_) when trying to connect to the vehicle over Wifi, a possible cause is that IP traffic is being blocked by firewall software (e.g. Windows Defender, Norton, etc.). + +![Waiting for connection](../../../assets/support/waiting_for_connection.jpg) + +The solution is to allow the _QGroundControl_ app through the firewall. + +:::info +It is possible to simply switch the network profile from Public to Private to allow connections, but this exposes your PC to the Network, so be careful +::: + +If using _Windows Defender_: + +- In the **Start** bar, enter/select: _Firewall & Network Protection_ (System Settings). +- Scroll to and select the option: _Allow an app through firewall_. +- Select _QGroundControl_ and change the _Access_ selector to **Allow**. + + ::: tip + Programs are listed in alphabetical order by description (not filename). + You'll find QGC under **O**: _Open source ground control app provided by QGroundControl dev team_ + ::: + +## Ubuntu: Video Streaming Fails (Missing Gstreamer) {#missing\_gstreamer} + +On Ubuntu you must install _Gstreamer_ components in order to see video streams. +If these are not installed _QGroundControl_ is unable to create the gstreamer nodes and fails with: + +```sh +VideoReceiver::start() failed. Error with gst_element_factory_make(‘avdec_h264’) +``` + +The [download/install instructions for Ubuntu](../getting_started/download_and_install.md#ubuntu) include _GStreamer_ setup information. + +## Ubuntu 18.04: Video Streaming Fails on Dual Video Adapter Systems {#dual\_vga} + +![Video on Ubuntu 18.04](../../../assets/support/troubleshooting_dual_vga_driver.jpg) + +The version of GSteamer in Ubuntu 18.04 has a bug that prevents video displaying when using a VA API based decoder (i.e. vaapih264dec etc.) on systems that have both Intel and NVidia video display adapters. + +:::info +More generally, while the problem is known to occur on Ubuntu 18.04 with Intel and NVidia VGAs, it might occur on any linux system and other types of (dual) VGAs. +::: + +The easiest way to get _QGroundControl_ to work in this case is to start it using the following command line: + +``` +LIBVA_DRIVER_NAME=fakedriver ./QGroundControl) will this make the +``` + +Other alternatives are to disable one of the VGAs, uninstall VA API components, or upgrade to GStreamer 1.16 (there is no easy way to do this on Ubuntu 18.04 - please contribute a recipe if you find one!) + +## Ubuntu 16.04: GLIBC\_2.27 not found {#glibc\_2\_27} + +The pre-built AppImages for QGroundControl 4.0 (and later) can only run on Ubuntu 18.04 LTS (or later). +They do not run on Ubuntu 16.04. + +If you try you will get the error as shown: + +```sh +$ ./QGroundControl.AppImage +/tmp/.mount_i4hPuB/QGroundControl: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /tmp/.mount_i4hPuB/QGroundControl) +``` + +If you need to use Ubuntu 16.04 then one workaround is to build from source without the video libraries. diff --git a/docs/fa/docs/en/qgc-user-guide/troubleshooting/qgc_usage.md b/docs/fa/docs/en/qgc-user-guide/troubleshooting/qgc_usage.md new file mode 100644 index 00000000000..103bf3ba34f --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/troubleshooting/qgc_usage.md @@ -0,0 +1,12 @@ +# Troubleshooting QGC Usage + +This section covers a number of common problems related to **using** _QGroundControl_ to interact with a vehicle: + +- [Connection problems](../troubleshooting/vehicle_connection.md) +- [Parameter Download failures](../troubleshooting/parameter_download.md) +- [Plan Upload/Download failures](../troubleshooting/plan_upload_download.md) +- [Resume Mission failures](../troubleshooting/resume_mission.md) + +:::tip +Problems with **installing/running** _QGroundControl_ on the host computer are covered in [Troubleshooting QGC Setup](../troubleshooting/qgc_setup.md). +::: diff --git a/docs/fa/docs/en/qgc-user-guide/troubleshooting/resume_mission.md b/docs/fa/docs/en/qgc-user-guide/troubleshooting/resume_mission.md new file mode 100644 index 00000000000..613729cf11a --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/troubleshooting/resume_mission.md @@ -0,0 +1,57 @@ +# Resume Mission Failures + +The process of resuming a mission after a battery swap is a fairly complex process within QGC. + +The two main areas that are most problematic are: + +- The _Resume Mission_ dialog doesn't display when it should and you are just left with a Start Mission slider. +- The new mission generated from _Resume Mission_ is not quite correct with respect to recreation of waypoints and/or camera commands. + +:::warning +In order for the _QGroundControl_ development team to debug these issues the following information **must be supplied** in any github issue entered against _Resume Mission_. +::: + +## Common Steps for Resume Mission Dialog/Generation {#common\_steps} + +The following steps are required for debugging both types of problems: + +1. Restart QGC + +2. Turn on [console logging](../settings_view/console_logging.md) with the log option: `GuidedActionsControllerLog`. + +3. Enable [telemetry logging](../settings_view/general.md#miscellaneous) (**Settings > General**). + +4. Start the mission. + +5. Fly till you need a battery swap. + + ::: tip + Alternatively you can attempt to reproduce the problem by manually RTL from the middle of the middle of the mission (though this may not always reproduce the problem). + ::: + +6. Once the vehicle lands and disarms you should get the _Resume Mission_ dialog. + + ::: info + If not there is a possible bug in QGC. + ::: + +### Resume Mission Dialog Problems + +For _Resume Mission Dialog_ problems follow the [common steps above](#common_steps), and then: + +7. Save the _Console Log_ to a file. +8. Place the _Console Log_, _Telemetry Log_ and _Plan File_ someplace which you can link to in the issue. +9. Create the issue with details and links to all three files. + +## Resume Mission Generation Problems + +For _Resume Mission Generation_ problems follow the [common steps above](#common_steps), and then: + +7. Click **Resume Mission**. +8. The new mission should be generated. +9. Go to [Plan View](../plan_view/plan_view.md). +10. Select **Download** from the _File/Sync_ menu. +11. Save the _Modified Plan_ to a file. +12. Save the _Console Log_ to a file. +13. Place the _Console Log_, _Telemetry Log_, _Original Plan_ file and _Modified Plan_ file someplace which you can link to in the issue. +14. Create the issue with details and links to all four files. diff --git a/docs/fa/docs/en/qgc-user-guide/troubleshooting/vehicle_connection.md b/docs/fa/docs/en/qgc-user-guide/troubleshooting/vehicle_connection.md new file mode 100644 index 00000000000..896cb1f5d1b --- /dev/null +++ b/docs/fa/docs/en/qgc-user-guide/troubleshooting/vehicle_connection.md @@ -0,0 +1,67 @@ +# Vehicle Connection Problems + +## Vehicle does not show up in UI + +QGC will automatically connect to a vehicle as soon as a communication link is created (using USB, or WiFi, etc.) +If you establish that link and you don't see your vehicle show up in the QGC UI you can use [console logging](../settings_view/console_logging.md) to help debug the problem. + +Use the following steps to debug the issue: + +- Start with the hardware vehicle link not connected. + Don't plug in the USB connection and/or establish the WiFi link in your OS for example. + +- Turn on `LinkManagerLog` [console logging](../settings_view/console_logging.md) in QGC. + This will log output about the link which QGC sees and connects to. + +- Establish the hardware vehicle communication link. + +- The console log output should display something like this: + + ``` + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:563 - "Waiting for bootloader to finish "/dev/cu.usbmodem01"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:563 - "Waiting for bootloader to finish "/dev/cu.usbmodem01"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:563 - "Waiting for bootloader to finish "/dev/cu.usbmodem01"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:563 - "Waiting for bootloader to finish "/dev/cu.usbmodem01"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:572 - "Waiting for next autoconnect pass "/dev/cu.usbmodem4201"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:613 - "New auto-connect port added: "ArduPilot ChibiOS on cu.usbmodem4201 (AutoConnect)" "/dev/cu.usbmodem4201"" + ``` + +- The first few lines indicate QGC has established a hardware link and finally the auto-connect. + +If you don't see any of this then QGC is not recognizing the hardware link. +To see if your hardware is being recognized at the OS level do this: + +- Start with the hardware vehicle link not connected. + Don't plug in the USB connection and/or establish the WiFi link in your OS for example. +- Turn on `LinkManagerVerboseLog` [console logging](../settings_view/console_logging.md) in QGC. + This will log output for all serial hardware connections that QGC recognizes. +- You will see continuous output of the serial ports on your device. +- Plug in your USB comm device. +- You should see a new device show in in the console output. Example: + ``` + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:520 - "-----------------------------------------------------" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:521 - "portName: "cu.usbmodem4201"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:522 - "systemLocation: "/dev/cu.usbmodem4201"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:523 - "description: "Pixhawk1"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:524 - "manufacturer: "ArduPilot"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:525 - "serialNumber: "1B0034000847323433353231"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:526 - "vendorIdentifier: 1155" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:527 - "productIdentifier: 22336" + ``` +- After that it should continue to log a connection to that device as shown in the first example. + +If you don't see a new serial port should up in the console output when you plug it in then something is likely wrong with your hardware at the OS level. + +## Error: Vehicle is not responding + +This indicates that although QGC was able to connect to the hardware link to your vehicle there is no telemetry going back and forth on the link. +This can unfortunately indicate a number of problems: + +- Hardware communication setup problems +- Firmware problems + +Lastly it can happen if QGC attempts to automatically connect to a device which is connected to your computer which isn't a vehicle. +You can identify this case using the steps above and noting the device information which QGC is attempting to connect to. +In order to make auto-connect work the filter it uses on devices it attempts to auto-connect to is somewhat broad and can be incorrect. +If you find this happening you will need to turn off auto-connect from General Settings and create a manual connection to the comm link for your vehicle. +You can also remove the device causing the problem from your computer but that may not always be possible. diff --git a/docs/fa/index.md b/docs/fa/index.md new file mode 100644 index 00000000000..f5ea85cbc0e --- /dev/null +++ b/docs/fa/index.md @@ -0,0 +1,27 @@ +--- +layout: home +hero: + name: QGroundControl Guide + tagline: For beginners, experienced users, and developers + actions: + - theme: brand + text: User Guide + link: /en/qgc-user-guide/index.md + - theme: brand + - theme: brand + text: Dev Guide + link: /en/qgc-dev-guide/index.md +features: + - title: Multiple flight stacks + details: Full setup/configuration of ArduPilot and PX4 Pro powered vehicles + - title: Mission planning + details: Autonomous flight with path planning, surveys, safe landing + - title: Flight map + details: Map shows vehicle position, flight track, waypoints and vehicle instruments + - title: Video overlay + details: FPV video streaming and instrument overlays. + - title: Multiple vehicles + details: Manage multiple vehicles and different types of vehicles + - title: Broad OS support + details: Windows, OS X, Linux platforms, iOS and Android devices +--- diff --git a/docs/fa/qgc-dev-guide/classes/index.md b/docs/fa/qgc-dev-guide/classes/index.md new file mode 100644 index 00000000000..4a60cb304c8 --- /dev/null +++ b/docs/fa/qgc-dev-guide/classes/index.md @@ -0,0 +1,27 @@ +# Class Hierarchy (high level) + +## LinkManager, LinkInterface + +A "Link" in QGC is a specific type of communication pipe with the vehicle such as a serial port or UDP over WiFi. The base class for all links is LinkInterface. Each link runs on it's own thread and sends bytes to MAVLinkProtocol. + +The `LinkManager` object keeps track of all open links in the system. `LinkManager` also manages automatic connections through serial and UDP links. + +## MAVLinkProtocol + +There is a single `MAVLinkProtocol` object in the system. It's job is to take incoming bytes from a link and translate them into MAVLink messages. MAVLink HEARTBEAT messages are routed to `MultiVehicleManager`. All MAVLink messages are routed to Vehicle's which are associated with the link. + +## MultiVehicleManager + +There is a single `MultiVehicleManager` object within the system. When it receives a HEARTBEAT on a link which has not been previously seen it creates a Vehicle object. `MultiVehicleManager` also keeps tracks of all Vehicles in the system and handles switching from one active vehicle to another and correctly handling a vehicle being removed. + +## Vehicle + +The Vehicle object is the main interface through which the QGC code communicates with the physical vehicle. + +Note: There is also a UAS object associated with each Vehicle which is a deprecated class and is slowly being phased out with all functionality moving to the Vehicle class. No new code should be added here. + +## FirmwarePlugin, FirmwarePluginManager + +The FirmwarePlugin class is the base class for firmware plugins. A firmware plugin contains the firmware specific code, such that the Vehicle object is clean with respect to it supporting a single standard interface to the UI. + +FirmwarePluginManager is a factory class which creates a FirmwarePlugin instance based on the MAV\_AUTOPILOT/MAV\_TYPE combination for the Vehicle. diff --git a/docs/fa/qgc-dev-guide/command_line_options.md b/docs/fa/qgc-dev-guide/command_line_options.md new file mode 100644 index 00000000000..a66cd53ef4d --- /dev/null +++ b/docs/fa/qgc-dev-guide/command_line_options.md @@ -0,0 +1,46 @@ +# Command Line Options + +You can start _QGroundControl_ with command line options. These are used to enable logging, run unit tests, and simulate different host environments for testing. + +## Starting QGroundControl with Options + +You will need to open a command prompt or terminal, change directory to where **qgroundcontrol.exe** is stored, and then run it. This is shown below for each platform (using the `--logging:full` option): + +Windows Command Prompt: + +```bash +cd "\Program Files (x86)\qgroundcontrol" +qgroundcontrol --logging:full +``` + +OSX Terminal app (**Applications/Utilities**): + +```bash +cd /Applications/qgroundcontrol.app/Contents/MacOS/ +./qgroundcontrol --logging:full +``` + +Linux Terminal: + +```bash +./qgroundcontrol-start.sh --logging:full +``` + +## Options + +The options/command line arguments are listed in the table below. + +| Option | Description | +| --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| `--clear-settings` | Clears the app settings (reverts _QGroundControl_ back to default settings). | +| `--logging:full` | Turns on full logging. See [Console Logging](https://docs.qgroundcontrol.com/en/settings_view/console_logging.html#logging-from-the-command-line). | +| `--logging:full,LinkManagerVerboseLog,ParameterLoaderLog` | Turns on full logging and turns off the following listed comma-separated logging options. | +| `--logging:LinkManagerLog,ParameterLoaderLog` | Turns on the specified comma separated logging options | +| `--unittest:name` | (Debug builds only) Runs the specified unit test. Leave off `:name` to run all tests. | +| `--unittest-stress:name` | (Debug builds only) Runs the specified unit test 20 times in a row. Leave off :name to run all tests. | +| `--fake-mobile` | Simulates running on a mobile device. | +| `--test-high-dpi` | Simulates running _QGroundControl_ on a high DPI device. | + +Notes: + +- Unit tests are included in debug builds automatically (as part of _QGroundControl_). _QGroundControl_ runs under the control of the unit test (it does not start normally). diff --git a/docs/fa/qgc-dev-guide/communication_flow.md b/docs/fa/qgc-dev-guide/communication_flow.md new file mode 100644 index 00000000000..17e838f8250 --- /dev/null +++ b/docs/fa/qgc-dev-guide/communication_flow.md @@ -0,0 +1,15 @@ +# Communication Flow + +Description of the high level communication flow which takes place during a vehicle auto-connect. + +- LinkManager always has a UDP port open waiting for a vehicle heartbeat +- LinkManager detects a new known device type (Pixhawk, SiK Radio, PX4 Flow) that makes a UDP connection to the computer + - LinkManager creates a new SerialLink between the computer and the device +- Incoming bytes from the Link are sent to MAVLinkProtocol +- MAVLinkProtocol converts the bytes into a MAVLink message +- If the message is a `HEARTBEAT` the MultiVehicleManager is notified +- MultiVehicleManager is notified of the `HEARTBEAT` and creates a new vehicle object based on the information in the `HEARTBEAT` message +- The vehicle object instantiates the plugins that matches the vehicle +- The ParameterLoader associated with the vehicle object sends a `PARAM_REQUEST_LIST` to the connected device to load parameters using the parameter protocol +- Once the parameter load is complete, the MissionManager associated with the vehicle object requests the mission items from the connected device using the mission protocol +- Once parameter load is complete, the VehicleComponents display their UI in the Setup view diff --git a/docs/fa/qgc-dev-guide/contribute/coding_style.md b/docs/fa/qgc-dev-guide/contribute/coding_style.md new file mode 100644 index 00000000000..3d4d62420c1 --- /dev/null +++ b/docs/fa/qgc-dev-guide/contribute/coding_style.md @@ -0,0 +1,12 @@ +# Coding Style + +High level style information: + +- Tabs expanded to 4 spaces +- Pascal/CamelCase naming conventions + +The style itself is documents in the following example files: + +- [CodingStyle.cc](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.cc) +- [CodingStyle.h](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.h) +- [CodingStyle.qml](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.qml) diff --git a/docs/fa/qgc-dev-guide/contribute/dev_call.md b/docs/fa/qgc-dev-guide/contribute/dev_call.md new file mode 100644 index 00000000000..6464fc34d78 --- /dev/null +++ b/docs/fa/qgc-dev-guide/contribute/dev_call.md @@ -0,0 +1,38 @@ +# Bi-Weekly Dev Call + +The QGroundControl developer team syncs up on technical details and in-depth analysis. There is also a space in the agenda to discuss pull requests, major impacting issues and Q\&A. + +## Who Should attend: + +- Community members +- Core project maintiners +- Component maintainers +- Dronecode members + +:::info +The calls are open for anyone interested to attend, it's a great opportunity to meet the team and contribute to the ongoing development of the project. +::: + +## What gets discussed? + +The main agenda for the call is very simple, and usually remains the same with a few exceptions which are made aware to the community in advance. The calls typically last up to 60 minutes. + +The developer team goes through the issue tracker, including the current queue of Pull Requests, + +## Agenda + +While the agenda below is the norm, we might + +- Community Q\&A (Open mic, you can bring your own topics, we can discuss your PRs/Issues/Questions) +- Update on the project [High Priority Issues](https://github.com/mavlink/qgroundcontrol/projects/2) tracker +- Developer team coordination + +:::info +If you want to guarantee your Pull Request get's discussed on the next developer call, make sure you add the "dev-call" label on GitHub. We expect the author and the assigned reviewer to be on the call. +::: + +## Schedule + +- Time: Bi-Weekly on Tuesdays at 17h00 CET, 12h00 EST, 08h00 PST ([subscribe to the calendar](https://www.dronecode.org/calendar/)) +- The call is hosted on Jitsi the open platform ([QGC Bi-Weekly](https://meet.jit.si/GCS-bi-weekly)) +- the Agenda is published on the [PX4 Discuss - weekly-dev-call](https://discuss.px4.io/c/weekly-dev-call/qgc-developer-call/48) diff --git a/docs/fa/qgc-dev-guide/contribute/index.md b/docs/fa/qgc-dev-guide/contribute/index.md new file mode 100644 index 00000000000..0fd55b4e573 --- /dev/null +++ b/docs/fa/qgc-dev-guide/contribute/index.md @@ -0,0 +1,7 @@ +# Code Submission + +This section contains topics about the contributing code, including coding style, testing and the format of pull requests. + +:::info +QGroundControl (QGC) is [dual-licensed as Apache 2.0 and GPLv3](../contribute/licences.md). All contributions have to be made under both licenses. +::: diff --git a/docs/fa/qgc-dev-guide/contribute/licences.md b/docs/fa/qgc-dev-guide/contribute/licences.md new file mode 100644 index 00000000000..20c157a0d2f --- /dev/null +++ b/docs/fa/qgc-dev-guide/contribute/licences.md @@ -0,0 +1,30 @@ +# Licences + +## QGroundControl License + +_QGroundControl_ (QGC) is dual-licensed as Apache 2.0 and GPLv3. All contributions have to be made under both licenses. Users of the codebase are free to use it under either license. + +:::warning +_QGroundControl_ licensing rules out the re-use of any copyleft (e.g. GPL) licensed code. All contributions must be original or from a compatible license (BSD 2/3 clause, MIT, Apache 2.0). +::: + +The dual approach is necessary to be able to offer _QGroundControl_ through the iOS and Android app stores and offers the open source community choice. + +### Apache 2.0 License + +The [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) License is a permissive license which allows QGC to be built and used in any environment, including proprietary applications. It allows QGC to be built for mobile app stores. When building with Apache 2.0 a commercial Qt license is required. + +### GPL v3 License + +The [GPL v3 License](http://www.gnu.org/licenses/gpl-3.0.en.html) is a strong copyleft license. When building QGC under this license the open source version of Qt can be used. Our licensing grants the permission to use a later version of the license, however, contributions have to be made under 3.0. + +## Documentation, Artwork, Images + +The QGroundControl documentation, artwork and images are licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). + +## See Also + +- [qgroundcontrol/COPYING.md](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md) +- [qgroundcontrol/CONTRIBUTING.md](https://github.com/mavlink/qgroundcontrol/blob/master/CONTRIBUTING.md) +- [qgc-user-guide/LICENSE](https://github.com/mavlink/qgc-user-guide/blob/master/LICENSE) +- [qgc-dev-guide/LICENSE](https://github.com/mavlink/qgc-dev-guide/blob/master/LICENSE) diff --git a/docs/fa/qgc-dev-guide/contribute/pull_requests.md b/docs/fa/qgc-dev-guide/contribute/pull_requests.md new file mode 100644 index 00000000000..fe120dcf7dc --- /dev/null +++ b/docs/fa/qgc-dev-guide/contribute/pull_requests.md @@ -0,0 +1,3 @@ +# Pull Requests + +All pull requests go through the QGC CI build system which builds release and debug version. Builds will fail if there are compiler warnings. Also unit tests are run against supported OS debug builds. diff --git a/docs/fa/qgc-dev-guide/contribute/unit_tests.md b/docs/fa/qgc-dev-guide/contribute/unit_tests.md new file mode 100644 index 00000000000..e8c14fe7b4b --- /dev/null +++ b/docs/fa/qgc-dev-guide/contribute/unit_tests.md @@ -0,0 +1,20 @@ +# Unit Tests + +_QGroundControl_ (QGC) contains a set of unit tests that must pass before a pull request will be accepted. The addition of new complex subsystems to QGC should include a corresponding new unit test to test it. + +The full list of unit tests can be found in [UnitTestList.cc](https://github.com/mavlink/qgroundcontrol/blob/master/src/qgcunittest/UnitTestList.cc). + +To run unit tests: + +1. Build in `debug` mode with `UNITTEST_BUILD` definition. +2. Copy the **deploy/qgroundcontrol-start.sh** script in the **debug** directory +3. Run _all_ unit tests from the command line using the `--unittest` command line option. + For Linux this is done as shown: + ``` + qgroundcontrol-start.sh --unittest + ``` +4. Run _individual_ unit tests by specifying the test name as well: `--unittest:RadioConfigTest`. + For Linux this is done as shown: + ``` + qgroundcontrol-start.sh --unittest:RadioConfigTest + ``` diff --git a/docs/fa/qgc-dev-guide/custom_build/create_repos.md b/docs/fa/qgc-dev-guide/custom_build/create_repos.md new file mode 100644 index 00000000000..c4bce8ee142 --- /dev/null +++ b/docs/fa/qgc-dev-guide/custom_build/create_repos.md @@ -0,0 +1,15 @@ +# Initial Repository Setup For Custom Build + +The suggested mechanism for working on QGC and a custom build version of QGC is to have two separate repositories. The first repo is your main QGC fork. The second repo is your custom build repo. + +## Main QGC Respository + +This repo is used to work on changes to mainline QGC. When creating your own custom build it is not uncommon to discover that you may need a tweak/addition to the custom build to achieve what you want. By discussing those needed changes firsthand with QGC devs and submitting pulls to make the custom build architecture better you make QGC more powerful for everyone and give back to the community. + +The best way to create this repo is to fork the regular QGC repo to your own GitHub account. + +## Custom Build Repository + +This is where you will do your main custom build development. All changes here should be within the custom directory as opposed to bleeding out into the regular QGC codebase. + +Since you can only fork a repo once, the way to create this repo is to "Create a new repository" in your GitHub account. Do not add any additional files to it like gitignore, readme's and so forth. Once it is created you will be given the option to setup up the Repo. Now you can select to "import code from another repository". Just import the regular QGC repo using the "Import Code" button. diff --git a/docs/fa/qgc-dev-guide/custom_build/custom_build.md b/docs/fa/qgc-dev-guide/custom_build/custom_build.md new file mode 100644 index 00000000000..ff37e9b1c14 --- /dev/null +++ b/docs/fa/qgc-dev-guide/custom_build/custom_build.md @@ -0,0 +1,26 @@ +# Custom Builds + +A custom build allows third parties to create their own version of QGC in a way that allows them to easily keep up to date with changes which are being made in regular QGC. QGC has an architecture built into it which allows custom builds to modify and add to the feature set of regular QGC. + +Some possibilities with a custom build + +- Fully brand your build +- Define a single flight stack to avoid carrying over unnecessary code +- Implement your own, autopilot and firmware plugin overrides +- Implement your own camera manager and plugin overrides +- Implement your own QtQuick interface module +- Implement your own toolbar, toolbar indicators and UI navigation +- Implement your own Fly View overlay (and how to hide elements from QGC such as the flight widget) +- Implement your own, custom QtQuick camera control +- Implement your own, custom Pre-flight Checklist +- Define your own resources for all of the above + +One of the downsides of QGC providing both generic support for any vehicle which supports mavlink as well as providing firmware specific support for both PX4 Pro and ArduPilot is complexity of the user interface. Since QGC doesn't know any information about your vehicle ahead of time it requires UI bits which can get in the way if the vehicle you fly only uses PX4 Pro firmware and is a multi-rotor vehicle. If that is a known thing then the UI can be simplified in various places. Also QGC targets both DIY users who are building their own vehicles from scratch as well as commercial users of off the shelf vehicles. Setting up a DIY drone from scratch requires all sort of functionality which is not needed for users of off the shelf vehicles. So for off the shelf vehicle users all the DIY specific stuff is just extra noise they need to look past. Creating a custom build allows you to specify exact details for your vehicle and hide things which are irrelevant thus creating an even simple user experience for your users than regular generic QGC. + +There is a plugin architecture in QGC which allows for this custom build creation. They can be found in QGCCorePlugin.h, FirmwarePlugin.h and AutoPilotPlugin.h associated classes. To create a custom build you create subclasses of the standard plugins overriding the set of methods which are appropriate for you usage. + +There is also a mechanism which allows you to override resources so you can change the smaller visual elements in QGC. + +Also internal to QGC is the concept of an "Advanced Mode". Whereas a standard QGC builds always runs in advanced mode. A custom build always starts out in regular/not advanced mode. There is an easier mechanism in the build to turn on advanced mode which is to click the fly view button 5 times in a row fairly quickly. If you do this in a custom build you will be warned about entering advanced mode. The concept here is to hide things which normal users should not have access to behind advanced mode. For example a commercial vehicle will not need access to most setup pages which are oriented to DIY setup. So a custom build can hide this. The custom example code shows how to do this. + +If you want to understand the possibilities, the first step is to read through those files which document what is possible. Next look through the [`custom-example`](https://github.com/mavlink/qgroundcontrol/tree/master/custom-example) source code including the [README](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/README.md). diff --git a/docs/fa/qgc-dev-guide/custom_build/customization.md b/docs/fa/qgc-dev-guide/custom_build/customization.md new file mode 100644 index 00000000000..b97b5c63371 --- /dev/null +++ b/docs/fa/qgc-dev-guide/custom_build/customization.md @@ -0,0 +1,7 @@ +# Customization + +The following topics explain how to customise various views and other parts of the UI. + +- [First Run Prompts](../custom_build/first_run_prompts.md) +- [Toolbar customization](../custom_build/toolbar.md) +- [Fly View Customization](../custom_build/fly_view.md) diff --git a/docs/fa/qgc-dev-guide/custom_build/first_run_prompts.md b/docs/fa/qgc-dev-guide/custom_build/first_run_prompts.md new file mode 100644 index 00000000000..77d779da1b6 --- /dev/null +++ b/docs/fa/qgc-dev-guide/custom_build/first_run_prompts.md @@ -0,0 +1,54 @@ +# First Run Prompts + +When QGC is started for the first time it prompts the user to specify some initial settings. At the time of writing this documentation those are: + +- Unit Settings - What units does the user want to use for display. +- Offline Vehicle Settings - Vehicle information for creating Plans while not connected to a vehicle. + +The custom build architecure includes mechanisms for a custom build to both override the display of these prompts and/or create your own first run prompts. + +## First Run Prompt Dialog + +Each first run prompt is a simple dialog which can display ui to the user. Whether the specific dialog has already been show to the user or not is stored in a setting. Here is the code for the upstream first run prompt dialogs: + +- [Units Settings](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirstRunPromptDialogs/UnitsFirstRunPrompt.qml) +- [Offline Vehicle Settings](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirstRunPromptDialogs/OfflineVehicleFirstRunPrompt.qml) + +## Standard First Run Prompt Dialogs + +Each dialog has a unique ID associated with it. When that dialog is shown to the user that ID is registered as having already been displayed so it only happens once (unless you clear settings). The set of first run prompt which are included with upstream QGC are considered the "Standard" set. QGC gets the list of standard prompts to display from the `QGCCorePlugin::firstRunPromptStdIds` call. + +``` + /// Returns the standard list of first run prompt ids for possible display. Actual display is based on the + /// current AppSettings::firstRunPromptIds value. The order of this list also determines the order the prompts + /// will be displayed in. + virtual QList firstRunPromptStdIds(void); +``` + +You can override this method in your custom build if you want to hide some of those. + +## Custom First Run Prompt Dialogs + +Custom builds have the ability to create their own set of additional first run prompts as needed through the use of the following QGCCorePlugin method overrides: + +``` + /// Returns the custom build list of first run prompt ids for possible display. Actual display is based on the + /// current AppSettings::firstRunPromptIds value. The order of this list also determines the order the prompts + /// will be displayed in. + virtual QList firstRunPromptCustomIds(void); +``` + +``` + /// Returns the resource which contains the specified first run prompt for display + Q_INVOKABLE virtual QString firstRunPromptResource(int id); +``` + +Your QGCCorePlugin should override these two methods as well as provide static consts for the ids of your new first run prompts. Look at how the standard set is implemented for how to do this and take the same approach. + +## Order Of Display + +The set of first run prompts shown to the user are in the order returned by the `QGCCorePlugin::firstRunPromptStdIds` and `QGCCorePlugin::firstRunPromptCustomIds` with standard prompts shown before the custom prompts. Only the prompts which have not been previously shown to the user are shown. + +## Always On Prompts + +By setting the `markAsShownOnClose: false` property in your prompt ui implementation you can create a prompt which will show up each time QGC starts. This can be used for things like showing usage tips to your users. If you do this it is best to make sure that this is displayed last. diff --git a/docs/fa/qgc-dev-guide/custom_build/fly_view.md b/docs/fa/qgc-dev-guide/custom_build/fly_view.md new file mode 100644 index 00000000000..e6b3342817f --- /dev/null +++ b/docs/fa/qgc-dev-guide/custom_build/fly_view.md @@ -0,0 +1,42 @@ +# Fly View Customization + +The Fly View is designed in such a way that it can be cusomtized in multiple ways from simple to more complex. It is designed in three separate layers each of which are customizable providing different levels of change. + +## Layers + +- There are three layers to the fly view from top to bottom visually: + - [`FlyView.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyView.qml) This is the base layer of ui and business logic to control map and video switching. + - [`FlyViewWidgetsOverlay.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyViewWidgetLayer.qml) This layer includes all the remaining widgets for the fly view. + - [`FlyViewCustomLayer.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyViewCustomLayer.qml) This is a layer you override using resource override to add your own custom layer. + +### Inset Negotiation using `QGCToolInsets` + +An important aspect of the Fly View is that it needs to understand how much central space it has in the middle of it's map window which is not obstructed by ui widgets which are at the edges of the window. It uses this information to pan the map when the vehicle goes out of view. This need to be done not only for the window edges but also for the widgets themselve such that the map pans before it goes under a widget. + +This is done through the use of the [`QGCToolInsets`](https://github.com/mavlink/qgroundcontrol/blob/master/src/QmlControls/QGCToolInsets.qml) object included in each layer. This objects provides inset information for each window edge informing the system as to how much real estate is taken up by edge based ui. Each layer is given the insets of the layer below it through `parentToolInsets` and then reports back the new insets taking into account the layer below and it's own additions through `toolInsets`. The final results total inset is then given to the map so it can do the right thing. The best way to understand this is to look at both the upstream and custom example code. + +### `FlyView.qml` + +The base layer for the view is also the most complex from ui interactions and business logic. It includes the main display elements of map and video as well as the guided controls. Although you can resource override this layer it is not recommended. And if you do you better really (really) know what you are doing. The reason it is a separate layer is to make the layer above much simpler and easier to customize. + +### `FlyViewWidgetsOverlay.qml` + +This layer contains all the remaining controls of the fly view. You have the ability to hide the controls through use of [`QGCFlyViewOptions`](https://github.com/mavlink/qgroundcontrol/blob/master/src/api/QGCOptions.h). But in order to change the layout of the upstream controls you must use a resource override. If you look at the source you'll see that the controls themselves are well encapsulated such that it should not be that difficult to create your own override which repositions them and/or adds your own ui. While maintaining a connection to the upstream implementaions of the controls. + +### `FlyViewCustomLayer.qml` + +This provides the simplest customization ability to the Fly View. Allowing you the add ui elements which are additive to the existing upstream controls. The upstream code adds no ui elements and is meant to be the basis for your own custom code used as a resource override for this qml. The custom example code provides you with an example of how to do it. + +## Recommendations + +### Simple customization + +The best place to start is using a custom layer override plus turning off ui elements from the widgets layer (if needed). I would recommend trying to stick with only this if at all possible. It provides the greatest abilty to not get screwed by upstream changes in the layers below. + +### Moderate complexity customization + +If you really need to reposition upstream ui elements then your only choice is overriding `FlyViewWidgetsOverlay.qml`. By doing this you are distancing yourself a bit from upstream changes. Although you will still get changes in the upstream controls for free. If there is a whole new control added to the fly view upstream you won't get it until you add it to your own override. + +### Highly complex customization + +The last and least recommended customization mechanism is overriding `FlyView.qml`. By doing this you are distancing yourself even further from getting upstream changes for free. diff --git a/docs/fa/qgc-dev-guide/custom_build/mavlink.md b/docs/fa/qgc-dev-guide/custom_build/mavlink.md new file mode 100644 index 00000000000..6fa5d685d9f --- /dev/null +++ b/docs/fa/qgc-dev-guide/custom_build/mavlink.md @@ -0,0 +1,15 @@ +# MAVLink Customisation + +QGC communicates with flight stacks using [MAVLink](https://mavlink.io/en/), a very lightweight messaging protocol that has been designed for the drone ecosystem. + +QGC includes the [all.xml](https://mavlink.io/en/messages/all.html) dialect by default. The `all.xml` includes all other dialects in the [mavlink/mavlink](https://github.com/mavlink/mavlink/tree/master/message_definitions/v1.0) repository, and allows it to communicate with both PX4 and Ardupilot. +Previous versions of QGC (v4.2.8 and earlier), used the `ArduPilotMega.xml` dialect. + +In order to add support for a new set of messages you should add them to [development.xml](https://mavlink.io/en/messages/development.html), [ArduPilotMega.xml](https://mavlink.io/en/messages/ardupilotmega.html), or [common.xml](https://mavlink.io/en/messages/common.html) (for PX4), or fork _QGroundControl_ and include your own dialect. + +To modify the version of MAVLink used by QGC: + +- Replace the pre-build C library at [/qgroundcontrol/libs/mavlink/include/mavlink](https://github.com/mavlink/qgroundcontrol/tree/master/libs/mavlink/include/mavlink). + - By default this is a submodule importing https\://github.com/mavlink/c\_library\_v2 + - You can change the submodule, or [build your own libraries](https://mavlink.io/en/getting_started/generate_libraries.html) using the MAVLink toolchain. +- You can change the whole dialect used by setting it in [`MAVLINK_CONF`](https://github.com/mavlink/qgroundcontrol/blob/master/QGCExternalLibs.pri#L52) when running _qmake_. diff --git a/docs/fa/qgc-dev-guide/custom_build/plugins.md b/docs/fa/qgc-dev-guide/custom_build/plugins.md new file mode 100644 index 00000000000..5bbc45c97c4 --- /dev/null +++ b/docs/fa/qgc-dev-guide/custom_build/plugins.md @@ -0,0 +1,7 @@ +# Custom Build Plugins + +The mechanisms for customizing QGC for a custom build is through the existing `FirmwarePlugin`, `AutoPilotPlugin` and `QGCCorePlugin` architectures. By creating subclasses of these plugins in your custom build you can change the behavior of QGC to suit your needs without needed to modify the upstream code. + +## QGCCorePlugin + +This allows you to modify the parts of QGC which are not directly related to vehicle but are related to the QGC application itself. This includes things like application settings, color palettes, branding and so forth. diff --git a/docs/fa/qgc-dev-guide/custom_build/release_branching_process.md b/docs/fa/qgc-dev-guide/custom_build/release_branching_process.md new file mode 100644 index 00000000000..41e143a59f1 --- /dev/null +++ b/docs/fa/qgc-dev-guide/custom_build/release_branching_process.md @@ -0,0 +1,44 @@ +# Release Process for Custom Builds \[WIP Docs] + +One of the trickier aspects of creating your own custom build is the process to keep it up to date with regular QGC. This document describes a suggested process to follow. But in reality you are welcome to use whatever branching and release strategy you want for your custom builds. + +## Upstream QGC release/branching strategy + +The best place to start is understanding the mechanism QGC uses to do it's own releases. We will layer a custom build release process on top of that. You can find standard QGC [release process here](../release_branching_process.md). + +## Custom build/release types + +Regular QGC has two main build types: Stable and Daily. The build type for a custom build is more complex. Throughout this discussion we will use the term "upstream" to refer to the main QGC repo (https\://github.com/mavlink/qgroundcontrol). Also when we talk about a "new" upstream stable release, this means a major/minor release, not a patch release. + +### Synchronized Stable + +This type of release is synchronized with the release of an upstream stable. Once QGC releases stable you then release a version of your custom build which is based on this stable. This build will include all the new features from upstream including the new feature in your own custom code. + +### Out-Of-Band Stable + +This a subsequent release of your custom build after you have released a synchronized stable but prior to upstream releasing a new stable. It only includes new features from your own custom build and include no new features from upstream. Work on this type of release would occur on a branch which is either based on your latest synchronized stable or your last out of band release if it exists. You can release out of band stable releases at any time past your first synchronized stable release. + +### Daily + +Your custom daily builds are built from your `master` branch. It is important to keep your custom master up to date with QGC master. If you lag behind you may be surprised by upstream features which require some effort to integrate with your build. Or you may even require changes to "core" QGC in order to work with your code. +If you don't let QGC development team know soon enough, it may end up being too late to get things changed. + +## Options for your first build + +### Starting with a Synchronized Stable release + +It is suggested that you start with releasing a Synchronized Stable. This isn't necessary but it is the simplest way to get started. To set your self up for a synchronized stable you create your own branch for development which is based on the upstream current stable. + +### Starting with Daily builds + +The reason why you may consider this as your starting point is because you need features which are only in upstream master for your own custom builds. In this case you will have to live with releasing custom Daily builds until the next upstream stable. At which point you would release you first Synchronized Stable. For this setup you use your master branch and keep it in sync with upstream master as you develop. + +## After you release your first Synchronized Stable + +### Patch Releases + +As upstream QGC does patch releases on Stable you should also release your own patch releases based on upstream to keep your stable up to date with latest criticial bug fixes. + +### Out-Of-Band, Daily: One or the other or both? + +At this point you can decide which type of releases you want to follow. You can also decide to possibly do both. You can do smaller new features which don't require new upstream features using out of band releases. And you can do major new feature work as daily/master until the point you can do a new synchronized stable. diff --git a/docs/fa/qgc-dev-guide/custom_build/resource_override.md b/docs/fa/qgc-dev-guide/custom_build/resource_override.md new file mode 100644 index 00000000000..2c8fa94eba1 --- /dev/null +++ b/docs/fa/qgc-dev-guide/custom_build/resource_override.md @@ -0,0 +1,24 @@ +# Resource Overrides + +A "resource" in QGC source code terminology is anything found in the [qgroundcontrol.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgroundcontrol.qrc) and [qgcresources.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgcresources.qrc) file. By overriding a resource you can replace it with your own version of it. This could be as simple as a single icon, or as complex as replacing an entire Vehicle Setup page of qml ui code. + +Be aware that using resource overrides does not isolate you from upstream QGC changes like the plugin architecture does. In a sense you are directly modify the upstream QGC resources used by the main code. + +## Exclusion Files + +The first step to overriding a resource is to "exclude" it from the standard portion of the upstream build. This means that you are going to provide that resource in your own custom build resource file(s). There are two files which achieve this: qgroundcontrol.exclusion and [qgcresources.exclusion](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/qgcresources.exclusion). They correspond directly with the \*.qrc counterparts. In order to exclude a resource, copy the resource line from the .qrc file into the appropriate .exclusion file. + +## Custom version of excluded resources + +You must include the custom version of the overriden resouce in you custom build resource file. The resource alias must exactly match the upstream alias. The name and actual location of the resource can be anywhere within your custom directory structure. + +## Generating the new modified versions of standard QGC resource file + +This is done using the `updateqrc.py` python script. It will read the upstream `qgroundcontrol.qrc` and `qgcresources.qrc` file and the corresponding exclusion files and output new versions of these files in your custom directory. These new versions will not have the resources you specified to exclude in them. The build system for custom builds uses these generated files (if they exist) to build with instead of the upstream versions. The generated version of these file should be added to your repo. Also whenever you update the upstream portion of QGC in your custom repo you must re-run `python updateqrc.py` to generate new version of the files since the upstream resources may have changed. + +## Custom Build Example + +You can see an examples of custom build qgcresource overrides in the repo custom build example: + +- [qgcresources.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/qgcresources.exclusion) +- [custom.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/custom.qrc) diff --git a/docs/fa/qgc-dev-guide/custom_build/toolbar.md b/docs/fa/qgc-dev-guide/custom_build/toolbar.md new file mode 100644 index 00000000000..662cb8db4ae --- /dev/null +++ b/docs/fa/qgc-dev-guide/custom_build/toolbar.md @@ -0,0 +1,51 @@ +# Toolbar Customization + +The toolbar can be customized in a number of ways to fit your custom build needs. The toolbar internally is made up of a number of sections from left to right: + +- View Switching +- Indicators + - App Indicators + - Vehicle Indicators + - Vehicle Mode Indicators +- Connection Management +- Branding + +The Indicator section varies based on the view currently displayed: + +- Fly View - Shows all indicators +- Plan View - Show no indicators and has its own custom indicator section for Plan status values +- Other Views - Do not show Vehicle Mode Indicators + +## Customization Possibilities + +### Indicators + +You can add your own indicators for display or remove any of the upstream indicators. The mechanism you use depends on the indicator type. + +#### App Indicators + +These provide information to the user which is not associated with a vehicle. For example RTK status. To manipulate the list of app indicators you use `QGCPlugin::toolbarIndicators`. + +#### Vehicle Indicators + +These are indicators which are associated with information about the vehicle. They are only available when a vehicle is connected. To manipulate the list of vehicle indicators you override `FirmwarePlugin::toolIndicators`. + +#### Vehicle Mode Indicators + +These are indicators which are associated with information about the vehicle. They require additional UI provided by the Fly View to complete their actions. An example is Arming and Disarming. They are only available when a vehicle is connected. To manipulate the list of vehicle mode indicators you override `FirmwarePlugin::modeIndicators`. + +### Modifying the toolbar UI itself + +This is accomplished by using resource overrides on the qml files associated with the toolbar. This provides a high level of customization but also a higher level of complexity. The primary ui for the toolbar is in `MainToolBar.qml`. The main window code in `MainRootWindow.qml` interacts with the toolbar to show different indicator sections based on current view as well as whether the mode indicators show or not also based on current view. + +If you want full control over the toolbar then you can override `MainToolBar.qml` and make your own completely different version. You will need to pay special attention to the interactions of the main toolbar with `MainRootWindow.qml` since you are going to need to replicated those interactions in your own custom version. + +There are two standard indicator ui sections of the toolbar: + +#### `MainToolBarIndicators.qml` + +This is used for all views except Plan. It display all the indicators in a row. Although you can override this file, in reality it doesn't do much other than layout for indicators. + +#### `PlanToolBarIndicators.qml` + +This is used by the Plan view to show the status values. If you want to change that ui you can override this file and provide your own custom version. diff --git a/docs/fa/qgc-dev-guide/fact_system.md b/docs/fa/qgc-dev-guide/fact_system.md new file mode 100644 index 00000000000..5e7f5242d9c --- /dev/null +++ b/docs/fa/qgc-dev-guide/fact_system.md @@ -0,0 +1,33 @@ +# Fact System + +The Fact System provides a set of capabilities which standardizes and simplifies the creation of the QGC user interface. + +## Fact {#fact} + +A Fact represents a single value within the system. + +## FactMetaData + +There is `FactMetaData` associated with each fact. It provides details on the Fact in order to drive automatic user interface generation and validation. + +## Fact Controls + +A Fact Control is a QML user interface control which connects to a Fact and it's `FactMetaData` to provide a control to the user to modify/display the value associated with the Fact. + +## FactGroup + +A _Fact Group_ is a group of [Facts](#fact). +It is used to organise facts and manage user defined facts. + +## Custom Build Support + +User defined facts can be added by overriding `factGroups` function of `FirmwarePlugin` in a custom firmware plugin class. +These functions return a name to fact group map that is used to identify added fact groups. +A custom fact group can be added by extending `FactGroup` class. +FactMetaDatas could be defined using the appopriate `FactGroup` constructor by providing a json file containing necessery information. + +Changing the metadata of existing facts is also possible by overriding `adjustMetaData` of `FirmwarePlugin` class. + +A fact associated with a vehicle (including facts belonging to fact groups returned in `factGroups` function of the vehicles Firmware plugin) can be reached using `getFact("factName")` or `getFact("factGroupName.factName")` + +For additional information please refer to comments in [FirmwarePlugin.h](https://github.com/mavlink/qgroundcontrol/blob/v4.0.8/src/FirmwarePlugin/FirmwarePlugin.h). diff --git a/docs/fa/qgc-dev-guide/file_formats/index.md b/docs/fa/qgc-dev-guide/file_formats/index.md new file mode 100644 index 00000000000..cf8a409129a --- /dev/null +++ b/docs/fa/qgc-dev-guide/file_formats/index.md @@ -0,0 +1,3 @@ +# File Formats + +This section contains topics about the file formats used/supported by _QGroundControl_. diff --git a/docs/fa/qgc-dev-guide/file_formats/mavlink.md b/docs/fa/qgc-dev-guide/file_formats/mavlink.md new file mode 100644 index 00000000000..8a55c8289af --- /dev/null +++ b/docs/fa/qgc-dev-guide/file_formats/mavlink.md @@ -0,0 +1,27 @@ +# MAVLink Log Format + +_QGroundControl_ allows you to generate plain MAVLink packet logs that can be +replayed (with QGroundControl) to watch a mission again for analysis. + +The format is binary: + +- Byte 1-8: Timestamp in microseconds since Unix epoch as unsigned 64 bit integer +- Byte 9-271: MAVLink packet (263 bytes maximum packet length, not all bytes have to be actual data, the packet might be shorter. Includes packet start sign) + +## Debugging + +To check your data, open your written file in a hex editor. You should see after 8 bytes **0x55**. The first 8 bytes should also convert to a valid timestamp, so something either close to zero or around the number **1294571828792000** (which is the current Unix epoch timestamp in microseconds). + +## C++ Sketch for logging MAVLink + +The code fragment below shows how to implement logging using [C++ streams](http://www.cplusplus.com/reference/iostream/istream/) from the C++ standard library. + +```cpp +//write into mavlink logfile +const int len = MAVLINK_MAX_PACKET_LEN+sizeof(uint64_t); +uint8_t buf[len]; +uint64_t time = getSystemTimeUsecs(); +memcpy(buf, (void*)&time, sizeof(uint64_t)); +mavlink_msg_to_send_buffer(buf+sizeof(uint64_t), msg); +mavlinkFile << buf << flush; +``` diff --git a/docs/fa/qgc-dev-guide/file_formats/parameters.md b/docs/fa/qgc-dev-guide/file_formats/parameters.md new file mode 100644 index 00000000000..60fd66a3638 --- /dev/null +++ b/docs/fa/qgc-dev-guide/file_formats/parameters.md @@ -0,0 +1,25 @@ +# Parameters File Format + +``` +# Onboard parameters for Vehicle 1 +# +# # Vehicle-Id Component-Id Name Value Type +1 1 ACRO_LOCKING 0 2 +1 1 ACRO_PITCH_RATE 180 4 +1 1 ACRO_ROLL_RATE 180 4 +1 1 ADSB_ENABLE 0 2 +``` + +Above is an example of a parameter file with four parameters. The file can include as many parameters as needed. + +Comments are preceded with a `#`. + +This header: `# MAV ID COMPONENT ID PARAM NAME VALUE` describes the format for each row: + +- `Vehicle-Id` Vehicle id +- `Component-Id` Component id for parameter +- `Name` Parameter name +- `Value` Parameter value +- `Type` Parameter type using MAVLink `MAV_PARAM_TYPE_*` enum values + +A parameter file contains the parameters for a single Vehicle. It can contain parameters for multiple components within that Vehicle. diff --git a/docs/fa/qgc-dev-guide/file_formats/plan.md b/docs/fa/qgc-dev-guide/file_formats/plan.md new file mode 100644 index 00000000000..914571983f2 --- /dev/null +++ b/docs/fa/qgc-dev-guide/file_formats/plan.md @@ -0,0 +1,489 @@ +# Plan File Format + +Plan files are stored in JSON file format and contain mission items and (optional) geo-fence and rally-points. +Below you can see the top level format of a Plan file + +:::tip +This is "near-minimal" - a plan must contain at least one mission item. +The plan fence and rally points are also used in modes when no mission is running. +::: + +```json +{ + "fileType": "Plan", + "geoFence": { + "circles": [], + "polygons": [], + "version": 2 + }, + "groundStation": "QGroundControl", + "mission": {}, + "rallyPoints": { + "points": [], + "version": 2 + }, + "version": 1 +} +``` + +The main fields are: + +| Key | Description | +| ------------------------------ | ------------------------------------------------------------------------------ | +| `version` | The version for this file. Current version is 1. | +| `fileType` | Must be `"Plan"`. | +| `groundStation` | The name of the ground station which created this file (here _QGroundControl_) | +| [`mission`](#mission) | The mission associated with this flight plan. | +| [`geoFence`](#geofence) | (Optional) Geofence information for this plan. | +| [`rallyPoints`](#rally_points) | (Optional) Rally/Safe point information for this plan | + +## Mission Object {#mission} + +The structure of the mission object is shown below. +The `items` field contains a comma-separated list of mission items (it must contain at least one mission item, as shown below). +The list may be a mix of both [SimpleItem](#mission_simple_item) and [ComplexItem](#mission_complex_item) objects. + +```json + "mission": { + "cruiseSpeed": 15, + "firmwareType": 12, + "globalPlanAltitudeMode": 1, + "hoverSpeed": 5, + "items": [ + { + "AMSLAltAboveTerrain": null, + "Altitude": 50, + "AltitudeMode": 0, + "autoContinue": true, + "command": 22, + "doJumpId": 1, + "frame": 3, + "params": [ + 15, + 0, + 0, + null, + 47.3985099, + 8.5451002, + 50 + ], + "type": "SimpleItem" + } + ], + "plannedHomePosition": [ + 47.3977419, + 8.545594, + 487.989 + ], + "vehicleType": 2, + "version": 2 + }, +``` + +The following values are required: + +| Key | Description | +| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version for the mission object. Current version is 2. | +| `firmwareType` | The firmware type for which this mission was created. This is one of the [MAV\_AUTOPILOT](https://mavlink.io/en/messages/common.html#MAV_AUTOPILOT) enum values. | +| `globalPlanAltitudeMode` | The global plan-wide altitude mode setting. This is used by plan items that don't specify an `"AltitudeMode"`. | +| `vehicleType` | The vehicle type for which this mission was created. This is one of the [MAV\_TYPE](https://mavlink.io/en/messages/common.html#MAV_TYPE) enum values. | +| `cruiseSpeed` | The default forward speed for Fixed wing or VTOL vehicles (i.e. when moving between waypoints). | +| `hoverSpeed` | The default forward speed for multi-rotor vehicles. | +| `items` | The list of mission item objects associated with the mission . The list may contain either/both [SimpleItem](#mission_simple_item) and [ComplexItem](#mission_complex_item) objects. | +| `plannedHomePosition` | The planned home position is shown on the map and used for mission planning when no vehicle is connected. The array values shown above are (from top): latitude, longitude and AMSL altitude. | + +The format of the simple and complex items is given below. + +### `SimpleItem` - Simple Mission Item {#mission\_simple\_item} + +A simple item represents a single MAVLink [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM) command. + +``` + { + "AMSLAltAboveTerrain": null, + "Altitude": 50, + "AltitudeMode": 0, + "autoContinue": true, + "command": 22, + "doJumpId": 1, + "frame": 3, + "params": [ + 15, + 0, + 0, + null, + 47.3985099, + 8.5451002, + 50 + ], + "type": "SimpleItem" + } +``` + +The field mapping is shown below. + +| Key | Description | +| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | `SimpleItem` for a simple item | +| `AMSLAltAboveTerrain` | Altitude value shown to the user. | +| `Altitude` | | +| `AltitudeMode` | | +| `autoContinue` | [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).autoContinue | +| `command` | The command ([MAV\_CMD](https://mavlink.io/en/messages/common.html#MAV_CMD)) for this mission item - see [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).command. | +| `doJumpId` | The target id for the current mission item in DO\_JUMP commands. These are auto-numbered from 1. | +| `frame` | [MAV\_FRAME](https://mavlink.io/en/messages/common.html#MAV_FRAME) (see [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).frame) | +| `params` | [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).param1,2,3,4,x,y,z (values depends on the particular [MAV\_CMD](https://mavlink.io/en/messages/common.html#MAV_CMD)). | + +### Complex Mission Item {#mission\_complex\_item} + +A complex item is a higher level encapsulation of multiple `MISSION_ITEM` objects treated as a single entity. + +There are currently three types of complex mission items: + +- [Survey](#survey) +- [Corridor Scan](#corridor_scan) +- [Structure Scan](#structure_scan) + +#### Survey - Complex Mission Item {#survey} + +The object definition for a `Survey` complex mission item is given below. + +``` +{ + "TransectStyleComplexItem": { + ... + }, + "angle": 0, + "complexItemType": "survey", + "entryLocation": 0, + "flyAlternateTransects": false, + "polygon": [ + [ + -37.75170619863631, + 144.98414811224316 + ], + ... + [ + -37.75170619863631, + 144.99457681259048 + ] + ], + "type": "ComplexItem", + "version": 4 + }, +``` + +Complex items have these values associated with them: + +| Key | Description | +| ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version number for this `survey` definition. Current version is 3. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `survey` | +| [`TransectStyleComplexItem`](#TransectStyleComplexItem) | The common base definition for Survey and CorridorScan complex items. | +| `angle` | The angle for the transect paths (degrees). | +| `entryLocation` | ? | +| `flyAlternateTransects` | If true, the vehicle will skip every other transect and then come back at the end and fly these alternates. This can be used for fixed wing aircraft when the turnaround would be too acute for the vehicle to make the turn. | +| `polygon` | The polygon array which represents the polygonal survey area. Each point is a latitude, longitude pair for a polygon vertex. | + +#### Corridor Scan {#corridor\_scan} + +The object definition for a `CorridorScan` complex mission item is given below. + +``` + { + "CorridorWidth": 50, + "EntryPoint": 0, + "TransectStyleComplexItem": { + ... + }, + }, + "complexItemType": "CorridorScan", + "polyline": [ + [ + -37.75234887156983, + 144.9893624624168 + ], + ... + [ + -37.75491914850321, + 144.9893624624168 + ] + ], + "type": "ComplexItem", + "version": 2 + }, +``` + +| Key | Description | +| ------------------------------------------------------- | --------------------------------------------------------------------- | +| `version` | The version for this `CorridorScan` definition. Current version is 3. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `CorridorScan` | +| `CorridorWidth` | ? | +| `EntryPoint` | ? | +| [`TransectStyleComplexItem`](#TransectStyleComplexItem) | The common base definition for Survey and CorridorScan complex items. | +| `polyline` | ? | + +#### Structure Scan {#structure\_scan} + +The object definition for a `StructureScan` complex mission item is given below. + +```json + { + "Altitude": 50, + "CameraCalc": { + "AdjustedFootprintFrontal": 25, + "AdjustedFootprintSide": 25, + "CameraName": "Manual (no camera specs)", + "DistanceToSurface": 10, + "DistanceToSurfaceRelative": true, + "version": 1 + }, + "Layers": 1, + "StructureHeight": 25, + "altitudeRelative": true, + "complexItemType": "StructureScan", + "polygon": [ + [ + -37.753184359536355, + 144.98879374063998 + ], + ... + [ + -37.75408368012594, + 144.98879374063998 + ] + ], + "type": "ComplexItem", + "version": 2 + } +``` + +| Key | Description | +| --------------------------- | ---------------------------------------------------------------------- | +| `version` | The version for this `StructureScan` definition. Current version is 2. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `StructureScan` | +| `Altitude` | ? | +| [`CameraCalc`](#CameraCalc) | ? | +| `Layers` | ? | +| `StructureHeight` | ? | +| `altitudeRelative` | `true`: `altitude` is relative to home, `false`: `altitude` is AMSL. | +| `polygon` | ? | + +#### `TransectStyleComplexItem` {#TransectStyleComplexItem} + +`TransectStyleComplexItem` contains the common base definition for [`survey`](#survey) and [`CorridorScan`](#CorridorScan) complex items. + +```json + "TransectStyleComplexItem": { + "CameraCalc": { + ... + }, + "CameraTriggerInTurnAround": true, + "FollowTerrain": false, + "HoverAndCapture": false, + "Items": [ + ... + ], + "Refly90Degrees": false, + "TurnAroundDistance": 10, + "VisualTransectPoints": [ + [ + -37.75161626657736, + 144.98414811224316 + ], + ... + [ + -37.75565155437309, + 144.99438539496475 + ] + ], + "version": 1 + }, +``` + +| Key | Description | +| --------------------------- | --------------------------------------------------------------------------------- | +| `version` | The version for this `TransectStyleComplexItem` definition. Current version is 1. | +| [`CameraCalc`](#CameraCalc) | ? | +| `CameraTriggerInTurnAround` | ? (boolean) | +| `FollowTerrain` | ? (boolean) | +| `HoverAndCapture` | ? (boolean) | +| `Items` | ? | +| `Refly90Degrees` | ? (boolean) | +| `TurnAroundDistance` | The distance to fly past the polygon edge prior to turning for the next transect. | +| `VisualTransectPoints` | ? | + +##### CameraCalc {#CameraCalc} + +The `CameraCalc` contains camera information used for a survey, corridor or structure scan. + +``` + "CameraCalc": { + "AdjustedFootprintFrontal": 272.4, + "AdjustedFootprintSide": 409.2, + "CameraName": "Sony ILCE-QX1", + "DistanceToSurface": 940.6896551724138, + "DistanceToSurfaceRelative": true, + "FixedOrientation": false, + "FocalLength": 16, + "FrontalOverlap": 70, + "ImageDensity": 25, + "ImageHeight": 3632, + "ImageWidth": 5456, + "Landscape": true, + "MinTriggerInterval": 0, + "SensorHeight": 15.4, + "SensorWidth": 23.2, + "SideOverlap": 70, + "ValueSetIsDistance": false, + "version": 1 + }, +``` + +| Key | Description | +| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version for this `CameraCalc` definition. Current version is 1. | +| `AdjustedFootprintFrontal` | ? | +| `AdjustedFootprintSide` | ? | +| `DistanceToSurface` | ? Units? | +| `DistanceToSurfaceRelative` | ? | +| `CameraName` | Name of camera being used (must correspond to one of the cameras known to _QGroundControl_ or: `Manual (no camera specs)` for manual setup, `Custom Camera` for a custom setup. The keys listed after this point are not specified for a "Manual" camera definition. | +| `FixedOrientation` | ? (boolean) | +| `FocalLength` | Focal length of camera lens in millimeters. | +| `FrontalOverlap` | Percentage of frontal image overlap. | +| `ImageDensity` | ? | +| `ImageHeight` | Image height in px | +| `ImageWidth` | Image width in px | +| `Landscape` | `true`: Camera installed in landscape orientation on vehicle, `false`: Camera installed in portrait orientation on vehicle. | +| `MinTriggerInterval` | ? | +| `SensorHeight` | Sensor height in millimeters. | +| `SensorWidth` | Sensor width in millimeters. | +| `SideOverlap` | Percentage of side image overlap. | +| `ValueSetIsDistance` | ? (boolean) | + +## GeoFence {#geofence} + +Geofence information is optional. +The plan can contain an arbitrary number of geofences defined in terms of polygons and circles. + +The minimal definition is shown below. + +```json + "geoFence": { + "circles": [ + ], + "polygons": [ + ], + "version": 2 + }, +``` + +The fields are: + +| Key | Description | +| ------------------------------- | ----------------------------------------------------------------------------- | +| `version` | The version number for the geofence plan format. The documented version is 2. | +| [`circles`](#circle_geofence) | List containing circle geofence definitions (comma separated). | +| [`polygons`](#polygon_geofence) | List containing polygon geofence definitions (comma separated). | + +### Circle Geofence {#circle\_geofence} + +Each circular geofence is defined in a separate item, as shown below (multiple comma-separated items can be defined). +The items define the centre and radius of the circle, and whether or not the specific geofence is activated. + +```json +{ + "circle": { + "center": [47.39756763610029, 8.544649762407738], + "radius": 319.85 + }, + "inclusion": true, + "version": 1 +} +``` + +The fields are: + +| Key | Description | +| ----------- | -------------------------------------------------------------------------------------------------- | +| `version` | The version number for the geofence "circle" plan format. The documented version is 1. | +| `circle` | The definition of the circle. Includes `centre` (latitude, longitude) and `radisu` as shown above. | +| `inclusion` | Whether or not the geofence is enabled (true) or disabled. | + +### Polygon Geofence {#polygon\_geofence} + +Each polygon geofence is defined in a separate item, as shown below (multiple comma-separated items can be defined). +The geofence includes a set of points defined with a clockwise winding (i.e. they must enclose an area). + +```json + { + "inclusion": true, + "polygon": [ + [ + 47.39807773798406, + 8.543834631785785 + ], + [ + 47.39983519888905, + 8.550024648373267 + ], + [ + 47.39641100087146, + 8.54499282423751 + ], + [ + 47.395590322265186, + 8.539435808992085 + ] + ], + "version": 1 + } + ], + "version": 2 + } +``` + +The fields are: + +| Key | Description | +| ----------- | ------------------------------------------------------------------------------------------------------------------------------ | +| `version` | The version number for the geofence "polygon" plan format. The documented version is 2. | +| `polygon` | A list of points for the polygon. Each point contains a latitude and longitude. The points are ordered in a clockwise winding. | +| `inclusion` | Whether or not the geofence is enabled (true) or disabled. | + +## Rally Points {#rally\_points} + +Rally point information is optional. +The plan can contain an arbitrary number of rally points, each of which has a latitude, longitude, and altitude (above home position). + +A definition with two points is shown below. + +```json + + "rallyPoints": { + "points": [ + [ + 47.39760401, + 8.5509154, + 50 + ], + [ + 47.39902017, + 8.54263274, + 50 + ] + ], + "version": 2 + } +``` + +The fields are: + +| Key | Description | +| --------- | -------------------------------------------------------------------------------- | +| `version` | The version number for the rally point plan format. The documented version is 2. | +| `points` | A list of rally points. | diff --git a/docs/fa/qgc-dev-guide/firmware_plugin.md b/docs/fa/qgc-dev-guide/firmware_plugin.md new file mode 100644 index 00000000000..95d0c3ddc74 --- /dev/null +++ b/docs/fa/qgc-dev-guide/firmware_plugin.md @@ -0,0 +1,23 @@ +# Plugin Architecture + +Although the MAVLink spec defines a standard communication protocol to communicate with a vehicle. There are many aspects of that spec that are up for interpretation by the firmware developers. Because of this there are many cases where communication with a vehicle running one firmware is be slightly different than communication with a vehicle running a different firmware in order to accomplish the same task. Also each firmware may implement a different subset of the MAVLink command set. + +Another major issue is that the MAVLink spec does not cover vehicle configuration or a common parameter set. Due to this all code which relates to vehicle setup ends up being firmware specific. Also any code which must refer to a specific parameter is also firmware specific. + +Given all of these differences between firmware implementations it can be quite tricky to create a single ground station application that can support each without having the codebase degrade into a massive pile of if/then/else statements peppered everywhere based on the firmware the vehicle is using. + +QGC uses a plugin architecture to isolate the firmware specific code from the code which is generic to all firmwares. There are two main plugins which accomplish this `FirmwarePlugin` and `AutoPilotPlugin`. + +This plugin architecture is also used by custom builds to allow ever further customization beyond when standard QGC can provide. + +## FirmwarePlugin + +This is used to create a standard interface to parts of Mavlink which are generally not standardized. + +## AutoPilotPlugin + +This is used to provide the user interface for Vehicle Setup. + +## QGCCorePlugin + +This is used to expose features of the QGC application itself which are not related to a Vehicle through a standard interface. This is then used by custom builds to adjust the QGC feature set to their needs. diff --git a/docs/fa/qgc-dev-guide/getting_started/cent_os.md b/docs/fa/qgc-dev-guide/getting_started/cent_os.md new file mode 100644 index 00000000000..c709b04874b --- /dev/null +++ b/docs/fa/qgc-dev-guide/getting_started/cent_os.md @@ -0,0 +1,220 @@ +# Using QGC on CentOS 7 + +## OS Installation + +To install CentOS 7: + +1. Fetch the latest [CentOS 7 ISO from here](http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso) +2. Make a bootable USB stick out of the ISO e.g. by [following this guide](https://linuxize.com/post/how-to-create-a-bootable-centos-7-usb-stick/). +3. Boot the target device from the stick. + +The following examples show how to boot the target device from the stick. + +**Example:** _Panasonic Toughpad FZ-M1_ (attaching a keyboard and mouse to the device to follow this guide is recommended). + +1. Enter the BIOS menu by holding **Delete** on an attached USB keyboard or pressing all hardware buttons around the power button during boot. +2. Once inside the BIOS switch to the _Exit_ tab using the arrow keys or the touchscreen. +3. Select your previously created and plugged in USB stick under Boot device override. + +**Example** [UAV Components Micronav](https://www.uavcomp.com/command-control/micronav/) device: + +1. The setup of CentOS will not start with the default configuration. + To solve this + 1. Go to the BIOS menu as explained in the example above. + 2. Disable the "Extension Port" device under the "Advanced" tab. + 3. "Exit and save" the BIOS menu on the Exit page of the BIOS and try again. + 4. After CentOS is installed, you revert the changes again so that the Microhard network works. +2. Make sure to never do a warm reboot but always first shut down the device if you want to reboot into Linux. + Otherwise the Microhard network adapter will not work properly and slows down the whole system. + +### CentOS Software Selection Installation Options + +These were the options used to setup a CentOS development system. +Use it as a guideline. + +![CentOS Installation](../../../assets/dev_getting_started/centos/centos_installation.png) + +![CentOS Software Selection](../../../assets/dev_getting_started/centos/centos_sw_selection.png) + +### Update GStreamer + +Once CentOS is installed and booted we need to set up the environment for QGC. +First, we need to update GStreamer to a more recent version. +This guide follows Alice Wonder's tips found here: https\://media.librelamp.com + +``` +sudo yum install epel-release -y +wget http://awel.domblogger.net/7/media/x86_64/awel-media-release-7-6.noarch.rpm +sudo yum localinstall awel-media-release-7-6.noarch.rpm -y +sudo yum clean all +sudo yum update +sudo yum install gstreamer1* --skip-broken -y +``` + +**Note:** Make sure these are installed (vaapi for Intel GPUs) + +``` +sudo yum install gstreamer1-vaapi +sudo yum install gstreamer1-libav +``` + +**Note:** Install these to enable hardware accelerated video decoding + +``` +sudo yum install libva +sudo yum install libva-utils +sudo yum install libva-intel-driver +``` + +If libva-intel-driver is not found you can download it and install it manually + +``` +wget http://download1.rpmfusion.org/free/el/updates/7/x86_64/l/libva-intel-driver-1.8.3-4.el7.x86_64.rpm +sudo yum localinstall libva-intel-driver-1.8.3-4.el7.x86_64.rpm -y +``` + +### Installing SDL2 + +SDL2 is used for joystick support. + +``` +sudo yum install SDL2 SDL2-devel -y +``` + +### Update Kernel (optional) + +:::tip +If your Joystick gets recognized and shows up as `/dev/input/js0` when you run the command `/dev/input/*` you can skip this step. +::: + +We recommend updating the kernel for: + +- Better touch screen responsiveness. +- Correct recognition of some USB devices - in particular joysticks. + +The following joysticks are known not do work out of the box with the default CentOS 7 kernel (3.10.0): + +- Logitech F310 +- Microsoft Xbox 360 controller (USB) + +To fix the joystick not being recognized (even if the same unit is working under Windows or Ubuntu) please [follow this guide to update the kernel](https://www.howtoforge.com/tutorial/how-to-upgrade-kernel-in-centos-7-server/). + +Here's a short summary of the commands that you need to execute to update the kernel: + +``` +sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org +sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm +sudo yum --enablerepo=elrepo-kernel install kernel-ml -y +``` + +Reboot your device afterwards and make sure the new kernel version shows up as the default start option in the GRUB menu on boot. + +:::info +You might need to disable secure boot in the BIOS to allow the new kernel to be booted. +::: + +## Running QGC on CentOS + +Before launching QGC, you need to make sure the current user has access to the dialout group (serial port access permission): + +``` +sudo usermod -a -G dialout $USER +``` + +### Firewall + +The default firewall security level of Red Hat distributions like CentOS block MAVLink communication and also the camera video stream. +So you need to create rules to open the incoming ports for MAVLink and camera stream. +For non-production local environment testing purposes ONLY you can temporarily disable the firewall using the following commands ([from here](https://www.liquidweb.com/kb/how-to-stop-and-disable-firewalld-on-centos-7/)): + +Temporary: + +``` +systemctl stop firewalld +``` + +Permanent (at your own risk): + +``` +systemctl disable firewalld +``` + +Undo permanent change: + +``` +systemctl enable firewalld +``` + +### Connection problems with multiple networks + +In our test with CentOS we had problems when connecting to multiple networks through multiple network devices even with appropriate IP address and subnet assignment. + +Issues consisted of: + +- Losing Internet access when connecting to a second network +- Having flaky connection to the vehicle with a lot of hiccups and packet losses (e.g. 30 seconds perfect connection 4 seconds of packet loss in a regular pattern) + +If you face any of these problems avoid them by only connecting one network at a time e.g. switching between WiFi and Microhard. + +### Executing a Prebuilt QGC Binary + +- Get hold of an archive containing a prebuilt binary of QGC for CentOS. + At the moment there is no automatic deployment for this build if you urgently need one get in touch with the developers. +- [Unpack the archive](https://www.hostdime.com/kb/hd/command-line/how-to-tar-untar-and-zip-files). +- Go inside the unpacked files and locate the script named `qgroundcontrol-run.sh` +- Run it by executing the command + ``` + ./qgroundcontrol-run.sh + ``` + +## Building QGC on CentOS + +### Installing Qt + +``` +mkdir ~/devel +cd ~/devel +``` + +Install Qt 5.12.4 from the Qt installation script that can be downloaded [here](https://www.qt.io/download-thank-you?os=linux\&hsLang=en). +Once downloaded, make it executable and run it: + +``` +chmod +x qt-unified-linux-x64-3.1.1-online.run +./qt-unified-linux-x64-3.1.1-online.run +``` + +Select the following options and install it under `~/devel/Qt`: + +![Qt Software Selection](../../../assets/dev_getting_started/centos/qt_setup.png) + +### Clone and Build QGC + +``` +git clone --recursive https://github.com/mavlink/qgroundcontrol.git +mkdir build +cd build +``` + +For a debug/test build: + +``` +../Qt/5.12.4/gcc_64/bin/qmake ../qgroundcontrol/qgroundcontrol.pro -spec linux-g++ CONFIG+=debug +``` + +For a release build: + +``` +../Qt/5.12.4/gcc_64/bin/qmake ../qgroundcontrol/qgroundcontrol.pro -spec linux-g++ CONFIG+=qtquickcompiler +``` + +Build it: + +``` +make -j4 +``` + +You can alternatively launch _QtCreator_ (found under `~/devel/Qt/Tools/QtCreator/bin/qtcreator`), load the `qgroundcontro.pro` project and build/debug from within its IDE. + +By default, this will build the regular QGC. +To build the sample, customized UI version, follow [these instructions](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/README.md). diff --git a/docs/fa/qgc-dev-guide/getting_started/container.md b/docs/fa/qgc-dev-guide/getting_started/container.md new file mode 100644 index 00000000000..3bdda672439 --- /dev/null +++ b/docs/fa/qgc-dev-guide/getting_started/container.md @@ -0,0 +1,81 @@ +# Building using Containers + +The community created a docker image that makes it much easier to build a Linux-based QGC application. +This can give you a massive boost in productivity and help with testing. + +## About the Container + +The Container is located in the `./deploy/docker` directory. +It's based on ubuntu 20.04. +It pre-installs all the dependencies at build time, including Qt, thanks to a script located in the same directory, `install-qt-linux.sh`. +The main advantage of using the container is the usage of the `CMake` build system and its many improvements over `qmake` + +## Building the Container + +Before using the container, you have to build the image. +You can accomplish this using docker, running the following script from the root of the QGC source code directory. + +``` +docker build --file ./deploy/docker/Dockerfile-build-linux -t qgc-linux-docker . +``` + +:::info +The `-t` flag is essential. +Keep in mind this is tagging the image for later reference since you can have multiple builds of the same container +::: + +::: info +If building on a Mac computer with an M1 chip you must also specify the build option `--platform linux/x86_64` as shown: + +``` +docker build --platform linux/x86_64 --file ./deploy/docker/Dockerfile-build-linux -t qgc-linux-docker . +``` + +Otherwise you will get a build error like: + +``` +qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory +``` + +::: + +## Building QGC using the Container + +To use the container to build QGC, you first need to define a directory to save the artifacts. +We recommend you create a `build` directory on the source tree and then run the docker image using the tag provided above as follows, from the root directory: + +``` +mkdir build +docker run --rm -v ${PWD}:/project/source -v ${PWD}/build:/project/build qgc-linux-docker +``` + +::: info +If using the script to build the Linux image on a Windows host, you would need to reference the PWD differently. +On Windows the docker command is: + +``` +docker run --rm -v %cd%:/project/source -v %cd%/build:/project/build qgc-linux-docker +``` + +::: + +Depending on your system resources, or the resources assigned to your Docker Daemon, the build step can take some time. + +## Troubleshooting + +### Windows: 'bash\r': No such file or directory + +This error indicates that a Linux script is being run with Windows line endings, which might occur if `git` was configured to use Windows line endings: + +``` + > [4/7] RUN /tmp/qt/install-qt-linux.sh: +#9 0.445 /usr/bin/env: 'bash\r': No such file or directory +``` + +One fix is to force Linux line endings using the command: + +``` +git config --global core.autocrlf false +``` + +Then update/recreate your local repository. diff --git a/docs/fa/qgc-dev-guide/getting_started/index.md b/docs/fa/qgc-dev-guide/getting_started/index.md new file mode 100644 index 00000000000..c01c1af6e99 --- /dev/null +++ b/docs/fa/qgc-dev-guide/getting_started/index.md @@ -0,0 +1,238 @@ +--- +qt_version: 5.15.2 +--- + +# Getting Started + +This topic explains how to get the _QGroundControl_ source code and build it either natively or within a _Vagrant_ environment. +It also provides information about optional or OS specific functionality. + +## Daily Builds + +If you just want to test (and not debug) a recent build of _QGroundControl_ you can use the [Daily Build](https://docs.qgroundcontrol.com/en/releases/daily_builds.html). Versions are provided for all platforms. + +## Source Code + +Source code for _QGroundControl_ is kept on GitHub here: https\://github.com/mavlink/qgroundcontrol. +It is [dual-licensed under Apache 2.0 and GPLv3](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md). + +To get the source files: + +1. Clone the repo (or your fork) including submodules: + ``` + git clone --recursive -j8 https://github.com/mavlink/qgroundcontrol.git + ``` +2. Update submodules (required each time you pull new source code): + ``` + git submodule update --recursive + ``` + +:::tip +Github source-code zip files cannot be used because these do not contain the appropriate submodule source code. +You must use git! +::: + +## Build QGroundControl + +### Using Containers + +We support Linux builds using a container found on the source tree of the repository, which can help you develop and deploy the QGC apps without having to install any of the requirements on your local environment. + +[Container Guide](../getting_started/container.md) + +### Native Builds + +_QGroundControl_ builds are supported for macOS, Linux, Windows, iOS and Android. +_QGroundControl_ uses [Qt](http://www.qt.io) as its cross-platform support library and uses [QtCreator](http://doc.qt.io/qtcreator/index.html) as its default build environment. + +- **macOS:** v10.11 or higher +- **Ubuntu:** 64 bit, gcc compiler +- **Windows:** Vista or higher, [Visual Studio 2019 compiler](#vs) (64 bit) +- **iOS:** 10.0 and higher +- **Android:** Android 5.0 and later. + - Standard QGC is built against ndk version 19. + - Java JDK 11 is required. +- **Qt version:** {{ $frontmatter.qt\_version }} **(only)** + + ::: warning + **Do not use any other version of Qt!** + QGC has been thoroughly tested with the specified version of Qt ({{ $frontmatter.qt\_version }}). + There is a significant risk that other Qt versions will inject bugs that affect stability and safety (even if QGC compiles). + ::: + +For more information see: [Qt 5 supported platform list](http://doc.qt.io/qt-5/supported-platforms.html). + +:::info +Native [CentOS Builds](../getting_started/cent_os.md) are also supported, but are documented separately (as the tested environment is different). +::: + +#### Install Visual Studio 2019 (Windows Only) {#vs} + +The Windows compiler can be found here: [Visual Studio 2019 compiler](https://visualstudio.microsoft.com/vs/older-downloads/) (64 bit) + +When installing, select _Desktop development with C++_ as shown: + +![Visual Studio 2019 - Select Desktop Environment with C++](../../../assets/dev_getting_started/visual_studio_select_features.png) + +:::info +Visual Studio is ONLY used to get the compiler. Actually building _QGroundControl_ should be done using [Qt Creator](#qt-creator) or [qmake](#qmake) as outlined below. +::: + +#### Install Qt + +You **need to install Qt as described below** instead of using pre-built packages from say, a Linux distribution, because _QGroundControl_ needs access to private Qt headers. + +To install Qt: + +1. Download and run the [Qt Online Installer](http://www.qt.io/download-open-source) + - **Ubuntu:** + - Set the downloaded file to executable using: `chmod +x`. + - Install to default location for use with **./qgroundcontrol-start.sh.** If you install Qt to a non-default location you will need to modify **qgroundcontrol-start.sh** in order to run downloaded builds. + +2. In the installer _Select Components_ dialog choose: {{ $frontmatter.qt\_version }}. + + ::: info + If the version needed is not displayed, check the archive (show archive and refresh). + ::: + + Then install just the following components: + + - **Windows**: _MSVC 2019 64 bit_ + - **MacOS**: _macOS_ + - **Linux**: _Desktop gcc 64-bit_ + - All: + - _Qt Charts_ + - _Android ARMv7_ (optional, used to build Android) + + ![QtCreator Select Components (Windows)](../../../assets/dev_getting_started/qt_creator_select_components.jpg) + +3. Install Additional Packages (Platform Specific) + + - **Ubuntu:** `sudo apt-get install speech-dispatcher libudev-dev libsdl2-dev patchelf build-essential curl` + - **Fedora:** `sudo dnf install speech-dispatcher SDL2-devel SDL2 systemd-devel patchelf` + - **Arch Linux:** `pacman -Sy speech-dispatcher patchelf` + - **Android:** [Qt Android Setup](http://doc.qt.io/qt-5/androidgs.html) + + ::: info + JDK11 is required (install if needed)! + ::: + +4. Install Optional/OS-Specific Functionality + + ::: info + Optional features that are dependent on the operating system and user-installed libraries are linked/described below. + These features can be forcibly enabled/disabled by specifying additional values to qmake. + ::: + + - **Video Streaming/Gstreamer:** - see [Video Streaming](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoReceiver/README.md). + - **Airmap SDK:** - TBD. + +5. Disable platform-specific optional features that are enabled (but not installed), by default. + + ::: info + This currently applies to Airmap on Linux, which is optional but enabled by default. + ::: + + - **Ubuntu:** + - Airmap: Create a file named **user\_config.pri** (in the repo root directory) containing the text `DEFINES += DISABLE_AIRMAP`. + This can be done in a bash terminal using the command: + ``` + echo -e "DEFINES += DISABLE_AIRMAP\r\n" | tee user_config.pri + ``` + +#### Building using Qt Creator {#qt-creator} + +1. Launch _Qt Creator_ and open the **qgroundcontrol.pro** project. + +2. In the **Projects** section, select the appropriate kit for your needs: + + - **OSX:** Desktop Qt {{ $frontmatter.qt\_version }} clang 64 bit + + ::: info + iOS builds must be built using [XCode](http://doc.qt.io/qt-5/ios-support.html). + ::: + + - **Ubuntu:** Desktop Qt {{ $frontmatter.qt\_version }} GCC 64bit + + - **Windows:** Desktop Qt {{ $frontmatter.qt\_version }} MSVC2019 **64bit** + + - **Android:** Android for armeabi-v7a (GCC 4.9, Qt {{ $frontmatter.qt\_version }}) + - JDK11 is required. + You can confirm it is being used by reviewing the project setting: **Projects > Manage Kits > Devices > Android (tab) > Android Settings > _JDK location_**. + +3. Build using the "hammer" (or "play") icons: + + ![QtCreator Build Button](../../../assets/dev_getting_started/qt_creator_build_qgc.png) + +#### Build using qmake on CLI {#qmake} + +Example commands to build a default QGC and run it afterwards: + +1. Make sure you cloned the repository and updated the submodules before, see chapter _Source Code_ above and switch into the repository folder: + ``` + cd qgroundcontrol + ``` + +2. Create and enter a shadow build directory: + ``` + mkdir build + cd build + ``` + +3. Configure the build using the qmake script in the root of the repository: + ``` + qmake ../ + ``` + +4. Run make to compile and link. + To accelerate the process things you can use the `-j{number of threads}` parameter. + + ``` + make -j12 + ``` + + ::: info + You can also specify build time flags here. + For example, you could disable airmap inclusion using the command: + + ``` + DEFINES+=DISABLE_AIRMAP make build + ``` + + ::: + +5. Run the QGroundcontrol binary that was just built: + ``` + ./staging/QGroundControl + ``` + +### Vagrant + +[Vagrant](https://www.vagrantup.com/) can be used to build and run _QGroundControl_ within a Linux virtual machine (the build can also be run on the host machine if it is compatible). + +1. [Download](https://www.vagrantup.com/downloads.html) and [Install](https://www.vagrantup.com/docs/getting-started/) Vagrant +2. From the root directory of the _QGroundControl_ repository run `vagrant up` +3. To use the graphical environment run `vagrant reload` + +### Additional Build Notes for all Supported OS + +- **Parallel builds:** For non Windows builds, you can use the `-j#` option to run parellel builds. +- **Location of built files:** Individual build file results can be found in the `build_debug` or `build_release` directories. The built executable can be found in the `debug` or `release` directory. +- **If you get this error when running _QGroundControl_**: `/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version 'GLIBCXX_3.4.20' not found.`, you need to either update to the latest _gcc_, or install the latest _libstdc++.6_ using: `sudo apt-get install libstdc++6`. +- **Unit tests:** To run the [unit tests](../contribute/unit_tests.md), build in `debug` mode with `UNITTEST_BUILD` definition, and then copy `deploy/qgroundcontrol-start.sh` script into the `debug` directory before running the tests. + +## Building QGC Installation Files + +You can additionally create installation file(s) for _QGroundControl_ as part of the normal build process. + +:::tip +On Windows you will need to first install [NSIS](https://sourceforge.net/projects/nsis/). +::: + +To add support for installation file creation you need to add `CONFIG+=installer` to your project file, or when you call _qmake_. + +To do this in _Qt Creator_: + +- Open **Projects > Build > Build Steps > qmake > Additional arguments**. +- Enter `CONFIG+=installer` as shown: + ![Installer](../../../assets/dev_getting_started/qt_project_installer.png) diff --git a/docs/fa/qgc-dev-guide/index.md b/docs/fa/qgc-dev-guide/index.md new file mode 100644 index 00000000000..22020d391d3 --- /dev/null +++ b/docs/fa/qgc-dev-guide/index.md @@ -0,0 +1,68 @@ +# QGroundControl Dev Guide + +[![Releases](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases) [![Discuss](https://img.shields.io/badge/discuss-dev-ff69b4.svg)](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-developers) + +This developer guide is the best source for information if you want to build, modify or extend [QGroundControl](http://qgroundcontrol.com) (QGC). +It shows how to obtain and build the source code, explains how QGC works, and provides guidelines for contributing code to the project. + +:::tip +This part of the guide is for **developers**! +::: + +:::warning +This is an active work in progress - information should be correct, but may not be complete! +If you find that it is missing helpful information (or errors) please raise an issue. +::: + +## Design Philosophy + +QGC is designed to provide a single codebase that can run across multiple OS platforms as well as multiple device sizes and styles. + +The QGC user interface is implemented using [Qt QML](http://doc.qt.io/qt-5/qtqml-index.html). QML provides for hardware acceleration which is a key feature on lower powered devices such as tablets or phones. QML also provides features which allows us to more easily create a single user interface which can adapt itself to differing screen sizes and resolution. + +The QGC UI targets itself more towards a tablet+touch style of UI than a desktop mouse-based UI. This make a single UI easier to create since tablet style UI also tends to work fine on desktop/laptops. + +## Support {#support} + +Development questions can be raised in the [QGroundControl Developer](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-developers) discuss category. + +## Contribution + +Information about contributing, including coding styles, testing and licenses can be found in [Code Submissions](contribute/index.md). + +:::tip +We expect all contributors to adhere to the [QGroundControl code of conduct](https://github.com/mavlink/qgroundcontrol/blob/master/CODE_OF_CONDUCT.md). +This code aims to foster an open and welcoming environment. +::: + +### Coordination Call + +The developer team meets bi-weekly to discuss the highest priority issues, project coordination, and discuss any Issues, PRs, or Questions from the Community. ([Developer Call Details](contribute/dev_call.md)) + +### Translations + +We use [Crowdin](https://crowdin.com) to make it easier to manage translation for both _QGroundControl_ and the documentation. + +The translation projects (and join links) are listed below: + +- [QGroundControl](https://crowdin.com/project/qgroundcontrol) ([join](https://crwd.in/qgroundcontrol)) +- [QGroundControl User Guide](https://crowdin.com/project/qgroundcontrol-user-guide) ([join](https://crwd.in/qgroundcontrol-user-guide)) +- [QGroundControl Developer Guide](https://crowdin.com/project/qgroundcontrol-developer-guide) ([join](https://crwd.in/qgroundcontrol-developer-guide)) + +The PX4 Developer Guide contains additional information about the (common) docs/translation toolchain: + +- [Documentation](https://dev.px4.io/en/contribute/docs.html) +- [Translation](https://dev.px4.io/en/contribute/docs.html) + +## License + +_QGroundControl_ source code is [dual-licensed under Apache 2.0 and GPLv3](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md). +For more information see: [Licenses](contribute/licences.md). + +## Governance + +The QGroundControl mission planner is hosted under the governance of the [Dronecode Project](https://www.dronecode.org/). + +Dronecode Logo Linux Foundation Logo + +
 
diff --git a/docs/fa/qgc-dev-guide/plan/mission_command_tree.md b/docs/fa/qgc-dev-guide/plan/mission_command_tree.md new file mode 100644 index 00000000000..55441b4e3fc --- /dev/null +++ b/docs/fa/qgc-dev-guide/plan/mission_command_tree.md @@ -0,0 +1,196 @@ +# Mission Command Tree + +QGC creates the user interface for editing a specific mission item command dynamically from a hierarchy of json metadata. This hierarchy is called the Mission Command Tree. This way only json metadata must be created when new commands are added. + +## Why a tree? + +The tree is needed to deal with the idosyncracies of differening firmware supporting commands differently and/or different vehicle types supporting the commands in different ways. The simplest example of that is mavlink spec may include command parameters which are not supported by all firmwares. Or command parameters which are only valid for certain vehicle types. Also in some cases a GCS may decide to hide some of the command parameters from view to end users since they are too complex or cause usability problems. + +The tree is the MissionCommandTree class: [MissionCommandTree.cc](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.cc), [MissionCommandTree.h](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.h) + +### Tree Root + +The root of the tree is json metadata which matches the mavlink spec exactly. + +Here you can see an example of the root [json](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoCommon.json#L27) for `MAV_CMD_NAV_WAYPOINT`: + +``` + { + "id": 16, + "rawName": "MAV_CMD_NAV_WAYPOINT", + "friendlyName": "Waypoint", + "description": "Travel to a position in 3D space.", + "specifiesCoordinate": true, + "friendlyEdit": true, + "category": "Basic", + "param1": { + "label": "Hold", + "units": "secs", + "default": 0, + "decimalPlaces": 0 + }, + "param2": { + "label": "Acceptance", + "units": "m", + "default": 3, + "decimalPlaces": 2 + }, + "param3": { + "label": "PassThru", + "units": "m", + "default": 0, + "decimalPlaces": 2 + }, + "param4": { + "label": "Yaw", + "units": "deg", + "nanUnchanged": true, + "default": null, + "decimalPlaces": 2 + } + }, +``` + +Note: In reality this based information should be provided by mavlink itself and not needed to be part of a GCS. + +### Leaf Nodes + +The leaf nodes then provides metadata which can override values for the command and/or remove parameters from display to the user. The full tree hierarchy is this: + +- Root - Generic Mavlink + - Vehicle Type Specific - Vehicle specific overrides to the generic spec + - Firmware Type Specific - One optional leaf node for each firmware type (PX4/ArduPilot) + - Vehicle Type Specific - One optional leaf node for each vehicel type (FW/MR/VTOL/Rover/Sub) + +Note: In reality this override capability should be part of mavlink spec and should be able to be queried from the vehicle. + +### Building the instance tree from the full tree + +Since the json metadata provides information for all firmware/vehicle type combinations the actual tree to use must be built based on the firmware and vehicle type which is being used to create a Plan. This is done through a process call "collapsing" the full tree to a firmware/vehicle specific tree ([code](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.cc#L119)). + +The steps are as follows: + +- Add the root to the instance tree +- Apply the vehicle type specific overrides to the instance tree +- Apply the firmware type specific overrides to the instance tree +- Apply the firmware/vehicle type specific overrides to the instance tree + +The resulting Mission Command Tree is then used to build UI for the Plan View item editors. In reality it is used for more than just that, there are many other places where knowing more information about a specific command id is useful. + +## Example hierarchy for `MAV_CMD_NAV_WAYPOINT` + +Let's walk through an example hierarchy for `MAV_CMD_NAV_WAYPOINT`. Root information is shown above. + +### Root - Vehicle Type Specific leaf node + +The next level of the hiearchy is generic mavlink but vehicle specific. Json files are here: [MR](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoMultiRotor.json), [FW](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoFixedWing.json), [ROVER](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoRover.json), [Sub](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoSub.json), [VTOL](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoVTOL.json). And here are the overrides for (Fixed Wings)(https\://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoFixedWing.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "4" + }, +``` + +What this does is remove the editing UI for param4 which is Yaw and not used by fixed wings. Since this is a leaf node of the root, this applies to all fixed wing vehicle no matter the firmware type. + +### Root - Firmware Type Specific leaf node + +The next level of the hiearchy are overrides which are specific to a firmware type but apply to all vehicle types. Once again lets loook at the waypoint overrides: + +[ArduPilot](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/APM/MavCmdInfoCommon.json#L6): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2" + }, +``` + +[PX4](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/PX4/MavCmdInfoCommon.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2,3" + }, +``` + +You can see that for both firmwares param2 which is acceptance radius is removed from the editing ui. This is a QGC specific decision. It is generally safer and easier to use the firmwares generic acceptance radius handling than the specify a value. So we've decided to hide it from users. + +You can also see that for PX4 param3/PassThru is removed since it is not supported by PX. + +### Root - Firmware Type Specific - Vehicle Type Specific leaf node + +The last level of the hiearchy is both firmware and vehicle type specific. + +[ArduPilot/MR](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/APM/MavCmdInfoMultiRotor.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2,3,4" + }, +``` + +Here you can see that for an ArduPilot Multi-Rotor vehicle param2/3/4 Acceptance/PassThru/Yaw are removed. Yaw for example is removed because it is not supported. Due to quirk of how this code works, you need to repeat the overrides from the lower level. + +## Mission Command UI Info + +Two classes define the metadata associated with a command: + +- MissionCommandUIInfo - Metadata for the entire command +- MissionCmdParamInfo - Metadata for a param in a command + +The source is commented with full details of the json keys which are supported. + +[MissionCommandUIInfo](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandUIInfo.h#L82): + +``` +/// UI Information associated with a mission command (MAV_CMD) +/// +/// MissionCommandUIInfo is used to automatically generate editing ui for a MAV_CMD. This object also supports the concept of only having a set of partial +/// information for the command. This is used to create overrides of the base command information. For on override just specify the keys you want to modify +/// from the base command ui info. To override param ui info you must specify the entire MissionParamInfo object. +/// +/// The json format for a MissionCommandUIInfo object is: +/// +/// Key Type Default Description +/// id int reauired MAV_CMD id +/// comment string Used to add a comment +/// rawName string required MAV_CMD enum name, should only be set of base tree information +/// friendlyName string rawName Short description of command +/// description string Long description of command +/// specifiesCoordinate bool false true: Command specifies a lat/lon/alt coordinate +/// specifiesAltitudeOnly bool false true: Command specifies an altitude only (no coordinate) +/// standaloneCoordinate bool false true: Vehicle does not fly through coordinate associated with command (exampl: ROI) +/// isLandCommand bool false true: Command specifies a land command (LAND, VTOL_LAND, ...) +/// friendlyEdit bool false true: Command supports friendly editing dialog, false: Command supports 'Show all values" style editing only +/// category string Advanced Category which this command belongs to +/// paramRemove string Used by an override to remove params, example: "1,3" will remove params 1 and 3 on the override +/// param[1-7] object MissionCommandParamInfo object +/// +``` + +[MissionCmdParamInfo](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandUIInfo.h#L25): + +``` +/// UI Information associated with a mission command (MAV_CMD) parameter +/// +/// MissionCommandParamInfo is used to automatically generate editing ui for a parameter associated with a MAV_CMD. +/// +/// The json format for a MissionCmdParamInfo object is: +/// +/// Key Type Default Description +/// label string required Label for text field +/// units string Units for value, should use FactMetaData units strings in order to get automatic translation +/// default double 0.0/NaN Default value for param. If no default value specified and nanUnchanged == true, then defaultValue is NaN. +/// decimalPlaces int 7 Number of decimal places to show for value +/// enumStrings string Strings to show in combo box for selection +/// enumValues string Values associated with each enum string +/// nanUnchanged bool false True: value can be set to NaN to signal unchanged +``` diff --git a/docs/fa/qgc-dev-guide/release_branching_process.md b/docs/fa/qgc-dev-guide/release_branching_process.md new file mode 100644 index 00000000000..8cff755d051 --- /dev/null +++ b/docs/fa/qgc-dev-guide/release_branching_process.md @@ -0,0 +1,81 @@ +# QGroundControl Release/Branching process + +## Semantic Versioning + +QGC uses semantic versioning for the version numbers associated with its releases. +Semantic versioning is a 3-component number in the format of `vX.Y.Z`, where: + +- `X` is the major version. +- `Y` is the minor version. +- `Z` is the patch version. + +## Stable Builds + +The current stable build is the highest quality build available for QGC. +[Patch releases](#patch_releases) of the stable build are regularly made to fix important issues. + +Stable builds are built from a separate branch that is named with the format: `Stable_VX.Y` (note, there is no patch number!) +The branch has one or more git tags for each patch release (with the format `vX.Y.Z`), indicating the point in the repo source code that the associated patch release was created from. + +### Patch Releases {#patch\_releases} + +A patch release contains fixes to the stable release that are important enough to _require_ an update, and are safe enough that the stable release continues to maintain high quality. + +Patch releases increment the patch version number only. + +### Patch - Development Stage + +Approved fixes to the stable release are commited to the current stable branch. +These fixes continue to queue up in the stable branch until a patch release is made (see next step). + +Commits/changes to the stable branch must also be brought over to the master branch (either through cherry pick or separate pulls). + +### Patch - Release Stage + +At the point where the decision is made to do a patch release, the release binaries are created and a new _tag_ is added to the stable branch (with the same patch release number) indicating the associated source code. + +:::info +New branches are not created for patch releases - only for major and minor releases. +::: + +## Daily Builds + +### Development Stage + +Daily builds are built from the `master` branch, and this is where all new major feature development happens. +The state of master represents either the next minor point release, or a new major version release (depending on the level of change). + +There are no git tags associated with a released daily builds. +The released daily build will always match repo HEAD. + +### Release Stage + +When the decision is made to release a new major/minor version the master branch tends to go through an intial lockdown mode. +This is where only important fixes for the release are accepted as pull requests. + +:::info +During the lockdown phase, new features are not allowed in master. +::: + +Once the level of fixes associated with the release slows down to a low level, a new stable branch is created (at this point the `master` branch can move forward again as the latest and greatest). + +Fixes continue in the stable branch until it is deemed ready to release (ideally after a short time)! +At that point the new stable branch is tagged with the new version tag and the first stable release is made. + +## Custom Builds + +A proposed strategy for branching on custom builds can be found [here](custom_build/release_branching_process.md). + +## Process to create a new Stable + +### Major/Minor Version + +1. Create a branch from master named `Stable_VX.Y` where `X` is the major version number and `Y` is the minor version number. +2. Create a tag on the HEAD of master name `dX.Y` where the minor version is one greater than the new Stable. For example if you are create a new Stable 4.2 version then the tag would be 'd4.3'. This tag is used to create the version numbers for Android daily builds. Example: `git tag -a d4.3.0 -m "QGroundControl Daily Android Version Base"`. +3. Create an annotated tag on the newly created Stable branch named `vX.Y.0` with the correct major/minor version number. Example: `git tag -a v4.2.0 -m "QGroundControl v4.2.0"`. Pushing this tag to the repo will start a build. +4. Once the build completes verify the builds are pushed up to S3 correctly and sanity check that they at least boot correctly. Location on S3 will be `https://qgroundcontrol.s3.us-west-2.amazonaws.com/latest/...`. +5. Update the `https://qgroundcontrol.s3.us-west-2.amazonaws.com/builds/latest/QGC.version.txt` text file to the latest Stable version. This will notify uses there is a new Stable available the next time they launch QGC. + +### Patch Version + +Creating a new Patch Version is the same except you skip steps 1 and 2 and in step 3 you bump the patch version number up as needed. diff --git a/docs/fa/qgc-dev-guide/tools/index.md b/docs/fa/qgc-dev-guide/tools/index.md new file mode 100644 index 00000000000..d2f1bd88502 --- /dev/null +++ b/docs/fa/qgc-dev-guide/tools/index.md @@ -0,0 +1,20 @@ +# Developer Tools + +_QGroundControl_ makes a number of tools available primarily for autopilot developers. +These ease common developer tasks including setting up simulated connections for testing, +and accessing the System Shell over MAVLink. + +:::info +[Build the source in debug mode](https://github.com/mavlink/qgroundcontrol#supported-builds) to enable these tools. +::: + +Tools include: + +- **[Mock Link](../tools/mock_link.md)** (Daily Builds only) - Creates and stops multiple simulated vehicle links. +- **[Replay Flight Data](https://docs.qgroundcontrol.com/en/app_menu/replay_flight_data.html)** - Replay a telemetry log (User Guide). +- **[MAVLink Inspector](https://docs.qgroundcontrol.com/en/app_menu/mavlink_inspector.html)** - Display received MAVLink messages/values. +- **[MAVLink Analyzer](https://docs.qgroundcontrol.com/en/app_menu/mavlink_analyzer.html)** - Plot trends for MAVLink messages/values. +- **[Custom Command Widget](https://docs.qgroundcontrol.com/en/app_menu/custom_command_widget.html)** - Load custom/test QML UI at runtime. +- **[Onboard Files](https://docs.qgroundcontrol.com/en/app_menu/onboard_files.html)** - Navigate vehicle file system and upload/download files. +- **[HIL Config Widget](https://docs.qgroundcontrol.com/en/app_menu/hil_config.html)** - Settings for HIL simulators. +- **[MAVLink Console](https://docs.qgroundcontrol.com/en/analyze_view/mavlink_console.html)** (PX4 Only) - Connect to the PX4 nsh shell and send commands. diff --git a/docs/fa/qgc-dev-guide/tools/mock_link.md b/docs/fa/qgc-dev-guide/tools/mock_link.md new file mode 100644 index 00000000000..bbb8878c9c2 --- /dev/null +++ b/docs/fa/qgc-dev-guide/tools/mock_link.md @@ -0,0 +1,33 @@ +# Mock Link + +_Mock Link_ allows you to create and stop links to multiple simulated (mock) vehicles in _QGroundControl_ debug builds. + +The simulation does not support flight, but does allow easy testing of: + +- Mission upload/download +- Viewing and changing parameters +- Testing most setup pages +- Multiple vehicle UIs + +It is particularly useful for unit testing error cases for mission upload/download. + +## Using Mock Link + +To use _Mock Link_: + +1. Create a debug build by [building the source](https://github.com/mavlink/qgroundcontrol#supported-builds). + +2. Access _Mock Link_ by selecting the _Application Settings_ icon in the top toolbar and then **Mock Link** in the sidebar: + + ![](../../../assets/dev_tools/mocklink_waiting_for_connection.jpg) + +3. The buttons in the panel can be clicked to create a vehicle link of the associated type. + + - Each time you click a button a new connection will be created. + - When there is more than one connection the multiple-vehicle UI will appear. + + ![](../../../assets/dev_tools/mocklink_connected.jpg) + +4. Click the **Stop one Mock Link** to stop the currently active vehicle. + +Using _Mock Link_ is then more or less the same as using any other vehicle, except that the simulation does not allow flight. diff --git a/docs/fa/qgc-dev-guide/user_interface_design/controls.md b/docs/fa/qgc-dev-guide/user_interface_design/controls.md new file mode 100644 index 00000000000..16bbca6fbed --- /dev/null +++ b/docs/fa/qgc-dev-guide/user_interface_design/controls.md @@ -0,0 +1,35 @@ +# User Interface Controls + +QGC provides a base set of controls for building user interface. In general they tend to be thin layers above the base QML Controls supported by Qt which respect the QGC color palette. + +``` +import QGroundControl.Controls 1.0 +``` + +## Qt Controls + +The following controls are QGC variants of standard Qt QML Controls. They provide the same functionality as the corresponding Qt controls except for the fact that they are drawn using the QGC palette. + +- QGCButton +- QGCCheckBox +- QGCColoredImage +- QGCComboBox +- QGCFlickable +- QGCLabel +- QGCMovableItem +- QGCRadioButton +- QGCSlider +- QGCTextField + +## QGC Controls + +These custom controls are exclusive to QGC and are used to create standard UI elements. + +- DropButton - RoundButton which drops out a panel of options when clicked. Example is Sync button in Plan view. +- ExclusiveGroupItem - Used as a base Item for custom controls which supports the QML ExclusiveGroup concept. +- QGCView - Base control for all top level views in the system. Provides support for FactPanels and displaying QGCViewDialogs and QGCViewMessages. +- QGCViewDialog - Dialog which pops out from the right side of a QGCView. You can specific the accept/reject buttons for the dialog as well as the dialog contents. Example usage is when you click on a parameter and it brings up the value editor dialog. +- QGCViewMessage - A simplified version of QGCViewDialog which allows you to specify buttons and a simple text message. +- QGCViewPanel - The main view contents inside of a QGCView. +- RoundButton - A round button control which uses an image as its inner contents. +- SetupPage - The base control for all Setup vehicle component pages. Provides a title, description and component page contents area. diff --git a/docs/fa/qgc-dev-guide/user_interface_design/font_palette.md b/docs/fa/qgc-dev-guide/user_interface_design/font_palette.md new file mode 100644 index 00000000000..b9472025352 --- /dev/null +++ b/docs/fa/qgc-dev-guide/user_interface_design/font_palette.md @@ -0,0 +1,20 @@ +# Font and Palette + +QGC has a standard set of fonts and color palette which should be used by all user interface. + +``` +import QGroundControl.Palette 1.0 +import QGroundControl.ScreenTools 1.0 +``` + +## QGCPalette + +This item exposes the QGC color palette. There are two variants of this palette: light and dark. The light palette is meant for outdoor use and the dark palette is for indoor. Normally you should never specify a color directly for UI, you should always use one from the palette. If you don't follow this rule, the user interface you create will not be capable of changing from a light/dark style. + +## QGCMapPalette + +The map palette is used for colors which are used to draw over a map. Due to the the different map styles, specifically satellite and street you need to have different colors to draw over them legibly. Satellite maps needs lighter colors to be seen whereas street maps need darker colors to be seen. The `QGCMapPalette` item provides a set of colors for this as well as the ability to switch between light and dark colors over maps. + +## ScreenTools + +The ScreenTools item provides values which you can use to specify font sizing. It also provides information on screen size and whether QGC is running on a mobile device. diff --git a/docs/fa/qgc-dev-guide/user_interface_design/index.md b/docs/fa/qgc-dev-guide/user_interface_design/index.md new file mode 100644 index 00000000000..caff40d9801 --- /dev/null +++ b/docs/fa/qgc-dev-guide/user_interface_design/index.md @@ -0,0 +1,11 @@ +# User Interface Design + +The main pattern for UI design in QGC is a UI page written in QML, many times communicating with a custom "Controller" written in C++. This follows a somewhat hacked variant of the MVC design pattern. + +The QML code binds to information associated with the system through the following mechanisms: + +- The custom controller +- The global `QGroundControl` object which provides access to things like the active Vehicle +- The FactSystem which provides access to parameters and in some cases custom Facts. + +Note: Due to the complexity of the QML used in QGC as well as it's reliance on communication with C++ objects to drive the ui it is not possible to use the QML Designer provided by Qt to edit QML. diff --git a/docs/fa/qgc-dev-guide/user_interface_design/multi_device_pattern.md b/docs/fa/qgc-dev-guide/user_interface_design/multi_device_pattern.md new file mode 100644 index 00000000000..241be1409f4 --- /dev/null +++ b/docs/fa/qgc-dev-guide/user_interface_design/multi_device_pattern.md @@ -0,0 +1,52 @@ +# Multi-Device Design Pattern + +QGroundControl is designed to run on multiple device types from desktop to laptop to tablet to small phone sized screens using mouse and touch. Below is the description of how QGC does it and the reasoning behind it. + +## Efficient 1 person dev team + +The design pattern that QGC development uses to solve this problem is based around making new feature development quick and allowing the code base to be testable and maintained by a very small team (let's say 1 developer as the default dev team size). The pattern to achieve this is followed very strictly, because not following it will lead to slower dev times and lower quality. + +Supporting this 1 person dev team concept leads to some tough decisions which not everyone may be happy about. But it does lead to QGC being released on many OS and form factors using a single codebase. This is something most other ground stations out there are not capable of achieving. + +What about contributors you ask? QGC has a decent amount of contributors. Can't they help move things past this 1 person dev team concept? Yes QGC has quite a few contributors. But unfortunately they come and go over time. And when they go, the code they contributed still must be maintained. Hence you fall back to the 1 person dev team concept which is mostly what has been around as an average over the last three years of development. + +## Target Device + +The priority target for QGC UI design is a tablet, both from a touch standpoint and a screen size standpoint (think 10" Samsung Galaxy tab). Other device types and sizes may see some sacrifices of visuals and/or usability due to this decision. The current order when making priority based decisions is Tablet, Laptop, Desktop, Phone (any small screen). + +### Phone sized screen support + +As specified above, at this point smaller phone sized screens are the lowest level priority for QGC. More focus is put onto making active flight level displays, such as the Fly view, more usable. Less focus is placed on Setup related views such as Setup and Plan. Those specific views are tested to be functionally usable on small screens but they may be painful to use. + +## Development tools used + +### Qt Layout controls + +QGC does not have differently coded UIs which are targeted to different screen sizes and/or form factors. In general it uses QML Layout capabilities to reflow a single set of QML UI code to fit different form factors. In some cases it provides less detail on small screen sizes to make things fit. But that is a simple visibility pattern. + +### FactSystem + +Internal to QGC is a system which is used to manage all of the individual pieces of data within the system. This data model is then connected to controls. + +### Heavy reliance on reusable controls + +QGC UI is developed from a base set of reusable controls and UI elements. This way any new feature added to a reusable control is now available throughout the UI. These reusable controls also connect to FactSystem Facts which then automatically provides appropriate UI. + +## Cons for this design pattern + +- The QGC user interface ends up being a hybrid style of desktop/laptop/tablet/phone. Hence not necessarily looking or feeling like it is optimized to any of these. +- Given the target device priority list and the fact that QGC tends to just re-layout the same UI elements to fit different form factors you will find this hybrid approach gets worse as you get farther away from the priority target. Hence small phone sized screens taking the worst hit on usability. +- The QGC reusable control set may not provide the absolute best UI in some cases. But it is still used to prevent the creation of additional maintenance surface area. +- Since the QGC UI uses the same UI code for all OSes, QGC does not follow the UI design guidelines specified by the OS itself. It has it's own visual style which is somewhat of a hybrid of things picked from each OS. Hence the UI looks and works mostly the same on all OS. Once again this means for example that QGC running on Android won't necessarily look like an android app. Or QGC running on an iPhone will not look or work like most other iPhone apps. That said the QGC visual/functional style should be understandable to these OS users. + +## Pros for this design pattern + +- It takes less time to design a new feature since the UI coding is done once using this hybrid model and control set. Layout reflow is quite capable in Qt QML and becomes second nature once you get used to it. +- A piece of UI can be functionally tested on one platform since the functional code is the same across all form factors. Only layout flow must be visually checked on multiple devices but this is fairly easily done using the mobile simulators. In most cases this is what is needed: + - Use desktop build, resizing windows to test reflow. This will generally cover a tablet sized screen as well. + - Use a mobile simulator to visually verify a phone sized screen. On OSX XCode iPhone simulator works really well. +- All of the above are critical to keeping our hypothetical 1 person dev team efficient and to keep quality high. + +## Future directions + +- Raise phone (small screen) level prioritization to be more equal to Tablet. Current thinking is that this won't happen until a 3.3 release time frame (release after current one being worked on). diff --git a/docs/fa/qgc-dev-guide/views/fly.md b/docs/fa/qgc-dev-guide/views/fly.md new file mode 100644 index 00000000000..a9f5a8e6c7c --- /dev/null +++ b/docs/fa/qgc-dev-guide/views/fly.md @@ -0,0 +1,8 @@ +# Fly View + +- Top level QML code is in **FlightDisplayView\.qml** +- QML code communicates with `MissionController` (C++) for mission display +- Instrument widgets communicate with active Vehicle object +- Two main inner views are: + - `FlightDisplayViewMap` + - `FlightDisplayViewVideo` diff --git a/docs/fa/qgc-dev-guide/views/index.md b/docs/fa/qgc-dev-guide/views/index.md new file mode 100644 index 00000000000..9cf9e09ef22 --- /dev/null +++ b/docs/fa/qgc-dev-guide/views/index.md @@ -0,0 +1,3 @@ +# Top Level Views + +This section contains topics about the code for the top level views: settings, setup, plan and fly. diff --git a/docs/fa/qgc-dev-guide/views/plan.md b/docs/fa/qgc-dev-guide/views/plan.md new file mode 100644 index 00000000000..8ca6765fdf6 --- /dev/null +++ b/docs/fa/qgc-dev-guide/views/plan.md @@ -0,0 +1,5 @@ +# Plan View + +- Top level QML code is in [PlanView.qml](https://github.com/mavlink/qgroundcontrol/blob/master/src/plan_view/PlanView.qml) +- Main visual UI is a FlightMap control +- QML communicates with MissionController (C++) which provides the view with the mission item data and methods diff --git a/docs/fa/qgc-dev-guide/views/settings.md b/docs/fa/qgc-dev-guide/views/settings.md new file mode 100644 index 00000000000..8ac25ed099b --- /dev/null +++ b/docs/fa/qgc-dev-guide/views/settings.md @@ -0,0 +1,4 @@ +# Settings View + +- Top level QML code is **AppSettings.qml** +- Each button loads a separate QML page diff --git a/docs/fa/qgc-dev-guide/views/setup.md b/docs/fa/qgc-dev-guide/views/setup.md new file mode 100644 index 00000000000..0dd51a0b157 --- /dev/null +++ b/docs/fa/qgc-dev-guide/views/setup.md @@ -0,0 +1,5 @@ +# Setup View + +- Top level QML code implemented in **SetupView\.qml** +- Fixed set of buttons/pages: Summary, Firmware +- Remainder of buttons/pages come from AutoPilotPlugin VehicleComponent list diff --git a/docs/fa/qgc-user-guide/analyze_view/geotag_images.md b/docs/fa/qgc-user-guide/analyze_view/geotag_images.md new file mode 100644 index 00000000000..2b5f9547c1a --- /dev/null +++ b/docs/fa/qgc-user-guide/analyze_view/geotag_images.md @@ -0,0 +1,13 @@ +# GeoTag Images (Analyze View) + +The _GeoTag Images_ screen (**Analyze > GeoTag Images**) allows you to geotag images from a survey mission using information in the flight log. + +:::info +This feature only works with _PX4_ flight stack logs. +ArduPilot is not supported. +::: + +![Analyze View GeoTag Images](../../../assets/analyze/geotag_images.jpg) + +Select the log file, image directory and (optionally) output directory for geotagged images using the buttons provided. +Click **Start Tagging** to generate the geotagged images. diff --git a/docs/fa/qgc-user-guide/analyze_view/index.md b/docs/fa/qgc-user-guide/analyze_view/index.md new file mode 100644 index 00000000000..7c507283f39 --- /dev/null +++ b/docs/fa/qgc-user-guide/analyze_view/index.md @@ -0,0 +1,12 @@ +# Analyze View + +The _Analyze View_ is accessed by selecting the _QGroundControl_ application menu ("Q" icon in the top left corner) and then selecting the **Analyze Tools** button (from the _Select Tool_ popup). + +![Analyze ](../../../assets/analyze/menu_analyze_tool.png) + +The view provides tools to: + +- [Download Logs](../analyze_view/log_download.md) — List, download and clear logs on the vehicle. +- [GeoTag Images (PX4)](../analyze_view/geotag_images.md) — Geotag survey mission images using the flight log (on a computer). +- [MAVLink Console (PX4)](../analyze_view/mavlink_console.md) — Access the the nsh shell running on the vehicle. +- [MAVLink Inspector](../analyze_view/mavlink_inspector.md) — Display and chart received MAVLink messages/values. diff --git a/docs/fa/qgc-user-guide/analyze_view/log_download.md b/docs/fa/qgc-user-guide/analyze_view/log_download.md new file mode 100644 index 00000000000..90ac5b82174 --- /dev/null +++ b/docs/fa/qgc-user-guide/analyze_view/log_download.md @@ -0,0 +1,6 @@ +# Log Download (Analyze View) + +The _Log Download_ screen (**Analyze > Log Download**) is used to list (_Refresh_), +_Download_ and _Erase All_ log files from the connected vehicle. + +![Analyze View Log Download](../../../assets/analyze/log_download.jpg) diff --git a/docs/fa/qgc-user-guide/analyze_view/mavlink_console.md b/docs/fa/qgc-user-guide/analyze_view/mavlink_console.md new file mode 100644 index 00000000000..69c0eae0df2 --- /dev/null +++ b/docs/fa/qgc-user-guide/analyze_view/mavlink_console.md @@ -0,0 +1,20 @@ +# MAVLink Console (Analyze View) + +The MAVLink Console (**Analyze > Mavlink Console**) allows you to connect to the PX4 [System Console](https://docs.px4.io/main/en/debug/system_console.html) and send commands. + +:::info +The console only works when connected to _hardware_ running the _PX4_ flight stack. +PX4 SITL and ArduPilot are not supported. +::: + +:::tip +This is a very useful feature for developers as it allows deep access to the system. In particular, if you are connected via Wifi, you can have this same level of access while the vehicle is flying. +::: + +![Analyze View MAVLink Console](../../../assets/analyze/mavlink_console.jpg) + +The view does not display any output except in response to commands. +Once the vehicle is connected, you can enter commands in the bar provided (for a full list of available commands enter: `?`). + +Command output is displayed in the view above the command bar. +Click **Show Latest** to jump to the bottom of the command output. diff --git a/docs/fa/qgc-user-guide/analyze_view/mavlink_inspector.md b/docs/fa/qgc-user-guide/analyze_view/mavlink_inspector.md new file mode 100644 index 00000000000..127fc65ce6a --- /dev/null +++ b/docs/fa/qgc-user-guide/analyze_view/mavlink_inspector.md @@ -0,0 +1,42 @@ +# MAVLink Inspector + +The _MAVLink Inspector_ provides real-time information and charting of MAVLink traffic received by _QGroundControl_. + +:::warning +This feature is intended primarily for **autopilot developers**/**vehicle creators**. +It is only supported on desktop builds (Windows, Linux, Mac OS). +::: + +![MAVLink inspector](../../../assets/analyze/mavlink_inspector/mavlink_inspector.jpg) + +The inspector lists all received messages for the current vehicle, along with their source component id and update frequency. +You can drill down into individual messages to get the message id, source component id, and the values of all the individual fields. +You can also chart field values in real time, selecting multiple fields from multiple messages to display on one of two charts. + +To use the _MAVLink Inspector_: + +1. Open _Analyze View_ by selecting the _QGroundControl_ application menu ("Q" icon in top left corner) and then choosing the **Analyze Tools** button (from the _Select Tool_ popup). + ![Analyze ](../../../assets/analyze/menu_analyze_tool.png) + +2. Select the **MAVLink Inspector** from the sidebar. + + ![MAVLink inspector menu](../../../assets/analyze/mavlink_inspector/mavlink_inspector_menu.jpg) + + The view will start populating with messages as they are received. + +3. Select a message to see its fields and their (dynamically updating) value: + + ![MAVLink inspector: message detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_message_details.jpg) + +4. Add fields to charts by enabling the adjacent checkboxes (plot 1 is displayed below plot 2). + + ![MAVLink inspector: chart fields detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_plot1.jpg) + + - Fields can be added to only one chart. + + - A chart can have multiple fields, and fields from multiple messages (these are listed above each chart). + Messages containing fields that are being charted are highlighted with an asterisk. + + ![MAVLink inspector: chart fields detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_charted_messages.jpg) + + - The _Scale_ and _Range_ are set to sensible values, but can be modified if needed. diff --git a/docs/fa/qgc-user-guide/fly_view/fly_view.md b/docs/fa/qgc-user-guide/fly_view/fly_view.md new file mode 100644 index 00000000000..4e0edc42877 --- /dev/null +++ b/docs/fa/qgc-user-guide/fly_view/fly_view.md @@ -0,0 +1,437 @@ +# Fly View + +The Fly View is used to command and monitor the vehicle when flying. + +You can use it to: + +- Run an automated [pre-flight checklist](#preflight_checklist). +- Arm the vehicle (or check why it won't arm). +- Control missions: [start](#start_mission), [continue](#continue_mission), [pause](#pause), and [resume](#resume_mission). +- Guide the vehicle to [arm](#arm)/[disarm](#disarm)/[emergency stop](#emergency_stop), [takeoff](#takeoff)/[land](#land), [change altitude](#change_altitude), [go to](#goto) or [orbit](#orbit) a particular location, and [return/RTL](#rtl). +- Switch between a map view and a video view (if available) +- Display video, mission, telemetry, and other information for the current vehicle, and also switch between connected vehicles. + +![Fly View](../../../assets/fly/fly_view_overview.jpg) + +## UI Overview + +The screenshot above shows the main elements of the fly view: + +- **Map:** Displays the positions of all connected vehicles and the mission for the current vehicle. + - You can drag the map to move it around (the map automatically re-centres after a certain amount of time). + - Once flying, you can click on the map to set a [Go to](#goto) or [Orbit at](#orbit) location. +- **Fly Toolbar:** Key status information for sensors (GPS, battery, RC control), and vehicle state (Flight mode, Armed/Disarmed status). + - Select the sensor indicators to view more detail. + - Press the _Flight mode_ text (e.g. "Hold") to select a new mode. + Not every mode may be available. + - The text next to the **Q** icon indicates the flight readiness using text: "Not Ready", "Ready to Fly", "Flying", and status using colour: "green" (all good!), amber (a warning), red (serious problem). + Select the text when the background is amber or red to find out the cause of any preflight issues (QGC 4.2.0 and later). + You can also select the text to reach a button to arm/disarm/emergency-stop the vehicle. +- **Fly tools:** You can use these to: + - Toggle between takeoff/land. + - Pause/restart the current operation (e.g. landing, or the mission). + - Safety return (also known as RTL or Return). + - The _Action_ button offers other appropriate options for the current state (these overlay the _Confirmation Slider_). + Actions include changing the altitude or continuing a mission. + - Enable the [preflight checklist](#preflight_checklist) (tool option disabled by default). +- **[Instrument Panel](#instrument_panel):** A widget that displays vehicle telemetry. +- **Attitude/Compass**: A widget that provides virtual horizon and heading information. +- **Camera Tools**: A widget for switching between still and video modes, starting/stopping capture, and controlling camera settings. +- **[Video/Switcher](#video_switcher):** Toggle between video or map in a window. + - Press the element to switch _Video_ and _Map_ to foreground. + - _QGroundControl_ supports RTP and RTSP video streaming over your vehicles UDP connection. + It also supports directly connected UVC devices. + QGC video support is further discussed in the [Video README](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoStreaming/README.md). + - A [Telemetry Overlay](../fly_view/video_overlay.md) is automatically generated as a subtitle file +- **Confirmation Slider:** Context sensitive slider to confirm requested actions. + Slide to start operation. Press **X** to cancel. + +There are a number of other elements that are not displayed by default/are only displayed in certain conditions. +For example, the multi-vehicle selector is only displayed if you have multiple vehicles, and the preflight checklist tool button is only displayed if the appropriate setting is enabled. + +## Instrument Panel (Telemetry) {#instrument\_panel} + +The instrument panel displays telemetry information about the current vehicle. + +![Instrument Panel - for values/telemetry](../../../assets/fly/instrument_panel/instrument_panel_default_values.png) + +The default values include altitude (relative to the home location), horizontal and vertical speed, total flight time, and distance between vehicle and ground station. + +You can configure where the information is displayed by hovering over the panel and selecting the left-side square tool. +This toggles the position of the panel between bottom centre and right-centre. + +![Instrument Panel - hover for move/edit tools](../../../assets/fly/instrument_panel/instrument_panel_tools_move_edit.png) + +You configure what information is display by selecting the edit/pencil icon. +The grid will then display "+" and "-" icons that you can use to add or remove rows and columns (and the pencil icon is replaced by a "lock" icon that you can use to save the settings). + +![Instrument Panel - add rows/columns](../../../assets/fly/instrument_panel/instrument_panel_tools_edit_on.png) + +Select a value to launch its "Value Display" editor. +This allows you to change the icon, text, size, units and so on of the current telemetry value. + +![Instrument Panel - edit a value](../../../assets/fly/instrument_panel/instrument_panel_tools_edit_value.png) + +The selection list on the top left is used to change the source of the telemetry. +By default this is the vehicle, but you can use the selector to choose a particular sensor type. + +![Instrument Panel - value type](../../../assets/fly/instrument_panel/instrument_panel_edit_value_type.png) + +The selection list on the top right is used to select a particular telemetry value for the vehicle or sensor. + +![Instrument Panel - value options](../../../assets/fly/instrument_panel/instrument_panel_edit_value_options.png) + +### Camera {#camera\_instrument\_page} + +The camera panel is used to capture still images and video, and to configure the camera. + +![Camera Panel](../../../assets/fly/camera_panel/camera_mavlink.png) + +The camera capture and configuration options depend on the connected camera. +The configuration options are selected using the panel gear icon. +The configuration for a simple autopilot-connected camera are shown below. + +![Camera Panel - minimal settings](../../../assets/fly/camera_panel/camera_settings_minimal.png) + +When connected to camera that supports the [MAVLink Camera Protocol](https://mavlink.io/en/services/camera.html) you can additionally configure and use other camera services that it makes available. +For example, if your camera supports video mode you will be able to switch between still image capture and video mode, and start/stop recording. + +![Camera Panel - MAVLink settings](../../../assets/fly/camera_panel/camera_settings_mavlink.png) + +::: info +Most of the settings that are displayed depend on the camera (they are defined in its [MAVLink Camera Definition File](https://mavlink.io/en/services/camera_def.html)). + +> A few common settings at the end are hard-coded: Photo Mode (Single/Time Lapse), Photo Interval (if Time Lapse), Reset Camera Defaults (sends a reset command to the camera), Format (storage) +> ::: + +### Video Stream {#video\_instrument\_page} + +The video page is used to enable/disable video streaming. +When enabled, you can start/stop the video stream, enable a grid overlay, change how the image fits the screen, and record the video locally with QGC. + +![Instrument Page - Video Stream](../../../assets/fly/instrument_page_video_stream.jpg) + +## Actions/Tasks + +The following sections describe how to perform common operations/tasks in the Fly View. + +::: info +Many of the available options depend on both the vehicle type and its current state. +::: + +### Pre Flight Checklist {#preflight\_checklist} + +An automated preflight checklist can be used to run through standard checks that the vehicle is configured correctly and it is safe to fly. + +To view the checklist, first enable the tool by navigating to [Application Settings > General > Fly View](../settings_view/general.md) and selecting the **Use preflight checklist** checkbox. +The tool will then be added to the _Flight Tools_. +Press it to open the checklist: + +![Pre Flight Checklist](../../../assets/fly/pre_flight_checklist.jpg) + +Once you have performed each test, select it on the UI to mark it as complete. + +### Arming and Preflight Checks {#arm} + +Arming a vehicle starts the motors in preparation for takeoff. +You will only be able to arm the vehicle if it is safe and ready to fly. + +:::tip +Generally, if the vehicle is ready to arm, _QGroundControl_ will arm the vehicle for you if you start a mission or takeoff. +::: + +The vehicle is ready to fly in all modes if the status text says "Ready to Fly" and the background is green. + +![Vehicle state - ready to fly green/ready background](../../../assets/fly/vehicle_states/ready_to_fly_ok.png) + +If the background is amber then it is ready to take off in the current mode, but may not be able to switch to other modes. +If the background is red and the text is "Not Ready" then you will not be able to arm in the current mode. + +![Vehicle state - ready to fly amber/warning background](../../../assets/fly/vehicle_states/ready_to_fly_warning.png) +![Vehicle state - not ready](../../../assets/fly/vehicle_states/not_ready.png) + +From QGC 4.2.0 (at time of writing, a daily build) you can find out the exact cause of the warning or error, and possible solutions, by pushing the status text. + +This launches the preflight arming checks popup with a list of all preflight warnings. +The toggle on the right expands each error with additional information and possible solutions. + +![UI To check arming warnings](../../../assets/fly/vehicle_states/arming_preflight_check_ui.png) + +Once each issue is resolved it will disappear from the UI. +When all issues blocking arming have been removed you can use the arm button to display the arming confirmation slider, and arm the vehicle (or you can just take off - note that the vehicles will (by default) disarm automatically if you do not take off after a few seconds. + +![Arm confirmation slider](../../../assets/fly/vehicle_states/arming_slider.png) + +::: info +The status text also displays when flying. + +> ![Vehicle state - armed](../../../assets/fly/vehicle_states/armed.png) > ![Vehicle state - flying](../../../assets/fly/vehicle_states/flying.png) +> +> The arming checks UI will open even when flying, allowing you to emergency disarm. +> ::: + +### Disarm {#disarm} + +Disarming the vehicle when landed stops the motors (making the vehicle safe). + +Generally you do not need to explicitly disarm as vehicles will disarm automatically after landing, or shortly after arming if you do not take off. + +If needed, you can do so from the Arming Preflight Checks UI. + +![Disarming](../../../assets/fly/vehicle_states/arming_ui_landed_disarm.png) + +You will then need to use the disarming slider. + +![disarm slider](../../../assets/fly/vehicle_states/disarm_slider.png) + +::: info +Disarming the vehicle while it is flying is called an [Emergency Stop](#emergency_stop) +::: + +### Emergency Stop {#emergency\_stop} + +Emergency stop is effectively the same as disarming the vehicle while it is flying. +Your vehicle will crash! + +If needed, you can do so from the Arming Preflight Checks UI. + +![Disarming when flying](../../../assets/fly/vehicle_states/arming_ui_flying_disarm.png) + +You will then need to use the emergency disarming slider. + +![Emergency disarm slider](../../../assets/fly/vehicle_states/emergency_disarm_slider.png) + +### Takeoff {#takeoff} + +:::tip +If you are starting a mission for a multicopter, _QGroundControl_ will automatically perform the takeoff step. +::: + +To takeoff (when landed): + +1. Press the **Takeoff** button in the _Fly Tools_ (this will toggle to a **Land** button after taking off). +2. Optionally set the takeoff altitude in the right-side vertical slider. +3. Confirm takeoff using the slider. + +![takeoff](../../../assets/fly/takeoff.jpg) + +### Land {#land} + +You can land at the current position at any time while flying: + +1. Press the **Land** button in the _Fly Tools_ (this will toggle to a **Takeoff** button when landed). +2. Confirm landing using the slider. + +![land](../../../assets/fly/land.jpg) + +### RTL/Return + +Return to a "safe point" at any time while flying: + +1. Press the **RTL** button in the _Fly Tools_. +2. Confirm RTL using the slider. + +![rtl](../../../assets/fly/rtl.jpg) + +:::info +Vehicles commonly return to the "home" (takeoff) location and land. +This behaviour depends on the vehicle type and configuration. +For example, rally points or mission landings may be used as alternative return targets. +::: + +### Change Altitude {#change\_altitude} + +You can change altitude while flying, except when in a mission: + +1. Press the **Action** button on the _Fly Tools_ + +2. Select the _Change Altitude_ action from the dialog. + + ![Continue Mission/Change Altitude action](../../../assets/fly/continue_mission_change_altitude_action.jpg) + +3. Move the vertical slider to the desired altitude, then drag the confirmation slider to start the action. + + ![Change altitude](../../../assets/fly/change_altitude.jpg) + +### Goto Location {#goto} + +After taking off you can specify that you want to fly to a particular location. + +1. Left click/Press on the map where you want the vehicle to move and select **Go to location** on the popup. + +![Goto or orbit](../../../assets/fly/goto_or_orbit.jpg) + +1. The location will be displayed on the map, along with a confirmation slider. + + ![Goto confirmation](../../../assets/fly/goto.jpg) + +2. When you're ready, drag the slider to start the operation (or press the **X** icon to cancel it). + +:::info +Goto points must be set within 1 km of the vehicle (hard-coded in QGC). +::: + +### Orbit Location {#orbit} + +After taking off you can specify that you want to orbit a particular location. + +1. Left click/Press on the map (near the centre of your desired orbit) and select **Orbit at location** on the popup. + +![Goto or orbit](../../../assets/fly/goto_or_orbit.jpg) + +1. The proposed orbit will be displayed on the map, along with a confirmation sider. + + ![Orbit confirmation](../../../assets/fly/orbit.jpg) + + - Select and drag the central marker to move the orbit location. + - Select and drag the dot on the outer circle to change the orbit radius + +2. When you're ready, drag the slider to start the operation (or press the **X** icon to cancel it). + +### Pause + +You can pause most operations, including taking off, landing, RTL, mission execution, orbit at location. +The vehicle behaviour when paused depends on the vehicle type; typically a multicopter will hover, and a fixed wing vehicle will circle. + +:::info +You cannot pause a _Goto location_ operation. +::: + +To pause: + +1. Press the **Pause** button in the _Fly Tools_. +2. Optionally set a new altitude using the right-side vertical slider. +3. Confirm the pause using the slider. + +![pause](../../../assets/fly/pause.jpg) + +### Missions + +#### Start Mission {#start\_mission} + +You can start a mission when the vehicle is landed (the start mission confirmation slider is often displayed by default). + +To start a mission from landed: + +1. Press the **Action** button on the _Fly Tools_ + +2. Select the _Start Mission_ action from the dialog. + + ![Start mission action](../../../assets/fly/start_mission_action.jpg) + + (to display the confirmation slider) + +3. When the confirmation slider appears, drag it to start the mission. + + ![Start mission](../../../assets/fly/start_mission.jpg) + +#### Continue Mission {#continue\_mission} + +You can _continue_ mission from the _next_ waypoint when you're flying (the _Continue Mission_ confirmation slider is often displayed by default after you takeoff). + +:::info +Continue and [Resume mission](#resume_mission) are different! +Continue is used to restart a mission that has been paused, or where you have taken off, so you've already missed a takeoff mission command. +Resume mission is used when you've used a RTL or landed midway through a mission (e.g. for a battery change) and then wish to continue the next mission item (i.e. it takes you to where you were up to in the mission, rather than continuing from your place in the mission). +::: + +You can continue the current mission while (unless already in a mission!): + +1. Press the **Action** button on the _Fly Tools_ + +2. Select the _Continue Mission_ action from the dialog. + + ![Continue Mission/Change Altitude action](../../../assets/fly/continue_mission_change_altitude_action.jpg) + +3. Drag the confirmation slider to continue the mission. + + ![Continue Mission](../../../assets/fly/continue_mission.jpg) + +#### Resume Mission {#resume\_mission} + +_Resume Mission_ is used to resume a mission after performing an [RTL/Return](#rtl) or [Land](#land) from within a mission (in order, for example, to perform a battery change). + +:::info +If you are performing a battery change, **do not** disconnect QGC from the vehicle after disconnecting the battery. +After you insert the new battery _QGroundControl_ will detect the vehicle again and automatically restore the connection. +::: + +After landing you will be prompted with a _Flight Plan complete_ dialog, which gives you the option to remove the plan from the vehicle, leave it on the vehicle, or to resume the mission from the last waypoint that was traveled through. + +![Resume Mission](../../../assets/fly/resume_mission.jpg) + +If you select to resume the mission, then _QGroundControl_ will rebuild the mission and upload it to the vehicle. +Then use the _Start Mission_ slider to continue the mission. + +The image below shows the mission that was rebuilt after the Return shown above. + +![Resume Rebuilt Mission](../../../assets/fly/resume_mission_rebuilt.jpg) + +:::info +A mission cannot simply resume from the last mission item that the vehicle executed, because there may be multiple items at the last waypoint that affect the next stage of the mission (e.g. speed commands or camera control commands). +Instead _QGroundControl_ rebuilds the mission, starting from the last mission item flown, and automatically prepending any relevant commands to the front of the mission. +::: + +#### Remove Mission Prompt After Landing {#resume\_mission\_prompt} + +You will be prompted to remove the mission from the vehicle after the mission completes and the vehicle lands and disarms. +This is meant to prevent issues where stale missions are unknowingly left on a vehicle, potentially resulting in unexpected behavior. + +### Display Video {#video\_switcher} + +When video streaming is enabled, _QGroundControl_ will display the video stream for the currently selected vehicle in the "video switcher window" at the bottom left of the map. +You can press the switcher anywhere to toggle _Video_ and _Map_ to foreground (in the image below, the video is shown in the foreground). + +![Video Stream Record](../../../assets/fly/video_record.jpg) + +:::info +Video streaming is configured/enabled in [Application Settings > General tab > Video](../settings_view/general.md#video). +::: + +You can further configure video display using controls on the switcher: + +![Video Pop](../../../assets/fly/video_pop.jpg) + +- Resize the switcher by dragging the icon in the top right corner. +- Hide the switcher by pressing the toggle icon in the lower left. +- Detach the video switcher window by pressing on the icon in its top left corner + (once detached, you can move and resize the window just like any other in your OS). + If you close the detached window the switcher will re-lock to the QGC Fly view. + +### Record Video + +If supported by the camera and vehicle, _QGroundControl_ can start and stop video recording on the camera itself. _QGroundControl_ can also record the video stream and save it locally. + +:::tip +Video stored on the camera may be of much higher quality, but it is likely that your ground station will have a much larger recording capacity. +::: + +#### Record Video Stream (on GCS) + +Video stream recording is controlled on the [video stream instrument page](#video_instrument_page). +Press the red circle to start recording a new video (a new video file is created each time the circle is pressed); the circle will change into a red square while recording is in progress. + +![Video Stream Record](../../../assets/fly/video_record.jpg) + +Video stream recording is configured in the [Application Settings > General tab](../settings_view/general.md): + +- [Video Recording](../settings_view/general.md#video-recording) - specifies the recording file format and storage limits. + + ::: info + Videos are saved in Matroska format (.mkv) by default. + This format is relatively robust against corruption in case of errors. + ::: + +- [Miscellaneous](../settings_view/general.md#miscellaneous) - Streamed video is saved under the **Application Load/Save Path**. + +:::tip +The stored video includes just the video stream itself. +To record video with QGroundControl application elements displayed, you should use separate screen recording software. +::: + +#### Record Video on Camera + +Start/stop video recording _on the camera itself_ using the [camera instrument page](#camera_instrument_page). +First toggle to video mode, then select the red button to start recording. + +![Instrument Page - Camera MAVLink Settings](../../../assets/fly/instrument_page_camera_mavlink.jpg) diff --git a/docs/fa/qgc-user-guide/fly_view/replay_flight_data.md b/docs/fa/qgc-user-guide/fly_view/replay_flight_data.md new file mode 100644 index 00000000000..280359e29eb --- /dev/null +++ b/docs/fa/qgc-user-guide/fly_view/replay_flight_data.md @@ -0,0 +1,40 @@ +# Replay Flight Data + +:::warning +This feature is intended primarily for **autopilot developers**/**vehicle creators**. +It is only supported on desktop builds (Windows, Linux, Mac OS). +::: + +The _Replay Flight Data_ feature allows users to replay a telemetry log, enabling review of past or problematic flights. +The flight can be started, paused, stopped, restarted etc. + +:::info +_QGroundControl_ treats flight replay like an active connection. +When you pause/stop playing, the ground station will report "Communication Lost" and wait for disconnection or for more messages. +::: + +To replay a flight: + +1. Disconnect any active connections. + +2. Select **Application Settings > General > Fly View** + +3. Check **Show Telemetry Log Replay Status Bar** to toggle the flight replay bar at the bottom of the screen. + + ![Toggle Flight Replay](../../../assets/fly/flight_replay/flight_replay_toggle.jpg) + +4. Select the **Load Telemetry Log** button in the bar to display a _file selection_ dialog. + - Choose a log file to replay from the available telemetry logs. + - _QGroundControl_ will immediately start playing the log. + +5. When a log is loaded you can use the: + - **Pause/Play** button to pause and restart playing. + - _Slider_ to drag to a new position in the log. + - _Rate_ selector to choose the playback speed. + +6. To stop replay (i.e. to load a new file to replay), first pause the flight, and then select **Disconnect** (when it appears). + After disconnecting, the **Load Telemetry Log** button will be displayed. + +:::tip +You can inspect the running replay in more detail using the [MAVLink Inspector](../analyze_view/mavlink_inspector.md). +::: diff --git a/docs/fa/qgc-user-guide/fly_view/video_overlay.md b/docs/fa/qgc-user-guide/fly_view/video_overlay.md new file mode 100644 index 00000000000..a43f80d34d6 --- /dev/null +++ b/docs/fa/qgc-user-guide/fly_view/video_overlay.md @@ -0,0 +1,42 @@ +# Video Overlay + +When QGroundControl is recording a video stream to a file, it will also export a subtitle file with telemetry data that can be used to overlay the telemetry on the video during playback. Whichever telemetry values are selected for display in the telemetry [values widget](FlyView.md#values-telemetry) will also be exported to the overlay. The overlay values are updated at 1Hz. + +![Values Widget](../../../assets/fly/overlay_widget.png) + +The selected values are laid out in three columns to optimize the screen utilization. +![Overlay in action](../../../assets/fly/overlay_capture.png) + +## Playing + +The overlay can be used with any player that [supports the SubStation Alpha](https://en.wikipedia.org/wiki/SubStation_Alpha#Players_and_renderers) subtitle format. +Most players will open both files together when you try to play the video. They need to be in the same folder and with the same name, which is how they are created by QGC. + +## Permanent Video Subtitles using Handbrake + +Subtitles can be permanently added to a video file using [HandBrake](https://handbrake.fr/). +This will make the subtitles permanently visible on any video player. + +Open **HandBrake**, you should see its main interface. +Click **Open** and select the video file. + +![Handbrake UI showing how to open video file](../../../assets/fly/video_overlay/1-open.png) + +With the video file loaded, switch to the subtitles tab. +Click **Add** to load the subtitle file. + +![Handbrake UI screenshot showing how to add subtitles](../../../assets/fly/video_overlay/2-subtitles.png) + +Choose **import SSA** ([ASS](https://en.wikipedia.org/wiki/SubStation_Alpha#Advanced_SubStation_Alpha) is an extension of SSA). + +![Import SSA file](../../../assets/fly/video_overlay/3-ssa.png) + +Load the **.ass** file corresponding to your video and tick the **Burn into video** checkbox. + +![burn](../../../assets/fly/video_overlay/4-openandburn.png) + +Choose where you want to save the new file and click **Start**. + +![Start burning new file](../../../assets/fly/video_overlay/5-start.png) + +This will start burning the subtitle and video to a new file. diff --git a/docs/fa/qgc-user-guide/getting_started/download_and_install.md b/docs/fa/qgc-user-guide/getting_started/download_and_install.md new file mode 100644 index 00000000000..1ff59f859cc --- /dev/null +++ b/docs/fa/qgc-user-guide/getting_started/download_and_install.md @@ -0,0 +1,106 @@ +# Download and Install + +The sections below can be used to download the [current stable release](../releases/release_notes.md) of _QGroundControl_ for each platform. + +:::tip +See [Troubleshooting QGC Setup](../troubleshooting/qgc_setup.md) if _QGroundControl_ doesn't start and run properly after installation! +::: + +## System Requirements + +QGC should run well on any modern computer or mobile device. Performance will depend on the system environment, 3rd party applications, and available system resources. +More capable hardware will provide a better experience. +A computer with at least 8Gb RAM, an SSD, Nvidia or AMD graphics and an i5 or better CPU will be suitable for most applications. + +For the best experience and compatibility, we recommend you the newest version of your operating system. + +## Windows {#windows} + +_QGroundControl_ can be installed on 64 bit versions of Windows: + +1. Download [QGroundControl-installer.exe](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl-installer.exe). +2. Double click the executable to launch the installer. + +:::info +The Windows installer creates 3 shortcuts: **QGroundControl**, **GPU Compatibility Mode**, **GPU Safe Mode**. +Use the first shortcut unless you experience startup or video rendering issues. +For more information see [Troubleshooting QGC Setup > Windows: UI Rendering/Video Driver Issues](../troubleshooting/qgc_setup.md#opengl_troubleshooting). +::: + +:::info +Prebuilt _QGroundControl_ versions from 4.0 onwards are 64-bit only. +It is possible to manually build 32 bit versions (this is not supported by the dev team). +::: + +## Mac OS X {#macOS} + +_QGroundControl_ can be installed on macOS 10.11 or later: + + + + + +1. Download [QGroundControl.dmg](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.dmg). +2. Double-click the .dmg file to mount it, then drag the _QGroundControl_ application to your _Application_ folder. + +::: info +QGroundControl continues to not be signed which causes problem on Catalina. To open QGC app for the first time: + +- Right-click the QGC app icon, select Open from the menu. You will only be presented with an option to Cancel. Select Cancel. +- Right-click the QGC app icon again, Open from the menu. This time you will be presented with the option to Open. + ::: + +## Ubuntu Linux {#ubuntu} + +_QGroundControl_ can be installed/run on Ubuntu LTS 20.04 (and later). + +Ubuntu comes with a serial modem manager that interferes with any robotics related use of a serial port (or USB serial). +Before installing _QGroundControl_ you should remove the modem manager and grant yourself permissions to access the serial port. +You also need to install _GStreamer_ in order to support video streaming. + +Before installing _QGroundControl_ for the first time: + +1. On the command prompt enter: + ```sh + sudo usermod -a -G dialout $USER + sudo apt-get remove modemmanager -y + sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y + sudo apt install libqt5gui5 -y + sudo apt install libfuse2 -y + ``` + +2. Logout and login again to enable the change to user permissions. + +  +To install _QGroundControl_: + +1. Download [QGroundControl.AppImage](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.AppImage). +2. Install (and run) using the terminal commands: + ```sh + chmod +x ./QGroundControl.AppImage + ./QGroundControl.AppImage (or double click) + ``` + +::: info +There are known [video steaming issues](../troubleshooting/qgc_setup.md#dual_vga) on Ubuntu 18.04 systems with dual adaptors. +::: + +:::info +Prebuilt _QGroundControl_ versions from 4.0 cannot run on Ubuntu 16.04. +To run these versions on Ubuntu 16.04 you can [build QGroundControl from source without video libraries](https://dev.qgroundcontrol.com/en/getting_started/). +::: + +## Android {#android} + +_QGroundControl_ is temporily unavailable from the Google Play Store. You can install manually from here: + +- [Android 32 bit APK](https://qgroundcontrol.s3-us-west-2.amazonaws.com/latest/QGroundControl32.apk) +- [Android 64 bit APK](https://qgroundcontrol.s3-us-west-2.amazonaws.com/latest/QGroundControl64.apk) + +## Old Stable Releases + +Old stable releases can be found on GitHub. + +## Daily Builds + +Daily builds can be [downloaded from here](../releases/daily_builds.md). diff --git a/docs/fa/qgc-user-guide/getting_started/quick_start.md b/docs/fa/qgc-user-guide/getting_started/quick_start.md new file mode 100644 index 00000000000..616f3c188fd --- /dev/null +++ b/docs/fa/qgc-user-guide/getting_started/quick_start.md @@ -0,0 +1,27 @@ +# QGroundControl Quick Start + +Getting _QGroundControl_ up and running is quick and easy: + +1. [Download and install](../getting_started/download_and_install.md) the application. +2. Start _QGroundControl_. +3. Attach your vehicle to the ground station device via USB, through a telemetry radio, or over WiFi. _QGroundControl_ should detect your vehicle and connect to it automatically. + +That's it! If the vehicle is ready to fly, _QGroundControl_ should display [Fly View](../fly_view/fly_view.md) as shown below (otherwise it will open [Setup View](../setup_view/setup_view.md)). + +![](../../../assets/quickstart/fly_view_connected_vehicle.jpg) + +A good way to become familiar with _QGroundControl_ is to start experimenting: + +- Use the [toolbar](../toolbar/toolbar.md) to switch between the main views: + - [Settings](../settings_view/settings_view.md): Configure the _QGroundControl_ application. + - [Setup](../setup_view/setup_view.md): Configure and tune your vehicle. + - [Plan](../plan_view/plan_view.md): Create autonomous missions. + - [Fly](../fly_view/fly_view.md): Monitor your vehicle(s) while flying, including streaming video. + - \[Analyze] \*\* Description of Analyze view is missing \*\* +- Click the _Status icons_ on the toolbar to find out the status of the connected vehicle. + +While the UI is fairly intuitive, this documentation can also be referenced to find out more. + +:::info +Make sure QGC has an internet connection when you connect a new vehicle. This will allow it to get the latest parameter and other metadata for the vehicle, along with [translations](../settings_view/general.md#miscellaneous). +::: diff --git a/docs/fa/qgc-user-guide/index.md b/docs/fa/qgc-user-guide/index.md new file mode 100644 index 00000000000..9a7b80beba3 --- /dev/null +++ b/docs/fa/qgc-user-guide/index.md @@ -0,0 +1,27 @@ +# QGroundControl User Guide + +[![Releases](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases) [![Discuss](https://img.shields.io/badge/discuss-px4-ff69b4.svg)](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-usage) [![Discuss](https://img.shields.io/badge/discuss-ardupilot-ff69b4.svg)](http://discuss.ardupilot.org/c/ground-control-software/qgroundcontrol) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mavlink/qgroundcontrol?utm_source=badge\&utm_medium=badge\&utm_campaign=pr-badge\&utm_content=badge) [![Slack](../../assets/site/slack.svg)](https://join.slack.com/t/px4/shared_invite/zt-si4xo5qs-R4baYFmMjlrT4rQK5yUnaA) + +_QGroundControl_ provides full flight control and vehicle setup for PX4 or ArduPilot powered vehicles. +It provides easy and straightforward usage for beginners, while still delivering high end feature support for experienced users. + +**Key Features:** + +- Full setup/configuration of ArduPilot and PX4 Pro powered vehicles. +- Flight support for vehicles running PX4 and ArduPilot (or any other autopilot that communicates using the MAVLink protocol). +- Mission planning for autonomous flight. +- Flight map display showing vehicle position, flight track, waypoints and vehicle instruments. +- Video streaming with instrument display overlays. +- Support for managing multiple vehicles. +- QGC runs on Windows, OS X, Linux platforms, iOS and Android devices. + +![](../../assets/quickstart/connected_vehicle.jpg) + +:::info +This guide is an active work in progress. +The information provided should be correct, but you may find missing information or incomplete pages. +::: + +:::tip +Information about _QGroundControl_ development, architecture, contributing, and translating can be found in the [Developers Guide](https://dev.qgroundcontrol.com/en/). +::: diff --git a/docs/fa/qgc-user-guide/plan_view/pattern.md b/docs/fa/qgc-user-guide/plan_view/pattern.md new file mode 100644 index 00000000000..805e06765e0 --- /dev/null +++ b/docs/fa/qgc-user-guide/plan_view/pattern.md @@ -0,0 +1,13 @@ +# Pattern + +The _Pattern tools_ (in the [PlanView](../plan_view/plan_view.md) _Plan Tools_) allow you to specify complex flight patterns using a simple graphical UI. +The available pattern tools depend on the vehicle (and support for the vehicle-type in the flight stack). + +![Pattern Tool (Plan Tools)](../../../assets/plan/pattern/pattern_tool.jpg) + +| Pattern | Description | Vehicles | +| ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | +| [Survey](../plan_view/pattern_survey.md) | Create a grid flight pattern over a polygonal area.
You can specify the polygon as well as the specifications for the grid and camera settings appropriate for creating geotagged images. | All | +| [Structure Scan](../plan_view/pattern_structure_scan_v2.md) | Create a grid flight pattern that captures images over vertical surfaces (polygonal or circular).
These are typically used for the visual inspection or creation of 3D models of structures. | MultiCopter, VTOL | +| [Corridor Scan](../plan_view/pattern_corridor_scan.md) | Create a flight pattern which follows a poly-line (for example, to survey a road). | All | +| [Fixed Wing Landing](../plan_view/pattern_fixed_wing_landing.md) | Add a landing pattern for fixed wing vehicles to a mission. | Fixed Wing | diff --git a/docs/fa/qgc-user-guide/plan_view/pattern_corridor_scan.md b/docs/fa/qgc-user-guide/plan_view/pattern_corridor_scan.md new file mode 100644 index 00000000000..d5195290484 --- /dev/null +++ b/docs/fa/qgc-user-guide/plan_view/pattern_corridor_scan.md @@ -0,0 +1,102 @@ +# Corridor Scan (Plan Pattern) + +A corridor scan allows you to create a flight pattern that follows a poly-line. This can be used to, for example, survey a road. It is supported on all autopilots and vehicle types. + +> **Important** When planning a Corridor Scan using camera specifications the ground elevations under your survey area are assumed to be at the same altitude as your launch/home location. If the ground elevation under your survey area is either higher or lower than your launch/home location the effective overlap in your images will be less or more (respectively) than calculated. If ground elevation under your survey area is significantly higher than your launch/home location you could inadvertently plan a mission which causes the vehicle to fly into trees, obstacles, or the ground. Use Terrain Follow to create a survey that more closely maintains the desired altitude above terrain that has significant elevation differences from your launch/home altitude. + +![Corridor Scan](../../../assets/plan/corridor_scan.jpg) + +You can specify the path, the width of the corridor, and camera settings appropriate for creating geotagged images. + +## Creating a Scan + +To create a corridor scan: + +1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + +2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Corridor Scan_. + + ![Corridor Scan](../../../assets/plan/corridor_scan_menu.jpg) + + This will add a corridor to the map, and a _Corridor Scan_ item to the mission list (on the right). + +3. On the map drag the ends of the corridor to the start and end positions of the scan, respectively. + +4. Click the `(+)` symbol at the centre of a line to create a new vertix. + The new vertix can then be dragged into position to follow the path of the desired corridor. + +The corridor scan settings are covered in the next section. + +## Settings + +The corridor scan can be further configured in the associated mission item (in the mission item list on the right hand side of the Plan View). + +### Camera + +Camera triggering behaviour depends on the camera/camera settings. +You can select an existing camera or manually enter the settings. +The list of available cameras (QGC 3.4) is given below. + +![Corridor Scan - Select Camera](../../../assets/plan/corridor_scan_settings_camera_select.jpg) + +#### Known Camera + +Selecting a known camera from the option dropdown allows you to generate a grid pattern based on the camera's specifications. + +![Corridor Scan - Camera Settings Canon SX260](../../../assets/plan/corridor_scan_settings_camera_canon_sx260.jpg) + +The configurable options are: + +- **Landscape/Portrait** - Camera orientation relative to the "normal" orientation of the vehicle. +- **Image Overlap** - Overlap between each image. +- Select one of: + - **Altitude** - Survey altitude (ground resolution will be calculated/displayed for this altitude). + - **Ground resolution** - Ground resolution for each image (altitude required to achieve this resolution calculated and shown). + +#### Manual Camera + +The manual camera option allows you to specify desired survey height, trigger interval and appropriate grid spacing for your camera. + +![Corridor Scan - Manual Camera Settings](../../../assets/plan/corridor_scan_settings_camera_manual.jpg) + +The configurable options are: + +- **Altitude** - Survey altitude. +- **Trigger Distance** - The distance over ground between each camera shot. +- **Spacing** - Distance between adjacent grid (flight path) lines across the corridor. + +### Corridor + +![Corridor Scan - Corridor Settings](../../../assets/plan/corridor_scan_settings_corridor.jpg) + +The configurable options are: + +- **Width** - Set the width of the scan around the polyline that defines the path. +- **Turnaround dist** - Amount of additional distance to add outside the survey area for vehicle turn around. +- **Take images in turnarounds** - Check to enable image capture a turnaround points. +- **Relative altitude** - Check to specify a relative altitude. This is only supported for manual grids that are not using [terrain following](#terrain_following). +- **Rotate entry point** - Press button to swap the start and end point of the corridor scan. + +### Terrain Following {#terrain\_following} + +By default a flying vehicle will follow the corridor path at a fixed altitude. +Enabling _Terrain Following_ makes the vehicle maintain a constant height relative to ground. + +![Corridor Scan - Terrain Following Settings](../../../assets/plan/corridor_scan_settings_terrain.jpg) + +:::info +Terrain following uses terrain heights queried from _AirMap_ servers. +::: + +The configurable options are: + +- **Vehicle follows terrain** - Check to enable terrain following (and display the following options). + - **Tolerance** - The accepted deviation in altitude from the target altitude. + - **Max Climb Rate** - Maximum climb rate when following terrain. + - **Max Descent Rate** - Maximum descent rate when following terrain. + +### Statistics + +The _Statistics_ section shows the calculated survey area, photo interval, photo spacing and planned photo count. + +![Corridor Scan - Statistics](../../../assets/plan/corridor_scan_settings_statistics.jpg) diff --git a/docs/fa/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md b/docs/fa/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md new file mode 100644 index 00000000000..451aefb2881 --- /dev/null +++ b/docs/fa/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md @@ -0,0 +1,77 @@ +# Fixed Wing Landing Pattern (Plan Pattern) + +The _Fixed Wing Landing Pattern_ tool allows you to add a fixed wing landing pattern to a mission. +It is supported on both ArduPilot and PX4. + +![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern.jpg) + +The first point of the pattern is a loiter point with a specific altitude and the second is a landing point. +The vehicle will loiter at the first point until it reaches the target altitude, and then begin the landing sequence to fly down to the specified landing spot. + +Both the loiter and land points can be dragged to new positions, and a number of other settings can be configured in the associated mission item. + +## Creating a Landing Pattern + +To create a landing pattern: + +1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + +2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Fixed Wing Landing Pattern_. + + ![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern_menu.jpg) + + This will add a _Landing Pattern_ item to the mission list (on the right). + + ![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern_mission_item_initial.jpg) + +3. Click on the map to create both the loiter point and the landing point. + These can be moved on the map. + +Additional settings are covered in the next section. + +## Settings + +The landing pattern can be further configured in the associated mission item (in the mission item list on the right hand side of the Plan View). + +### Loiter Point + +The _Loiter Point_ settings are used to configure the loiter altitude, radius and direction. + +![Landing Pattern - Loiter Point](../../../assets/plan/pattern/fixed_wing_landing_pattern_settings_loiter.jpg) + +The configurable options are: + +- **Altitude** - Loiter altitude. +- **Radius** - Loiter radius. +- **Loiter clockwise** - Check to loiter in a clockwise direction (anti-clockwise is the default). + +### Landing Point + +The _Landing Point_ settings are used to configure the landing position and path. + +![Landing Pattern - Landing Point](../../../assets/plan/pattern/fixed_wing_landing_pattern_settings_landing.jpg) + +The configurable options are: + +- **Heading** - Heading from loiter point to land point. +- **Altitude** - Altitude for landing point (nominally zero). +- _Radio Buttons_ + - **Landing Dist** - Distance between loiter point and landing point. + - **Glide Slope** - Glide slope between loiter point and landing point. +- **Altitudes relative to home** - Check to set all altitudes in mission item to be relative to home (default is AMSL). + +## Implementation + +This pattern creates three mission items: + +- `DO_LAND_START` - If you abort a landing it sends `DO_GO_AROUND` to the vehicle, which then causes the mission to return to this point and try to land again. +- `NAV_LOITER_TO_ALT` - Start point for landing +- `NAV_LAND` - End point for landing + +The vehicle flares to landing using a flight path generated by the firmware between the `NAV_LOITER_TO_ALT` point and the `NAV_LAND` point. + +If those two locations violate the vehicle's flare constraints (e.g. descent angle is too steep) an error will be raised after you upload the invalid mission to the vehicle. + +:::info +On PX4, violating the flare constraints sends an error message to the ground station at upload time, and the autopilot will refuse to start the mission (since it fails integrity checks). +::: diff --git a/docs/fa/qgc-user-guide/plan_view/pattern_presets.md b/docs/fa/qgc-user-guide/plan_view/pattern_presets.md new file mode 100644 index 00000000000..fc94879d5d6 --- /dev/null +++ b/docs/fa/qgc-user-guide/plan_view/pattern_presets.md @@ -0,0 +1,34 @@ +# Plan View - Pattern Presets + +Allows you to save commonly used settings as a named preset. + +:::info +Currently only supported by Survey. Support for other Patterns is in development. +::: + +## Managing Presets + +![Preset Combo](../../../assets/plan/pattern/pattern_preset_combo.jpg) + +Pattern items have a new selection at the top which allows you to manage presets: + +- **Custom (specify all settings)** This allows you to _not_ use a preset and specify all settings manually. +- **Save Settings As Preset** Saves the current settings as a named preset. +- **Delete Current Preset** Deletes the currently selected preset. +- **Presets:** Below this item will be listed the available presets for this pattern. + +## Creating/Updating A Preset + +![Preset Save](../../../assets/plan/pattern/pattern_preset_save.jpg) + +When you select **Save Settings As Preset** you will be prompted for the preset name. To save new settings for an existing preset select **Save Settings As Preset** while a preset is currently selected. + +You can also specify whether you want to save the currently selected camera in the preset. If you choose not to save the camera with the preset then the current camera will be used when loading the preset. You will also be able to change to a different camera when using the preset. Unless you fly your vehicle with different cameras at different times with the same preset you should select to save the camera in the preset. + +## Viewing Preset Settings + +If you want to view what the exact settings are for a Preset switch back to **Custom (specify all settings)** which will show you all the settings. Then you can switch back to using the named preset when done. + +## Presets In A Plan File + +The currently selected Preset is also saved in the Plan file such that when you load the Plan back the preset will once again be selected. Keep in mind that presets are specific to your version of QGroundControl. If you share a Plan file with a preset with another user, incorrect behavior may occur if that other user also has a preset of the same name but different settings. diff --git a/docs/fa/qgc-user-guide/plan_view/pattern_structure_scan_v2.md b/docs/fa/qgc-user-guide/plan_view/pattern_structure_scan_v2.md new file mode 100644 index 00000000000..c3a73eba65d --- /dev/null +++ b/docs/fa/qgc-user-guide/plan_view/pattern_structure_scan_v2.md @@ -0,0 +1,99 @@ +# Structure Scan (Plan Pattern) + +A _Structure Scan_ allows you to create a grid flight pattern that captures images over _vertical surfaces_ (e.g. walls) around a structure with an arbitrary polygonal (or circular) ground footprint. +Structure Scans are typically used for the visual inspection or creating 3D models of structures. + +_Structure Scans_ may be inserted into a mission using the Plan view **Pattern > Structure Scan** tool. + +:::info +The new version of _Structure Scan_ can't read older _Structure Scan_ plans. They will need to be recreated. +::: + +:::warning +This feature is not yet supported by ArduPilot firmware. +It is supported in PX4. +::: + +## Overview + +The image below shows a screenshot of structure scan. +The green polygon is used to mark out the ground footprint of the structure, while the white line around it indicates the vehicle flight path. +The green numbered circle on the flight path is the scan entry/exit point (where the scan starts). + +![Structure Scan](../../../assets/plan/structure_scan_v2/structure_scan.jpg) + +The scan divides the structure evenly into layers; the vehicle flies all the way around the structure at a particular altitude and _scan distance_ from the structure, then repeats the process at each layer until the whole surface has been scanned. + +![Layer JPG](../../../assets/plan/structure_scan_v2/layers.jpg) + +Users can set the _scan bottom altitude_ to avoid obstacles at the bottom of the structure, and the _extrance/exit altitude_ to avoid obstacles as the vehicle travels to/from the scan. + +## Creating a Scan + +To create a scan: + +1. In the **Plan View** select **Pattern tool > Structure Scan**. + +![Create Scan JPG](../../../assets/plan/structure_scan_v2/create_scan.jpg) + +1. This will create a simple square structure scan on the map. + + ![Initial Polygon](../../../assets/plan/structure_scan_v2/initial_polygon_scan.jpg) + + The region shown in green must be modified so that it surrounds the structure. + + - Drag the opaque vertices on the map to the edge of the structure (example circled in mauve above). + - If the structure footprint is more than a simple square you can click the semi-transparent circles between the vertices to create a new vertix. + +2. You can also change to a circular footprint by clicking on the central "vertix" (marked in red) and selecting _Circle_ in the popup menu. + + ![Circle Scan](../../../assets/plan/structure_scan_v2/circle_scan.jpg). + + - From the popup menu you can switch back to a polygon footprint and change the radius and/or position of the scan. + - Drag the central vertix to position the centre of the circle. + +3. The rest of the configuration is handled using the _Structure Scan_ editor on the right hand side of the view. + First select whether you want to perform a manual scan, a scan using a particular camera, or a scan using a custom camera definition. + + ::: info + The main difference between the modes is that predefined cameras are already set up to correctly calculate an effective layer height and trigger distance. + ::: + + Options for the different modes are shown below. + + ![Structure Scan editor](../../../assets/plan/structure_scan_v2/editor_options.jpg) + +The user can always configure the following settings: + +- **Start scan from top/bottom:** The direction in which layers are scanned. +- **Structure height:** The height of the object being scanned. +- **Scan distance:** Distance from the structure to the flight path. +- **Entrance/Exit Alt:** Use this setting to avoid obstacles between the last/next waypoint and the structure to be scanned. + - The vehicle will fly to the _Entrance/Exit_ point at this altitude and then descend to the initial layer to start the scan. + - The vehicle will ascend to this altitude after completing the scan and then move to the next waypoint. +- **Scan Bottom Alt:** Use this setting to avoid obstacles around the base of the structure. + This adjust the bottom of the structure to be above the ground, and hence the altitude of the first scan + (the height of the lowest layer flight path is shown in the scan statistics as _Bottom Layer Alt_. +- **Rotate Entry Point:** Move the start/finish point to the next vertix/position on the flight path. + +The remaining settings depend on the _camera mode_: + +- _Manual Mode_ allows you to specify: + - **Layer height:** The height of each layer. + - **Trigger Distance:** The distance between each camera trigger. + The camera is only triggered while flying the layer path. + It does not trigger images while transitioning from one layer to the next. + - **Gimbal Pitch** - Gimbal pitch you want to use for the scan. + +- _Known/pre-defined cameras_ automatically calculates layer heights and image triggering from required image overlap, and allows you to trade off scan distance and require image resolution. + It also ensures that the camera is pointed directly at the surface when it is capturing images (i.e. at a right angle rather than some tangent). + The settings are: + + - **Camera Orientation:** Portrait or Landscape + - _Overlap_: + - **Front Lap:** Image overlap from top to bottom (increasing shrinks layer height and increases layer count). + - **Side Lap:** Image overlap at sides (increasing takes more images in each lap/layer scan). + - **Scan distance:** Distance from the structure to the flight path. + - **Ground Res:** Required image resolution/sample quality of surface. + +- _Custom camera_ selection allows you to enter your own camera characteristics, but otherwise behaves the same as a predefined camera. diff --git a/docs/fa/qgc-user-guide/plan_view/pattern_survey.md b/docs/fa/qgc-user-guide/plan_view/pattern_survey.md new file mode 100644 index 00000000000..db492c27206 --- /dev/null +++ b/docs/fa/qgc-user-guide/plan_view/pattern_survey.md @@ -0,0 +1,130 @@ +# Survey (Plan Pattern) + +A survey allows you to create a grid flight pattern over a polygonal area. +You can specify an arbitrary polygon, the angle and other properties of the grid, and camera settings appropriate for creating geotagged images. + +::: warning +If the survey area has significant elevation variation then consider enabling [Terrain Following](#terrain). + +When planning a Survey using camera specifications, the ground under the survey area are assumed to be flat - i.e. at the same altitude as the launch/home location. +If the ground elevation under the survey is either higher or lower than the home location the effective overlap in images will be less or more (respectively) than calculated. +If ground elevation under the survey area is _significantly_ higher than the home location you could inadvertently plan a mission path that causes the vehicle to fly into ground-level obstacles. + +Using terrain following ensures that the survey more closely matches the desired altitude above terrain, and reduces the likelihood of planning a mission that is too close to ground level. +::: + +![Survey](../../../assets/plan/survey/survey.jpg) + +## Creating a Survey + +To create a survey: + +1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + +2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Survey_. + + ![Survey Menu](../../../assets/plan/survey/survey_menu.jpg) + + This will add a survey grid to the map, and a _Survey_ item to the mission list (on the right). + +3. On the map drag the vertices to change the shape of the polygon. + +4. Click the `(+)` symbol between existing vertices to create a new vertix. + The new vertix can then be dragged into a new position. + +The survey settings are covered in the next section. + +## Settings + +The survey can be further configured in the associated mission item (in the mission item list on the right hand side of the _Plan View_). + +### Camera + +Camera triggering behaviour depends on the camera/camera settings. +You can select an existing camera, custom camera, or manually enter the settings. +The list of available cameras (QGC 3.4) is given below. + +![Survey - Camera Select](../../../assets/plan/survey/survey_camera_select.jpg) + +#### Known Camera {#known\_camera} + +Selecting a known camera from the option dropdown generates a grid pattern based on the camera capabilities. + +![Survey - Camera Sony](../../../assets/plan/survey/survey_camera_sony.jpg) + +The default settings can be tuned for your survey using the configuration options: + +- **Landscape/Portrait** - Camera orientation relative to the "normal" orientation of the vehicle. +- **Overlap** - Overlap between each image capture. + This can be configured separately for when flying along grid lines or across them. +- Select one of: + - **Altitude** - Survey altitude (ground resolution will be calculated/displayed for this altitude). + - **Ground resolution** - Ground resolution for each image (altitude required to achieve this resolution calculated and shown). + +#### Custom Camera {#custom\_camera} + +Selecting the custom camera option allows you to specify the settings for a new camera in a similar way to a known camera. + +![Survey - Custom Camera](../../../assets/plan/survey/survey_camera_custom.jpg) + +The camera-specific settings are: + +- **Sensor width/height** - The size of the image sensor of the camera. +- **Image width/height** - The resolution of the image captured by the camera. +- **Focal Length** - The focal length of the camera lens. + +The remaining settings are the same as for a [known camera](#known_camera). + +#### Manual Camera + +The manual camera option allows you to specify desired survey height, trigger interval and appropriate grid spacing for your camera. + +![Survey - Manual Camera Settings](../../../assets/plan/survey/survey_camera_manual.jpg) + +The configurable options are: + +- **Altitude** - Survey altitude to fly the whole grid. +- **Trigger Distance** - The distance over ground between each camera shot. +- **Spacing** - Distance between adjacent grid (flight path) lines across the corridor. + +### Transects + +The _Transects_ section is used for grid settings that are independent of the camera used. + +![Survey - Transects](../../../assets/plan/survey/survey_transects.jpg) + +The configurable options are: + +- **Angle** - The angle of the grid lines, relative to North. + ![Survey - Angle](../../../assets/plan/survey/survey_transects_angle.jpg) +- **Turnaround dist** - Amount of additional distance to add outside the survey area for vehicle turn around. +- **Rotate Entry Point** - Press button to swap the start and end point of the survey. +- **Hover and capture image** - Hover to capture images (multicopter only). +- **Refly at 90 degree offset** - Check to refly the whole mission at a 90 degree offset. + ![Survey - Fly Offset](../../../assets/plan/survey/survey_transects_offset.jpg) +- **Images in turnarounds** - Check to take images when turning +- **Relative altitude** - Check to make specified altitudes relative to home (if unchecked they are AMSL). + +### Terrain + +By default, a flying vehicle will follow the survey path at a fixed altitude. +Enabling _Terrain Following_ makes the vehicle maintain a constant height relative to ground. + +![Survey - Terrain Following Settings](../../../assets/plan/survey/survey_terrain.jpg) + +:::info +Terrain following uses terrain heights queried from _AirMap_ servers. +::: + +The configurable options are: + +- **Vehicle follows terrain** - Check to enable terrain following (and display the following options). + - **Tolerance** - The accepted deviation in altitude from the target altitude. + - **Max Climb Rate** - Maximum climb rate when following terrain. + - **Max Descent Rate** - Maximum descent rate when following terrain. + +### Statistics + +The _Statistics_ section shows the calculated survey area, photo interval, photo spacing and planned photo count. + +![Survey - Statistics](../../../assets/plan/survey/survey_statistics.jpg) diff --git a/docs/fa/qgc-user-guide/plan_view/plan_geofence.md b/docs/fa/qgc-user-guide/plan_view/plan_geofence.md new file mode 100644 index 00000000000..49780949b6d --- /dev/null +++ b/docs/fa/qgc-user-guide/plan_view/plan_geofence.md @@ -0,0 +1,60 @@ +# Plan View - GeoFence + +GeoFences allow you to create virtual regions within which the vehicle can fly, or in which it is _not allowed_ to fly. +You can also configure the action taken if you fly outside permitted areas. + +![Geofence overview](../../../assets/plan/geofence/geofence_overview.jpg) + +:::info +**ArduPilot users:** GeoFence support is only supported by Rover 3.6 and Copter 3.7 or higher. It also requires usage of a Daily build or Stable 3.6 (once available). +_QGroundControl_ will not display the GeoFence options if they are not supported by the connected vehicle. +::: + +## Create a Geofence + +To create a GeoFence: + +1. Navigate to the Plan View + +2. Select the _Geofence_ radio button above the Mission Command List + + ![Select geofence radio button](../../../assets/plan/geofence/geofence_select.jpg) + +3. Insert a circular or polygon region by pressing the **Circular Fence** or **Polygon Fence** button, respectively. + A new region will be added to the map and to the associated list of fences below the buttons. + +:::tip +You can create multiple regions by pressing the buttons multiple times, allowing complex geofence definitions to be created. +::: + +- Circular region: + + ![Circular Geofence](../../../assets/plan/geofence/geofence_circular.jpg) + + - Move the region by dragging the central dot on the map + - Resize the circle by dragging the dot on the edge of the circle (or you can change the radius value in the fence panel). + +- Polygon region: + + ![Polygon Geofence](../../../assets/plan/geofence/geofence_polygon.jpg) + + - Move the vertices by dragging the filled dots + - Create new vertices by clicking the "unfilled" dots on the lines between the filled vertices. + +1. By default new regions are created as _inclusion_ zones (vehicles must stay within the region). + Change them to exclusion zones (where the vehicle can't travel) by unchecking the associated _Inclusion_ checkbox in the fence panel. + +## Edit/Delete a GeoFence + +You can select a geofence region to edit by selecting its _Edit_ radio button in the GeoFence panel. +You can then edit the region on the map as described in the previous section. + +Regions can be deleted by pressing the associated **Del** button. + +## Upload a GeoFence + +The GeoFence is uploaded in the same way as a mission, using **File** in the [Plan tools](../plan_view/plan_view.md). + +## Remaining tools + +The rest of the tools work exactly as they do while editing a Mission. diff --git a/docs/fa/qgc-user-guide/plan_view/plan_rally_points.md b/docs/fa/qgc-user-guide/plan_view/plan_rally_points.md new file mode 100644 index 00000000000..d23a284eb28 --- /dev/null +++ b/docs/fa/qgc-user-guide/plan_view/plan_rally_points.md @@ -0,0 +1,35 @@ +# Plan View - Rally Points + +Rally Points are alternative landing or loiter locations. +They are typically used to provide a safer or more convenient (e.g. closer) destination than the home position in Return/RTL mode. + +:::info +Rally Points are only supported by ArduPilot on Rover 3.6 and Copter 3.7 (or higher). +PX4 support is planned in PX4 v1.10 timeframes. +It also requires usage of a Daily build or Stable 3.6 (once available). +_QGroundControl_ will not display the Rally Point options if they are not supported by the connected vehicle. +::: + +![Rally Points](../../../assets/plan/rally/rally_points_overview.jpg) + +## Rally Point Usage + +To create Rally Points: + +1. Navigate to the Plan View +2. Select the _Rally_ radio button above the Mission Command List +3. Click the map wherever you want rally points. + - An **R** marker is added for each + - the currently active marker has a different colour (green) and can be edited using the _Rally Point_ panel. +4. Make any rally point active by selecting it on the map: + - Move the active rally point by either dragging it on the map or editing the position in the panel. + - Delete the active rally point by selecting the menu option on the _Rally Point_ panel + ![Delete Rally Point](../../../assets/plan/rally/rally_points_delete.jpg) + +## Upload Rally Points + +Rally points are uploaded in the same way as a mission, using **File** in the [Plan tools](../plan_view/plan_view.md). + +## Remaining tools + +The rest of the tools work exactly as they do while editing a Mission. diff --git a/docs/fa/qgc-user-guide/plan_view/plan_view.md b/docs/fa/qgc-user-guide/plan_view/plan_view.md new file mode 100644 index 00000000000..27e97e1375d --- /dev/null +++ b/docs/fa/qgc-user-guide/plan_view/plan_view.md @@ -0,0 +1,205 @@ +# Plan View + +The _Plan View_ is used to plan _autonomous missions_ for your vehicle, and upload them to the vehicle. Once the mission is [planned](#plan_mission) and sent to the vehicle, you switch to the [Fly View](../fly_view/fly_view.md) to fly the mission. + +It is also use to configure the [GeoFence](plan_geofence.md) and [Rally Points](plan_rally_points.md) if these are supported by the firmware. + + +![Plan View](../../../assets/plan/plan_view_overview.jpg) + +## UI Overview {#ui\_overview} + +The [screenshot above](#plan_screenshot) shows a simple mission plan that starts with a takeoff at the [Planned Home](#planned_home) position (H), +flies through three waypoints, and then lands on the last waypoint (i.e. waypoint 3). + +The main elements of the UI are: + +- **Map:** Displays the numbered indicators for the current mission, including the [Planned Home](#planned_home). + Click on the indicators to select them (for editing) or drag them around to reposition them. +- **Plan Toolbar:** Status information for the currently selected waypoint relative to the previous waypoint, as well as statistics for the entire mission (e.g. horizontal distance and time for mission). + - `Max telem dist` is the distance between the [Planned Home](#planned_home) and the furthest waypoint. + - When connected to a vehicle it also shows an **Upload** button, can be used to upload the plan to the vehicle. +- **[Plan Tools](#plan_tools):** Used to create and manage missions. +- **[Mission Command List/Overlay](#mission_command_list):** Displays the current list of mission items (select items to [edit](#mission_command_editors)). +- **Terrain Altitude Overlay:** Shows the relative altitude of each mission command. + +It shows you information related to the currently selected waypoint as well as statistics for the entire mission. + +## Planning a Mission {#plan\_mission} + +At very high level, the steps to create a mission are: + +1. Change to _Plan View_. +2. Add waypoints or commands to the mission and edit as needed. +3. Upload the mission to the vehicle. +4. Change to _Fly View_ and fly the mission. + +The following sections explain some of the details in the view. + +## Planned Home Position {#planned\_home} + +The _Planned Home_ shown in _Plan View_ is used to set the approximate start point when planning a mission (i.e. when a vehicle may not even be connected to QGC). +It is used by QGC to estimate mission times and to draw waypoint lines. + +![Planned Home Position](../../../assets/plan/mission/mission_settings_planned_home.jpg) + +You should move/drag the planned home position to roughly the location where you plan to takeoff. +The altitude for the planned home position is set in the [Mission Settings](#mission_settings) panel. + + + +:::tip +The Fly View displays the _actual_ home position set by the vehicle firmware when it arms (this is where the vehicle will return in Return/RTL mode). +::: + +## Plan Tools {#plan\_tools} + +The plan tools are used for adding individual waypoints, easing mission creation for complicated geometries, uploading/downloading/saving/restoring missions, and for navigating the map. The main tools are described below. + +:::info +**Center map**, **Zoom In**, **Zoom Out** tools help users better view and navigate the _Plan view_ map (they don't affect the mission commands sent to the vehicle). +::: + +### Add Waypoints + +Click on the **Add Waypoint** tool to activate it. While active, clicking on the map will add new mission waypoint at the clicked location. +The tool will stay active until you select it again. +Once you have added a waypoint, you can select it and drag it around to change its position. + +### File (Sync) {#file} + +The _File tools_ are used to move missions between the ground station and vehicle, and to save/restore them from files. +The tool displays an `!` to indicate that there are mission changes that you have not sent to the vehicle. + +:::info +Before you fly a mission you must upload it to the vehicle. +::: + +The _File tools_ provide the following functionality: + +- Upload (Send to vehicle) +- Download (Load from vehicle) +- Save/Save as to File, including as KML file. +- Load from File +- Remove All (removes all mission waypoints from _Plan view_ and from vehicle) + +### Pattern + +The [Pattern](Pattern.md) tool simplifies the creation of missions for flying complex geometries, including [surveys](../plan_view/pattern_survey.md) and [structure scans](../plan_view/pattern_structure_scan_v2.md). + +## Mission Command List {#mission\_command\_list} + +Mission commands for the current mission are listed on the right side of the view. +At the top are a set of options to switch between editing the mission, GeoFence and rally points. +Within the list you can select individual mission items to edit their values. + +![Mission Command List](../../../assets/plan/mission/mission_command_list.jpg) + +### Mission Command Editors {#mission\_command\_editors} + +Click on a mission command in the list to display its editor (in which you can set/change the command attributes). + +You can change the **type** of the command by clicking on the command name (for example: _Waypoint_). +This will display the _Select Mission Command_ dialog shown below. +By default this just displays the "Basic Commands", but you can use the **Category** drop down menu to display more (e.g. choose **All commands** to see all the options). + + + +To the right of each command name is a menu that you can click to access to additional options such as _Insert_ and _Delete_. + +:::info +The list of available commands will depend on firmware and vehicle type. +Examples may include: Waypoint, Start image capture, Jump to item (to repeat mission) and other commands. +::: + +### Mission Settings {#mission\_settings} + +The _Mission Start_ panel is the first item that appears in the [mission command list](#mission_command_list). +It may be used to specify a number default settings that may affect the start or end of the mission. + +![Mission Command List - showing mission settings](../../../assets/plan/mission_start.png) + +![Mission settings](../../../assets/plan/mission/mission_settings.png) + +#### Mission Defaults + +##### Waypoint alt + +Set the default altitude for the first mission item added to a plan (subsequent items take an initial altitude from the previous item). +This can also be used to change the altitude of all items in a plan to the same value; you will be prompted if you change the value when there are items in a plan. + +##### Flight speed + +Set a flight speed for the mission that is different than the default mission speed. + +#### Mission End + +##### Return to Launch after mission end + +Check this if you want your vehicle to Return/RTL after the final mission item. + +#### Planned Home Position + +The [Planned Home Position](#planned_home) section allows you to simulate the vehicle's home position while planning a mission. +This allows you to view the waypoint trajectory for your vehicle from takeoff to mission completion. + +![MissionSettings Planned Home Position Section](../../../assets/plan/mission/mission_settings_planned_home_position_section.jpg) + +:::info +This is only the _planned_ home position and you should place it where you plan to start the vehicle from. +It has no actual impact on flying the mission. +The actual home position of a vehicle is set by the vehicle itself when arming. +::: + +This section allows you to set the **Altitude** and **Set Home to Map Centre** +(you can move it to another position by dragging it on the map). + +#### Camera + +The camera section allows you to specify a camera action to take, control the gimbal and set your camera into photo or video mode. + +![MissionSettings Camera Section](../../../assets/plan/mission/mission_settings_camera_section.jpg) + +The available camera actions are: + +- No change (continue current action) +- Take photos (time) +- Take photos (distance) +- Stop taking photos +- Start recording video +- Stop recording video + +#### Vehicle Info + +The appropriate mission commands for the vehicle depend on the firmware and vehicle type. + +If you are planning a mission while you are _connected to a vehicle_ the firmware and vehicle type will be determined from the vehicle. +This section allows you to specify the vehicle firmware/type when not connected to a vehicle. + +![MissionSettings VehicleInfoSection](../../../assets/plan/mission/mission_settings_vehicle_info_section.jpg) + +The additional value that can be specified when planning a mission is the vehicle flight speed. +By specifying this value, total mission or survey times can be approximated even when not connected to a vehicle. + +## Troubleshooting + +### Mission (Plan) Upload/Download Failures {#plan\_transfer\_fail} + +Plan uploading and downloading can fail over a noisy communication link (affecting missions, GeoFence, and rally points). +If a failure occurs you should see a status message in the QGC UI similar to: + +> Mission transfer failed. Retry transfer. Error: Mission write mission count failed, maximum retries exceeded. + +The loss rate for your link can be viewed in [Settings View > MAVLink](../settings_view/mavlink.md). +The loss rate should be in the low single digits (i.e. maximum of 2 or 3): + +- A loss rate in the high single digits can lead to intermittent failures. +- Higher loss rates often lead to 100% failure. + +There is a much smaller possibility that issues are caused by bugs in either flight stack or QGC. +To analyse this possibility you can turn on [Console Logging](../settings_view/console_logging.md) for Plan upload/download and review the protocol message traffic. + +## Further Info + +- New Plan View features for [QGC release v3.2](../releases/stable_v3.2_long.md#plan_view) +- New Plan View features for [QGC release v3.3](../releases/stable_v3.3_long.md#plan_view) diff --git a/docs/fa/qgc-user-guide/releases/daily_build_new_features.md b/docs/fa/qgc-user-guide/releases/daily_build_new_features.md new file mode 100644 index 00000000000..6b298f7f00e --- /dev/null +++ b/docs/fa/qgc-user-guide/releases/daily_build_new_features.md @@ -0,0 +1,7 @@ +# Daily Build Major Changes + +This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ since the last [stable release](../releases/release_notes.md). +These features are available in [daily builds](../releases/daily_builds.md). +There is also a [Change Log](https://github.com/mavlink/qgroundcontrol/blob/master/ChangeLog.md) available for viewing. + +- TBD diff --git a/docs/fa/qgc-user-guide/releases/daily_builds.md b/docs/fa/qgc-user-guide/releases/daily_builds.md new file mode 100644 index 00000000000..0550549176e --- /dev/null +++ b/docs/fa/qgc-user-guide/releases/daily_builds.md @@ -0,0 +1,32 @@ +# Daily Builds + +Daily Builds of _QGroundControl_ have the absolute latest set of [new features](../releases/daily_build_new_features.md). + +:::warning +Daily Builds are less tested than stable builds. +Use at your own risk! +::: + +These can be downloaded from the links below (install as described in [Download and Install](../getting_started/download_and_install.md)): + +- [Windows](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl-installer.exe) + +- [OS X](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl.dmg) + + ::: info + QGroundControl continues to not be signed which causes problem on Catalina. To open QGC app for the first time: + + - Right-click the QGC app icon, select Open from the menu. You will only be presented with an option to Cancel. Select Cancel. + - Right-click the QGC app icon again, Open from the menu. This time you will be presented with the option to Open. + + ::: + +- [Linux](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl.AppImage) + +- [Android](https://play.google.com/store/apps/details?id=org.mavlink.qgroundcontrolbeta) - Google Play: Listed as _QGroundControl (Daily Test Build)_. + +- iOS currently unavailable + +:::info +The QGroundControl Continous Delivery pipeline from time to time might experience issues uploading to the Google Play store. You can find the daily build APK for Android devices for direct download here: [QGroundControl32.apk](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl32.apk), and [QGroundControl64.apk](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl64.apk) +::: diff --git a/docs/fa/qgc-user-guide/releases/index.md b/docs/fa/qgc-user-guide/releases/index.md new file mode 100644 index 00000000000..dec0acc68b7 --- /dev/null +++ b/docs/fa/qgc-user-guide/releases/index.md @@ -0,0 +1,3 @@ +# Releases + +This section contains information about releases and daily builds. diff --git a/docs/fa/qgc-user-guide/releases/privacy_policy.md b/docs/fa/qgc-user-guide/releases/privacy_policy.md new file mode 100644 index 00000000000..44718df6e95 --- /dev/null +++ b/docs/fa/qgc-user-guide/releases/privacy_policy.md @@ -0,0 +1,8 @@ +# Privacy Policy + +_QGroundControl_ may require access to personal and/or sensitive user data. None of this data is used outside of _QGroundControl_. + +The list below explains how some of the data is used: + +- Camera sensor: This is used for the purpose of overlaying the video with flight telemetry data. +- Location: This is used for tracking current user position on the map. diff --git a/docs/fa/qgc-user-guide/releases/release_notes.md b/docs/fa/qgc-user-guide/releases/release_notes.md new file mode 100644 index 00000000000..54dfa2f76de --- /dev/null +++ b/docs/fa/qgc-user-guide/releases/release_notes.md @@ -0,0 +1,255 @@ +# Release Notes + +This topic contains the cumulative release notes for _QGroundControl_. + +:::info +Stable build major/minor numbers are listed below. +_Patch_ release numbers are not listed, but can be found on the [Github release page](https://github.com/mavlink/qgroundcontrol/releases). +::: + +## Stable Version 4.0 (current) + +:::info +The format for Settings in QGC had to change in this release. Which means all QGC settings will be reset to defaults. +::: + +- Settings + - Language: Allow selection of language + - Optional [CSV Logging](../settings_view/csv.md) of telemetry data for improved accessibility. + - ArduPilot + - Mavlink: Configurable stream rate settings +- Setup + - Joystick + - New joystick setup ui + - Ability to configure held button to single or repeated action + - ArduPilot + - Motor Test + - ArduSub + - Automatic motor direction detection +- Plan + - Create Plan from template with wizard like progression for completing full Plan. + - Survey: Save commonly used settings as a Preset + - Polygon editing + - New editing tools ui + - Support for tracing a polygon from map locations + - ArduPilot + - Support for GeoFence and Rally Points using latest firmwares and mavlink v2 +- Fly + - Click to ROI support + - Added support for connecting to ADSB SBS server. Adds support for ADSB data from USB SDR Dongle running 'dump1090 --net' for example. + - Ability to turn on Heading to home, COG and Next Waypoint heading indicators in Compass. + - Video + - Add support for h.265 video streams + - Automatically add a [Video Overlay](../fly_view/video_overlay.md) with flight data as a subtitle for locally-recorded videos + - Vehicle type specific pre-flight checklists. Turn on from Settings. +- Analyze + - New Mavlink Inspector which includes charting support. Supported on all builds including Android and iOS. +- General + - Released Windows build are now 64 bit only + - Log Replay: Ability to specify replay speed + - ArduPilot + - Improved support for chibios firmwares and ArduPilot bootloader with respect to flashing and auto-connect. + +Additional notes for some features can be found here: [v4.0 (Additional Notes)](../releases/stable_v4.0_additional.md). + +## Stable Version 3.5 + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.5. + +- **Overall** + - Added Airmap integration to QGC. OSX build only. + - Bumped settings version (now 8). + This will cause all settings to be reset to defaults. + - Added Chinese and Turkish localization and partial German localization. + - Added support for the Taisync 2.4GHz ViUlinx digital HD wireless link. + - Fix loading of parameters from multiple components. + This especially affected WiFi connections. + - **ArduPilot** Support for ChibiOS firmware connect and flash. +- **Settings** + - **RTK** Add support for specifying fixed RTK based station location in Settings/General. + - **GCS Location** + - Added UDP Port option for NMEA GPS Device. + - GCS heading shown if available +- **Plan** + - **Polygons** Support loading polygons from SHP files. + - **Fixed Wing Landing Pattern** Add stop photo/video support. + Defaults to on such that doing an RTL will stop camera. + - **Edit Position dialog** Available on polygon vertices. +- **Fly** + - **Camera Page** Updated support for new MAVLInk camera messages. + Camera select, camera mode, start/stop photo/video, storage mangement... + - **Orbit** Support for changing rotation direction. + - **Instrument Panel** + - Added ESTIMATOR\_STATUS values to new estimatorStatus Vehicle FactGroup. + These are now available to display in instrument panel. + - Make Distance to GCS available for display from instrument panel. + - Make Heading to Home available for display from instrument panel. + +## Stable Version 3.4 + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.4. Not to mention the large number of bug fixes in each stable release. + +- **Settings** + - **Offline Maps** + - Center Tool allows you to specify a map location in lat/lon or UTM coordinates. Making it easier to get to the location you want to create an offline map for. + - Ability to pre-download terrain heights for offline use. + - **Help** Provides links to QGC user guide and forums. + +- **Setup** + - **Firmware** Ability to flash either PX4 or ArduPilot Flow firmware. + - PX4 Pro Firmware + - **Flight Modes** Specify channels for all available transmitter switches. + - **Tuning: Advanced** Initial implementation of vehicle PID tuning support. Note that this is a work in progress that will improve in 3.5 daily builds. + - ArduPilot Firmware + - **Power/Safety** Support for new multi-battery setup. + - **Trad Heli** New setup page. + +- **Plan** + + - **File Load/Save** New model for Plan file loading which matches a standard File Load/Save/Save As user model. + + - **Load KML** Ability to load a KML file directly from the Sync menu. You will be prompted for what type of Pattern you want to create from the KML if needed. + + - **Survey** Better support for irregular shaped polygons. + + - **[Corridor Scan](../plan_view/pattern_corridor_scan.md)** - Create a flight pattern which follows a poly-line. For example can be used to survey a road. + + - **[Fixed Wing Landing Pattern](../plan_view/pattern_fixed_wing_landing.md)** + - Landing area visually represented in Plan. + - Landing position/heading can be copied from Vehicle position/heading. + + - **Terrain** + + - Height of mission items can be specified as height above terrain. + - Survey and Corridor Scan can generate flight plans which follow terrain. + + ::: info + This feature does not support [ArduPilot terrain following](http://ardupilot.org/copter/docs/common-terrain-following.html). + ::: + + - **Edit Position** Set item position from vehicle position. + +- **Fly** + - **Pre-Flight Checklist** You can turn this on from Settings. It provides a generic checklist to follow prior to flight. Expect more feature to appear for this in 3.5 daily builds. + - **Instrument Panel** + - Many new values available for display. + - New Camera page which provides full camera control. Requires a camera which support new MavLink camera specification. + - **ArduPlane** Much better support for guided commands including QuadPlane support. + - **High Latency Links** Support for high latency links such as satellite connections. + Limits the traffic from QGC up to Vehicle on these links to reduce cost. + Supports HIGH\_LATENCY MavLink message. + Supports failover back/forth from high latency to normal link with dual link setup. + +## Stable Version 3.3 + +:::tip +More detailed release notes for version 3.3 can be found [here](../releases/stable_v3.3_long.md). +::: + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.3. Not to mention the large number of bug fixes of this release. + +- **Settings** + - Local NMEA GPS device support. + - Video Recording save settings. +- **Setup** + - **Parameter Editor** - Searching updates as you type characters for near immediate response to searches. + - **Joystick** - Android joystick support. +- **Plan** + - **NEW - Structure Scan Pattern** - Create a multi-layered flight pattern that captures images over vertical surfaces (polygonal or circular). Used for 3d model generation or vertical surface inspection. + - **Fixed Wing Landing Pattern** - You can now adjust the distance from the loiter to land point by either distance or glide slope fall rate. + - PX4 GeoFence and Rally Point support. + - Terrain height display in lower Mission Item altitude display +- **Fly** + - Start/Stop video recording. + - Better display of vehicle icons when connected to multiple vehicles. + - Multi-Vehicle View supports commands which apply to all vehicles. + - Displays vehicles reported from ADS-B sensor. +- **Analyze** + - **Mavlink console** - New support for communicating with Mavlink console. + - **Log Download** - Moved from Menu to Analyze view. + +## Stable Version 3.2 + +:::tip +More detailed release notes for version 3.2 can be found [here](../releases/stable_v3.2_long.md). +::: + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.2. + +- **Settings** + + - **File Save path** - Specify a save path for all files used by QGC. + - **Telemetry log auto-save** - Telemetry logs are now automatically saved without prompting. + - **AutoLoad Plans** - Used to automatically load a Plan onto a vehicle when it first connects. + - **RTK GPS** - Specify the Survey in accuracy and Minimum observation duration. + +- **Setup** + + - ArduPilot only + - **Pre-Flight Barometer and Airspeed calibration** - Now supported + - **Copy RC Trims** - Now supported + +- **Plan View** + + - **Plan files** - Missions are now saved as .plan files which include the mission, geo-fence and rally points. + - **Plan Toolbar** - New toolbar which shows you mission statistics and Upload button. + - **Mission Start** - Allows you to specify values such as flight speed and camera settings to start the mission with. + - **New Waypoint features** - Adjust heading and flight speed for each waypoint as well as camera settings. + - **Visual Gimbal direction** - Gimbal direction is shown on waypoint indicators. + - **Pattern tool** - Allows you to add complex patterns to a mission. + - Fixed Wing Landing (new) + - Survey (many new features) + - **Fixed Wing Landing Pattern** - Adds a landing pattern for fixed wings to your mission. + - **Survey** - New features + - **Take Images in Turnarounds** - Specify whether to take images through entire survey or just within each transect segment. + - **Hover and Capture** - Stop vehicle at each image location and take photo. + - **Refly at 90 degree offset** - Add additional pattern at 90 degree offset to original so get better image coverage. + - **Entry location** - Specify entry point for survey. + - **Polygon editing** - Simple on screen mechanism to drag, resize, add/remove points. Much better touch support. + +- **Fly View** + + - **Arm/Disarm** - Available from toolbar. + - **Guided Actions** - New action toolbar on the left. Supports: + - Takeoff + - Land + - RTL + - Pause + - Start Mission + - Resume Mission - after battery change + - Change Altitude + - Land Abort + - Set Waypoint + - Goto Location + - **Remove mission after vehicle lands** - Prompt to remove mission from vehicle after landing. + - **Flight Time** - Flight time is shown in instrument panel. + - **Multi-Vehicle View** - Better control of multiple vehicles. + +- **Analyze View** - New + + - **Log Download** - Moved to Analyze view from menu + - **Mavlink Console** - NSH shell access + +- **Support for third-party customized QGroundControl** + - Standard QGC supports multiple firmware types and multiple vehicle types. There is now support in QGC which allows a third-party to create their own custom version of QGC which is targeted specifically to their custom vehicle. They can then release their own version of QGC with their vehicle. + +## Stable Version 3.1 + +New Features + +- [Survey](../plan_view/pattern_survey.md) mission support +- [GeoFence](../plan_view/plan_geofence.md) support in Plan View +- [Rally Point](../plan_view/plan_rally_points.md) support in Plan View (ArduPilot only) +- ArduPilot onboard compass calibration +- Parameter editor search will now search as you type for quicker access +- Parameter display now supports unit conversion +- GeoTag images from log files (PX4 only) +- System health in instrument panel +- MAVLink 2.0 support (no signing yet) + +Major Bug Fixes + +- Fixed crash after disconnect from Vehicle +- Fixed android crash when using SiK Radios +- Many multi-vehicle fixes +- Bluetooth fixes diff --git a/docs/fa/qgc-user-guide/releases/stable_v3.2_long.md b/docs/fa/qgc-user-guide/releases/stable_v3.2_long.md new file mode 100644 index 00000000000..0056ad212fc --- /dev/null +++ b/docs/fa/qgc-user-guide/releases/stable_v3.2_long.md @@ -0,0 +1,265 @@ +# QGroundControl v3.2 Release Notes (Detailed) + +This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.2. + +## Settings + +### Telemetry log auto-save + +If you have _Save telemetry log after each flight_ turned on you will no longer be prompted as to where to save the log each time the vehicle disarms. +Logs will automatically be saved to the [Application Load/Save Path](../settings_view/general.md#load_save_path) + +For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#autosave_log). + +### AutoLoad plans + +If this setting is turned on, _QGroundControl_ will automatically upload a plan to the vehicle when it connects. +The plan file must be named **AutoLoad#.plan** where the `#` is replaced with the vehicle id. +The plan file must be located in the [Application Load/Save Path](../settings_view/general.md#load_save_path). + +For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#autoload_missions). + +### Application Load/Save Path + +You can now specify a save path which QGC will use as the default location to save files such as Parameters, Telemetry or Mission Plans. + +For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#load_save_path). + +### RTK GPS + +You can now specify the _Survey in accuracy_ and _Minimum observation duration_ for use with a connected RTK GPS. + +For more information see [Settings > General (RTK GPS)](../settings_view/general.md#rtk_gps). + +## Setup + +### ArduPilot - Pre-Flight Barometer and Airspeed calibration + +This is now supported from the Sensors page. + +### ArduPilot - Copy RC Trims + +This is now supported from the Copy Trims button on the Radio setup page. + +## Plan View {#plan\_view} + +### Plan Files + +Previous version of _QGroundControl_ saved missions, geo-fences and rally points in separate files (**.mission**, **.fence**, **.rally**). QGC now save all information related to a flight plan into a single file called a _Plan File_ with a file extension of **.plan**. + +Information about the format can be found in [Plan File Format](https://dev.qgroundcontrol.com/en/file_formats/plan.html) (QGC Developer Guide). + +### Plan Toolbar + +![Plan Toolbar](../../../assets/plan/plan_toolbar.jpg) + +The new _Plan Toolbar_ is displayed at the top of the [PlanView](../plan_view/plan_view.md). +It shows you information related to the currently selected waypoint as well as statistics for the entire mission. + +When connected to a vehicle it also shows an **Upload** button, which can be used to upload the plan to the vehicle. + +### Mission Settings + +The [Mission Settings](../plan_view/plan_view.md#mission_settings) panel allows you to specify values which apply to the entire mission, or settings you want to control right at the beginning of a mission. +This is the first item in the mission list on the right of the screen. + + + +#### Mission Defaults + +##### Waypoint alt + +This specifies the default altitude for newly added mission items. +If you update this value while you have a mission loaded it will prompt you to update all the the waypoints to this new altitude. + +##### Flight speed + +This allows you to set the flight speed for the mission to be different than the default mission speed. + +##### RTL after mission end + +Check this if you want your vehicle to RTL after the final mission item. + +#### Camera section + + + +The camera section allows you to specify a camera action to take, control the gimbal and set your camera into photo or video mode. + +The camera actions available are: + +- Continue current action +- Take photos (time) +- Take photos (distance) +- Stop taking photos +- Start recording video +- Stop recording video + +#### Vehicle Info section + + + +When planning a mission the firmware being run on the vehicle as well as the vehicle type must be known in order for QGroundControl to show you the mission commands which are appropriate for your vehicle. + +If you are planning a mission while you are connected to your vehicle the Firmware and Vehicle Type will be determined from the vehicle. If you are planning a mission while not connected to a vehicle you will need to specify this information yourself. + +The additional value that can be specified when planning a mission is the vehicle flight speed. By specifying this value, total mission or survey times can be approximated even when not connected to a vehicle. + +#### Planned Home Position + + + +The planned home position allows you to simulate the vehicle's home position while planning a mission. This way you see the waypoint trajectory for your vehicle from takeoff to mission completion. Keep in mind that this is only the "planned" home position and you should place it where you plan to start the vehicle from. It has no actual impact on flying the mission. The actual home position of a vehicle is set by the vehicle itself when arming. + +### New Waypoint features + + + +- You can now adjust heading and flight speed for each waypoint. +- There is a camera section available for camera changes on each waypoint. Explanation of Camera Section can be read under Mission Settings above. + +### Visual Gimbal direction + + + +If you specify gimbal yaw changes on waypoints, both the plan and fly views will show you a visual representation of the gimbal direction. + +### Pattern tool + +There is a new _Pattern tool_. The following patterns are supported: + +- Fixed Wing Landing (new) +- Survey (with new features) + +#### Fixed Wing Landing Pattern + +![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern.jpg) + +This adds a landing pattern for fixed wings to your mission. +The first point of the pattern is the loiter point which commands to vehicle to loiter to a specific altitude. +Once that altitude is reached, the vehicle will begin the landing sequence and fly down to the specified landing spot. + +Both the loiter and land points can be dragged to adjust. +Also all the various values associated with the pattern can be adjusted. + +For more information see [Fixed Wing Landing Pattern](../plan_view/pattern_fixed_wing_landing.md). + +#### Survey (new features) + +- Images are not automatically taken in the turnaround zone outside of the polygonal survey area. +- There is a new _Hover and Capture_ option which can be used to capture the highest quality image at each image location. The vehicle will stop at each image location prior to taking the image such that the vehicle is stable while the image is taken. +- There is a new option to re-fly the survey grid at a 90 degree angle to the previous pass. This allows you to generate much denser coverage for the images. + +![](../../../assets/plan/polygon_edit.jpg) + +Manipulating the survey area polygon is now easier to use on tablets with touch screens: + +- You can drag the entire polygon to a new location by dragging the center point handle. +- Each polygon vertex can be dragged to a new location. +- To remove a polygon vertex, simple click on the drag handle for it. +- Click on the **+** handles to add a new vertex between two existing vertices. + +## Fly View + +### RTK GPS + +RTK status is now shown in the toolbar. + +### Arm/Disarm + +There is an armed/disarmed indicator in the toolbar. You can click it to arm/disarm your vehicle. If you click Disarm in the toolbar while your vehicle is flying you will provided the option to Emergency Stop your vehicle. + +### Guided Actions + +- Takeoff +- Land +- RTL +- Pause +- Actions + - Start Mission + - Resume Mission + - Change Altitude + - Land Abort +- Direct interaction with map + - Set Waypoint + - Goto Location + +#### Resume Mission + +The Resume Mission guided action is used to resume a mission after performing an RTL from within the mission to perform a battery change. +After the vehicle lands from RTL and you have disconnected the battery **do not** disconnect QGC from the Vehicle. +Put in your new battery and QGC will detect the vehicle again and automatically restore the connection. +Once this happens you will be prompted with a Resume Mission confirmation slider. +If you want to resume the mission, confirm this and the mission will be rebuilt from your last waypoint traveled through. +Once the mission is rebuilt you will be presented with another Resume Mission slide which allows you to review the rebuilt mission before starting it again. +Confirm this Resume Mission slider to continue on with the mission. + +###### How resume mission rebuilding works + +In order to resume a mission you cannot simply continue it from the last mission item the vehicle ran. +The reason is is that may skip over important change speed commands or camera control commands which are prior to that item in the mission. +If you skipped over those the remainder of the mission will not run correctly. +In order to make resume mission work correctly QGC rebuilds the mission looking backwards from the last mission item flown and automatically appends relevant commands to the front of the mission. +By doing this the state of the mission prior to the resume point is restore. +The following mission commands are the ones scanned for: + +- `MAV_CMD_DO_CONTROL_VIDEO` +- `MAV_CMD_DO_SET_ROI` +- `MAV_CMD_DO_DIGICAM_CONFIGURE` +- `MAV_CMD_DO_DIGICAM_CONTROL` +- `MAV_CMD_DO_MOUNT_CONFIGURE` +- `MAV_CMD_DO_MOUNT_CONTROL` +- `MAV_CMD_DO_SET_CAM_TRIGG_DIST` +- `MAV_CMD_DO_FENCE_ENABLE` +- `MAV_CMD_IMAGE_START_CAPTURE` +- `MAV_CMD_IMAGE_STOP_CAPTURE` +- `MAV_CMD_VIDEO_START_CAPTURE` +- `MAV_CMD_VIDEO_STOP_CAPTURE` +- `MAV_CMD_DO_CHANGE_SPEED` +- `MAV_CMD_NAV_TAKEOFF` + +### Remove mission after vehicle lands + +You will be prompted to remove the mission from the vehicle after the mission completes and the vehicle lands and disarms. +This is meant to prevent issues where stale missions are unknowingly left on a vehicle cause unexpected behavior. + +### Instrument panel + +#### Camera trigger + +#### Flight Time + +Flight time is now available for display in the instrument panel. +For new users, flight time will be shown by default. +For existing users who have already modified their instrument panel values you will have to add it yourself if you want to use it. + +## [Analyze View](../analyze_view/index.md) + +- [Log Download](../analyze_view/log_download.md) moved to _Analyze View_ from menu. +- New [GeoTag Images](../analyze_view/geotag_images.md) support for PX4 Pro firmware +- New [MAVLink Console](../analyze_view/mavlink_console.md) which provides access the the _nsh shell_ running on the vehicle. + +## Multi-Vehicle View + +There is a new view available when you have multiple vehicles connected to QGC. It will only show up when more than one vehicle is connected. When that happens you will see an additional set of radio button at the top right of the Plan view. + + + +Click the **Multi-Vehicle** radio button to replace the instrument panel with the multi-vehicle list: + + + +The example above shows three vehicles. The numbers are the vehicle id. In the large font is the current flight mode. You can click the flight mode name to change to a different flight mode. To the right are small version of the instruments for each vehicle. You can command the vehicle to do the following actions from the control panel: + +- Arm/Disarm +- Start/Stop a mission +- Return to Launch +- Take Control back of the vehicle by returning to manual control from a mission. + +### Multi-Vehicle Gotchas - Unique vehicle ids + +Each vehicle connected to QGC must have a unique id. Otherwise QGC will think the vehicles are actually the same vehicle. The symptom of this is the Plan view jerking around as it tries to position itself to one vehicle and then the next. For PX4 Pro firmwares this is the `MAV_SYS_ID` parameter. For ArduPilot firmwares it is the `SYSID_THISMAV` parameter. + +## Support for third-party customized QGroundControl + +Standard QGC supports multiple firmware types and multiple vehicle types. There is now support in QGC which allows a third-party to create their own custom version of QGC which is targeted specifically to their custom vehicle. They can then release their own version of QGC with their vehicle. diff --git a/docs/fa/qgc-user-guide/releases/stable_v3.3_long.md b/docs/fa/qgc-user-guide/releases/stable_v3.3_long.md new file mode 100644 index 00000000000..4c2f86d680d --- /dev/null +++ b/docs/fa/qgc-user-guide/releases/stable_v3.3_long.md @@ -0,0 +1,96 @@ +# QGroundControl v3.3 Release Notes (Detailed) + +This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.3. + +## Detailed Notes + +### Settings View + +#### NMEA GPS Device support + +![NMEA GPS Device support](../../../assets/settings/general/NMEADevice.jpg) + +You can specify a connection to one of these devices on the General page. +The GPS information will then be used for ground station location and in turn follow me support. + +For more information see [Settings > General (AutoConnect to the following devices)](../settings_view/general.md#auto_connect). + +#### Video Recording + +![Video Recording](../../../assets/settings/video_recording.jpg) + +Videos will be saved to the Video directory of your QGC file save path. +You can also specify the maximum amount of space you want video files to consume. +After that size if exceeded the oldest video files will be removed. +Video Recording is turned on/off from the Video widget in the Fly View. + +For more information see [Settings > General (Video / Video Recording)](../settings_view/general.md#video). + +### Plan View {#plan\_view} + +#### Structure Scan + +A Structure Scan allows you to create a grid flight pattern that captures images over vertical surfaces (polygonal or circular). +These are typically used for the visual inspection or creation of 3d models of structures. + +Details [here](../plan_view/pattern_structure_scan_v2.md). + +#### New MAVLink GeoFence, Rally Point support + +![](../../../assets/plan/geofence_rally.jpg) + +QGC supports the new MAVLink GeoFence and Rally Point specification/protocol. This new system supports multiple polygonal and/or circular fences which can be specified as an exclusion or an inclusion fence. + +The fence which is currently selected by the "Edit" radio button will show the on screen editing controls such as the drag points for polygon editing. + +**Note** Only PX4 Pro firmware supports the new specification. ArduPilot does not yet support the new spec. Support for GeoFence/Rally is temporarily disabled in QGC until QGC ArduPilot code is reworked to the new architecture. + +#### Edit Position Dialog + +![](../../../assets/plan/edit_position_dialog.jpg) + +The Edit Position Dialog allows you to specify a detailed position for an item in either Geographic or UTM coordinate systems. It is available from the Polygon Tools menu as well as the hamburger menu of any mission item which specifies a coordinate: + +![](../../../assets/plan/mission_item_editor_hamburger.jpg) + +#### Polygon Tools + +![](../../../assets/plan/polygon_tools.jpg) + +You can now also click on the polygon center drag handle to bring up a set of polygon manipulation tools. The tools are available anywhere polygon editing is supported: Survey, Structure Scan, GeoFence, ... + +- Circle - Converts the polygon to a circular polygon. +- Polygon - Changes a circular polygon back to a rectangular polygon. +- Set radius - Set radius for circular polygons. +- Edit position - Displays the edit position dialog to specify a detailed position for the circular center. +- Load KML - Set polygon to polygon loaded from KML file. + +Circular polygon example: + + + +### Fly View + +#### Start/Stop Video Recording + +This is now a video record button in the video window. Settings for saved videos are available from General Page of Setup view. + +#### Multi-Vehicle vehicle indicators + +When you are connected to multiple vehicles the vehicle id will be shown below the vehicle icon. The active vehicle will be opaque and the inactive vehicles will be semi-transparent. + +![](../../../assets/fly/multi_vehicle_indicators.jpg) + +#### Multi-Vehicle View supports batch commands + +The multi-vehicle list now supports commands which apply to all vehicles. + +![](../../../assets/fly/multi_vehicle_list.jpg) + +The current list of available commands are Pause and Start Mission but that will be exapanded upon with further development. + +#### ADS-B sensor vehicle display + +Vehicle reported by ADS-B sensor on vehicle are shown on map as smaller blue icons with altitude and callsign below the icon. + +![](../../../assets/fly/adsb_vehicle.jpg) diff --git a/docs/fa/qgc-user-guide/releases/stable_v4.0_additional.md b/docs/fa/qgc-user-guide/releases/stable_v4.0_additional.md new file mode 100644 index 00000000000..9399f0d3702 --- /dev/null +++ b/docs/fa/qgc-user-guide/releases/stable_v4.0_additional.md @@ -0,0 +1,13 @@ +# QGroundControl v4.0 Release Notes (Additional) + +This topic contains additional notes about QGroundControl 4.0. +These should be integrated into main documentation in coming months (and this document deleted). + +- [Pattern Presets](../plan_view/pattern_presets.md) - Allows you to save settings for a Pattern item (Survey, Corridor Scan, ...) into a named preset. You can then use this preset over and over again as you create new Pattern. +- ArduPilot: + - Copter - PID Tuning support ![PID Tuning JPG](../../../assets/daily_build_changes/arducopter_pid_tuning.jpg) + - Copter - Additional Basic Tuning options ![Basic Tuning JPG](../../../assets/daily_build_changes/arducopter_basic_tuning.jpg) + - Copter/Rover - Frame setup ui ![Setup Frame Copter JPG](../../../assets/daily_build_changes/arducopter_setup_frame.jpg) + - Improved support for flashing ChibiOS firmware + - Improved support for connecting to ChibiOS bootloader boards + - Support configurable mavlink stream rates. Available from Settings/Mavlink page. ![Stream Rates JPG](../../../assets/daily_build_changes/arducopter_stream_rates.jpg) diff --git a/docs/fa/qgc-user-guide/settings_view/console_logging.md b/docs/fa/qgc-user-guide/settings_view/console_logging.md new file mode 100644 index 00000000000..e89bb78be30 --- /dev/null +++ b/docs/fa/qgc-user-guide/settings_view/console_logging.md @@ -0,0 +1,47 @@ +# Console Logging + +The _Console_ can be helpful tool for diagnosing _QGroundControl_ problems. It can be found in **SettingsView > Console**. + +![Console logging](../../../assets/support/console.jpg) + +Click the **Set Logging** button to enable/disable logging information displayed by _QGroundControl_. + +## Common Logging Options + +The most commmonly used logging options are listed below. + +| Option(s) | Description | +| ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `LinkManagerLog`, `MultiVehicleManagerLog` | Debug connection problems. | +| `LinkManagerVerboseLog` | Debug serial ports not being detected. Very noisy continuous output of available serial ports. | +| `FirmwareUpgradeLog` | Debug firmware flash issues. | +| `ParameterManagerLog` | Debug parameter load problems. | +| `ParameterManagerDebugCacheFailureLog` | Debug parameter cache crc misses. | +| `PlanManagerLog`, `MissionManagerLog`, `GeoFenceManagerLog`, `RallyPointManagerLog` | Debug Plan upload/download issues. | +| `RadioComponentControllerLog` | Debug Radio calibration issues. | + +## Logging from the Command Line + +An alternate mechanism for logging is using the `--logging` command line option. This is handy if you are trying to get logs from a situation where _QGroundControl_ crashes. + +How you do this and where the traces are output vary by OS: + +- Windows + - You must open a command prompt, change directory to the **qgroundcontrol.exe** location, and run it from there: + ```bash + cd "\Program Files (x86)\qgroundcontrol" + qgroundcontrol --logging:full + ``` + - When _QGroundControl_ starts you should see a separate console window open which will have the log output +- OSX + - You must run _QGroundControl_ from Terminal. The Terminal app is located in Applications/Utilities. Once Terminal is open paste the following into it: + ```bash + cd /Applications/qgroundcontrol.app/Contents/MacOS/ + ./qgroundcontrol --logging:full + ``` + - Log traces will output to the Terminal window. +- ## Linux + ```bash + ./qgroundcontrol-start.sh --logging:full + ``` + - Log traces will output to the shell you are running from. diff --git a/docs/fa/qgc-user-guide/settings_view/csv.md b/docs/fa/qgc-user-guide/settings_view/csv.md new file mode 100644 index 00000000000..ae227ea9238 --- /dev/null +++ b/docs/fa/qgc-user-guide/settings_view/csv.md @@ -0,0 +1,11 @@ +# CSV Logging + +![Csv checkbox](../../../assets/settings/general/csv.jpg) + +When checked, a CSV (comma-separated value) telemetry file will be created along with the usual **.tlog** telemetry file. +The file is only created if **Save log after each flight** is enabled, and is recorded for the same duration. + +This CSV file contains the most relevant vehicle telemetry data available for quick analysis such as GPS position, attitude, battery status, and others. +It is populated at 1 Hz and while it is not as detailed as the telemetry log, it is a lot easier to work with and quicker to extract data out of. + +The file can be opened by common spreadsheet software, including: Microsoft Excel, Google Sheets, LibreOffice Calc or OpenOffice Calc. diff --git a/docs/fa/qgc-user-guide/settings_view/general.md b/docs/fa/qgc-user-guide/settings_view/general.md new file mode 100644 index 00000000000..f88e660ef42 --- /dev/null +++ b/docs/fa/qgc-user-guide/settings_view/general.md @@ -0,0 +1,282 @@ +# General Settings (Settings View) + +The general settings (**SettingsView > General Settings**) are the main place for application-level configuration. +Settable values include: display units, autoconnection devices, video display and storage, RTK GPS, brand image, and other miscellaneous settings. + +:::info +Values are settable even if no vehicle is connected. Settings that require a vehicle restart are indicated in the UI. +::: + +![SettingsView - Full General Tab](../../../assets/settings/general/overview.jpg) + +## Units + +This section defines the display units used in the application. + +![Units settings](../../../assets/settings/general/units.jpg) + +The settings are: + +- **Distance**: Meters | Feet +- **Area**: SquareMetres | SquareFeet | SquareKilometers | Hectares | Acres | SquareMiles +- **Speed**: Metres/second | Feet/second | Miles/hour | Kilometres/hour | Knots +- **Temperature**: Celsius | Fahrenheit + +## Miscellaneous + +This section defines a number of miscellaneous settings, related to (non exhaustively): font sizes, colour schemes, map providers, map types, telemetry logging, audio output, low battery announcement levels, default mission altitude, [virtual joysticks](../settings_view/virtual_joystick.md), mission autoloading, default application file load/save path etc. + +![Miscellaneous settings](../../../assets/settings/general/miscellaneous.jpg) + +The settings are: + +- **Language**: System (System Language) | Bulgarian, Chinese, ... + + ![Display languages](../../../assets/settings/general/languages.jpg) + + Translations are generally built into the application and selected automatically based on the system language. + + Metadata downloaded from the vehicle (such as parameter descriptions) might have translations as well. + These are downloaded from the internet upon vehicle connection. The translations are then cached locally. + This means an internet connection during vehicle connection is required at least once. + +- **Color Scheme**: Indoor (Dark) | Outdoor (Light) + +- **Map Provider**: Google | Mapbox | Bing | Airmap | VWorld | Eniro | Statkart + +- **Map Type**: Road | Hybrid | Satellite + +- **Stream GCS Position**: Never | Always | When in Follow Me Flight Mode. + +- **UI Scaling**: UI scale percentage (affects fonts, icons, button sizes, layout etc.) + +- **Mute all audio output**: Turns off all audio output. + +- **Check for Internet Connection**: Uncheck to allow maps to be used in China/places where map tile downloads are likely to fail (stops the map-tile engine continually rechecking for an Internet connection). + +- **Autoload Missions**: If enabled, automatically upload a plan to the vehicle on connection. + - The plan file must be named **AutoLoad#.plan**, where the `#` is replaced with the vehicle id. + - The plan file must be located in the [Application Load/Save Path](#load_save_path). + +- **Clear all settings on next start**: Resets all settings to the default (including this one) when _QGroundControl_ restarts. + +- **Announce battery lower than**: Battery level at which _QGroundControl_ will start low battery announcements. + +- **Application Load/Save Path**: Default location for loading/saving application files, including: parameters, telemetry logs, and mission plans. + +## Data Persistence {#data\_persistence} + +![Data Persistence Settings](../../../assets/settings/general/data_persistence.jpg) + +The settings are: + +- **Disable all data persistence**: Check to prevent any data being saved or cached: logs, map tiles etc. + This setting disables the [telemetry logs section](#telemetry_logs). + +## Telemetry Logs from Vehicle {#telemetry\_logs} + +![Telemetry Logs from Vehicle Settings](../../../assets/settings/general/telemetry_logs.jpg) + +The settings are: + +- **Save log after each flight**: Telemetry logs (`.tlog`) automatically saved to the _Application Load/Save Path_ ([above](#load_save_path)) after flight. +- **Save logs even if vehicle was not armed**: Logs when a vehicle connects to _QGroundControl_. + Stops logging when the last vehicle disconnects. +- [**CSV Logging**](csv.md): Log subset of telemetry data to a CSV file. + +## Fly View {#fly\_view} + +![Fly View Settings](../../../assets/settings/general/fly_view.jpg) + +The settings are: + +- **Use Preflight Checklist**: Enable pre-flight checklist in Fly toolbar. + +- **Enforce Preflight Checklist**: Checklist completion is a pre-condition for arming. + +- **Keep Map Centered on Vehicle**: Forces map to center on the currently selected vehicle. + +- **Show Telemetry Log Replay Status Bar**: Display status bar for [Replaying Flight Data](../fly_view/replay_flight_data.md). + +- **Virtual Joystick**: Enable [virtual joysticks](../settings_view/virtual_joystick.md) (PX4 only) + +- **Use Vertical Instrument Panel**: Align instrument panel vertically rather than horizontally (default). + +- **Show additional heading indicators on Compass**: Adds additional indicators to the compass rose: + +- _Blue arrow_: course over ground. + +- _White house_: direction back to home. + +- _Green line_: Direction to next waypoint. + +- **Lock Compass Nose-Up**: Check to rotate the compass rose (default is to rotate the vehicle inside the compass indicateor). + +- **Guided Minimum Altitude**: Minimum value for guided actions altitude slider. + +- **Guided Maximum Altitude**: Minimum value for guided actions altitude slider. + +- **Go To Location Max Distance**: The maximum distance that a Go To location can be set from the current vehicle location (in guided mode). + +## Plan View {#plan\_view} + +![Plan View Settings](../../../assets/settings/general/plan_view.jpg) + +The settings are: + +- **Default Mission Altitude**: The default altitude used for the Mission Start Panel, and hence for the first waypoint. + +## AutoConnect to the following devices {#auto\_connect} + +This section defines the set of devices to which _QGroundControl_ will auto-connect. + +![Device autoconnect settings](../../../assets/settings/general/autoconnect_devices.jpg) + +Settings include: + +- **Pixhawk:** Autoconnect to Pixhawk-series device +- **SiK Radio:** Autoconnect to SiK (Telemetry) radio +- **PX4 Flow:** Autoconnect to PX4Flow device +- **LibrePilot:** Autoconnect to Libre Pilot autopilot +- **UDP:** Autoconnect to UDP +- **RTK GPS:** Autoconnect to RTK GPS device +- **NMEA GPS Device:** Autoconnect to an external GPS device to get ground station position ([see below](#nmea_gps)) + +### Ground Station Location (NMEA GPS Device) {#nmea\_gps} + +_QGroundControl_ will automatically use an internal GPS to display its own location on the map with a purple `Q` icon (if the GPS provides a heading, this will be also indicated by the icon). +It may also use the GPS as a location source for _Follow Me Mode_ - currently supported on [PX4 Multicopters only](https://docs.px4.io/en/flight_modes/follow_me.html). + +You can also configure QGC to connect to an external GPS device via a serial or UDP port. +The GPS device must support the ASCII NMEA format - this is normally the case. + +:::tip +A higher quality external GPS system may be useful even if the ground station has internal GPS support. +::: + +Use the _NMEA GPS Device_ drop-down selector to manually select the GPS device and other options: + +- USB connection: + + ![NMEA GPS Device - Serial](../../../assets/settings/general/nmea_gps_serial.jpg) + + - **NMEA GPS Device:** _Serial_ + - **NMEA GPS Baudrate**: The baudrate for the serial port + + :::tip + To troubleshoot serial GPS problems: Disable RTK GPS [auto connection](#auto_connect), close _QGroundControl_, reconnect your GPS, and open QGC. + ::: + +- Network connection: + + ![NMEA GPS Device - UDP](../../../assets/settings/general/nmea_gps_udp.jpg) + + - **NMEA GPS Device:** _UDP Port_. + - **NMEA Stream UDP Port**: The UDP port on which QGC will listen for NMEA data (QGC binds the port as a server) + +## RTK GPS {#rtk\_gps} + +This section allows you to specify the RTK GPS "Survey-in" settings, to save and reuse the result of a Survey-In operation, or to directly enter any other known position for the base station. + +![RTK GPS Settings](../../../assets/settings/general/rtk_gps.jpg) + +:::info +The _Survey-In_ process is a startup procedure required by RTK GPS systems to get an accurate estimate of the base station position. +The process takes measurements over time, leading to increasing position accuracy. +Both of the setting conditions must met for the Survey-in process to complete. +For more information see [RTK GPS](https://docs.px4.io/en/advanced_features/rtk-gps.html) (PX4 docs) and [GPS- How it works](http://ardupilot.org/copter/docs/common-gps-how-it-works.html#rtk-corrections) (ArduPilot docs). +::: + +:::tip +In order to save and reuse a base position (because Survey-In is time consuming!) perform Survey-In once, select _Use Specified Base Position_ and press **Save Current Base Position** to copy in the values for the last survey. +The values will then persist across QGC reboots until they are changed. +::: + +The settings are: + +- Perform Survey-In + - **Survey-in accuracy (U-blox only):** The minimum position accuracy for the RTK Survey-In process to complete. + - **Minimum observation duration:** The minimum time that will be taken for the RTK Survey-in process. +- Use Specified Base Position + - **Base Position Latitude:** Latitude of fixed RTK base station. + - **Base Position Longitude:** Longitude of fixed RTK base station. + - **Base Position Alt (WGS94):** Altitude of fixed RTK base station. + - **Base Position Accuracy:** Accuracy of base station position information. + - **Save Current Base Position** (button): Press to copy settings from the last Survey-In operation to the _Use Specified Base Position_ fields above. + +## ADSB Server {#adsb\_server} + +![ADSB\_Server Settings](../../../assets/settings/general/adbs_server.jpg) + +The settings are: + +- **Connect to ADSB SBS server**: Check to connect to ADSB server on startup. +- **Host address**: Host address of ADSB server +- **Server port**: Port of ADSB server + +QGC can consume ADSB messages in SBS format from a remote or local server (at the specified IP address/port) and display detected vehicles on the Fly View map. + +::: tip +One way to get ADSB information from nearby vehicles is to use [dump1090](https://github.com/antirez/dump1090) to serve the data from a connected RTL-SDR dongle to QGC. + +The steps are: + +1. Get an RTL-SDR dongle (and antenna) and attach it to your ground station computer (you may need to find compatible drivers for your OS). +2. Install _dump1090_ on your OS (either pre-built or build from source). +3. Run `dump1090 --net` to start broadcasting messages for detected vehicles on TCP localhost port 30003 (127.0.0.1:30003). +4. Enter the server (`127.0.0.1`) and port (`30003`) address in the QGC settings above. +5. Restart QGC to start seeing local vehicles on the map. + +::: + +## Video {#video} + +The _Video_ section is used to define the source and connection settings for video that will be displayed in _Fly View_. + +![Video settings](../../../assets/settings/general/video_udp.jpg) + +The settings are: + +- **Video Source**: Video Stream Disabled | RTSP Video Stream | UDP h.264 Video Stream | UDP h.265 Video Stream | TCP-MPEG2 Video Stream | MPEG-TS (h.264) Video Stream | Integrated Camera + + ::: info + If no video source is specified then no other video or _video recording_ settings will be displayed (above we see the settings when UDP source is selected). + ::: + +- **URL/Port**: Connection type-specific stream address (may be port or URL). + +- **Aspect Ratio**: Aspect ratio for scaling video in video widget (set to 0.0 to ignore scaling) + +- **Disabled When Disarmed**: Disable video feed when vehicle is disarmed. + +- **Low Latency Mode**: Enabling low latency mode reduces the video stream latency, but may cause frame loss and choppy video (especially with a poor network connection). + +## Video Recording + +The _Video Recording_ section is used to specify the file format and maximum allocated file storage for storing video. +Videos are saved to a sub-directory ("Video") of the [Application Load/Save Path](#load_save_path). + +![Video - without auto deletion](../../../assets/settings/general/video_recording.jpg) + +![Video - auto deletion](../../../assets/settings/general/video_recording_auto_delete.jpg) + +The settings are: + +- **Auto-Delete Files**: If checked, files are auto deleted when the specified amount of storage is used. +- **Max Storage Usage**: Maximum video file storage before video files are auto deleted. +- **Video File Format**: File format for the saved video recording: mkv, mov, mp4. + +## Brand Image + +This setting specifies the _brand image_ used for indoor/outdoor colour schemes. + +The brand image is displayed in place of the icon for the connected autopilot in the top right corner of the toolbar. +It is provided so that users can easily create screen/video captures that include a company logo/branding. + +![Brand Image](../../../assets/settings/general/brand_image.jpg) + +The settings are: + +- **Indoor Image**: Brand image used in [indoor color scheme](#colour_scheme) +- **Outdoor Image**: Brand image used in [outdoor color scheme](#colour_scheme) +- **Reset Default Brand Image**: Reset the brand image back to default. diff --git a/docs/fa/qgc-user-guide/settings_view/mavlink.md b/docs/fa/qgc-user-guide/settings_view/mavlink.md new file mode 100644 index 00000000000..05bf0cd5581 --- /dev/null +++ b/docs/fa/qgc-user-guide/settings_view/mavlink.md @@ -0,0 +1,81 @@ +# MAVLink Settings + +The MAVLink settings (**SettingsView > MAVLink**) allow you to configure options and view information specific to MAVLink communications. +This includes setting the MAVLink system ID for _QGroundControl_ and viewing link quality. + +The screen also allows you to manage [MAVLink 2 Log Streaming](#logging) (PX4 only), including _automating log upload to Flight Review_! + +![MAVLink settings screen](../../../assets/settings/mavlink/overview.png) + +## Ground Station {#ground\_station} + +This section sets the MAVLink properties and behaviour of _QGroundControl_. + +![Ground Station](../../../assets/settings/mavlink/ground_station.png) + +- **MAVLink System ID:** System ID of _QGroundControl_ on the MAVLink network (Default: 255). + Vehicles are typically allocated IDs from 1. + You may have to specify another ID if there are multiple ground stations or MAVLink applications on the network. +- **Emit heartbeat:** Disable emission of regular MAVLink HEARTBEAT message (Default: True). + Generally speaking, you should not turn this off. +- **Only accept MAVs with the same protocol version:** Set true to only connect to MAVLink 1 or to MAVLink 2 vehicles (Default: True). +- **Enable MAVLink forwarding:** Enable _QGroundControl_ to forward MAVLink messages from connected vehicles to another UDP endpoint (Default: False). + Note that this forwarding is one-way: from QGC to the specified host. + Any MAVLink messages that are received from the specified host will be ignored. + +## Link Status {#link\_status} + +This shows the status of MAVLink message transfer over the communications link. +A high **Loss rate** may lead to protocol errors for things like parameter download or mission upload/download. + +![Link Status](../../../assets/settings/mavlink/link_status.jpg) + +## MAVLink 2 Logging (PX4 only) {#logging} + +The _MAVLink 2 Logging_ settings (PX4 only) configure real-time log streaming from PX4 to _QGroundControl_ and upload of logs to [Flight Review](https://logs.px4.io). + +:::warning +MAVLink 2 Logging cannot be used on "basic" setups because it requires a constant high-rate MAVLink connection to the vehicle (it _may_ work over WiFI but will _not_ work over a Telemetry link). +::: + +:::tip +In theory log streaming allows real time analysis of data. +At time of writing real-time analysis has not yet been implemented. +::: + +The log format is the same as for SD Card logs (downloaded using [Analyze View > Log Download](../analyze_view/log_download.md)), but actual data logged may be slightly different because log start/stop time is controlled by _QGroundControl_ and because some dropouts may occur when streaming over a lossy channel. + +The _MAVLink 2 Logging_ section allows you to manually start and stop logging, and to enable automatic capture of logs. + +![MAVLink 2 Logging](../../../assets/settings/mavlink/mavlink2_logging.jpg) + +The _MAVLink 2 Log Uploads_ section allows you configure uploading of MAVLink logs to [Flight Review](https://logs.px4.io). +You can specify all the fields that you would otherwise have to directly enter in the site, and also choose whether logs are automatically or manually uploaded. + +![MAVLink 2 Log Uploads](../../../assets/settings/mavlink/mavlink2_log_uploads.jpg) + +The fields are: + +- **Email address for Log Uploads:** _Flight Review_ will email you a link to the upload at this address. + This is important as otherwise you will have no way to access a non-public log after upload. +- **Default Description:** Description/name of flight used for log. +- **Default Upload URL:** URL for upload of the log/log metadata. + This is set by default to the _Flight Review_ URL. +- **Video URL:** (Optional) URL for video of flight associated with log. + This may be included on the Flight Review page to ease analysis. +- **Wind Speed:** Used to aid debugging and filtering (from multiple flights). Allowed values: _Calm_ | _Breeze_ | _Gale_ | _Storm_. +- **Flight Rating:** Used to aid debugging and filtering (from multiple flights). Allowed values: _Crashed (Pilot Error)_ | _Crashed (Software or Hardware Issue)_ | _Unsatisfactory_ | _Good_ | _Great_. +- **Additional Feedback:** (Optional). Enter a more detailed description of the flight or behaviour. +- **Make this log publically available:** If set, the log will be visible and searchable on _Flight Review_. + If not set, it will only be available via the link emailed on upload. +- **Enable automatic log uploads:** If set, the log will automatically be uploaded on completion. +- **Delete log file after uploading:** If set, the log will automatically deleted after upload. + +The _Saved Log Files_ section is used to manually manage log uploads. +Use the checkboxes and buttons to select logs, and either delete or upload them. + +:::tip +You can change the parameters in _MAVLink 2 Log Uploads_ above to specify separate descriptions for uploaded logs. +::: + +![Saved log files](../../../assets/settings/mavlink/saved_log_files.jpg) diff --git a/docs/fa/qgc-user-guide/settings_view/offline_maps.md b/docs/fa/qgc-user-guide/settings_view/offline_maps.md new file mode 100644 index 00000000000..a3c0384c15b --- /dev/null +++ b/docs/fa/qgc-user-guide/settings_view/offline_maps.md @@ -0,0 +1,14 @@ +# Offline Maps + +![](../../../assets/settings/offline_maps.jpg) + +Offline Maps allows you to cache map tiles for use when not connected to the Internet. You can create multiple offline sets, each for a different location. + +## Add new set + +To create a new offline map set, click "Add new set". Which will take you to this page: +![](../../../assets/settings/offline_maps_add.jpg) + +From here you can name your set as well as specify the zoom levels you want to cache. Move the map to the position you want to cache and then set the zoom levels and click Download to cache the tiles. + +To the left you can see previews of the min and max zoom levels you have chosen. diff --git a/docs/fa/qgc-user-guide/settings_view/settings_view.md b/docs/fa/qgc-user-guide/settings_view/settings_view.md new file mode 100644 index 00000000000..d370436affa --- /dev/null +++ b/docs/fa/qgc-user-guide/settings_view/settings_view.md @@ -0,0 +1,19 @@ +# Settings View + +The _Settings View_ is used to configure the settings for the _QGroundControl_ application (rather than a specific vehicle). You do not have to have a vehicle connected to change these values. + +You can switch between the various settings options by clicking the buttons in the left-sidebar. + +![](../../../assets/settings/settings_view.jpg) + +## Settings Options + +**[General](general.md)**
The main application configuration settings. These are used to specify: display units, autoconnection devices, video display and storage, RTK GPS, etc. + +**Comm Links**
Allows you to manually create communication links and connect to them. _Keep in mind that normally this is not needed since QGroundControl will automatically connect to the most common devices._ + +**[Offline Maps](offline_maps.md)**
Allows you to cache maps for use while you have no Internet connection. + +**[MAVLink](mavlink.md)**
Settings associated with the MAVLink connection to a vehicle. + +**[Console](console_logging.md)**
Used to capture application logs for help with diagnosing application problems. diff --git a/docs/fa/qgc-user-guide/settings_view/virtual_joystick.md b/docs/fa/qgc-user-guide/settings_view/virtual_joystick.md new file mode 100644 index 00000000000..33544050b15 --- /dev/null +++ b/docs/fa/qgc-user-guide/settings_view/virtual_joystick.md @@ -0,0 +1,20 @@ +# Virtual Joystick + +_QGroundControl_ allows you to control a vehicle with on-screen virtual thumbsticks. These are displayed as shown below in the flight view. + +![QGroundControl Preferences > Enable Virtual Joystick](../../../assets/settings/joystick_virtual_joystick_displayed.jpg) + +:::info +Thumbstick control is not as responsive as using an RC Transmitter (because the information is sent over MAVLink). Another alternative is to use a [USB Joystick/Gamepad](../setup_view/joystick.md). +::: + +## Enable the thumbsticks + +To enable the virtual joysticks: + +1. Select the **Q** icon from the top toolbar +2. Open the **Application Settings** +3. Make sure you're on the **General** tab +4. Check the **Virtual joystick** box + + ![QGroundControl Application Settings > Enable Virtual joystick](../../../assets/settings/joystick_virtual_joystick_enable.png) diff --git a/docs/fa/qgc-user-guide/setup_view/airframe.md b/docs/fa/qgc-user-guide/setup_view/airframe.md new file mode 100644 index 00000000000..475afe234ed --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/airframe.md @@ -0,0 +1,7 @@ +# Airframe Setup + +This page allows you to configure the main airframe selection associated with your vehicle. +The view/process differs slightly based on the flight controller firmware used. + +- [Airframe (ArduPilot)](../setup_view/airframe_ardupilot.md) +- [Airframe (PX4)](../setup_view/airframe_px4.md) diff --git a/docs/fa/qgc-user-guide/setup_view/airframe_ardupilot.md b/docs/fa/qgc-user-guide/setup_view/airframe_ardupilot.md new file mode 100644 index 00000000000..d0dd811a1be --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/airframe_ardupilot.md @@ -0,0 +1,41 @@ +# Airframe Setup (ArduPilot) + +Airframe Setup is used to select the frame class and type that matches your vehicle + +:::info +Airframe Setup is only available on _ArduCopter_ and _ArduSub_ vehicles (it is not shown for _ArduPilot_ Rover or Plane vehicles). +::: + +## ArduCopter Airframe Setup + +To select the airframe in Copter: + +1. First select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Airframe** in the sidebar. + + ![Airframe config](../../../assets/setup/airframe/arducopter.jpg) + +2. Select the broad _Frame Class_ for your vehicle: + + ![Airframe type](../../../assets/setup/airframe/arducopter_class.jpg) + + ::: info + You will need to reboot the vehicle for class changes to take effect. + ::: + +3. Select the specific _Frame Type_ for your vehicle: + + ![Airframe type](../../../assets/setup/airframe/arducopter_type.jpg) + +## ArduSub Frame Setup {#ardusub} + +To select the frame type for Sub: + +1. First select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Frame** in the sidebar. +2. Select the frame type that matches your vehicle (selecting a frame applies the selection). +3. Make sure that all **green** thrusters have **clockwise** propellers and all **blue** thrusters have **counter-clockwise** propellers (or vice-versa). + + ![Select airframe type](../../../assets/setup/airframe_ardusub.jpg) + + - You can also click **Load Vehicle Default Parameters** to load default parameter set for ArduSub. + + ![Load vehicle params](../../../assets/setup/airframe_ardusub_parameters.jpg) diff --git a/docs/fa/qgc-user-guide/setup_view/airframe_px4.md b/docs/fa/qgc-user-guide/setup_view/airframe_px4.md new file mode 100644 index 00000000000..9a1dac51cb1 --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/airframe_px4.md @@ -0,0 +1,19 @@ +# Airframe Setup (PX4) + +To select the airframe in PX4: + +1. Start _QGroundControl_ and connect the vehicle. + +2. Select **QGroundControl icon > Vehicle Setup > Airframe** (sidebar) to open _Airframe Setup_. + +3. Select the broad vehicle group/type that matches your airframe and then use the dropdown within the group to choose the airframe that best matches your vehicle. + + ![Airframe options](../../../assets/setup/airframe_px4/airframe_px4.jpg) + + The example above shows _Generic Hexarotor X geometry_ selected from the _Hexarotor X_ group. + +4. Click the **Apply and Restart** button on the top right of the screen. + +5. Click **Apply** in the following prompt to save the settings and restart the vehicle. + + diff --git a/docs/fa/qgc-user-guide/setup_view/camera.md b/docs/fa/qgc-user-guide/setup_view/camera.md new file mode 100644 index 00000000000..0a63044c0a2 --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/camera.md @@ -0,0 +1,18 @@ +# Camera Setup + +The details of the page differ if you are using PX4 firmware or ArduPilot firmware. + +## ArduPilot Camera Setup + +![](../../../assets/setup/ardupilot_camera.jpg) + +## PX4 Camera Setup + +![PX4 Camera setup](../../../assets/setup/px4_camera.jpg) + +For more information see [Camera](http://docs.px4.io/master/en/peripherals/camera.html) (PX4 User Guide). + +:::info +The camera settings section is not available by default for FMUv2-based flight controllers (e.g. 3DR Pixhawk) because the camera module is not automatically included in firmware. +For more information see [this topic](http://docs.px4.io/master/en/advanced_config/parameters.html#parameter-not-in-firmware). +::: diff --git a/docs/fa/qgc-user-guide/setup_view/firmware.md b/docs/fa/qgc-user-guide/setup_view/firmware.md new file mode 100644 index 00000000000..0ca404450a4 --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/firmware.md @@ -0,0 +1,49 @@ +# Loading Firmware + +_QGroundControl_ **desktop** versions can install [PX4 Pro](http://px4.io/) or [ArduPilot](http://ardupilot.com) firmware onto Pixhawk-family flight-controller boards. By default QGC will install the current stable version of the selected autopilot, but you can also choose to install beta builds, daily builds, or custom firmware files. + +_QGroundControl_ can also install the firmware for SiK Radios and PX4 Flow devices. + +> **Caution** Loading Firmware is currently not available on tablet or phone versions of _QGroundControl_. + +## Connect Device for Firmware Update + +> **Caution** **Before you start installing Firmware** all USB connections to your vehicle must be _disconnected_ (both direct or through a telemetry radio). The vehicle must _not be_ powered by a battery. + +1. First select the **Gear** icon (_Vehicle Setup_) in the top toolbar and then **Firmware** in the sidebar. + +![Firmware disconnected](../../../assets/setup/firmware/firmware_disconnected.jpg) + +1. Connect your device (Pixhawk, SiK Radio, PX4 Flow) directly to your computer via USB. + + ::: info + Connect directly to a powered USB port on your machine (do not connect through a USB hub). + ::: + +## Select Firmware to Load + +Once the device is connected you can choose which firmware to load (_QGroundControl_ presents sensible options based on the connected hardware). + +1. For a Pixhawk-compatible board choose either **PX4 Flight Stack vX.X.X Stable Release** or **ArduPilot Flight Stack** radio buttons to download the _current stable release_. + + ![Select PX4](../../../assets/setup/firmware/firmware_select_default_px4.jpg) + + If you select _ArduPilot_ you will also have to choose the specific firmware and the type of vehicle (as shown below). + + ![Select ArduPilot](../../../assets/setup/firmware/firmware_selection_ardupilot.jpg) + +2. Check **Advanced settings** to select specific developer releases or install firmware from your local file system. + + ![ArduPilot - Advanced Settings](../../../assets/setup/firmware/firmware_selection_advanced_settings.jpg) + +## Update the firmware + +1. Click the **OK** button to start the update. + + The firmware will then proceed through a number of upgrade steps (downloading new firmware, erasing old firmware etc.). + Each step is printed to the screen and overall progress is displayed on a progress bar. + + ![Firmware Upgrade Complete](../../../assets/setup/firmware/firmware_upgrade_complete.jpg) + +Once the firmware has finished loading the device/vehicle will reboot and reconnect. +Next you will need to configure the [airframe](../setup_view/airframe.md) (and then sensors, radio, etc.) diff --git a/docs/fa/qgc-user-guide/setup_view/flight_modes.md b/docs/fa/qgc-user-guide/setup_view/flight_modes.md new file mode 100644 index 00000000000..382c8bee975 --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/flight_modes.md @@ -0,0 +1,62 @@ +# Flight Modes Setup + +The _Flight Modes_ section allows you to map flight modes to radio channel(s), and hence to the switches on your radio control transmitter. +Both flight mode setup and the available flight modes are different in PX4 and ArduPilot (and there are some differences between ArduCopter and ArduPlane). + +:::info +In order to set up flight modes you must already have already [configured your radio](../setup_view/radio.md), and [setup the transmitter](#transmitter-setup) (as shown below). +::: + +To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +For more flight stack specific setup see: + +- [ArduPilot Flight Modes Setup](../setup_view/flight_modes_ardupilot.md) +- [PX4 Flight Modes Setup](../setup_view/flight_modes_px4.md) + +## Transmitter Setup + +In order setup flight modes you will first need to configure your _transmitter_ to encode the physical positions of your mode switch(es) into a single channel. + +On both PX4 and ArduPilot you can assign up to 6 different flight modes to a single channel of your transmitter +It is common to use the positions of a 2- and a 3-position switch on the transmitter to represent the 6 flight modes. +Each combination of switches is then encoded as a particular PWM value that will be sent on a single channel. + +:::info +The single channel is selectable on PX4 and ArduPlane, but is fixed to channel 5 on Copter. +::: + +The process for this varies depending on the transmitter. +A number of setup examples are provided below. + +### Taranis + +These examples show several configurations for the _FrSky Taranis_ transmitter. + +#### Map 3-way Switch to a Single Channel + +If you only need to support selecting between two or three modes then you can map the modes to the positions just one 3-way switch. +Below we show how to map the Taranis 3-way "SD" switch to channel 5. + +Open the Taranis UI **MIXER** page and scroll down to **CH5**, as shown below: + +![Taranis - Map channel to switch](../../../assets/setup/flight_modes/taranis_single_channel_mode_selection_1.png) + +Press **ENT(ER)** to edit the **CH5** configuration then change the **Source** to be the _SD_ button. + +![Taranis - Configure channel](../../../assets/setup/flight_modes/taranis_single_channel_mode_selection_2.png) + +That's it! +Channel 5 will now output 3 different PWM values for the three different **SD** switch positions. + +#### Map Multiple Switches to a Single Channel + +Most transmitters do not have 6-way switches, so if you need to be able to support more modes than the number of switch positions available (up to 6) then you will have to represent them using multiple switches. +Commonly this is done by encoding the positions of a 2- and a 3-position switch into a single channel, so that each switch position combination results in a different PWM value. + +On the FrSky Taranis this process involves assigning a "logical switch" to each combination of positions of the two real switches. +Each logical switch is then assigned to a different PWM value on the same channel. + +This video shows how this is done with the _FrSky Taranis_ transmitter: https\://youtu.be/TFEjEQZqdVA + + diff --git a/docs/fa/qgc-user-guide/setup_view/flight_modes_ardupilot.md b/docs/fa/qgc-user-guide/setup_view/flight_modes_ardupilot.md new file mode 100644 index 00000000000..2f4978ced77 --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/flight_modes_ardupilot.md @@ -0,0 +1,54 @@ +# ArduPilot Flight Mode Setup + +The _Flight Modes_ section allows you to configure which flight modes and other actions are triggered by particular switches/switch positions on your RC transmitter. + +::: info +In order to set up flight modes you must already have + +> - [Configured your radio](../setup_view/radio.md) in order to set flight modes. +> - [Setup the RC transmitter](../setup_view/FlightModes.md#transmitter-setup) (Flight Modes > Transmitter Setup)> ::: + +To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +![Flight modes setup - ArduCopter](../../../assets/setup/flight_modes/ardupilot_copter.jpg) + +## Flight Mode Settings + +On ArduPilot you can assign up to 6 different flight modes to a single channel of your transmitter (the channel is selectable on Plane, but fixed to channel 5 on Copter). +ArduCopter also allows you to specify additional _Channel Options_ for channels 7-12. +These allow you to assign functions to these switches (for example, to turn on a camera, or return to launch). + +To set the flight modes: + +1. Turn on your RC transmitter. + +2. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + + ![Flight modes setup - ArduCopter](../../../assets/setup/flight_modes/ardupilot_copter.jpg) + + ::: info + The above image is a screenshot of the flight mode setup for ArduCopter. + ::: + +3. Select up to 6 flight modes in the drop downs. + +4. **ArduCopter only:** Select additional _Channel Options_ for channels 7-12. + +5. **ArduPlane only:** Select the mode channel from the dropdown. + + ![Flight modes setup - ArduPlane](../../../assets/setup/flight_modes/ardupilot_plane.jpg) + +6. Test that the modes are mapped to the right transmitter switches by selecting each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode). + +All values are automatically saved as they are changed. + +::: info +The ArduCopter screenshot above shows a typical setup for a three position flight mode switch with an additional option of RTL being on a channel 7 switch. +You can also setup 6 flight modes using two switches plus mixing on your transmitter. Scroll down to the center section of this [page](http://ardupilot.org/copter/docs/common-rc-transmitter-flight-mode-configuration.html#common-rc-transmitter-flight-mode-configuration) for tutorials on how to do that. +::: + +## See Also + +- [ArduCopter Flight Modes](http://ardupilot.org/copter/docs/flight-modes.html) +- [ArduPlane Flight Modes](http://ardupilot.org/plane/docs/flight-modes.html) +- [ArduCopter > Auxiliary Function Switches](https://ardupilot.org/copter/docs/channel-7-and-8-options.html#channel-7-and-8-options) - additional information about channel configuration. diff --git a/docs/fa/qgc-user-guide/setup_view/flight_modes_px4.md b/docs/fa/qgc-user-guide/setup_view/flight_modes_px4.md new file mode 100644 index 00000000000..2fac3ae0d8e --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/flight_modes_px4.md @@ -0,0 +1,50 @@ +# PX4 Flight Modes Setup + +The _Flight Modes_ section allows you to configure which [flight modes](http://docs.px4.io/master/en/getting_started/flight_modes.html) and other actions are triggered by particular switches/switch positions on your RC transmitter. + +::: info +In order to set up flight modes you must already have + +- [Configured your radio](../setup_view/radio.md) in order to set flight modes. +- [Setup the RC transmitter](../setup_view/FlightModes.md#transmitter-setup) (Flight Modes > Transmitter Setup) + ::: + +To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +![Flight modes single-channel](../../../assets/setup/flight_modes/px4_single_channel.jpg) + +## Flight Mode Settings + +The screen allows you to specify a "mode" channel and select up to 6 flight modes that will be activated based on the value sent on the channel. +You can also assign a small number of channels to trigger particular actions, such as deploying landing gear, or emergency shutdown (kill switch). + +The steps are: + +1. Turn on your RC transmitter. + +2. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + + ![Flight modes single-channel](../../../assets/setup/flight_modes/px4_single_channel.jpg) + +3. Specify _Flight Mode Settings_: + + - Select the transmitter **Mode channel** (shown as Channel 5 above). + - Select up to six **Flight Modes** for switch positions encoded in the channel. + + ::: info + Position mode, return mode and mission mode [are recommended](https://docs.px4.io/master/en/config/flight_mode.html#what-flight-modes-and-switches-should-i-set). + ::: + +4. Specify _Switch Settings_: + + - Select the channels that you want to map to specific actions - _Kill switch_, landing gear, etc. (if you have spare switches and channels on your transmitter). + +5. Test that the modes are mapped to the right transmitter switches: + - Check the _Channel Monitor_ to confirm that each switch moves the expected channel. + - Select each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode). + +All values are automatically saved as they are changed. + +## See Also + +- [PX4 Flight Modes](https://docs.px4.io/en/flight_modes/) diff --git a/docs/fa/qgc-user-guide/setup_view/joystick.md b/docs/fa/qgc-user-guide/setup_view/joystick.md new file mode 100644 index 00000000000..ffd4be052c0 --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/joystick.md @@ -0,0 +1,205 @@ +# Joystick Setup + +_QGroundControl_ allows you to control a vehicle using a joystick or gamepad instead of an RC Transmitter. + +:::info +Flying with a Joystick (or [virtual thumb-sticks](../settings_view/virtual_joystick.md)) requires a reliable high bandwidth telemetry channel to ensure that the vehicle is responsive to joystick movements (because joystick information is sent over MAVLink). +::: + +:::info +Joystick and Gamepad support is enabled using the cross-platform [SDL2](http://www.libsdl.org/index.php) library. +Compatibility with a particular controller depends on SDL (all buttons that are exposed by that API are displayed through the _QGroundControl_ UI). +A [number of common joysticks and gamepads](#supported-joysticks) are known to work. +::: + +:::info +The joystick is _enabled_ as the last step of the calibration process. +::: + +## Enabling PX4 Joystick Support + +To enable Joystick support in PX4 you need to set the parameter \[`COM_RC_IN_MODE`]\(h[ttp://localhost:8080/px4\_user\_guide/en](https://docs.px4.io/en/main/advanced_config/parameter_reference.html#COM_RC_IN_MODE) to `1` - _Joystick_. +If this parameter is `0` then _Joystick_ will not be offered as a setup option. + +This is enabled by default for PX4 SITL builds (see the [Parameters](../setup_view/parameters.md) topic for information on how to find and set a particular parameter). + +## Ardupilot Joystick Support + +All ArduPilot vehicles are supported. No parameter configuration is necessary. + +## Configuring the Joystick {#configure} + +To configure a joystick: + +1. Start _QGroundControl_ and connect to a vehicle. + +2. Connect the Joystick or Gamepad to a USB port. + +3. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Joystick** in the sidebar. + The screen below will appear. + + ![Joystick setup - PlayStation](../../../assets/setup/joystick_sony_playstation.jpg) + +4. Make sure your joystick is selected in the **Active joystick** dropdown. + +5. Go to the **Calibrate** Tab, press the **Start** button and then follow the on-screen instructions to calibrate/move the sticks. + + ![Joystick setup - Calibration](../../../assets/setup/joystick_calibration.jpg) + + The joystick is _enabled_ as the last step of the calibration process. + +6. Test the buttons and sticks work as intended by pressing them, and viewing the result in the Axis/Button monitor in the **General** tab. + +7. Select the flight modes/vehicle functions activated by each joystick button. + ![Joystick setup - Buttons](../../../assets/setup/joystick_buttons.jpg) + +## Advanced Options + +Some additional Options are available at the **Advanced** tab. +These options may be useful for specific, unsual setups, for increasing sensibility, and for handling noisy joysticks. + +### Throttle Options + +![Joystick setup - Throttle Modes](../../../assets/setup/joystick_throttle_modes.jpg) + +- **Center stick is zero throttle**: Centered or lowered stick sends 0 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), raised stick sends 1000. + - **Spring loaded throttle smoothing**: In this mode you control not the throttle itself, but the rate at which it increases/decreases. + This is useful for setups where the throttle stick is spring loaded, as the user can hold the desired throttle while releasing the stick. +- **Full down stick is zero throttle**: In this mode, lowered stick sends 0 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), centered stick 500, and raised 1000. +- **Allow negative thrust**: When in **Center stick is zero throttle** mode, this allows the user to send negative values by lowering the stick. + So that lowered stick sends -1000 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), centered sends zero, and raised stick sends 1000. + This mode is only enabled for vehicles that support negative thrust, such as [Rover](http://ardupilot.org/rover/index.html). + +### Expo + +The expo slider allows you to make the sticks less sensitive in the center, allowing finer control in this zone. + +![Joystick setup - Expo](../../../assets/setup/joystick_throttle_expo.jpg) + +The slider adjusts the curvature of the exponential curve. + +![Joystick setup - Expo Curve](../../../assets/setup/joystick_throttle_expo_curve.jpg) + +The higher the Expo value, the flatter the curve is at the center, and steeper it is at the edges. + +### Advanced Settings + +The advanced settings are not recommended for everyday users. +They can cause unpredicted results if used incorrectly. + +![Joystick setup - Advanced Settings](../../../assets/setup/joystick_advanced.jpg) + +The following settings are available: + +- **Enable Gimbal Control**: Enabled two additional channels for controlling a gimbal. + +- **Joystick Mode**: Changes what the joystick actually controls, and the MAVLink messages sent to the vehicle. + + - **Normal**: User controls as if using a regular RC radio, MAVLink [MANUAL\_CONTROL](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL) messages are used. + - **Attitude**: User controls the vehicle attitude, MAVLink [SET\_ATTITUDE\_TARGET](https://mavlink.io/en/messages/common.html#SET_ATTITUDE_TARGET) messages are used. + - **Position**: User controls the vehicle position, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **position** only are used. + - **Force**: User controls the forces applied to the vehicle, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **force** only are used. + - **Velocity**: User controls the forces applied to the vehicle, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **velocity** only are used. + +- **Axis Frequency**: When the joystick is idle (inputs are not changing), the joystick commands are sent to the vehicle at 5Hz. When the joystick is in use (input values are changing), the joystick commands are sent to the vehicle at the (higher) frequency configured by this setting. The default is 25Hz. + +- **Button Frequency**: Controls the frequency at which repeated button actions are sent. + +- **Enable Circle Correction**: RC controllers sticks describe a square, while joysticks usually describe a circle. + When this option is enabled a square is inscribed inside the joystick movement area to make it more like an RC controller (so it is possible to reach all four corners). The cost is decreased resolution, as the effective stick travel is reduced. + + - **Disabled:** When this is **disabled** the joystick position is sent to the vehicle unchanged (the way that it is read from the joystick device). + On some joysticks, the (roll, pitch) values are confined to the space of a circle inscribed inside of a square. + In this figure, point B would command full pitch forward and full roll right, but the joystick is not able to reach point B because the retainer is circular. + This means that you will not be able to achieve full roll and pitch deflection simultaneously. + + ![](../../../assets/setup/joystick_circle_correction.jpg) + + - **Enabled:** The joystick values are adjusted in software to ensure full range of commands. + The usable area of travel and resolution is decreased, however, because the area highlighted grey in the figure is no longer used. + + ![Circle correction enabled](../../../assets/setup/joystick_circle_correction2.jpg) + +- **Deadbands:** Deadbands allow input changes to be ignored when the sticks are near their neutral positions. + This helps to avoid noise or small oscillations on sensitive sticks which may be interpreted as commands, or small offsets when sticks do not re-center well. + They can be adjusted during the first step of the [calibration](#configure), or by dragging vertically on the corresponding axis monitor. + +## Supported Joysticks + +The following joysticks/controllers have been shown to work with relatively recent _QGroundControl_ builds. + +### Sony Playstation 3/4 Controllers + +Both these joysticks are highly recommended. +They work well "out of the box" and have many buttons that you can map to flight modes. + +#### Sony PS4 - DualShock 4 Controller V2 (Wireless setup) + +This controller supports both USB and Bluetooth wireless connection. +Wired USB connection usually works out of the box. +The wireless connection needs some setup. + +##### Linux Ubuntu setup + +To make the controller work wirelessly under Linux the [jstest-gtk](https://jstest-gtk.gitlab.io/) and [ds4drv](https://github.com/chrippa/ds4drv) utilities are needed. + +The steps are: + +1. Install _jstest-gtk_: + ``` + sudo apt install jstest-gtk + ``` +2. Install _ds4drv_: + ``` + sudo pip install ds4drv + ``` +3. Run ds4drv + ``` + sudo ds4drv + ``` +4. Hold **Share** button and then **PS** button until controller LED starts blinking rapidly. + The _ds4drv_ should then detect a new device. +5. Last of all, you should check the controller setup by running the _jstest-gtk_ utility. + +### FrSky Taranis XD9 plus + +The _FrSky Taranis XD9 plus_ remote control can also be connected as a joystick. +You will need to connect it via the USB port on the back. + +The Taranis does not allow you to use button options (to be precise, you can set the options, but toggling the buttons on your transmitter does not cause them to be pressed). + +:::info +The Taranis is an open system that is openly being worked on. +It is possible that at time of writing there is a firmware or configuration that allows it to work effectively as a joystick. +::: + +### Logitech Gamepad F310 + +The Logitech Gamepad F310 has been tested via USB on MacOSX "Sierra". + +### Logitech Extreme 3D Pro + +The [Logitech Extreme 3D Pro](http://gaming.logitech.com/en-ch/product/extreme-3d-pro-joystick) Joystick has been tested on all platforms (Linux, Windows, Mac OSX). +This is a single stick controller that can also be twisted. The main stick axes are used for pitch and roll, while the twist action is used for yaw. The throttle is mapped onto a separate wheel. + +### Logitech F710 Gamepad + + + +This gamepad is great for flying a multirotor manually via QGroundControl. It works on Windows, Linux and Mac OS. + +#### Mac OS Leopard / Lion Setup + +The F710 is detected under Leopard / Lion but is not automatically configured as an input device. +In order to get a working configuration, the F710 has to be recognised as _Rumblepad2_. + +First check how it is recognised: **Apple > About this Mac > Additional Information > System Report > USB**. +It is detected as "Logitech Cordless RumblePad 2" then nothing further needs to be done. + +If it is detected as a "Logitech Wireless 710", perform these steps: + +1. Unplug the USB receiver of the gamepad +2. Prepare to quickly plug it into a USB port +3. Hit the Logitech button (its silver with the Logitech Logo on it in the center of the pad) +4. Quickly connect the USB receiver to your Mac +5. The pad should now be detected in the system report as "Logitech Cordless RumblePad 2". If not, retry the above steps. diff --git a/docs/fa/qgc-user-guide/setup_view/motors.md b/docs/fa/qgc-user-guide/setup_view/motors.md new file mode 100644 index 00000000000..e190dca8b4e --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/motors.md @@ -0,0 +1,34 @@ +# Motor Setup + +Motor Setup is used to test individual motors/servos (for example, to verify that motors spin in the correct direction). + +:::tip +These instructions apply to PX4 and to most vehicle types on ArduPilot. +Vehicle-specific instructions are provided as sub-topics (e.g. [Motors Setup (ArduSub)](../setup_view/motors_ardusub.md)). +::: + +![Motors Test](../../../assets/setup/Motors.png) + +## Test Steps + +To test the motors: + +1. Remove all propellers. + + ::: warning + You must remove props before activating the motors! + ::: + +2. (_PX4-only_) Enable safety switch - if used. + +3. Slide the switch to enable motor sliders (labeled: _Propellers are removed - Enable motor sliders_). + +4. Adjust the individual sliders to spin the motors and confirm they spin in the correct direction. + + ::: info + The motors only spin after you release the slider and will automatically stop spinning after 3 seconds. + ::: + +## Additional Information + +- [Basic Configuration > Motor Setup](http://docs.px4.io/master/en/config/motors.html) (_PX4 User Guide_) - This contains additional PX4-specific information. diff --git a/docs/fa/qgc-user-guide/setup_view/motors_ardusub.md b/docs/fa/qgc-user-guide/setup_view/motors_ardusub.md new file mode 100644 index 00000000000..469d8995821 --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/motors_ardusub.md @@ -0,0 +1,43 @@ +# Motors Setup (ArduSub) + +In order for ArduSub to function properly, the motors must be correctly set up. + +If you just assembled your ROV, first make sure that the thrusters are connected to the correct outputs in the **Manual Test** section. +Drag each slider and make sure that the _correct motor_ spins accordingly to the frame displayed. + +Once you know that the thrusters are connected to the proper outputs you can check for _correct direction_ (forward/reverse) using either [automatic direction detection](#automatic) (recommended from ArduSub 4.0) or the [manual test](#manual). + +:::info +[Manual Test](#manual) is supported by ArduSub up to 3.5, while ArduSub 4.0 supports both [Manual Test](#manual) and [automatic direction detection](#automatic). +::: + +## Manual Test {#manual} + +The ArduSub motor setup allows you to test individual motors. +The sliders allow spinning each motor in forward or reverse mode, and the checkboxes under the sliders allow reversing the operation of individual thrusters. + +The image at the right shows the frame currently in use, along with the location and orientation of each thruster. +If the frame selection does not match your vehicle, first select the correct frame in the [Frame](../setup_view/airframe_ardupilot.md#ardusub) tab. + +To manually set up and test the motors, read and follow the instructions on the page. + +:::warning +Make sure the motors and propellers are clear from obstructions before sliding the switch to arm the vehicle and enable the test! +::: + +![Ardusub Motors Test](../../../assets/setup/motors-sub.jpg) + +## Automatic Direction Detection {#automatic} + +Ardusub 4.0 and newer support automatic detection of the motor directions. +This works by applying pulses to each motor, checking if the frame reacts as expected, and reversing the motor if necessary. +The process takes around one minute. + +To perform the automatic motor direction detection, navigate to **Vehicle Setup->Motors** tab, click the **Auto-Detect Directions** button and wait. +Additional output about the process will be shown next to the button as it runs. + +:::warning +This procedure still requires that the motors are connected to the _correct outputs_ as shown in the frame view! +::: + +![Ardusub Motors Auto-Setup](../../../assets/setup/motors-sub-auto.jpg) diff --git a/docs/fa/qgc-user-guide/setup_view/parameters.md b/docs/fa/qgc-user-guide/setup_view/parameters.md new file mode 100644 index 00000000000..8c12411227b --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/parameters.md @@ -0,0 +1,43 @@ +# Parameters + +The _Parameters_ screen allows you to find and modify any of the parameters associated with the vehicle. + +![Parameters Screen](../../../assets/setup/parameters_px4.jpg) + +:::info +PX4 Pro and ArduPilot use different parameter sets, but they are both managed as described in this section. +::: + +## Finding a Parameter + +The parameters are organized in groups. Select a group of parameters to view by clicking on the buttons to the left (in the image above the _Battery Calibration_ group is selected). + +You can also _search_ for a parameter by entering a term in the _Search_ field. This will show you a list of all parameter names and descriptions that contain the entered substring (press **Clear** to reset the search). + +![Parameters Search](../../../assets/setup/parameters_search.jpg) + +## Changing a Parameter + +To change the value of a parameter click on the parameter row in a group or search list. This will open a side dialog in which you can update the value (this dialog also provides additional detailed information about the parameter - including whether a reboot is required for the change to take effect). + +![Changing a parameter value](../../../assets/setup/parameters_changing.png) + +:::info +When you click **Save** the parameter is automatically and silently uploaded to the connected vehicle. Depending on the parameter, you may then need to reboot the flight controller for the change to take effect. +::: + +## Tools + +You can select additional options from the **Tools** menu on the top right hand side of the screen. + +![Tools menu](../../../assets/setup/parameters_tools_menu.png) + +**Refresh**
Refresh the parameter values by re-requesting all of them from the vehicle. + +**Reset all to defaults**
Reset all parameters to their original default values. + +**Load from file / Save to file**
Load parameters from an existing file or save your current parameter settings to a file. + +**Clear RC to Param**
This clears all associations between RC transmitter controls and parameters. For more information see: [Radio Setup > Param Tuning Channels](../setup_view/Radio.md#param-tuning-channels-px4). + +**Reboot Vehicle**
Reboot the vehicle (required after changing some parameters). diff --git a/docs/fa/qgc-user-guide/setup_view/power.md b/docs/fa/qgc-user-guide/setup_view/power.md new file mode 100644 index 00000000000..a87b436a697 --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/power.md @@ -0,0 +1,53 @@ +# Power Setup + +The _Power Setup_ screen is used to configure battery parameters and also provide advanced settings for propellers. + +![Battery Calibration](../../../assets/setup/px4_power.jpg) + +## Battery Voltage/Current Calibration + +Enter data for your battery/power module from its data sheet: number of cells, full voltage per cell, empty voltage per cell. If provided, also enter voltage divider and amps-per-volt information. + +_QGroundControl_ can be used to calculate appropriate voltage divider and amps-per-volt values from measurements: + +1. Measure the voltage from the battery using a multimeter. +2. Click **Calculate** next to the _Voltage divider_ field. On the prompt that appears: +3. Enter the measured voltage. +4. Click **Calculate** to generate a new voltage-divider value. +5. Click **Close** to save the value into the main form. +6. Measure the current from the battery. +7. Click **Calculate** next to the _Amps per volt_ field. On the prompt that appears: +8. Enter the measured current. +9. Click **Calculate** to generate a new _amps per volt_ value. +10. Click **Close** to save the value into the main form. + +## Advanced Power Settings + +Click the **Show Advanced Settings** checkbox to specify advanced power settings. + +### Voltage Drop on Full Load + +Batteries show less voltage at high throttle. Enter the difference in Volts between idle throttle and full throttle, divided by the number of battery cells. The default value should be used if unsure! + +:::warning +If the value is too high the battery may be deep-discharged and damaged. +::: + +## ESC PWM Minimum and Maximum Calibration + +To calibrate the ESC max/min PWM values: + +1. Remove the propellers. +2. Connect the vehicle to QGC via USB (only). +3. Click the **Calibrate** button. + +::: warning +Never attempt ESC calibration with props on. + +Motors should not spin during ESC calibration. +However if an ESC doesn't properly support/detect the calibration sequence then it will respond to the PWM input by running the motor at maximum speed. +::: + +## Other Settings + +Select the **Show UAVCAN Settings** checkbox to access additional settings for UAVCAN Bus Configuration and motor index and direction assignment. diff --git a/docs/fa/qgc-user-guide/setup_view/radio.md b/docs/fa/qgc-user-guide/setup_view/radio.md new file mode 100644 index 00000000000..94c73c6ee7c --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/radio.md @@ -0,0 +1,131 @@ +# Radio Setup + +Radio Setup is used to configure the mapping of your main transmitter attitude control sticks (roll, pitch, yaw, throttle) to channels, and to calibrate the minimum, maximum, trim and reverse settings for all other transmitter controls/RC channels. + +The main calibration process is identical for PX4 and ArduPilot (a number of additional flight-controller specific settings/tools are [detailed below](#additional-radio-setup)). + +:::info +Before you can calibrate the radio system the receiver and transmitter must be connected/bound. The process for binding a transmitter and receiver pair is hardware specific (see your manual for instructions). +::: + +## Performing the Calibration + +The calibration process is straightforward - you will be asked to move the sticks in a specific pattern that is shown on the transmitter diagram on the top right of the screen. Simply follow the instructions to complete calibration. + +To calibrate the radio: + +1. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Radio** in the sidebar. + +2. Turn on your RC transmitter. + +3. Press **OK** to start the calibration. + + ![Radio setup - before starting](../../../assets/setup/radio_start_setup.jpg) + + ::: info + The image above is for PX4 Pro. Calibration/top section is the same for both firmware, but the _Additional Radio setup_ section will differ. + ::: + +4. Set the _transmitter mode_ radio button that matches your transmitter configuration (this ensures that _QGroundControl_ displays the correct stick positions for you to follow during calibration). + + ![Radio setup - move sticks](../../../assets/setup/radio_sticks_throttle.jpg) + +5. Move the sticks to the positions indicated in the text (and on the transmitter image). Press **Next** when the sticks are in position. Repeat for all positions. + +6. When prompted, move all other switches and dials through their full range (you will be able to observe them moving on the _Channel Monitor_). + +7. Press **Next** to save the settings. + +Radio calibration is demonstrated in the [PX4 setup video here](https://youtu.be/91VGmdSlbo4?t=4m30s) (youtube). + +## Additional Radio Setup + +At the lower part of the _Radio Setup_ screen is firmware-specific _Additional Radio setup_ section. The options for each autopilot are shown below. + +| PX4 | ArduPilot | +| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| | | + +### Spectrum Bind (ArduPilot/PX4) + +Before you can calibrate the radio system the receiver and transmitter must be connected/bound. If you have a _Spektrum_ receiver you can put it in _bind mode_ using _QGroundControl_ as shown below (this can be particularly useful if you don't have easy physical access to the receiver on your vehicle). + +To bind a Spektrum transmitter/receiver: + +1. Select the **Spektrum Bind** button + +2. Select the radio button for your receiver + +3. Press **OK** + + ![Spektrum Bind](../../../assets/setup/radio_additional_setup_spectrum_bind_select_channels.jpg) + +4. Power on your Spektrum transmitter while holding down the bind button. + +### Copy Trims (PX4) + +This setting is used to copy the manual trim settings from your radio transmitter so that they can be applied automatically within the autopilot. After this is done you will need to remove the manually set trims. + +To copy the trims: + +1. Select **Copy Trims**. + +2. Center your sticks and move throttle all the way down. + +3. Press **Ok**. + + ![Copy Trims](../../../assets/setup/radio_additional_radio_setup_copy_trims_px4.jpg) + +4. Reset the trims on your transmitter back to zero. + +### AUX Passthrough Channels (PX4) + +AUX passthrough channels allow you to control arbitrary optional hardware from your transmitter (for example, a gripper). + +To use the AUX passthrough channels: + +1. Map up to 2 transmitter controls to separate channels. +2. Specify these channels to map to the AUX1 and AUX2 ports respectively, as shown below. Values are saved to the vehicle as soon as they are set. + + ![AUX1 and AUX2 RC passthrough channels](../../../assets/setup/radio_additional_setup_aux_passthrough_channels_px4.jpg) + +The flight controller will pass through the unmodified values from the specified channels out of AUX1/AUX2 to the connected servos/relays that drive your hardware. + +### Param Tuning Channels (PX4) + +Tuning channels allow you to map a transmitter tuning knob to a parameter (so that you can dynamically modify a parameter from your transmitter). + +:::tip +This feature is provided to enable manual in-flight tuning. +::: + +The channels used for parameter tuning are assigned in the _Radio_ setup (here!), while the mapping from each tuning channel to its associated parameter is defined in the _Parameter editor_. + +To set up tuning channels: + +1. Map up to 3 transmitter controls (dials or sliders) to separate channels. +2. Select the mapping of _PARAM Tuning Id_ to radio channels, using the selection lists. Values are saved to the vehicle as soon as they are set. + + ![Map radio channels to tuning channels](../../../assets/setup/radio_additional_radio_setup_param_tuning_px4.jpg) + +To map a PARAM tuning channel to a parameter: + +1. Open the **Parameters** sidebar. + +2. Select the parameter to map to your transmitter (this will open the _Parameter Editor_). + +3. Check the **Advanced Settings** checkbox. + +4. Click the **Set RC to Param...** button (this will pop-up the foreground dialog displayed below) + + ![Map tuning channels to parameters](../../../assets/setup/parameters_radio_channel_mapping_px4.jpg) + +5. Select the tuning channel to map (1, 2 or 3) from the _Parameter Tuning ID_ selection list. + +6. Press **OK** to close the dialog. + +7. Press **Save** to save all changes and close the _Parameter Editor_. + +:::tip +You can clear all parameter/tuning channel mappings by selecting menu **Tools > Clear RC to Param** at the top right of the _Parameters_ screen. +::: diff --git a/docs/fa/qgc-user-guide/setup_view/safety.md b/docs/fa/qgc-user-guide/setup_view/safety.md new file mode 100644 index 00000000000..f58ec5e50e5 --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/safety.md @@ -0,0 +1,13 @@ +# Safety Setup + +The _Safety Setup_ page allows you to configure the most important failsafe settings (other failsafe settings can be set via the [parameters](../setup_view/parameters.md) described in the failsafe documentation for each vehicle type). + +For ArduPilot safety page information see: [Safety (ArduPilot)](../setup_view/safety_ardupilot.md) + +The PX4 page is shown below. + +![Safety Setup - PX4](../../../assets/setup/px4_safety.jpg) + +:::info +For additional PX4 safety settings and information see: [Safety Configuration](https://docs.px4.io/en/config/safety.html). +::: diff --git a/docs/fa/qgc-user-guide/setup_view/safety_ardupilot.md b/docs/fa/qgc-user-guide/setup_view/safety_ardupilot.md new file mode 100644 index 00000000000..10719356fbc --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/safety_ardupilot.md @@ -0,0 +1,200 @@ +# Safety Setup (ArduPilot) + +The _Safety Setup_ page allows you to configure (vehicle specific) failsafe settings. + +:::tip +The setup page covers the most important safety options; other failsafe settings can be set via the [parameters](../setup_view/parameters.md) described in the failsafe documentation for each vehicle type. +::: + +:::tip +_QGroundControl_ does not support polygon fences or rally points on ArduPilot. +::: + +## Copter + +The Copter safety page is shown below. + +![Safety Setup - Copter (Ardupilot)](../../../assets/setup/safety/safety_arducopter.jpg) + +:::info +For additional safety settings and information see: [Failsafe](http://ardupilot.org/copter/docs/failsafe-landing-page.html). +::: + +### Battery Failsafe {#battery\_failsafe\_copter} + +This panel sets the [Battery Failsafe](http://ardupilot.org/copter/docs/failsafe-battery.html) parameters. +You can set low and critical thresholds for voltage and/or remaining capacity and define the action if the failsafe value is breached. +The thresholds can be disabled by setting them to zero. + +:::tip +If there is a second battery (enabled in the [Power Setup](../setup_view/power.md)) a second panel will be displayed with the same settings. +::: + +![Safety Setup - Battery1 Failsafe Triggers (Copter)](../../../assets/setup/safety/safety_arducopter_battery1_failsafe_triggers.jpg) + +The configuration options are: + +- **Low action** ([BATT\_FS\_LOW\_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-low-act-low-battery-failsafe-action)) - Select one of: None, Land, RTL, SmartRTL, SmartRTL or Land, Terminate. +- **Critical action** ([BATT\_FS\_CRT\_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-crt-act-critical-battery-failsafe-action)) - Select one of: None, Land, RTL, SmartRTL, SmartRTL or Land, Terminate. +- **Low voltage threshold** ([BATT\_LOW\_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-low-volt-low-battery-voltage)) - Battery voltage that triggers the _low action_. +- **Critical voltage threshold** ([BATT\_CRT\_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-crt-volt-critical-battery-voltage))- Battery voltage that triggers the _critical action_. +- **Low mAh threshold** ([BATT\_LOW\_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-low-mah-low-battery-capacity)) - Battery capacity that triggers the _low action_. +- **Critical mAh threshold** ([BATT\_CRT\_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-crt-mah-battery-critical-capacity)) - Battery capacity that triggers the _critical action_. + +### General Failsafe Triggers {#failsafe\_triggers\_copter} + +This panel enables the [GCS Failsafe](http://ardupilot.org/copter/docs/gcs-failsafe.html) +and enables/configures the throttle failsafe. + +![Safety Setup - General Failsafe Triggers (Copter)](../../../assets/setup/safety/safety_arducopter_general_failsafe_triggers.jpg) + +The configuration options are: + +- **Ground Station failsafe** - Disabled, Enabled always RTL, Enabled Continue with Mission in Auto Mode, Enabled Always SmartRTL or RTL, Enabled Always SmartRTL or Land. +- **Throttle failsafe** - Disabled, Always RTL, Continue with Mission in Auto Mode, Always land. +- **PWM Threshold** ([FS\_THR\_VALUE](http://ardupilot.org/copter/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. + +### Geofence {#geofence\_copter} + +This panel sets the parameters for the cylindrical [Simple Geofence](http://ardupilot.org/copter/docs/ac2_simple_geofence.html). +You can set whether the fence radius or height are enabled, the maximum values for causing a breach, and the action in the event of a breach. + +![Safety Setup - Geofence (Copter)](../../../assets/setup/safety/safety_arducopter_geofence.jpg) + +The configuration options are: + +- **Circle GeoFence enabled** ([FENCE\_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE\_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - Enable the circular geofence. +- **Altitude GeoFence enabled** ([FENCE\_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE\_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - Enable altitude geofence. +- Fence action ([FENCE\_ACTION](http://ardupilot.org/copter/docs/parameters.html#fence-action-fence-action)) One of: + - **Report only** - Report fence breach. + - **RTL or Land** - RTL or land on fence breach. +- **Max radius** ([FENCE\_RADIUS](http://ardupilot.org/copter/docs/parameters.html#fence-radius-circular-fence-radius)) - Circular fence radius that when broken causes RTL. +- **Max altitude** ([FENCE\_ALT\_MAX](http://ardupilot.org/copter/docs/parameters.html#fence-alt-max-fence-maximum-altitude))- Fence maximum altitude to trigger altitude geofence. + +### Return to Launch {#rtl\_copter} + +This panel sets the [RTL Mode](http://ardupilot.org/copter/docs/rtl-mode.html) behaviour. + +![Safety Setup - RTL (Copter)](../../../assets/setup/safety/safety_arducopter_return_to_launch.jpg) + +The configuration options are: + +- Select RTL return altitude ([RTL\_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): + - **Return at current altitude** - Return at current altitude. + - **Return at specified altitude** - Ascend to specified altitude to return if below current altitude. +- **Loiter above home for** ([RTL\_LOIT\_TIME](http://ardupilot.org/copter/docs/parameters.html#rtl-loit-time-rtl-loiter-time)) - Check to set a loiter time before landing. +- One of + - **Land with descent speed** ([LAND\_SPEED](http://ardupilot.org/copter/docs/parameters.html#land-speed-land-speed)) - Select final descent speed. + - **Final loiter altitude** ([RTL\_ALT\_FINAL](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-final-rtl-final-altitude)) - Select and set final altitude for landing after RTL or mission (set to 0 to land). + +### Arming Checks {#arming\_checks\_copter} + +This panel sets which [Pre-ARM Safety Checks](http://ardupilot.org/copter/docs/prearm_safety_check.html) are enabled. + +![Safety Setup - Arming Checks (Copter)](../../../assets/setup/safety/safety_arducopter_arming_checks.jpg) + +The configuration options are: + +- **Arming Checks to perform** ([ARMING\_CHECK](http://ardupilot.org/copter/docs/parameters.html#arming-check-arm-checks-to-peform-bitmask)) - Check all appropriate: Barometer, Compass, GPS lock, INS, Parameters, RC Channels, Board voltage, Battery Level, Airspeed, Logging Available, Hardware safety switch, GPS Configuration, System. + +## Plane + +The Plane safety page is shown below. + +![Safety Setup - Plane (Ardupilot)](../../../assets/setup/safety/safety_arduplane.jpg) + +:::info +For additional safety settings and information see: [Plane Failsafe Function](http://ardupilot.org/plane/docs/apms-failsafe-function.html) and [Advanced Failsafe Configuration](http://ardupilot.org/plane/docs/advanced-failsafe-configuration.html). +::: + +### Battery Failsafe {#battery\_failsafe\_plane} + +The plane battery failsafe is the same as for copter except there are different options for the [Low](http://ardupilot.org/plane/docs/parameters.html#batt-fs-low-act-low-battery-failsafe-action) and [Critical](http://ardupilot.org/plane/docs/parameters.html#batt-fs-crt-act-critical-battery-failsafe-action) actions: None, RTL, Land, Terminate. + +For more information see: [battery failsafe](#battery_failsafe_copter) (copter). + +### Failsafe Triggers {#failsafe\_triggers\_plane} + +This panel enables the [GCS Failsafe](http://ardupilot.org/plane/docs/advanced-failsafe-configuration.html#ground-station-communications-loss) and enables/configures the throttle failsafe. + +![Safety Setup - Failsafe Triggers (Plane)](../../../assets/setup/safety/safety_arduplane_failsafe_triggers.jpg) + +The configuration options are: + +- **Throttle PWM threshold** ([THR\_FS\_VALUE](http://ardupilot.org/plane/docs/parameters.html#thr-fs-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. +- **GCS failsafe** ([FS\_GCS\_ENABL](http://ardupilot.org/plane/docs/parameters.html#fs-gcs-enabl-gcs-failsafe-enable)) - Check to enable GCS failsafe. + +### Return to Launch {#rtl\_plane} + +This panel sets the [RTL Mode](http://ardupilot.org/copter/docs/rtl-mode.html) behaviour. + +![Safety Setup - RTL (Plane)](../../../assets/setup/safety/safety_arduplane_return_to_launch.jpg) + +The configuration options are: + +- Select RTL return altitude ([RTL\_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): + - **Return at current altitude** - Return at current altitude. + - **Return at specified altitude** - Ascend to specified altitude to return if below current altitude. + +### Arming Checks {#arming\_checks\_plane} + +[Arming Checks](#arming_checks_copter) are the same as for copter. + +## Rover + +The Rover safety page is shown below. + +![Safety Setup - Rover (Ardupilot)](../../../assets/setup/safety/safety_ardurover.jpg) + +:::info +For additional safety settings and information see: [Failsafes](http://ardupilot.org/rover/docs/rover-failsafes.html). +::: + +### Battery Failsafe {#battery\_failsafe\_rover} + +The rover battery failsafe is the same as for [copter](#battery_failsafe_copter). + +### Failsafe Triggers {#failsafe\_triggers\_rover} + +This panel enables the rover [Failsafes](http://ardupilot.org/rover/docs/rover-failsafes.html). + +![Safety Setup - Failsafe Triggers (Rover)](../../../assets/setup/safety/safety_ardurover_failsafe_triggers.jpg) + +The configuration options are: + +- **Ground Station failsafe** ([FS\_GCS\_ENABL](http://ardupilot.org/rover/docs/parameters.html#fs-gcs-enable-gcs-failsafe-enable)) - Check to enable GCS failsafe. +- **Throttle failsafe** ([FS\_THR\_ENABLE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-enable-throttle-failsafe-enable)) - Enable/disable throttle failsafe (value is _PWM threshold_ below). +- **PWM threshold** ([FS\_THR\_VALUE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. +- **Failsafe Crash Check** ([FS\_CRASH\_CHECK](http://ardupilot.org/rover/docs/parameters.html#fs-crash-check-crash-check-action)) - What to do in the event of a crash: Disabled, Hold, HoldAndDisarm + +### Arming Checks {#arming\_checks\_rover} + +[Arming Checks](#arming_checks_copter) are the same as for copter. + +## Sub + +The Sub safety page is shown below. + +![Safety Setup - Sub (Ardupilot)](../../../assets/setup/safety/safety_ardusub.jpg) + +:::info +For additional safety settings and information see: [Failsafes](https://www.ardusub.com/operators-manual/failsafes.html). +::: + +### Failsafe Actions {#failsafe\_actions\_sub} + +The configuration options are: + +- **GCS Heartbeat** - Select one of: Disabled, Warn only, Disarm, Enter depth hold mode, Enter surface mode. +- **Leak** - Select one of: Disabled, Warn only, Enter surface mode. + - **Detector Pin** - Select one of: Disabled, Pixhawk Aux (1-6), Pixhawk 3.3ADC(1-2), Pixhawk 6.6ADC. + - **Logic when Dry** - Select one of: Low, High. +- **Battery** - ?. +- **EKF** - Select one of: Disabled, Warn only, Disarm. +- **Pilot Input** - Select one of: Disabled, Warn only, Disarm. +- **Internal Temperature** - Select one of: Disabled, Warn only. +- **Internal Pressure** - Select one of: Disabled, Warn only. + +### Arming Checks {#arming\_checks\_sub} + +[Arming Checks](#arming_checks_copter) are the same as for copter. diff --git a/docs/fa/qgc-user-guide/setup_view/sensors.md b/docs/fa/qgc-user-guide/setup_view/sensors.md new file mode 100644 index 00000000000..4d7869856bf --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/sensors.md @@ -0,0 +1,15 @@ +# Sensors + +The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors +(the available sensors will depend on the autopilot firmware and vehicle type). + +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. + +Click on the button for each sensor to start its calibration sequence. + +Flight stack specific instructions are provided in the following topics: + +- [Sensors (ArduPilot)](../setup_view/sensors_ardupilot.md) +- [Sensors (PX4)](../setup_view/sensors_px4.md) diff --git a/docs/fa/qgc-user-guide/setup_view/sensors_ardupilot.md b/docs/fa/qgc-user-guide/setup_view/sensors_ardupilot.md new file mode 100644 index 00000000000..5aa8d72b3d4 --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/sensors_ardupilot.md @@ -0,0 +1,123 @@ +# Sensor Setup (ArduPilot) + +The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors +(the available sensors will depend on the vehicle type). + +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. + +Click on the button for each sensor to start its calibration sequence. + +![Sensors Setup screen Copter](../../../assets/setup/sensor/sensor_setup_overview_ardupilot.jpg) + +## Accelerometer {#accelerometer} + +To calibrate the flight controller accelerometers you will be asked to place and hold your vehicle a number of orientations (you will be prompted when to move between positions). + +The calibration steps are: + +1. Click the **Accelerometer** sensor button. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_ardupilot.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Click **OK** to start the calibration. + +3. Position the vehicle based on text instructions in the center display. + Click the **Next** button to capture each position. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_positions_ardupilot.jpg) + +## Compass {#compass} + +ArduPilot uses onboard calibration support that allows for more accurate calibration. + +:::info +Older ArduPilot firmware can be calibrated using the [same process as PX4](../setup_view/sensors_px4.md#compass). +::: + +You need to rotate the vehicle randomly around all axes until the progress bar fills all the way to the right and the calibration completes. When the calibration completes you will get the following results: + +![ArduPilot Compass Calibration Onboard Result](../../../assets/setup/sensor_compass_ardupilot_onboard_calibration_result.jpg) + +This shows you the quality of the calibration for each compass. Using these values you can determine whether you may want to turn off usage of poorly performing compasses. + +## Level Horizon {#level\_horizon} + +If the horizon (as shown in the HUD) is not level after completing accelerometer calibration you can calibrate the level horizon for your vehicle. +You will be asked to place the vehicle in a level orientation while it captures the information. + +1. Click the **Level Horizon** sensor button. + ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Place the vehicle in its level flight orientation on a level surface: + +- For planes this is the position during level flight (planes tend to have their wings slightly pitched up!) +- For copters this is the hover position. + +1. Click **OK** to start the calibration. + +## Pressure/Barometer {#pressure} + +This calibration set's the altitude to zero at the current pressure. + +To perform **Pressure** calibration: + +1. Click the **Calibrate Pressure** button and then **Ok**. + + ![Calibrate Pressure](../../../assets/setup/sensor/calibrate_pressure_ardupilot.jpg) + + The calibration result is immediately displayed: + + ![Calibrate Pressure Result](../../../assets/setup/sensor/calibrate_pressure_result_ardupilot.jpg) + +## CompassMot (Optional) + +CompassMot calibration is optional! It is recommended for vehicles that only have an internal compass and when there is significant interference on the compass from the motors, power wires, etc. +CompassMot only works well if you have a battery current monitor because the magnetic interference is linear with current drawn. + +To perform **CompassMot** calibration: + +1. Click the **CompassMot** sensor button. + + + +2. Follow the onscreen prompts. + + ![CompassMot calibration](../../../assets/setup/sensor_compass_mot.jpg) + +## Sensor Settings {#sensor\_settings} + +The _Sensor Settings_ section allows you to specify the compass orientation and which compasses are enabled. + +:::tip +You can skip this section if the flight controller and compass are mounted upright on the vehicle and facing the front (this is the default orientation - `ROTATION_NONE`). +::: + +If the autopilot/compass are mounted in any other way you will need to specify their orientations as YAW, PITCH and/or ROLL offsets relative to the forward-facing-upright orientation (clock-wise rotation around the Z, Y and X axis, respectively). + +![Flight Controller Orientation](../../../assets/setup/flight_controller_orientation.png) + +For example, the image below are at orientations: `ROTATION_NONE`, `ROTATION_YAW_90`,`ROTATION_YAW_180`,`ROTATION_YAW_270`. + +![Flight controller yaw rotation](../../../assets/setup/flight_controller_yaw_rotation.png) + +To set the orientation(s) and compasses used: + +1. Select the **Sensor Settings** button. + + ![Sensor Settings](../../../assets/setup/sensor/sensor_settings_ardupilot.jpg) + +2. Select the **AutoPilot Orientation**. + +3. Select the _orientation_ from **Compass 1 (primary/external) > Orientation** (or check **Compass2 (secondary, external) > Use Compass** to instead use the internal compass). + +4. Press **OK**. diff --git a/docs/fa/qgc-user-guide/setup_view/sensors_px4.md b/docs/fa/qgc-user-guide/setup_view/sensors_px4.md new file mode 100644 index 00000000000..de46f62fe63 --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/sensors_px4.md @@ -0,0 +1,163 @@ +# Sensor Setup (PX4) + +The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors +(the available sensors will depend on the vehicle type). + +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. + +Click on the button for each sensor to start its calibration sequence. + +![Sensors Setup screen for VTOL vehicle](../../../assets/setup/sensors_px4_vtol.jpg) + +:::info +The image shown is from a VTOL vehicle running PX4 firmware. +Other autopilot firmware and vehicles will offer slightly different options. +::: + +## Compass {#compass} + +The process guides you to position the vehicle in a number of set orientations and rotate the vehicle about the specified axis. + +The calibration steps are: + +1. Click the **Compass** sensor button + ![Select Compass calibration PX4](../../../assets/setup/sensor_compass_select_px4.jpg) + + ::: info + The default flight controller orientation is `ROTATION_NONE` (flight controller and compass mounted upright on the vehicle and facing the front). + You can set a different value here or in [Set Orientations](#flight_controller_orientation). + ::: + +2. Click **OK** to start the calibration. + +3. Place the vehicle in any of the orientations shown in red (incomplete) and hold it still. + Once prompted (the orientation-image turns yellow) rotate the vehicle around the specified axis in either/both directions. + Once the calibration is complete in that orientation the associated image on the screen will turn green. + ![Compass calibration steps on PX4](../../../assets/setup/sensor_compass_calibrate_px4.jpg) + +4. Repeat the calibration process for all vehicle orientations. + +Once you've rotated the vehicle in all the positions _QGroundControl_ will display _Calibration complete_ (all orientation images will be displayed in green and the progress bar will fill completely) +You can then proceed to the next sensor. + +## Gyroscope {#gyroscope} + +You will be guided to place the vehicle on a flat surface and keep it still. + +The calibration steps are: + +1. Click the **Gyroscope** sensor button + ![Select Gyroscope calibration PX4](../../../assets/setup/sensor/gyroscope_calibrate_px4.jpg) + +2. Place the vehicle on a surface and leave it still. + +3. Click **Ok** to start the calibration. + + The bar at the top shows the progress: + + ![Gyro calibration in progress on PX4](../../../assets/setup/sensor/gyroscope_calibrate_progress_px4.jpg) + +4. When finished, _QGroundControl_ will display _Calibration complete_ and the progress bar will fill completely. + ![Gyro calibration complete on PX4](../../../assets/setup/sensor/gyroscope_calibrate_complete_px4.jpg) + +:::info +If you move the vehicle during calibration, _QGroundControl_ will automatically restart the calibration. +::: + +You can then proceed to the next sensor. + +## Accelerometer {#accelerometer} + +To calibrate the flight controller accelerometers you will be asked to place and hold your vehicle a number of orientations (you will be prompted when to move between positions). + +The calibration steps are: + +1. Click the **Accelerometer** sensor button. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_px4.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Click **OK** to start the calibration. + +3. Position the vehicle as guided by the _images_ on the screen. This is very similar to compass calibration. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_positions_px4.jpg) + +4. Repeat the calibration process for all vehicle orientations. + +Once you've rotated the vehicle in all the positions _QGroundControl_ will display _Calibration complete_. + +You can then proceed to the next sensor. + +## Level Horizon + +If the horizon (as shown in the HUD) is not level after completing accelerometer calibration you can calibrate the level horizon for your vehicle. +You will be asked to place the vehicle in a level orientation while it captures the information. + +1. Click the **Level Horizon** sensor button. + ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Place the vehicle in its level flight orientation on a level surface: + +- For planes this is the position during level flight (planes tend to have their wings slightly pitched up!) +- For copters this is the hover position. + +1. Click **OK** to start the calibration. + +## Airspeed {#airspeed} + +The airspeed calibration needs to read a stable baseline with 0 airspeed in order to determine an offset. +Cup your hands over the pitot to block any wind (if calibrating the sensor indoors this is not needed) and then blow into the tube using your mouth (to signal completion of the calibration). + +To calibrate the airspeed sensor: + +1. Click the **Airspeed** sensor button + + ![Airspeed calibration](../../../assets/setup/sensors_airspeed.jpg) + +2. Cover the sensor (i.e. with your hand) + + ::: warning + Do not touch the sensor (obstruct any holes) during calibration. + ::: + +3. Click **OK** to start the calibration. + +4. Blow into the sensor. + +5. Wait for 2-3 seconds before removing the covering (calibration completes silently after several seconds) + +## Set Orientations {#flight\_controller\_orientation} + +:::tip +You can skip this section if the flight controller and compass are mounted upright on the vehicle and facing the front (this is the default orientation - `ROTATION_NONE`). +::: + +If the autopilot/compass are mounted in any other way you will need to specify their orientations as YAW, PITCH and/or ROLL offsets relative to the forward-facing-upright orientation (clock-wise rotation around the Z, Y and X axis, respectively). + + + +For example, the image below are at orientations: `ROTATION_NONE`, `ROTATION_YAW_90`,`ROTATION_YAW_180`,`ROTATION_YAW_270`. + + + +To set the orientation(s) on PX4: + +1. Select the **Set Orientations** button. + + + +2. Select the **AutoPilot Orientation**. + +3. Select the **External Compass Orientation** (this option will only be displayed if there is an external compass). + +4. Press **OK**. diff --git a/docs/fa/qgc-user-guide/setup_view/setup_view.md b/docs/fa/qgc-user-guide/setup_view/setup_view.md new file mode 100644 index 00000000000..6b3d32e9ecc --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/setup_view.md @@ -0,0 +1,37 @@ +# Setup View + +The Setup View is used to configure a new vehicle prior to first flight and/or tune a configured vehicle. + +![](../../../assets/setup/setup_view.jpg) + +## Setup Options + +To the left of the screen are the set of available setup options. A setup button is marked with a red icon if there are still settings needed to be adjusted/specified. You should not fly if any of these are red. In the above image the Radio setup is not yet complete. + +:::info +The set of options shown and the contents of each option may differ based on whether the vehicle is running PX4 Pro or ArduPilot firmware. The image above is from a vehicle which is running PX4 Pro firmware. +::: + +**Summary**
An overview of all the important setup options for your vehicle. Similar to the individual setup buttons, the summary blocks show a red indicator when those settings are not fully configured. + +**[Firmware](firmware.md)**
Flash new firmware onto your vehicle. + +**[Airframe](airframe.md)**
Specify the airframe type for the vehicle. + +**[Radio](radio.md)**
Calibrate your Radio Control Transmitter. + +**[Sensors](sensors.md)**
Calibrate the sensors on the vehicle. + +**[Flight Modes](flight_modes.md)**
Used to assign flight modes to your RC Transmitter switches. + +**[Power](power.md)**
Battery settings and additional power options such as ESC calibration. + +**[Motors](motors.md)**
Motors testing and setup. + +**[Safety](Safety.md)**
Specify settings for options related to Safety such as Return to Home or Failsafes. + +**[Tuning](tuning.md)**
Tune flight characteristics of the vehicle. + +**[Camera](camera.md)**
Configure settings for camera and gimbal. + +**[Parameters](parameters.md)**
Allows you to modify all parameters associated with your vehicle.

diff --git a/docs/fa/qgc-user-guide/setup_view/tuning.md b/docs/fa/qgc-user-guide/setup_view/tuning.md new file mode 100644 index 00000000000..13032afc2c0 --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/tuning.md @@ -0,0 +1,7 @@ +# Tuning Setup + +The Tuning page allows you to configure settings on your vehicle which control basic flight characteristics. +The details differ depending on flight stack: + +- [Tuning (ArduPilot)](../setup_view/tuning_ardupilot.md) +- [Tuning (PX4)](../setup_view/tuning_px4.md) diff --git a/docs/fa/qgc-user-guide/setup_view/tuning_arducopter.md b/docs/fa/qgc-user-guide/setup_view/tuning_arducopter.md new file mode 100644 index 00000000000..242f58b2417 --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/tuning_arducopter.md @@ -0,0 +1,48 @@ +# ArduCopter Tuning + +![ArduCopter Tuning Page](../../../assets/setup/tuning/arducopter.png) + +## Basic Tuning + +Adjust the flight characteristics by moving the desired slider to the left or right. + +## AutoTune + +AutoTune is used to automatically tune the rate parameters in order to provide the highest response without significant overshoot. + +Performing an AutoTune: + +- Select which axes you would like to tune. + + ::: tip + Tuning all axes at once can take a significant amount of time, which may cause you to run out of battery. + To prevent this choose to tune only one axis at a time. + ::: + +- Assign AutoTune to one of your transmitter switches. + Ensure that switch is in low position before taking off. + +- Take off and put the copter into AltHold. + +- Turn on AutoTune with your transmitter switch. + +- The copter will twitch around the specified axes for a few minutes. + +- When AutoTune completes the copter will change back to the original settings. + +- Move the AutoTune switch back to low position and then back to high to test the new settings. + +- Move the AutoTune switch to low to test previous settings. + +- To save new settings, land and disarm while AutoTune switch is in high position. + +Note: + +- Since AutoTune is done in AltHold your copter must already have a tuning which is minimally flyable in AltHold. + You can cancel AutoTune at any time by moving the AutoTune switch back to low position. +- You can reposition the copter using your transmitter at any time during AutoTune. + +### In-Flight Tuning + +This is an advanced option which allows you to tune a flight control parameter using one of your transmitter dial channels. +Select the control option from the dropdown and specify the min/max for the values to assign to the dial. diff --git a/docs/fa/qgc-user-guide/setup_view/tuning_ardupilot.md b/docs/fa/qgc-user-guide/setup_view/tuning_ardupilot.md new file mode 100644 index 00000000000..53d84b08bbf --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/tuning_ardupilot.md @@ -0,0 +1,4 @@ +# Tuning (ArduPilot) + +- [Tuning (ArduCopter)](../setup_view/tuning_arducopter.md) +- [Tuning (ArduSub)](../setup_view/tuning_ardusub.md) diff --git a/docs/fa/qgc-user-guide/setup_view/tuning_ardusub.md b/docs/fa/qgc-user-guide/setup_view/tuning_ardusub.md new file mode 100644 index 00000000000..0745cf3190e --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/tuning_ardusub.md @@ -0,0 +1,17 @@ +# ArduSub Tuning + +![ArduSub Tuning Page](../../../assets/setup/tuning/ardusub.jpg) + +## Basic Tuning + +This page allows changing the PID controller gains to better suit your vehicle and application. Changing these may help you get a snappier response for more precise movements, or a smoother response for recording cinematic footages. Adjust a parameter by moving the desired slider, or by clicking the increase/decrease buttons. There are three controllers that can be adjusted here: + +- [**Attitude Controller Parameters**](https://www.ardusub.com/operators-manual/full-parameter-list.html#atc-parameters) are the parameters for the controller responsible for keeping the vehicle oriented as you want it, assuming your vehicle has ability (enough motors/DOF) to do so. + +- **Position Controller Parameters** are the parameters for the controller responsible for positioning the vehicle at a point in 3D space. The **Z** parameters control how the depth control works (eg in [_Depth Hold_](https://www.ardusub.com/operators-manual/flight-modes.html#depth-hold) mode). The **XY** parameters affect how the vehicle controls the horizontal position in [_Position Enabled_](https://www.ardusub.com/operators-manual/flight-modes.html#position-enabled-modes) modes. + +- **Waypoint Navigation Parameters** are the parameters for the controller responsible for following waypoints in **Auto** and **Guided** mode. + + ::: warning + **Guided** and **Auto** modes are currently unsupported and some features are disabled in QGC. + ::: diff --git a/docs/fa/qgc-user-guide/setup_view/tuning_px4.md b/docs/fa/qgc-user-guide/setup_view/tuning_px4.md new file mode 100644 index 00000000000..76ed41fd803 --- /dev/null +++ b/docs/fa/qgc-user-guide/setup_view/tuning_px4.md @@ -0,0 +1,135 @@ +# Tuning (PX4) + +Tuning only needs to be done once, and is recommended unless you're using vehicle that has already been tuned by the manufacturer (and not modified since). + +[Auto-tuning](#autotune) should generally be used for frame types and controllers that support it (multicopter, fixed wing, and hybrid VTOL fixed wing vehicles). +The tuning UI also supports manual tuning of all controllers. + +![Tuning Setup > Autotune](../../../assets/setup/tuning/px4_autotune_hero.png) + +:::info +During [Airframe Setup](../config/airframe.md) you should have selected the frame that most closely matches your vehicle. +This will usually be tuned well enough to fly, and it _may_ also be sufficiently well tuned to run autotuning. +::: + +## Autotune + +Auto-tuning automates the process of tuning the PX4 rate and attitude controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional"). + +:::info +This guide shows the default usage of this feature. +Additional information and configuration can be found in the [PX4 Autotuning Guide](http://docs.px4.io/master/en/config/autotune.html) (PX4 User Guide). +::: + +### Pre-Autotuning Test + +Auto-tuning is performed while flying. +The vehicle must be able to fly and adequately stabilize itself before running auto-tune. +This test ensures that the vehicle can fly safely in position controlled modes. + +To make sure the vehicle is stable enough for auto-tuning: + +1. Perform a normal preflight safety checklist to ensure the flight zone is clear and has enough space. +2. Takeoff and prepare for the test + - **Multicopters:** Take off and hover at 1m above ground in **Altitude mode** or Stabilized mode. + - **Fixed-wing mode:** Take off and fly at cruise speed in **Position mode** or **Altitude mode**. +3. Use the RC transmitter roll stick to perform the following maneuver, tilting the vehicle just a few degrees: _roll left > roll right > center_ (The whole maneuver should take about 3 seconds). + The vehicle should stabilise itself within 2 oscillations. +4. Repeat the maneuver, tilting with larger amplitudes at each attempt. + If the vehicle can stabilise itself within 2 oscillations at \~20 degrees move to the next step. +5. Repeat the same maneuvers but on the pitch axis. + As above, start with small angles and confirm that the vehicle can itself within 2 oscillations before increasing the tilt. + +If the drone can stabilize itself within 2 oscillations it is ready for the auto-tuning procedure. + +If not, see the [PX4 User Guide > Autotuning > Troubleshooting](http://docs.px4.io/master/en/config/autotune.html#troubleshooting). + +### Auto-tuning procedure + +The auto-tuning sequence must be performed in a **safe flight zone, with enough space**. +It takes about 40 seconds (between 19 and 68 seconds). +For best results, we recommend running the test in calm weather conditions. + +:::info +Be ready to abort the autotuning process by moving the RC controller sticks. +::: + +The test steps are: + +1. Perform the [pre-tuning test](#pre-tuning-test) above. + +2. Takeoff using RC control and prepare for test: + - **Multicopters:** Takeoff using the remote controller in **Altitude mode**. + Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m). + - **VTOL in Fixed-wing mode:** Once flying at cruise speed, activate **Hold Mode**. + This will guide the plane to fly in circle at constant altitude and speed. + +3. In QGroundControl, open the menu: **Vehicle setup > PID Tuning** + + ![Tuning Setup > Autotune Enabled](../../../assets/setup/tuning/px4_autotune.png) + +4. Select either the _Rate Controller_ or _Attitude Controller_ tabs. + Ensure that the **Autotune enabled** button is enabled (this will display the **Autotune** button and remove the manual tuning selectors). + +5. Stop moving the joysticks and click on the **Autotune** button. + Read the warning popup and click on **OK** to start tuning. + +6. The drone will first start to perform quick roll motions followed by pitch and yaw motions. + The progress is shown in the progress bar, next to the _Autotune_ button. + +7. Apply the tuning: + - **Fixed Wing:** The tuning will be immediately/automatically be applied and tested in flight (by default). + PX4 will then run a 4 second test and revert the new tuning if a problem is detected. + - **Multicopters:** Manually land and disarm to apply the new tuning parameters. + Takeoff carefully and manually test that the vehicle is stable. + +8. If any strong oscillations occur, land immediately and follow the instructions in [PX4 User Guide > Autotuning > Troubleshooting](http://docs.px4.io/master/en/config/autotune.html#troubleshooting). + +
+ + + +A video of the process is shown below: + + + +## Manual Tuning + +Manual tuning is done in-flight, so your vehicle must already be tuned well enough to fly with (this is normally the case if you have selected an appropriate default airframe). + +The instructions below explain how you can use the manual tuning UI. +It is designed to be read/used in conjustion with the [PX4 Manual PID Tuning Guides](http://docs.px4.io/master/en/config/autotune.html#see-also), which provide more detailed hints on the kinds of step sizes to use when changing PID values. + +In overview: + +1. Takeoff using RC control and prepare for test: + - **Multicopters:** Takeoff using the remote controller in **Altitude mode**. + Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m). + - **Fixed-wing:** Once flying at cruise speed, activate **Hold Mode**. + This will guide the plane to fly in circle at constant altitude and speed. + +2. In QGroundControl, open the menu: **Vehicle setup > PID Tuning** + +3. Select the _Rate Controller_ tab. + Ensure that the **Autotune enabled** button is is turned off. + + ![PX4 Tuning - Manual - Rate controller](../../../assets/setup/tuning/px4_copter_manual_rate.png) + +4. Select the _Tuning axis_ to tune: **Roll**, **Pitch** or **Yaw** (each axis is tuned separately). + +5. Fly the vehicle, observing the tracking on the chart. + - Adjust the _Tuning Values_ (parameters) to improve the tracking shown on the graph using the slider. + - The values are automatically saved, but you may wish to use the **Save to Clipboard** and **Restore from Clipboard** buttons to store the last known good configuration. + - You can also **Clear**/**Stop** the chart using the buttons provided. + +6. Tune the other axes. + +7. Switch to the other controllers and repeat the process. + Screenshots of the tuning pages are shown below. + + ![PX4 Tuning - Manual - Attitude controller](../../../assets/setup/tuning/px4_copter_manual_attitude.png) + ![PX4 Tuning - Manual - Velocity controller](../../../assets/setup/tuning/px4_copter_manual_velocity.png) + ![PX4 Tuning - Manual - Position controller](../../../assets/setup/tuning/px4_copter_manual_velocity.png) diff --git a/docs/fa/qgc-user-guide/support/support.md b/docs/fa/qgc-user-guide/support/support.md new file mode 100644 index 00000000000..0a379a572f9 --- /dev/null +++ b/docs/fa/qgc-user-guide/support/support.md @@ -0,0 +1,57 @@ +# Support + +This user guide is meant to be the main provider of support for _QGroundControl_. +If you find incorrect or missing information please report an [Issue](https://github.com/mavlink/qgc-user-guide/issues). + +_Questions_ about how to use _QGroundControl_ should be raised in the discussion forum for the associated flight stack: + +- [PX4 Pro Flight Stack](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-usage) (discuss.px4.io). +- [ArduPilot Flight Stack](http://discuss.ardupilot.org/c/ground-control-software/qgroundcontrol) (discuss.ardupilot.org). + +These forums are also the best place to start discussions on bugs/problems you are having with _QGroundControl_ and or feature requests you would like to make. From there you may be directed to entering information in a GitHub Issue for further resolution. + +### Developer Chat {#developer\_chat} + +_QGroundControl_ developers (and many regular/deeply-involved users) can be found on the [#QGroundControl channel on the Dronecode Discord](https://discord.gg/dronecode). + +## GitHub Issues + +Issues are used to track bugs against _QGroundControl_ as well as feature requests for later versions. The current list of issues can be found on [GitHub here](https://github.com/mavlink/qgroundcontrol/issues). + +:::info +Please contact our developers using the support forums **before** creating GitHub issues for either bugs or feature requests. +::: + +### Reporting Bugs + +If you are directed to create an issue, please use the "Bug report" template and provide all information specified in the template. + +##### Reporting Crashes from Windows Builds + +When QGC crashes a crash dump file will be place in the Users LocalAppData directory. To navigate to that directory use the Start/Run command. You can bring this up window WinKey+R. Type into that `%localappdata%` for Open and click Ok. Crash dumps will be in a `QGCCrashDumps` folder in that directory. You should find a new **.dmp** file there. Add a link to that file in a GitHub Issue when reporting you problem. + +##### Reporting Hangs from Windows Builds + +If Windows is telling you the _QGroundControl program is unresponsive_ use the following steps to report the hang: + +1. Open _Task Manager_ (right-click TaskBar, select **Task Manager**) +2. Switch to the Processes tab and local **qgroundcontrol.exe** +3. Right-click on **groundcontrol.exe** and select **Create Dump File** +4. Place the dump file in a public location +5. Add a link to the **.dmp** file and above details in the GitHub issue. + +### Feature Requests + +If you are directed to create a feature request after discussion on support forums please use the "Feature request" template which has some helpful information on required details. + +## Troubleshooting + +Troubleshooting information is linked from [here](../troubleshooting/index.md). + +### Console Logging + +_Console Logs_ can be helpful when diagnosing _QGroundControl_ problems. For more information see: [Console Logging](../settings_view/console_logging.md). + +## Help Improve these Docs! + +Just like _QGroundControl_ itself, the user guide is an open source, user created and supported GitBook. We welcome [Pull Requests](https://github.com/mavlink/qgc-user-guide/pulls) against the guide for fixes and/or updates. diff --git a/docs/fa/qgc-user-guide/toolbar/toolbar.md b/docs/fa/qgc-user-guide/toolbar/toolbar.md new file mode 100644 index 00000000000..f5e666186d2 --- /dev/null +++ b/docs/fa/qgc-user-guide/toolbar/toolbar.md @@ -0,0 +1,37 @@ +# Main Toolbar + +The main toolbar provides access to select the different application views, and high level status information for connected vehicles. +The toolbar is the same in all views except for "PlanView" (which has a single icon to take you back to "Fly" view). + +## View-select icons + +The following icons are used to switch between the main _Views_. These are displayed even if no vehicle is connected. + +![Settings view icon](../../../assets/toolbar/toolbar_view_select_settings.jpg) **[Settings](../settings_view/settings_view.md)**
Configure the _QGroundControl_ application. + +![Setup view icon](../../../assets/toolbar/toolbar_view_select_setup.jpg) **[Setup](../setup_view/setup_view.md)**
Configure and tune your vehicle. + +![Plan view icon](../../../assets/toolbar/toolbar_view_select_plan.jpg) **[Plan](../plan_view/plan_view.md)**
Create autonomous missions. + +![Fly icon](../../../assets/toolbar/toolbar_view_select_fly.jpg) **[Fly](../fly_view/fly_view.md)**
Monitor your vehicle(s) while flying, including streaming video. + +![Analyze icon](../../../assets/toolbar/toolbar_view_select_analyse.jpg) **[Analyze](../analyze_view/index.md)**
Download logs, geotag images from a survey mission, access the MAVLink console. + +## Status icons + +Status icons are displayed when _QGroundControl_ is connected to a vehicle. +These show the high level status of the vehicle, and can be clicked to see more detailed information. + +![](../../../assets/toolbar/toolbar_status_message.jpg) ![yield](../../../assets/toolbar/toolbar_status_critical.jpg) **Vehicle Messages**
Click to show a list of messages from the vehicle. Note that version on the right is displayed when there are critical messages. + +![](../../../assets/toolbar/toolbar_status_gps.jpg) **GPS Status**
Shows you satellite count and curent HDOP. + +![](../../../assets/toolbar/toolbar_status_rc.jpg) **RC RSSI**
RC signal strength information. + +![](../../../assets/toolbar/toolbar_status_telemetry.jpg) **Telemetry RSSI**
Telemetry signals strength information. + +![](../../../assets/toolbar/toolbar_status_battery.jpg) **Battery**
Remaining battery percent. + +![](../../../assets/toolbar/toolbar_status_flight_mode.jpg) **Flight Mode**
Current flight mode. Click to change flight mode. + +![](../../../assets/toolbar/toolbar_status_rtk_gps.jpg) **RTK GPS Survey-In Status**
Shows you progress of RTK GPS Survey-In process. diff --git a/docs/fa/qgc-user-guide/troubleshooting/index.md b/docs/fa/qgc-user-guide/troubleshooting/index.md new file mode 100644 index 00000000000..81150a50b89 --- /dev/null +++ b/docs/fa/qgc-user-guide/troubleshooting/index.md @@ -0,0 +1,8 @@ +## Troubleshooting + +Troubleshooting information is provided in two sections: + +- [QGC Setup](../troubleshooting/qgc_setup.md) - Troubleshooting _QGroundControl_ installation and setup. +- [QGC Usage](../troubleshooting/qgc_usage.md) - Troubleshooting problems when **using** _QGroundControl_ to interact with a vehicle. + +If your questions are still unresolved, please check the [Support](../support/support.md) page for more information on getting help. diff --git a/docs/fa/qgc-user-guide/troubleshooting/parameter_download.md b/docs/fa/qgc-user-guide/troubleshooting/parameter_download.md new file mode 100644 index 00000000000..547c9f1ae27 --- /dev/null +++ b/docs/fa/qgc-user-guide/troubleshooting/parameter_download.md @@ -0,0 +1,15 @@ +# Parameter Download failures + +The majority of parameter download failures are caused by a communication link which is noisy and has a high loss rate. +Although the parameter protocol has retry logic for such a case it will eventually give up. +At which point you will get an error stating that QGC was unable to retrieve the full set or parameters. + +Although you can still fly the vehicle in this state it is not recommended. +Also the vehicle setup pages will not be available. + +You can see the loss rate for your link from the [Settings View > MAVLink](../settings_view/mavlink.md) page. +Even a loss rate in the high single digits can lead to intermittent failures of the plan protocols. +Higher loss rates could leads to 100% failure. + +There is also the more remote possibility of either firmware or QGC bugs. +To see the details of the back and forth message traffic of the protocol you can turn on [Console Logging](../settings_view/console_logging.md) for the Parameter Protocol. diff --git a/docs/ko/SUMMARY.md b/docs/ko/SUMMARY.md index 7f643fabe5e..ec1e00b8b9a 100644 --- a/docs/ko/SUMMARY.md +++ b/docs/ko/SUMMARY.md @@ -5,9 +5,11 @@ - [Download and Install](qgc-user-guide/getting_started/download_and_install.md) - [Toolbar/Menu](qgc-user-guide/toolbar/toolbar.md) - [Support](qgc-user-guide/support/support.md) + - [Fly](qgc-user-guide/fly_view/fly_view.md) - [Replay Flight Data](qgc-user-guide/fly_view/replay_flight_data.md) - [Video Overlay](qgc-user-guide/fly_view/video_overlay.md) + - [Plan](qgc-user-guide/plan_view/plan_view.md) - [GeoFence](qgc-user-guide/plan_view/plan_geofence.md) - [Rally Points](qgc-user-guide/plan_view/plan_rally_points.md) @@ -17,6 +19,7 @@ - [Corridor Scan](qgc-user-guide/plan_view/pattern_corridor_scan.md) - [Fixed Wing Landing Pattern](qgc-user-guide/plan_view/pattern_fixed_wing_landing.md) - [Pattern Presets](qgc-user-guide/plan_view/pattern_presets.md) + - [Vehicle Setup](qgc-user-guide/setup_view/setup_view.md) - [Firmware](qgc-user-guide/setup_view/firmware.md) - [Airframe](qgc-user-guide/setup_view/airframe.md) @@ -42,6 +45,7 @@ - [Camera](qgc-user-guide/setup_view/camera.md) - [Joystick](qgc-user-guide/setup_view/joystick.md) - [Parameters](qgc-user-guide/setup_view/parameters.md) + - [Application Settings](qgc-user-guide/settings_view/settings_view.md) - [General](qgc-user-guide/settings_view/general.md) - [CSV Logging](qgc-user-guide/settings_view/csv.md) @@ -49,11 +53,13 @@ - [MAVLink](qgc-user-guide/settings_view/mavlink.md) - [Console Logging](qgc-user-guide/settings_view/console_logging.md) - [Virtual Joystick (PX4)](qgc-user-guide/settings_view/virtual_joystick.md) + - [Analyze](qgc-user-guide/analyze_view/index.md) - [Log Download](qgc-user-guide/analyze_view/log_download.md) - [GeoTag Images (PX4)](qgc-user-guide/analyze_view/geotag_images.md) - [MAVLink Console (PX4)](qgc-user-guide/analyze_view/mavlink_console.md) - [MAVLink Inspector](qgc-user-guide/analyze_view/mavlink_inspector.md) + - [Releases](qgc-user-guide/releases/index.md) - [Release Notes](qgc-user-guide/releases/release_notes.md) - [v4.0 (Additional Notes)](qgc-user-guide/releases/stable_v4.0_additional.md) @@ -62,6 +68,7 @@ - [Daily Builds](qgc-user-guide/releases/daily_builds.md) - [Daily Build New Features](qgc-user-guide/releases/daily_build_new_features.md) - [Privacy Policy](qgc-user-guide/releases/privacy_policy.md) + - [Troubleshooting](qgc-user-guide/troubleshooting/index.md) - [Setup Problems](qgc-user-guide/troubleshooting/qgc_setup.md) diff --git a/docs/ko/docs/en/SUMMARY.md b/docs/ko/docs/en/SUMMARY.md new file mode 100644 index 00000000000..ec1e00b8b9a --- /dev/null +++ b/docs/ko/docs/en/SUMMARY.md @@ -0,0 +1,122 @@ +# Sidebar + +- [Overview](qgc-user-guide/index.md) + - [Quick Start](qgc-user-guide/getting_started/quick_start.md) + - [Download and Install](qgc-user-guide/getting_started/download_and_install.md) + - [Toolbar/Menu](qgc-user-guide/toolbar/toolbar.md) + - [Support](qgc-user-guide/support/support.md) + +- [Fly](qgc-user-guide/fly_view/fly_view.md) + - [Replay Flight Data](qgc-user-guide/fly_view/replay_flight_data.md) + - [Video Overlay](qgc-user-guide/fly_view/video_overlay.md) + +- [Plan](qgc-user-guide/plan_view/plan_view.md) + - [GeoFence](qgc-user-guide/plan_view/plan_geofence.md) + - [Rally Points](qgc-user-guide/plan_view/plan_rally_points.md) + - [Pattern](qgc-user-guide/plan_view/pattern.md) + - [Survey](qgc-user-guide/plan_view/pattern_survey.md) + - [Structure Scan](qgc-user-guide/plan_view/pattern_structure_scan_v2.md) + - [Corridor Scan](qgc-user-guide/plan_view/pattern_corridor_scan.md) + - [Fixed Wing Landing Pattern](qgc-user-guide/plan_view/pattern_fixed_wing_landing.md) + - [Pattern Presets](qgc-user-guide/plan_view/pattern_presets.md) + +- [Vehicle Setup](qgc-user-guide/setup_view/setup_view.md) + - [Firmware](qgc-user-guide/setup_view/firmware.md) + - [Airframe](qgc-user-guide/setup_view/airframe.md) + - [Airframe (ArduPilot)](qgc-user-guide/setup_view/airframe_ardupilot.md) + - [Airframe (PX4)](qgc-user-guide/setup_view/airframe_px4.md) + - [Radio](qgc-user-guide/setup_view/radio.md) + - [Sensors](qgc-user-guide/setup_view/sensors.md) + - [Sensors (ArduPilot)](qgc-user-guide/setup_view/sensors_ardupilot.md) + - [Sensors (PX4)](qgc-user-guide/setup_view/sensors_px4.md) + - [Flight Modes](qgc-user-guide/setup_view/flight_modes.md) + - [ArduPilot Flight Modes Setup](qgc-user-guide/setup_view/flight_modes_ardupilot.md) + - [PX4 Flight Modes Setup](qgc-user-guide/setup_view/flight_modes_px4.md) + - [Power](qgc-user-guide/setup_view/power.md) + - [Motors](qgc-user-guide/setup_view/motors.md) + - [Motors (ArduSub)](qgc-user-guide/setup_view/motors_ardusub.md) + - [Safety](qgc-user-guide/setup_view/safety.md) + - [Safety (ArduPilot)](qgc-user-guide/setup_view/safety_ardupilot.md) + - [Tuning](qgc-user-guide/setup_view/tuning.md) + - [Tuning (ArduPilot)](qgc-user-guide/setup_view/tuning_ardupilot.md) + - [ArduCopter Tuning](qgc-user-guide/setup_view/tuning_arducopter.md) + - [ArduSub Tuning](qgc-user-guide/setup_view/tuning_ardusub.md) + - [Tuning (PX4)](qgc-user-guide/setup_view/tuning_px4.md) + - [Camera](qgc-user-guide/setup_view/camera.md) + - [Joystick](qgc-user-guide/setup_view/joystick.md) + - [Parameters](qgc-user-guide/setup_view/parameters.md) + +- [Application Settings](qgc-user-guide/settings_view/settings_view.md) + - [General](qgc-user-guide/settings_view/general.md) + - [CSV Logging](qgc-user-guide/settings_view/csv.md) + - [Offline Maps](qgc-user-guide/settings_view/offline_maps.md) + - [MAVLink](qgc-user-guide/settings_view/mavlink.md) + - [Console Logging](qgc-user-guide/settings_view/console_logging.md) + - [Virtual Joystick (PX4)](qgc-user-guide/settings_view/virtual_joystick.md) + +- [Analyze](qgc-user-guide/analyze_view/index.md) + - [Log Download](qgc-user-guide/analyze_view/log_download.md) + - [GeoTag Images (PX4)](qgc-user-guide/analyze_view/geotag_images.md) + - [MAVLink Console (PX4)](qgc-user-guide/analyze_view/mavlink_console.md) + - [MAVLink Inspector](qgc-user-guide/analyze_view/mavlink_inspector.md) + +- [Releases](qgc-user-guide/releases/index.md) + - [Release Notes](qgc-user-guide/releases/release_notes.md) + - [v4.0 (Additional Notes)](qgc-user-guide/releases/stable_v4.0_additional.md) + - [v3.3 (Detailed)](qgc-user-guide/releases/stable_v3.3_long.md) + - [v3.2 (Detailed)](qgc-user-guide/releases/stable_v3.2_long.md) + - [Daily Builds](qgc-user-guide/releases/daily_builds.md) + - [Daily Build New Features](qgc-user-guide/releases/daily_build_new_features.md) + - [Privacy Policy](qgc-user-guide/releases/privacy_policy.md) + +- [Troubleshooting](qgc-user-guide/troubleshooting/index.md) + + - [Setup Problems](qgc-user-guide/troubleshooting/qgc_setup.md) + - [Usage Problems](qgc-user-guide/troubleshooting/qgc_usage.md) + - [Connection problems](qgc-user-guide/troubleshooting/vehicle_connection.md) + - [Parameter Download failures](qgc-user-guide/troubleshooting/parameter_download.md) + - [Plan Upload/Download failures](qgc-user-guide/troubleshooting/plan_upload_download.md) + - [Resume Mission failures](qgc-user-guide/troubleshooting/resume_mission.md) + +- [Developer's Guide](qgc-dev-guide/index.md) + - [Getting Started with source & builds](qgc-dev-guide/getting_started/index.md) + - [Build using Containers](qgc-dev-guide/getting_started/container.md) + - [Using QGC on CentOS](qgc-dev-guide/getting_started/cent_os.md) + - [QGC Release/Branching Process](qgc-dev-guide/release_branching_process.md) + - [Communication Flow](qgc-dev-guide/communication_flow.md) + - [Plugin Architecture](qgc-dev-guide/firmware_plugin.md) + - [Class Hierarchy](qgc-dev-guide/classes/index.md) + - [User Interface Design](qgc-dev-guide/user_interface_design/index.md) + - [Multi-Device Design Pattern](qgc-dev-guide/user_interface_design/multi_device_pattern.md) + - [Font and Colour Palette](qgc-dev-guide/user_interface_design/font_palette.md) + - [UI Controls](qgc-dev-guide/user_interface_design/controls.md) + - [Fact System](qgc-dev-guide/fact_system.md) + - [Top Level Views](qgc-dev-guide/views/index.md) + - [Settings View](qgc-dev-guide/views/settings.md) + - [Setup View](qgc-dev-guide/views/setup.md) + - [Plan View](qgc-dev-guide/views/plan.md) + - [Dynamic UI for mission item editing](qgc-dev-guide/plan/mission_command_tree.md) + - [Fly View](qgc-dev-guide/views/fly.md) + - [File Formats](qgc-dev-guide/file_formats/index.md) + - [Parameters](qgc-dev-guide/file_formats/parameters.md) + - [Plan](qgc-dev-guide/file_formats/plan.md) + - [MAVLink Logs](qgc-dev-guide/file_formats/mavlink.md) + - [Developer Tools](qgc-dev-guide/tools/index.md) + - [Mock Link](qgc-dev-guide/tools/mock_link.md) + - [Command Line Options](qgc-dev-guide/command_line_options.md) + - [Custom Builds](qgc-dev-guide/custom_build/custom_build.md) + - [Initial Repository Setup For Custom Build](qgc-dev-guide/custom_build/create_repos.md) + - [Custom Build Plugins](qgc-dev-guide/custom_build/plugins.md) + - [Resources Overrides](qgc-dev-guide/custom_build/resource_override.md) + - [Customization](qgc-dev-guide/custom_build/customization.md) + - [First Run Prompts](qgc-dev-guide/custom_build/first_run_prompts.md) + - [Toolbar customization](qgc-dev-guide/custom_build/toolbar.md) + - [Fly View Customization](qgc-dev-guide/custom_build/fly_view.md) + - [Release/Branching Process For Custom Builds](qgc-dev-guide/custom_build/release_branching_process.md) + - [MAVLink](qgc-dev-guide/custom_build/mavlink.md) + - [Code Submission](qgc-dev-guide/contribute/index.md) + - [Developer Call](qgc-dev-guide/contribute/dev_call.md) + - [Coding Style](qgc-dev-guide/contribute/coding_style.md) + - [Unit Tests](qgc-dev-guide/contribute/unit_tests.md) + - [Pull Requests](qgc-dev-guide/contribute/pull_requests.md) + - [Licenses](qgc-dev-guide/contribute/licences.md) diff --git a/docs/ko/docs/en/index.md b/docs/ko/docs/en/index.md new file mode 100644 index 00000000000..f5ea85cbc0e --- /dev/null +++ b/docs/ko/docs/en/index.md @@ -0,0 +1,27 @@ +--- +layout: home +hero: + name: QGroundControl Guide + tagline: For beginners, experienced users, and developers + actions: + - theme: brand + text: User Guide + link: /en/qgc-user-guide/index.md + - theme: brand + - theme: brand + text: Dev Guide + link: /en/qgc-dev-guide/index.md +features: + - title: Multiple flight stacks + details: Full setup/configuration of ArduPilot and PX4 Pro powered vehicles + - title: Mission planning + details: Autonomous flight with path planning, surveys, safe landing + - title: Flight map + details: Map shows vehicle position, flight track, waypoints and vehicle instruments + - title: Video overlay + details: FPV video streaming and instrument overlays. + - title: Multiple vehicles + details: Manage multiple vehicles and different types of vehicles + - title: Broad OS support + details: Windows, OS X, Linux platforms, iOS and Android devices +--- diff --git a/docs/ko/docs/en/qgc-dev-guide/classes/index.md b/docs/ko/docs/en/qgc-dev-guide/classes/index.md new file mode 100644 index 00000000000..4a60cb304c8 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/classes/index.md @@ -0,0 +1,27 @@ +# Class Hierarchy (high level) + +## LinkManager, LinkInterface + +A "Link" in QGC is a specific type of communication pipe with the vehicle such as a serial port or UDP over WiFi. The base class for all links is LinkInterface. Each link runs on it's own thread and sends bytes to MAVLinkProtocol. + +The `LinkManager` object keeps track of all open links in the system. `LinkManager` also manages automatic connections through serial and UDP links. + +## MAVLinkProtocol + +There is a single `MAVLinkProtocol` object in the system. It's job is to take incoming bytes from a link and translate them into MAVLink messages. MAVLink HEARTBEAT messages are routed to `MultiVehicleManager`. All MAVLink messages are routed to Vehicle's which are associated with the link. + +## MultiVehicleManager + +There is a single `MultiVehicleManager` object within the system. When it receives a HEARTBEAT on a link which has not been previously seen it creates a Vehicle object. `MultiVehicleManager` also keeps tracks of all Vehicles in the system and handles switching from one active vehicle to another and correctly handling a vehicle being removed. + +## Vehicle + +The Vehicle object is the main interface through which the QGC code communicates with the physical vehicle. + +Note: There is also a UAS object associated with each Vehicle which is a deprecated class and is slowly being phased out with all functionality moving to the Vehicle class. No new code should be added here. + +## FirmwarePlugin, FirmwarePluginManager + +The FirmwarePlugin class is the base class for firmware plugins. A firmware plugin contains the firmware specific code, such that the Vehicle object is clean with respect to it supporting a single standard interface to the UI. + +FirmwarePluginManager is a factory class which creates a FirmwarePlugin instance based on the MAV\_AUTOPILOT/MAV\_TYPE combination for the Vehicle. diff --git a/docs/ko/docs/en/qgc-dev-guide/command_line_options.md b/docs/ko/docs/en/qgc-dev-guide/command_line_options.md new file mode 100644 index 00000000000..a66cd53ef4d --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/command_line_options.md @@ -0,0 +1,46 @@ +# Command Line Options + +You can start _QGroundControl_ with command line options. These are used to enable logging, run unit tests, and simulate different host environments for testing. + +## Starting QGroundControl with Options + +You will need to open a command prompt or terminal, change directory to where **qgroundcontrol.exe** is stored, and then run it. This is shown below for each platform (using the `--logging:full` option): + +Windows Command Prompt: + +```bash +cd "\Program Files (x86)\qgroundcontrol" +qgroundcontrol --logging:full +``` + +OSX Terminal app (**Applications/Utilities**): + +```bash +cd /Applications/qgroundcontrol.app/Contents/MacOS/ +./qgroundcontrol --logging:full +``` + +Linux Terminal: + +```bash +./qgroundcontrol-start.sh --logging:full +``` + +## Options + +The options/command line arguments are listed in the table below. + +| Option | Description | +| --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| `--clear-settings` | Clears the app settings (reverts _QGroundControl_ back to default settings). | +| `--logging:full` | Turns on full logging. See [Console Logging](https://docs.qgroundcontrol.com/en/settings_view/console_logging.html#logging-from-the-command-line). | +| `--logging:full,LinkManagerVerboseLog,ParameterLoaderLog` | Turns on full logging and turns off the following listed comma-separated logging options. | +| `--logging:LinkManagerLog,ParameterLoaderLog` | Turns on the specified comma separated logging options | +| `--unittest:name` | (Debug builds only) Runs the specified unit test. Leave off `:name` to run all tests. | +| `--unittest-stress:name` | (Debug builds only) Runs the specified unit test 20 times in a row. Leave off :name to run all tests. | +| `--fake-mobile` | Simulates running on a mobile device. | +| `--test-high-dpi` | Simulates running _QGroundControl_ on a high DPI device. | + +Notes: + +- Unit tests are included in debug builds automatically (as part of _QGroundControl_). _QGroundControl_ runs under the control of the unit test (it does not start normally). diff --git a/docs/ko/docs/en/qgc-dev-guide/communication_flow.md b/docs/ko/docs/en/qgc-dev-guide/communication_flow.md new file mode 100644 index 00000000000..17e838f8250 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/communication_flow.md @@ -0,0 +1,15 @@ +# Communication Flow + +Description of the high level communication flow which takes place during a vehicle auto-connect. + +- LinkManager always has a UDP port open waiting for a vehicle heartbeat +- LinkManager detects a new known device type (Pixhawk, SiK Radio, PX4 Flow) that makes a UDP connection to the computer + - LinkManager creates a new SerialLink between the computer and the device +- Incoming bytes from the Link are sent to MAVLinkProtocol +- MAVLinkProtocol converts the bytes into a MAVLink message +- If the message is a `HEARTBEAT` the MultiVehicleManager is notified +- MultiVehicleManager is notified of the `HEARTBEAT` and creates a new vehicle object based on the information in the `HEARTBEAT` message +- The vehicle object instantiates the plugins that matches the vehicle +- The ParameterLoader associated with the vehicle object sends a `PARAM_REQUEST_LIST` to the connected device to load parameters using the parameter protocol +- Once the parameter load is complete, the MissionManager associated with the vehicle object requests the mission items from the connected device using the mission protocol +- Once parameter load is complete, the VehicleComponents display their UI in the Setup view diff --git a/docs/ko/docs/en/qgc-dev-guide/contribute/coding_style.md b/docs/ko/docs/en/qgc-dev-guide/contribute/coding_style.md new file mode 100644 index 00000000000..3d4d62420c1 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/contribute/coding_style.md @@ -0,0 +1,12 @@ +# Coding Style + +High level style information: + +- Tabs expanded to 4 spaces +- Pascal/CamelCase naming conventions + +The style itself is documents in the following example files: + +- [CodingStyle.cc](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.cc) +- [CodingStyle.h](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.h) +- [CodingStyle.qml](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.qml) diff --git a/docs/ko/docs/en/qgc-dev-guide/contribute/dev_call.md b/docs/ko/docs/en/qgc-dev-guide/contribute/dev_call.md new file mode 100644 index 00000000000..6464fc34d78 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/contribute/dev_call.md @@ -0,0 +1,38 @@ +# Bi-Weekly Dev Call + +The QGroundControl developer team syncs up on technical details and in-depth analysis. There is also a space in the agenda to discuss pull requests, major impacting issues and Q\&A. + +## Who Should attend: + +- Community members +- Core project maintiners +- Component maintainers +- Dronecode members + +:::info +The calls are open for anyone interested to attend, it's a great opportunity to meet the team and contribute to the ongoing development of the project. +::: + +## What gets discussed? + +The main agenda for the call is very simple, and usually remains the same with a few exceptions which are made aware to the community in advance. The calls typically last up to 60 minutes. + +The developer team goes through the issue tracker, including the current queue of Pull Requests, + +## Agenda + +While the agenda below is the norm, we might + +- Community Q\&A (Open mic, you can bring your own topics, we can discuss your PRs/Issues/Questions) +- Update on the project [High Priority Issues](https://github.com/mavlink/qgroundcontrol/projects/2) tracker +- Developer team coordination + +:::info +If you want to guarantee your Pull Request get's discussed on the next developer call, make sure you add the "dev-call" label on GitHub. We expect the author and the assigned reviewer to be on the call. +::: + +## Schedule + +- Time: Bi-Weekly on Tuesdays at 17h00 CET, 12h00 EST, 08h00 PST ([subscribe to the calendar](https://www.dronecode.org/calendar/)) +- The call is hosted on Jitsi the open platform ([QGC Bi-Weekly](https://meet.jit.si/GCS-bi-weekly)) +- the Agenda is published on the [PX4 Discuss - weekly-dev-call](https://discuss.px4.io/c/weekly-dev-call/qgc-developer-call/48) diff --git a/docs/ko/docs/en/qgc-dev-guide/contribute/index.md b/docs/ko/docs/en/qgc-dev-guide/contribute/index.md new file mode 100644 index 00000000000..0fd55b4e573 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/contribute/index.md @@ -0,0 +1,7 @@ +# Code Submission + +This section contains topics about the contributing code, including coding style, testing and the format of pull requests. + +:::info +QGroundControl (QGC) is [dual-licensed as Apache 2.0 and GPLv3](../contribute/licences.md). All contributions have to be made under both licenses. +::: diff --git a/docs/ko/docs/en/qgc-dev-guide/contribute/licences.md b/docs/ko/docs/en/qgc-dev-guide/contribute/licences.md new file mode 100644 index 00000000000..20c157a0d2f --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/contribute/licences.md @@ -0,0 +1,30 @@ +# Licences + +## QGroundControl License + +_QGroundControl_ (QGC) is dual-licensed as Apache 2.0 and GPLv3. All contributions have to be made under both licenses. Users of the codebase are free to use it under either license. + +:::warning +_QGroundControl_ licensing rules out the re-use of any copyleft (e.g. GPL) licensed code. All contributions must be original or from a compatible license (BSD 2/3 clause, MIT, Apache 2.0). +::: + +The dual approach is necessary to be able to offer _QGroundControl_ through the iOS and Android app stores and offers the open source community choice. + +### Apache 2.0 License + +The [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) License is a permissive license which allows QGC to be built and used in any environment, including proprietary applications. It allows QGC to be built for mobile app stores. When building with Apache 2.0 a commercial Qt license is required. + +### GPL v3 License + +The [GPL v3 License](http://www.gnu.org/licenses/gpl-3.0.en.html) is a strong copyleft license. When building QGC under this license the open source version of Qt can be used. Our licensing grants the permission to use a later version of the license, however, contributions have to be made under 3.0. + +## Documentation, Artwork, Images + +The QGroundControl documentation, artwork and images are licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). + +## See Also + +- [qgroundcontrol/COPYING.md](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md) +- [qgroundcontrol/CONTRIBUTING.md](https://github.com/mavlink/qgroundcontrol/blob/master/CONTRIBUTING.md) +- [qgc-user-guide/LICENSE](https://github.com/mavlink/qgc-user-guide/blob/master/LICENSE) +- [qgc-dev-guide/LICENSE](https://github.com/mavlink/qgc-dev-guide/blob/master/LICENSE) diff --git a/docs/ko/docs/en/qgc-dev-guide/contribute/pull_requests.md b/docs/ko/docs/en/qgc-dev-guide/contribute/pull_requests.md new file mode 100644 index 00000000000..fe120dcf7dc --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/contribute/pull_requests.md @@ -0,0 +1,3 @@ +# Pull Requests + +All pull requests go through the QGC CI build system which builds release and debug version. Builds will fail if there are compiler warnings. Also unit tests are run against supported OS debug builds. diff --git a/docs/ko/docs/en/qgc-dev-guide/contribute/unit_tests.md b/docs/ko/docs/en/qgc-dev-guide/contribute/unit_tests.md new file mode 100644 index 00000000000..e8c14fe7b4b --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/contribute/unit_tests.md @@ -0,0 +1,20 @@ +# Unit Tests + +_QGroundControl_ (QGC) contains a set of unit tests that must pass before a pull request will be accepted. The addition of new complex subsystems to QGC should include a corresponding new unit test to test it. + +The full list of unit tests can be found in [UnitTestList.cc](https://github.com/mavlink/qgroundcontrol/blob/master/src/qgcunittest/UnitTestList.cc). + +To run unit tests: + +1. Build in `debug` mode with `UNITTEST_BUILD` definition. +2. Copy the **deploy/qgroundcontrol-start.sh** script in the **debug** directory +3. Run _all_ unit tests from the command line using the `--unittest` command line option. + For Linux this is done as shown: + ``` + qgroundcontrol-start.sh --unittest + ``` +4. Run _individual_ unit tests by specifying the test name as well: `--unittest:RadioConfigTest`. + For Linux this is done as shown: + ``` + qgroundcontrol-start.sh --unittest:RadioConfigTest + ``` diff --git a/docs/ko/docs/en/qgc-dev-guide/custom_build/create_repos.md b/docs/ko/docs/en/qgc-dev-guide/custom_build/create_repos.md new file mode 100644 index 00000000000..c4bce8ee142 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/custom_build/create_repos.md @@ -0,0 +1,15 @@ +# Initial Repository Setup For Custom Build + +The suggested mechanism for working on QGC and a custom build version of QGC is to have two separate repositories. The first repo is your main QGC fork. The second repo is your custom build repo. + +## Main QGC Respository + +This repo is used to work on changes to mainline QGC. When creating your own custom build it is not uncommon to discover that you may need a tweak/addition to the custom build to achieve what you want. By discussing those needed changes firsthand with QGC devs and submitting pulls to make the custom build architecture better you make QGC more powerful for everyone and give back to the community. + +The best way to create this repo is to fork the regular QGC repo to your own GitHub account. + +## Custom Build Repository + +This is where you will do your main custom build development. All changes here should be within the custom directory as opposed to bleeding out into the regular QGC codebase. + +Since you can only fork a repo once, the way to create this repo is to "Create a new repository" in your GitHub account. Do not add any additional files to it like gitignore, readme's and so forth. Once it is created you will be given the option to setup up the Repo. Now you can select to "import code from another repository". Just import the regular QGC repo using the "Import Code" button. diff --git a/docs/ko/docs/en/qgc-dev-guide/custom_build/custom_build.md b/docs/ko/docs/en/qgc-dev-guide/custom_build/custom_build.md new file mode 100644 index 00000000000..ff37e9b1c14 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/custom_build/custom_build.md @@ -0,0 +1,26 @@ +# Custom Builds + +A custom build allows third parties to create their own version of QGC in a way that allows them to easily keep up to date with changes which are being made in regular QGC. QGC has an architecture built into it which allows custom builds to modify and add to the feature set of regular QGC. + +Some possibilities with a custom build + +- Fully brand your build +- Define a single flight stack to avoid carrying over unnecessary code +- Implement your own, autopilot and firmware plugin overrides +- Implement your own camera manager and plugin overrides +- Implement your own QtQuick interface module +- Implement your own toolbar, toolbar indicators and UI navigation +- Implement your own Fly View overlay (and how to hide elements from QGC such as the flight widget) +- Implement your own, custom QtQuick camera control +- Implement your own, custom Pre-flight Checklist +- Define your own resources for all of the above + +One of the downsides of QGC providing both generic support for any vehicle which supports mavlink as well as providing firmware specific support for both PX4 Pro and ArduPilot is complexity of the user interface. Since QGC doesn't know any information about your vehicle ahead of time it requires UI bits which can get in the way if the vehicle you fly only uses PX4 Pro firmware and is a multi-rotor vehicle. If that is a known thing then the UI can be simplified in various places. Also QGC targets both DIY users who are building their own vehicles from scratch as well as commercial users of off the shelf vehicles. Setting up a DIY drone from scratch requires all sort of functionality which is not needed for users of off the shelf vehicles. So for off the shelf vehicle users all the DIY specific stuff is just extra noise they need to look past. Creating a custom build allows you to specify exact details for your vehicle and hide things which are irrelevant thus creating an even simple user experience for your users than regular generic QGC. + +There is a plugin architecture in QGC which allows for this custom build creation. They can be found in QGCCorePlugin.h, FirmwarePlugin.h and AutoPilotPlugin.h associated classes. To create a custom build you create subclasses of the standard plugins overriding the set of methods which are appropriate for you usage. + +There is also a mechanism which allows you to override resources so you can change the smaller visual elements in QGC. + +Also internal to QGC is the concept of an "Advanced Mode". Whereas a standard QGC builds always runs in advanced mode. A custom build always starts out in regular/not advanced mode. There is an easier mechanism in the build to turn on advanced mode which is to click the fly view button 5 times in a row fairly quickly. If you do this in a custom build you will be warned about entering advanced mode. The concept here is to hide things which normal users should not have access to behind advanced mode. For example a commercial vehicle will not need access to most setup pages which are oriented to DIY setup. So a custom build can hide this. The custom example code shows how to do this. + +If you want to understand the possibilities, the first step is to read through those files which document what is possible. Next look through the [`custom-example`](https://github.com/mavlink/qgroundcontrol/tree/master/custom-example) source code including the [README](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/README.md). diff --git a/docs/ko/docs/en/qgc-dev-guide/custom_build/customization.md b/docs/ko/docs/en/qgc-dev-guide/custom_build/customization.md new file mode 100644 index 00000000000..b97b5c63371 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/custom_build/customization.md @@ -0,0 +1,7 @@ +# Customization + +The following topics explain how to customise various views and other parts of the UI. + +- [First Run Prompts](../custom_build/first_run_prompts.md) +- [Toolbar customization](../custom_build/toolbar.md) +- [Fly View Customization](../custom_build/fly_view.md) diff --git a/docs/ko/docs/en/qgc-dev-guide/custom_build/first_run_prompts.md b/docs/ko/docs/en/qgc-dev-guide/custom_build/first_run_prompts.md new file mode 100644 index 00000000000..77d779da1b6 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/custom_build/first_run_prompts.md @@ -0,0 +1,54 @@ +# First Run Prompts + +When QGC is started for the first time it prompts the user to specify some initial settings. At the time of writing this documentation those are: + +- Unit Settings - What units does the user want to use for display. +- Offline Vehicle Settings - Vehicle information for creating Plans while not connected to a vehicle. + +The custom build architecure includes mechanisms for a custom build to both override the display of these prompts and/or create your own first run prompts. + +## First Run Prompt Dialog + +Each first run prompt is a simple dialog which can display ui to the user. Whether the specific dialog has already been show to the user or not is stored in a setting. Here is the code for the upstream first run prompt dialogs: + +- [Units Settings](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirstRunPromptDialogs/UnitsFirstRunPrompt.qml) +- [Offline Vehicle Settings](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirstRunPromptDialogs/OfflineVehicleFirstRunPrompt.qml) + +## Standard First Run Prompt Dialogs + +Each dialog has a unique ID associated with it. When that dialog is shown to the user that ID is registered as having already been displayed so it only happens once (unless you clear settings). The set of first run prompt which are included with upstream QGC are considered the "Standard" set. QGC gets the list of standard prompts to display from the `QGCCorePlugin::firstRunPromptStdIds` call. + +``` + /// Returns the standard list of first run prompt ids for possible display. Actual display is based on the + /// current AppSettings::firstRunPromptIds value. The order of this list also determines the order the prompts + /// will be displayed in. + virtual QList firstRunPromptStdIds(void); +``` + +You can override this method in your custom build if you want to hide some of those. + +## Custom First Run Prompt Dialogs + +Custom builds have the ability to create their own set of additional first run prompts as needed through the use of the following QGCCorePlugin method overrides: + +``` + /// Returns the custom build list of first run prompt ids for possible display. Actual display is based on the + /// current AppSettings::firstRunPromptIds value. The order of this list also determines the order the prompts + /// will be displayed in. + virtual QList firstRunPromptCustomIds(void); +``` + +``` + /// Returns the resource which contains the specified first run prompt for display + Q_INVOKABLE virtual QString firstRunPromptResource(int id); +``` + +Your QGCCorePlugin should override these two methods as well as provide static consts for the ids of your new first run prompts. Look at how the standard set is implemented for how to do this and take the same approach. + +## Order Of Display + +The set of first run prompts shown to the user are in the order returned by the `QGCCorePlugin::firstRunPromptStdIds` and `QGCCorePlugin::firstRunPromptCustomIds` with standard prompts shown before the custom prompts. Only the prompts which have not been previously shown to the user are shown. + +## Always On Prompts + +By setting the `markAsShownOnClose: false` property in your prompt ui implementation you can create a prompt which will show up each time QGC starts. This can be used for things like showing usage tips to your users. If you do this it is best to make sure that this is displayed last. diff --git a/docs/ko/docs/en/qgc-dev-guide/custom_build/fly_view.md b/docs/ko/docs/en/qgc-dev-guide/custom_build/fly_view.md new file mode 100644 index 00000000000..e6b3342817f --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/custom_build/fly_view.md @@ -0,0 +1,42 @@ +# Fly View Customization + +The Fly View is designed in such a way that it can be cusomtized in multiple ways from simple to more complex. It is designed in three separate layers each of which are customizable providing different levels of change. + +## Layers + +- There are three layers to the fly view from top to bottom visually: + - [`FlyView.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyView.qml) This is the base layer of ui and business logic to control map and video switching. + - [`FlyViewWidgetsOverlay.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyViewWidgetLayer.qml) This layer includes all the remaining widgets for the fly view. + - [`FlyViewCustomLayer.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyViewCustomLayer.qml) This is a layer you override using resource override to add your own custom layer. + +### Inset Negotiation using `QGCToolInsets` + +An important aspect of the Fly View is that it needs to understand how much central space it has in the middle of it's map window which is not obstructed by ui widgets which are at the edges of the window. It uses this information to pan the map when the vehicle goes out of view. This need to be done not only for the window edges but also for the widgets themselve such that the map pans before it goes under a widget. + +This is done through the use of the [`QGCToolInsets`](https://github.com/mavlink/qgroundcontrol/blob/master/src/QmlControls/QGCToolInsets.qml) object included in each layer. This objects provides inset information for each window edge informing the system as to how much real estate is taken up by edge based ui. Each layer is given the insets of the layer below it through `parentToolInsets` and then reports back the new insets taking into account the layer below and it's own additions through `toolInsets`. The final results total inset is then given to the map so it can do the right thing. The best way to understand this is to look at both the upstream and custom example code. + +### `FlyView.qml` + +The base layer for the view is also the most complex from ui interactions and business logic. It includes the main display elements of map and video as well as the guided controls. Although you can resource override this layer it is not recommended. And if you do you better really (really) know what you are doing. The reason it is a separate layer is to make the layer above much simpler and easier to customize. + +### `FlyViewWidgetsOverlay.qml` + +This layer contains all the remaining controls of the fly view. You have the ability to hide the controls through use of [`QGCFlyViewOptions`](https://github.com/mavlink/qgroundcontrol/blob/master/src/api/QGCOptions.h). But in order to change the layout of the upstream controls you must use a resource override. If you look at the source you'll see that the controls themselves are well encapsulated such that it should not be that difficult to create your own override which repositions them and/or adds your own ui. While maintaining a connection to the upstream implementaions of the controls. + +### `FlyViewCustomLayer.qml` + +This provides the simplest customization ability to the Fly View. Allowing you the add ui elements which are additive to the existing upstream controls. The upstream code adds no ui elements and is meant to be the basis for your own custom code used as a resource override for this qml. The custom example code provides you with an example of how to do it. + +## Recommendations + +### Simple customization + +The best place to start is using a custom layer override plus turning off ui elements from the widgets layer (if needed). I would recommend trying to stick with only this if at all possible. It provides the greatest abilty to not get screwed by upstream changes in the layers below. + +### Moderate complexity customization + +If you really need to reposition upstream ui elements then your only choice is overriding `FlyViewWidgetsOverlay.qml`. By doing this you are distancing yourself a bit from upstream changes. Although you will still get changes in the upstream controls for free. If there is a whole new control added to the fly view upstream you won't get it until you add it to your own override. + +### Highly complex customization + +The last and least recommended customization mechanism is overriding `FlyView.qml`. By doing this you are distancing yourself even further from getting upstream changes for free. diff --git a/docs/ko/docs/en/qgc-dev-guide/custom_build/mavlink.md b/docs/ko/docs/en/qgc-dev-guide/custom_build/mavlink.md new file mode 100644 index 00000000000..6fa5d685d9f --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/custom_build/mavlink.md @@ -0,0 +1,15 @@ +# MAVLink Customisation + +QGC communicates with flight stacks using [MAVLink](https://mavlink.io/en/), a very lightweight messaging protocol that has been designed for the drone ecosystem. + +QGC includes the [all.xml](https://mavlink.io/en/messages/all.html) dialect by default. The `all.xml` includes all other dialects in the [mavlink/mavlink](https://github.com/mavlink/mavlink/tree/master/message_definitions/v1.0) repository, and allows it to communicate with both PX4 and Ardupilot. +Previous versions of QGC (v4.2.8 and earlier), used the `ArduPilotMega.xml` dialect. + +In order to add support for a new set of messages you should add them to [development.xml](https://mavlink.io/en/messages/development.html), [ArduPilotMega.xml](https://mavlink.io/en/messages/ardupilotmega.html), or [common.xml](https://mavlink.io/en/messages/common.html) (for PX4), or fork _QGroundControl_ and include your own dialect. + +To modify the version of MAVLink used by QGC: + +- Replace the pre-build C library at [/qgroundcontrol/libs/mavlink/include/mavlink](https://github.com/mavlink/qgroundcontrol/tree/master/libs/mavlink/include/mavlink). + - By default this is a submodule importing https\://github.com/mavlink/c\_library\_v2 + - You can change the submodule, or [build your own libraries](https://mavlink.io/en/getting_started/generate_libraries.html) using the MAVLink toolchain. +- You can change the whole dialect used by setting it in [`MAVLINK_CONF`](https://github.com/mavlink/qgroundcontrol/blob/master/QGCExternalLibs.pri#L52) when running _qmake_. diff --git a/docs/ko/docs/en/qgc-dev-guide/custom_build/plugins.md b/docs/ko/docs/en/qgc-dev-guide/custom_build/plugins.md new file mode 100644 index 00000000000..5bbc45c97c4 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/custom_build/plugins.md @@ -0,0 +1,7 @@ +# Custom Build Plugins + +The mechanisms for customizing QGC for a custom build is through the existing `FirmwarePlugin`, `AutoPilotPlugin` and `QGCCorePlugin` architectures. By creating subclasses of these plugins in your custom build you can change the behavior of QGC to suit your needs without needed to modify the upstream code. + +## QGCCorePlugin + +This allows you to modify the parts of QGC which are not directly related to vehicle but are related to the QGC application itself. This includes things like application settings, color palettes, branding and so forth. diff --git a/docs/ko/docs/en/qgc-dev-guide/custom_build/release_branching_process.md b/docs/ko/docs/en/qgc-dev-guide/custom_build/release_branching_process.md new file mode 100644 index 00000000000..41e143a59f1 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/custom_build/release_branching_process.md @@ -0,0 +1,44 @@ +# Release Process for Custom Builds \[WIP Docs] + +One of the trickier aspects of creating your own custom build is the process to keep it up to date with regular QGC. This document describes a suggested process to follow. But in reality you are welcome to use whatever branching and release strategy you want for your custom builds. + +## Upstream QGC release/branching strategy + +The best place to start is understanding the mechanism QGC uses to do it's own releases. We will layer a custom build release process on top of that. You can find standard QGC [release process here](../release_branching_process.md). + +## Custom build/release types + +Regular QGC has two main build types: Stable and Daily. The build type for a custom build is more complex. Throughout this discussion we will use the term "upstream" to refer to the main QGC repo (https\://github.com/mavlink/qgroundcontrol). Also when we talk about a "new" upstream stable release, this means a major/minor release, not a patch release. + +### Synchronized Stable + +This type of release is synchronized with the release of an upstream stable. Once QGC releases stable you then release a version of your custom build which is based on this stable. This build will include all the new features from upstream including the new feature in your own custom code. + +### Out-Of-Band Stable + +This a subsequent release of your custom build after you have released a synchronized stable but prior to upstream releasing a new stable. It only includes new features from your own custom build and include no new features from upstream. Work on this type of release would occur on a branch which is either based on your latest synchronized stable or your last out of band release if it exists. You can release out of band stable releases at any time past your first synchronized stable release. + +### Daily + +Your custom daily builds are built from your `master` branch. It is important to keep your custom master up to date with QGC master. If you lag behind you may be surprised by upstream features which require some effort to integrate with your build. Or you may even require changes to "core" QGC in order to work with your code. +If you don't let QGC development team know soon enough, it may end up being too late to get things changed. + +## Options for your first build + +### Starting with a Synchronized Stable release + +It is suggested that you start with releasing a Synchronized Stable. This isn't necessary but it is the simplest way to get started. To set your self up for a synchronized stable you create your own branch for development which is based on the upstream current stable. + +### Starting with Daily builds + +The reason why you may consider this as your starting point is because you need features which are only in upstream master for your own custom builds. In this case you will have to live with releasing custom Daily builds until the next upstream stable. At which point you would release you first Synchronized Stable. For this setup you use your master branch and keep it in sync with upstream master as you develop. + +## After you release your first Synchronized Stable + +### Patch Releases + +As upstream QGC does patch releases on Stable you should also release your own patch releases based on upstream to keep your stable up to date with latest criticial bug fixes. + +### Out-Of-Band, Daily: One or the other or both? + +At this point you can decide which type of releases you want to follow. You can also decide to possibly do both. You can do smaller new features which don't require new upstream features using out of band releases. And you can do major new feature work as daily/master until the point you can do a new synchronized stable. diff --git a/docs/ko/docs/en/qgc-dev-guide/custom_build/resource_override.md b/docs/ko/docs/en/qgc-dev-guide/custom_build/resource_override.md new file mode 100644 index 00000000000..2c8fa94eba1 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/custom_build/resource_override.md @@ -0,0 +1,24 @@ +# Resource Overrides + +A "resource" in QGC source code terminology is anything found in the [qgroundcontrol.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgroundcontrol.qrc) and [qgcresources.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgcresources.qrc) file. By overriding a resource you can replace it with your own version of it. This could be as simple as a single icon, or as complex as replacing an entire Vehicle Setup page of qml ui code. + +Be aware that using resource overrides does not isolate you from upstream QGC changes like the plugin architecture does. In a sense you are directly modify the upstream QGC resources used by the main code. + +## Exclusion Files + +The first step to overriding a resource is to "exclude" it from the standard portion of the upstream build. This means that you are going to provide that resource in your own custom build resource file(s). There are two files which achieve this: qgroundcontrol.exclusion and [qgcresources.exclusion](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/qgcresources.exclusion). They correspond directly with the \*.qrc counterparts. In order to exclude a resource, copy the resource line from the .qrc file into the appropriate .exclusion file. + +## Custom version of excluded resources + +You must include the custom version of the overriden resouce in you custom build resource file. The resource alias must exactly match the upstream alias. The name and actual location of the resource can be anywhere within your custom directory structure. + +## Generating the new modified versions of standard QGC resource file + +This is done using the `updateqrc.py` python script. It will read the upstream `qgroundcontrol.qrc` and `qgcresources.qrc` file and the corresponding exclusion files and output new versions of these files in your custom directory. These new versions will not have the resources you specified to exclude in them. The build system for custom builds uses these generated files (if they exist) to build with instead of the upstream versions. The generated version of these file should be added to your repo. Also whenever you update the upstream portion of QGC in your custom repo you must re-run `python updateqrc.py` to generate new version of the files since the upstream resources may have changed. + +## Custom Build Example + +You can see an examples of custom build qgcresource overrides in the repo custom build example: + +- [qgcresources.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/qgcresources.exclusion) +- [custom.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/custom.qrc) diff --git a/docs/ko/docs/en/qgc-dev-guide/custom_build/toolbar.md b/docs/ko/docs/en/qgc-dev-guide/custom_build/toolbar.md new file mode 100644 index 00000000000..662cb8db4ae --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/custom_build/toolbar.md @@ -0,0 +1,51 @@ +# Toolbar Customization + +The toolbar can be customized in a number of ways to fit your custom build needs. The toolbar internally is made up of a number of sections from left to right: + +- View Switching +- Indicators + - App Indicators + - Vehicle Indicators + - Vehicle Mode Indicators +- Connection Management +- Branding + +The Indicator section varies based on the view currently displayed: + +- Fly View - Shows all indicators +- Plan View - Show no indicators and has its own custom indicator section for Plan status values +- Other Views - Do not show Vehicle Mode Indicators + +## Customization Possibilities + +### Indicators + +You can add your own indicators for display or remove any of the upstream indicators. The mechanism you use depends on the indicator type. + +#### App Indicators + +These provide information to the user which is not associated with a vehicle. For example RTK status. To manipulate the list of app indicators you use `QGCPlugin::toolbarIndicators`. + +#### Vehicle Indicators + +These are indicators which are associated with information about the vehicle. They are only available when a vehicle is connected. To manipulate the list of vehicle indicators you override `FirmwarePlugin::toolIndicators`. + +#### Vehicle Mode Indicators + +These are indicators which are associated with information about the vehicle. They require additional UI provided by the Fly View to complete their actions. An example is Arming and Disarming. They are only available when a vehicle is connected. To manipulate the list of vehicle mode indicators you override `FirmwarePlugin::modeIndicators`. + +### Modifying the toolbar UI itself + +This is accomplished by using resource overrides on the qml files associated with the toolbar. This provides a high level of customization but also a higher level of complexity. The primary ui for the toolbar is in `MainToolBar.qml`. The main window code in `MainRootWindow.qml` interacts with the toolbar to show different indicator sections based on current view as well as whether the mode indicators show or not also based on current view. + +If you want full control over the toolbar then you can override `MainToolBar.qml` and make your own completely different version. You will need to pay special attention to the interactions of the main toolbar with `MainRootWindow.qml` since you are going to need to replicated those interactions in your own custom version. + +There are two standard indicator ui sections of the toolbar: + +#### `MainToolBarIndicators.qml` + +This is used for all views except Plan. It display all the indicators in a row. Although you can override this file, in reality it doesn't do much other than layout for indicators. + +#### `PlanToolBarIndicators.qml` + +This is used by the Plan view to show the status values. If you want to change that ui you can override this file and provide your own custom version. diff --git a/docs/ko/docs/en/qgc-dev-guide/fact_system.md b/docs/ko/docs/en/qgc-dev-guide/fact_system.md new file mode 100644 index 00000000000..5e7f5242d9c --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/fact_system.md @@ -0,0 +1,33 @@ +# Fact System + +The Fact System provides a set of capabilities which standardizes and simplifies the creation of the QGC user interface. + +## Fact {#fact} + +A Fact represents a single value within the system. + +## FactMetaData + +There is `FactMetaData` associated with each fact. It provides details on the Fact in order to drive automatic user interface generation and validation. + +## Fact Controls + +A Fact Control is a QML user interface control which connects to a Fact and it's `FactMetaData` to provide a control to the user to modify/display the value associated with the Fact. + +## FactGroup + +A _Fact Group_ is a group of [Facts](#fact). +It is used to organise facts and manage user defined facts. + +## Custom Build Support + +User defined facts can be added by overriding `factGroups` function of `FirmwarePlugin` in a custom firmware plugin class. +These functions return a name to fact group map that is used to identify added fact groups. +A custom fact group can be added by extending `FactGroup` class. +FactMetaDatas could be defined using the appopriate `FactGroup` constructor by providing a json file containing necessery information. + +Changing the metadata of existing facts is also possible by overriding `adjustMetaData` of `FirmwarePlugin` class. + +A fact associated with a vehicle (including facts belonging to fact groups returned in `factGroups` function of the vehicles Firmware plugin) can be reached using `getFact("factName")` or `getFact("factGroupName.factName")` + +For additional information please refer to comments in [FirmwarePlugin.h](https://github.com/mavlink/qgroundcontrol/blob/v4.0.8/src/FirmwarePlugin/FirmwarePlugin.h). diff --git a/docs/ko/docs/en/qgc-dev-guide/file_formats/index.md b/docs/ko/docs/en/qgc-dev-guide/file_formats/index.md new file mode 100644 index 00000000000..cf8a409129a --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/file_formats/index.md @@ -0,0 +1,3 @@ +# File Formats + +This section contains topics about the file formats used/supported by _QGroundControl_. diff --git a/docs/ko/docs/en/qgc-dev-guide/file_formats/mavlink.md b/docs/ko/docs/en/qgc-dev-guide/file_formats/mavlink.md new file mode 100644 index 00000000000..8a55c8289af --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/file_formats/mavlink.md @@ -0,0 +1,27 @@ +# MAVLink Log Format + +_QGroundControl_ allows you to generate plain MAVLink packet logs that can be +replayed (with QGroundControl) to watch a mission again for analysis. + +The format is binary: + +- Byte 1-8: Timestamp in microseconds since Unix epoch as unsigned 64 bit integer +- Byte 9-271: MAVLink packet (263 bytes maximum packet length, not all bytes have to be actual data, the packet might be shorter. Includes packet start sign) + +## Debugging + +To check your data, open your written file in a hex editor. You should see after 8 bytes **0x55**. The first 8 bytes should also convert to a valid timestamp, so something either close to zero or around the number **1294571828792000** (which is the current Unix epoch timestamp in microseconds). + +## C++ Sketch for logging MAVLink + +The code fragment below shows how to implement logging using [C++ streams](http://www.cplusplus.com/reference/iostream/istream/) from the C++ standard library. + +```cpp +//write into mavlink logfile +const int len = MAVLINK_MAX_PACKET_LEN+sizeof(uint64_t); +uint8_t buf[len]; +uint64_t time = getSystemTimeUsecs(); +memcpy(buf, (void*)&time, sizeof(uint64_t)); +mavlink_msg_to_send_buffer(buf+sizeof(uint64_t), msg); +mavlinkFile << buf << flush; +``` diff --git a/docs/ko/docs/en/qgc-dev-guide/file_formats/parameters.md b/docs/ko/docs/en/qgc-dev-guide/file_formats/parameters.md new file mode 100644 index 00000000000..60fd66a3638 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/file_formats/parameters.md @@ -0,0 +1,25 @@ +# Parameters File Format + +``` +# Onboard parameters for Vehicle 1 +# +# # Vehicle-Id Component-Id Name Value Type +1 1 ACRO_LOCKING 0 2 +1 1 ACRO_PITCH_RATE 180 4 +1 1 ACRO_ROLL_RATE 180 4 +1 1 ADSB_ENABLE 0 2 +``` + +Above is an example of a parameter file with four parameters. The file can include as many parameters as needed. + +Comments are preceded with a `#`. + +This header: `# MAV ID COMPONENT ID PARAM NAME VALUE` describes the format for each row: + +- `Vehicle-Id` Vehicle id +- `Component-Id` Component id for parameter +- `Name` Parameter name +- `Value` Parameter value +- `Type` Parameter type using MAVLink `MAV_PARAM_TYPE_*` enum values + +A parameter file contains the parameters for a single Vehicle. It can contain parameters for multiple components within that Vehicle. diff --git a/docs/ko/docs/en/qgc-dev-guide/file_formats/plan.md b/docs/ko/docs/en/qgc-dev-guide/file_formats/plan.md new file mode 100644 index 00000000000..914571983f2 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/file_formats/plan.md @@ -0,0 +1,489 @@ +# Plan File Format + +Plan files are stored in JSON file format and contain mission items and (optional) geo-fence and rally-points. +Below you can see the top level format of a Plan file + +:::tip +This is "near-minimal" - a plan must contain at least one mission item. +The plan fence and rally points are also used in modes when no mission is running. +::: + +```json +{ + "fileType": "Plan", + "geoFence": { + "circles": [], + "polygons": [], + "version": 2 + }, + "groundStation": "QGroundControl", + "mission": {}, + "rallyPoints": { + "points": [], + "version": 2 + }, + "version": 1 +} +``` + +The main fields are: + +| Key | Description | +| ------------------------------ | ------------------------------------------------------------------------------ | +| `version` | The version for this file. Current version is 1. | +| `fileType` | Must be `"Plan"`. | +| `groundStation` | The name of the ground station which created this file (here _QGroundControl_) | +| [`mission`](#mission) | The mission associated with this flight plan. | +| [`geoFence`](#geofence) | (Optional) Geofence information for this plan. | +| [`rallyPoints`](#rally_points) | (Optional) Rally/Safe point information for this plan | + +## Mission Object {#mission} + +The structure of the mission object is shown below. +The `items` field contains a comma-separated list of mission items (it must contain at least one mission item, as shown below). +The list may be a mix of both [SimpleItem](#mission_simple_item) and [ComplexItem](#mission_complex_item) objects. + +```json + "mission": { + "cruiseSpeed": 15, + "firmwareType": 12, + "globalPlanAltitudeMode": 1, + "hoverSpeed": 5, + "items": [ + { + "AMSLAltAboveTerrain": null, + "Altitude": 50, + "AltitudeMode": 0, + "autoContinue": true, + "command": 22, + "doJumpId": 1, + "frame": 3, + "params": [ + 15, + 0, + 0, + null, + 47.3985099, + 8.5451002, + 50 + ], + "type": "SimpleItem" + } + ], + "plannedHomePosition": [ + 47.3977419, + 8.545594, + 487.989 + ], + "vehicleType": 2, + "version": 2 + }, +``` + +The following values are required: + +| Key | Description | +| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version for the mission object. Current version is 2. | +| `firmwareType` | The firmware type for which this mission was created. This is one of the [MAV\_AUTOPILOT](https://mavlink.io/en/messages/common.html#MAV_AUTOPILOT) enum values. | +| `globalPlanAltitudeMode` | The global plan-wide altitude mode setting. This is used by plan items that don't specify an `"AltitudeMode"`. | +| `vehicleType` | The vehicle type for which this mission was created. This is one of the [MAV\_TYPE](https://mavlink.io/en/messages/common.html#MAV_TYPE) enum values. | +| `cruiseSpeed` | The default forward speed for Fixed wing or VTOL vehicles (i.e. when moving between waypoints). | +| `hoverSpeed` | The default forward speed for multi-rotor vehicles. | +| `items` | The list of mission item objects associated with the mission . The list may contain either/both [SimpleItem](#mission_simple_item) and [ComplexItem](#mission_complex_item) objects. | +| `plannedHomePosition` | The planned home position is shown on the map and used for mission planning when no vehicle is connected. The array values shown above are (from top): latitude, longitude and AMSL altitude. | + +The format of the simple and complex items is given below. + +### `SimpleItem` - Simple Mission Item {#mission\_simple\_item} + +A simple item represents a single MAVLink [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM) command. + +``` + { + "AMSLAltAboveTerrain": null, + "Altitude": 50, + "AltitudeMode": 0, + "autoContinue": true, + "command": 22, + "doJumpId": 1, + "frame": 3, + "params": [ + 15, + 0, + 0, + null, + 47.3985099, + 8.5451002, + 50 + ], + "type": "SimpleItem" + } +``` + +The field mapping is shown below. + +| Key | Description | +| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | `SimpleItem` for a simple item | +| `AMSLAltAboveTerrain` | Altitude value shown to the user. | +| `Altitude` | | +| `AltitudeMode` | | +| `autoContinue` | [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).autoContinue | +| `command` | The command ([MAV\_CMD](https://mavlink.io/en/messages/common.html#MAV_CMD)) for this mission item - see [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).command. | +| `doJumpId` | The target id for the current mission item in DO\_JUMP commands. These are auto-numbered from 1. | +| `frame` | [MAV\_FRAME](https://mavlink.io/en/messages/common.html#MAV_FRAME) (see [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).frame) | +| `params` | [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).param1,2,3,4,x,y,z (values depends on the particular [MAV\_CMD](https://mavlink.io/en/messages/common.html#MAV_CMD)). | + +### Complex Mission Item {#mission\_complex\_item} + +A complex item is a higher level encapsulation of multiple `MISSION_ITEM` objects treated as a single entity. + +There are currently three types of complex mission items: + +- [Survey](#survey) +- [Corridor Scan](#corridor_scan) +- [Structure Scan](#structure_scan) + +#### Survey - Complex Mission Item {#survey} + +The object definition for a `Survey` complex mission item is given below. + +``` +{ + "TransectStyleComplexItem": { + ... + }, + "angle": 0, + "complexItemType": "survey", + "entryLocation": 0, + "flyAlternateTransects": false, + "polygon": [ + [ + -37.75170619863631, + 144.98414811224316 + ], + ... + [ + -37.75170619863631, + 144.99457681259048 + ] + ], + "type": "ComplexItem", + "version": 4 + }, +``` + +Complex items have these values associated with them: + +| Key | Description | +| ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version number for this `survey` definition. Current version is 3. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `survey` | +| [`TransectStyleComplexItem`](#TransectStyleComplexItem) | The common base definition for Survey and CorridorScan complex items. | +| `angle` | The angle for the transect paths (degrees). | +| `entryLocation` | ? | +| `flyAlternateTransects` | If true, the vehicle will skip every other transect and then come back at the end and fly these alternates. This can be used for fixed wing aircraft when the turnaround would be too acute for the vehicle to make the turn. | +| `polygon` | The polygon array which represents the polygonal survey area. Each point is a latitude, longitude pair for a polygon vertex. | + +#### Corridor Scan {#corridor\_scan} + +The object definition for a `CorridorScan` complex mission item is given below. + +``` + { + "CorridorWidth": 50, + "EntryPoint": 0, + "TransectStyleComplexItem": { + ... + }, + }, + "complexItemType": "CorridorScan", + "polyline": [ + [ + -37.75234887156983, + 144.9893624624168 + ], + ... + [ + -37.75491914850321, + 144.9893624624168 + ] + ], + "type": "ComplexItem", + "version": 2 + }, +``` + +| Key | Description | +| ------------------------------------------------------- | --------------------------------------------------------------------- | +| `version` | The version for this `CorridorScan` definition. Current version is 3. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `CorridorScan` | +| `CorridorWidth` | ? | +| `EntryPoint` | ? | +| [`TransectStyleComplexItem`](#TransectStyleComplexItem) | The common base definition for Survey and CorridorScan complex items. | +| `polyline` | ? | + +#### Structure Scan {#structure\_scan} + +The object definition for a `StructureScan` complex mission item is given below. + +```json + { + "Altitude": 50, + "CameraCalc": { + "AdjustedFootprintFrontal": 25, + "AdjustedFootprintSide": 25, + "CameraName": "Manual (no camera specs)", + "DistanceToSurface": 10, + "DistanceToSurfaceRelative": true, + "version": 1 + }, + "Layers": 1, + "StructureHeight": 25, + "altitudeRelative": true, + "complexItemType": "StructureScan", + "polygon": [ + [ + -37.753184359536355, + 144.98879374063998 + ], + ... + [ + -37.75408368012594, + 144.98879374063998 + ] + ], + "type": "ComplexItem", + "version": 2 + } +``` + +| Key | Description | +| --------------------------- | ---------------------------------------------------------------------- | +| `version` | The version for this `StructureScan` definition. Current version is 2. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `StructureScan` | +| `Altitude` | ? | +| [`CameraCalc`](#CameraCalc) | ? | +| `Layers` | ? | +| `StructureHeight` | ? | +| `altitudeRelative` | `true`: `altitude` is relative to home, `false`: `altitude` is AMSL. | +| `polygon` | ? | + +#### `TransectStyleComplexItem` {#TransectStyleComplexItem} + +`TransectStyleComplexItem` contains the common base definition for [`survey`](#survey) and [`CorridorScan`](#CorridorScan) complex items. + +```json + "TransectStyleComplexItem": { + "CameraCalc": { + ... + }, + "CameraTriggerInTurnAround": true, + "FollowTerrain": false, + "HoverAndCapture": false, + "Items": [ + ... + ], + "Refly90Degrees": false, + "TurnAroundDistance": 10, + "VisualTransectPoints": [ + [ + -37.75161626657736, + 144.98414811224316 + ], + ... + [ + -37.75565155437309, + 144.99438539496475 + ] + ], + "version": 1 + }, +``` + +| Key | Description | +| --------------------------- | --------------------------------------------------------------------------------- | +| `version` | The version for this `TransectStyleComplexItem` definition. Current version is 1. | +| [`CameraCalc`](#CameraCalc) | ? | +| `CameraTriggerInTurnAround` | ? (boolean) | +| `FollowTerrain` | ? (boolean) | +| `HoverAndCapture` | ? (boolean) | +| `Items` | ? | +| `Refly90Degrees` | ? (boolean) | +| `TurnAroundDistance` | The distance to fly past the polygon edge prior to turning for the next transect. | +| `VisualTransectPoints` | ? | + +##### CameraCalc {#CameraCalc} + +The `CameraCalc` contains camera information used for a survey, corridor or structure scan. + +``` + "CameraCalc": { + "AdjustedFootprintFrontal": 272.4, + "AdjustedFootprintSide": 409.2, + "CameraName": "Sony ILCE-QX1", + "DistanceToSurface": 940.6896551724138, + "DistanceToSurfaceRelative": true, + "FixedOrientation": false, + "FocalLength": 16, + "FrontalOverlap": 70, + "ImageDensity": 25, + "ImageHeight": 3632, + "ImageWidth": 5456, + "Landscape": true, + "MinTriggerInterval": 0, + "SensorHeight": 15.4, + "SensorWidth": 23.2, + "SideOverlap": 70, + "ValueSetIsDistance": false, + "version": 1 + }, +``` + +| Key | Description | +| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version for this `CameraCalc` definition. Current version is 1. | +| `AdjustedFootprintFrontal` | ? | +| `AdjustedFootprintSide` | ? | +| `DistanceToSurface` | ? Units? | +| `DistanceToSurfaceRelative` | ? | +| `CameraName` | Name of camera being used (must correspond to one of the cameras known to _QGroundControl_ or: `Manual (no camera specs)` for manual setup, `Custom Camera` for a custom setup. The keys listed after this point are not specified for a "Manual" camera definition. | +| `FixedOrientation` | ? (boolean) | +| `FocalLength` | Focal length of camera lens in millimeters. | +| `FrontalOverlap` | Percentage of frontal image overlap. | +| `ImageDensity` | ? | +| `ImageHeight` | Image height in px | +| `ImageWidth` | Image width in px | +| `Landscape` | `true`: Camera installed in landscape orientation on vehicle, `false`: Camera installed in portrait orientation on vehicle. | +| `MinTriggerInterval` | ? | +| `SensorHeight` | Sensor height in millimeters. | +| `SensorWidth` | Sensor width in millimeters. | +| `SideOverlap` | Percentage of side image overlap. | +| `ValueSetIsDistance` | ? (boolean) | + +## GeoFence {#geofence} + +Geofence information is optional. +The plan can contain an arbitrary number of geofences defined in terms of polygons and circles. + +The minimal definition is shown below. + +```json + "geoFence": { + "circles": [ + ], + "polygons": [ + ], + "version": 2 + }, +``` + +The fields are: + +| Key | Description | +| ------------------------------- | ----------------------------------------------------------------------------- | +| `version` | The version number for the geofence plan format. The documented version is 2. | +| [`circles`](#circle_geofence) | List containing circle geofence definitions (comma separated). | +| [`polygons`](#polygon_geofence) | List containing polygon geofence definitions (comma separated). | + +### Circle Geofence {#circle\_geofence} + +Each circular geofence is defined in a separate item, as shown below (multiple comma-separated items can be defined). +The items define the centre and radius of the circle, and whether or not the specific geofence is activated. + +```json +{ + "circle": { + "center": [47.39756763610029, 8.544649762407738], + "radius": 319.85 + }, + "inclusion": true, + "version": 1 +} +``` + +The fields are: + +| Key | Description | +| ----------- | -------------------------------------------------------------------------------------------------- | +| `version` | The version number for the geofence "circle" plan format. The documented version is 1. | +| `circle` | The definition of the circle. Includes `centre` (latitude, longitude) and `radisu` as shown above. | +| `inclusion` | Whether or not the geofence is enabled (true) or disabled. | + +### Polygon Geofence {#polygon\_geofence} + +Each polygon geofence is defined in a separate item, as shown below (multiple comma-separated items can be defined). +The geofence includes a set of points defined with a clockwise winding (i.e. they must enclose an area). + +```json + { + "inclusion": true, + "polygon": [ + [ + 47.39807773798406, + 8.543834631785785 + ], + [ + 47.39983519888905, + 8.550024648373267 + ], + [ + 47.39641100087146, + 8.54499282423751 + ], + [ + 47.395590322265186, + 8.539435808992085 + ] + ], + "version": 1 + } + ], + "version": 2 + } +``` + +The fields are: + +| Key | Description | +| ----------- | ------------------------------------------------------------------------------------------------------------------------------ | +| `version` | The version number for the geofence "polygon" plan format. The documented version is 2. | +| `polygon` | A list of points for the polygon. Each point contains a latitude and longitude. The points are ordered in a clockwise winding. | +| `inclusion` | Whether or not the geofence is enabled (true) or disabled. | + +## Rally Points {#rally\_points} + +Rally point information is optional. +The plan can contain an arbitrary number of rally points, each of which has a latitude, longitude, and altitude (above home position). + +A definition with two points is shown below. + +```json + + "rallyPoints": { + "points": [ + [ + 47.39760401, + 8.5509154, + 50 + ], + [ + 47.39902017, + 8.54263274, + 50 + ] + ], + "version": 2 + } +``` + +The fields are: + +| Key | Description | +| --------- | -------------------------------------------------------------------------------- | +| `version` | The version number for the rally point plan format. The documented version is 2. | +| `points` | A list of rally points. | diff --git a/docs/ko/docs/en/qgc-dev-guide/firmware_plugin.md b/docs/ko/docs/en/qgc-dev-guide/firmware_plugin.md new file mode 100644 index 00000000000..95d0c3ddc74 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/firmware_plugin.md @@ -0,0 +1,23 @@ +# Plugin Architecture + +Although the MAVLink spec defines a standard communication protocol to communicate with a vehicle. There are many aspects of that spec that are up for interpretation by the firmware developers. Because of this there are many cases where communication with a vehicle running one firmware is be slightly different than communication with a vehicle running a different firmware in order to accomplish the same task. Also each firmware may implement a different subset of the MAVLink command set. + +Another major issue is that the MAVLink spec does not cover vehicle configuration or a common parameter set. Due to this all code which relates to vehicle setup ends up being firmware specific. Also any code which must refer to a specific parameter is also firmware specific. + +Given all of these differences between firmware implementations it can be quite tricky to create a single ground station application that can support each without having the codebase degrade into a massive pile of if/then/else statements peppered everywhere based on the firmware the vehicle is using. + +QGC uses a plugin architecture to isolate the firmware specific code from the code which is generic to all firmwares. There are two main plugins which accomplish this `FirmwarePlugin` and `AutoPilotPlugin`. + +This plugin architecture is also used by custom builds to allow ever further customization beyond when standard QGC can provide. + +## FirmwarePlugin + +This is used to create a standard interface to parts of Mavlink which are generally not standardized. + +## AutoPilotPlugin + +This is used to provide the user interface for Vehicle Setup. + +## QGCCorePlugin + +This is used to expose features of the QGC application itself which are not related to a Vehicle through a standard interface. This is then used by custom builds to adjust the QGC feature set to their needs. diff --git a/docs/ko/docs/en/qgc-dev-guide/getting_started/cent_os.md b/docs/ko/docs/en/qgc-dev-guide/getting_started/cent_os.md new file mode 100644 index 00000000000..c709b04874b --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/getting_started/cent_os.md @@ -0,0 +1,220 @@ +# Using QGC on CentOS 7 + +## OS Installation + +To install CentOS 7: + +1. Fetch the latest [CentOS 7 ISO from here](http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso) +2. Make a bootable USB stick out of the ISO e.g. by [following this guide](https://linuxize.com/post/how-to-create-a-bootable-centos-7-usb-stick/). +3. Boot the target device from the stick. + +The following examples show how to boot the target device from the stick. + +**Example:** _Panasonic Toughpad FZ-M1_ (attaching a keyboard and mouse to the device to follow this guide is recommended). + +1. Enter the BIOS menu by holding **Delete** on an attached USB keyboard or pressing all hardware buttons around the power button during boot. +2. Once inside the BIOS switch to the _Exit_ tab using the arrow keys or the touchscreen. +3. Select your previously created and plugged in USB stick under Boot device override. + +**Example** [UAV Components Micronav](https://www.uavcomp.com/command-control/micronav/) device: + +1. The setup of CentOS will not start with the default configuration. + To solve this + 1. Go to the BIOS menu as explained in the example above. + 2. Disable the "Extension Port" device under the "Advanced" tab. + 3. "Exit and save" the BIOS menu on the Exit page of the BIOS and try again. + 4. After CentOS is installed, you revert the changes again so that the Microhard network works. +2. Make sure to never do a warm reboot but always first shut down the device if you want to reboot into Linux. + Otherwise the Microhard network adapter will not work properly and slows down the whole system. + +### CentOS Software Selection Installation Options + +These were the options used to setup a CentOS development system. +Use it as a guideline. + +![CentOS Installation](../../../assets/dev_getting_started/centos/centos_installation.png) + +![CentOS Software Selection](../../../assets/dev_getting_started/centos/centos_sw_selection.png) + +### Update GStreamer + +Once CentOS is installed and booted we need to set up the environment for QGC. +First, we need to update GStreamer to a more recent version. +This guide follows Alice Wonder's tips found here: https\://media.librelamp.com + +``` +sudo yum install epel-release -y +wget http://awel.domblogger.net/7/media/x86_64/awel-media-release-7-6.noarch.rpm +sudo yum localinstall awel-media-release-7-6.noarch.rpm -y +sudo yum clean all +sudo yum update +sudo yum install gstreamer1* --skip-broken -y +``` + +**Note:** Make sure these are installed (vaapi for Intel GPUs) + +``` +sudo yum install gstreamer1-vaapi +sudo yum install gstreamer1-libav +``` + +**Note:** Install these to enable hardware accelerated video decoding + +``` +sudo yum install libva +sudo yum install libva-utils +sudo yum install libva-intel-driver +``` + +If libva-intel-driver is not found you can download it and install it manually + +``` +wget http://download1.rpmfusion.org/free/el/updates/7/x86_64/l/libva-intel-driver-1.8.3-4.el7.x86_64.rpm +sudo yum localinstall libva-intel-driver-1.8.3-4.el7.x86_64.rpm -y +``` + +### Installing SDL2 + +SDL2 is used for joystick support. + +``` +sudo yum install SDL2 SDL2-devel -y +``` + +### Update Kernel (optional) + +:::tip +If your Joystick gets recognized and shows up as `/dev/input/js0` when you run the command `/dev/input/*` you can skip this step. +::: + +We recommend updating the kernel for: + +- Better touch screen responsiveness. +- Correct recognition of some USB devices - in particular joysticks. + +The following joysticks are known not do work out of the box with the default CentOS 7 kernel (3.10.0): + +- Logitech F310 +- Microsoft Xbox 360 controller (USB) + +To fix the joystick not being recognized (even if the same unit is working under Windows or Ubuntu) please [follow this guide to update the kernel](https://www.howtoforge.com/tutorial/how-to-upgrade-kernel-in-centos-7-server/). + +Here's a short summary of the commands that you need to execute to update the kernel: + +``` +sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org +sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm +sudo yum --enablerepo=elrepo-kernel install kernel-ml -y +``` + +Reboot your device afterwards and make sure the new kernel version shows up as the default start option in the GRUB menu on boot. + +:::info +You might need to disable secure boot in the BIOS to allow the new kernel to be booted. +::: + +## Running QGC on CentOS + +Before launching QGC, you need to make sure the current user has access to the dialout group (serial port access permission): + +``` +sudo usermod -a -G dialout $USER +``` + +### Firewall + +The default firewall security level of Red Hat distributions like CentOS block MAVLink communication and also the camera video stream. +So you need to create rules to open the incoming ports for MAVLink and camera stream. +For non-production local environment testing purposes ONLY you can temporarily disable the firewall using the following commands ([from here](https://www.liquidweb.com/kb/how-to-stop-and-disable-firewalld-on-centos-7/)): + +Temporary: + +``` +systemctl stop firewalld +``` + +Permanent (at your own risk): + +``` +systemctl disable firewalld +``` + +Undo permanent change: + +``` +systemctl enable firewalld +``` + +### Connection problems with multiple networks + +In our test with CentOS we had problems when connecting to multiple networks through multiple network devices even with appropriate IP address and subnet assignment. + +Issues consisted of: + +- Losing Internet access when connecting to a second network +- Having flaky connection to the vehicle with a lot of hiccups and packet losses (e.g. 30 seconds perfect connection 4 seconds of packet loss in a regular pattern) + +If you face any of these problems avoid them by only connecting one network at a time e.g. switching between WiFi and Microhard. + +### Executing a Prebuilt QGC Binary + +- Get hold of an archive containing a prebuilt binary of QGC for CentOS. + At the moment there is no automatic deployment for this build if you urgently need one get in touch with the developers. +- [Unpack the archive](https://www.hostdime.com/kb/hd/command-line/how-to-tar-untar-and-zip-files). +- Go inside the unpacked files and locate the script named `qgroundcontrol-run.sh` +- Run it by executing the command + ``` + ./qgroundcontrol-run.sh + ``` + +## Building QGC on CentOS + +### Installing Qt + +``` +mkdir ~/devel +cd ~/devel +``` + +Install Qt 5.12.4 from the Qt installation script that can be downloaded [here](https://www.qt.io/download-thank-you?os=linux\&hsLang=en). +Once downloaded, make it executable and run it: + +``` +chmod +x qt-unified-linux-x64-3.1.1-online.run +./qt-unified-linux-x64-3.1.1-online.run +``` + +Select the following options and install it under `~/devel/Qt`: + +![Qt Software Selection](../../../assets/dev_getting_started/centos/qt_setup.png) + +### Clone and Build QGC + +``` +git clone --recursive https://github.com/mavlink/qgroundcontrol.git +mkdir build +cd build +``` + +For a debug/test build: + +``` +../Qt/5.12.4/gcc_64/bin/qmake ../qgroundcontrol/qgroundcontrol.pro -spec linux-g++ CONFIG+=debug +``` + +For a release build: + +``` +../Qt/5.12.4/gcc_64/bin/qmake ../qgroundcontrol/qgroundcontrol.pro -spec linux-g++ CONFIG+=qtquickcompiler +``` + +Build it: + +``` +make -j4 +``` + +You can alternatively launch _QtCreator_ (found under `~/devel/Qt/Tools/QtCreator/bin/qtcreator`), load the `qgroundcontro.pro` project and build/debug from within its IDE. + +By default, this will build the regular QGC. +To build the sample, customized UI version, follow [these instructions](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/README.md). diff --git a/docs/ko/docs/en/qgc-dev-guide/getting_started/container.md b/docs/ko/docs/en/qgc-dev-guide/getting_started/container.md new file mode 100644 index 00000000000..3bdda672439 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/getting_started/container.md @@ -0,0 +1,81 @@ +# Building using Containers + +The community created a docker image that makes it much easier to build a Linux-based QGC application. +This can give you a massive boost in productivity and help with testing. + +## About the Container + +The Container is located in the `./deploy/docker` directory. +It's based on ubuntu 20.04. +It pre-installs all the dependencies at build time, including Qt, thanks to a script located in the same directory, `install-qt-linux.sh`. +The main advantage of using the container is the usage of the `CMake` build system and its many improvements over `qmake` + +## Building the Container + +Before using the container, you have to build the image. +You can accomplish this using docker, running the following script from the root of the QGC source code directory. + +``` +docker build --file ./deploy/docker/Dockerfile-build-linux -t qgc-linux-docker . +``` + +:::info +The `-t` flag is essential. +Keep in mind this is tagging the image for later reference since you can have multiple builds of the same container +::: + +::: info +If building on a Mac computer with an M1 chip you must also specify the build option `--platform linux/x86_64` as shown: + +``` +docker build --platform linux/x86_64 --file ./deploy/docker/Dockerfile-build-linux -t qgc-linux-docker . +``` + +Otherwise you will get a build error like: + +``` +qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory +``` + +::: + +## Building QGC using the Container + +To use the container to build QGC, you first need to define a directory to save the artifacts. +We recommend you create a `build` directory on the source tree and then run the docker image using the tag provided above as follows, from the root directory: + +``` +mkdir build +docker run --rm -v ${PWD}:/project/source -v ${PWD}/build:/project/build qgc-linux-docker +``` + +::: info +If using the script to build the Linux image on a Windows host, you would need to reference the PWD differently. +On Windows the docker command is: + +``` +docker run --rm -v %cd%:/project/source -v %cd%/build:/project/build qgc-linux-docker +``` + +::: + +Depending on your system resources, or the resources assigned to your Docker Daemon, the build step can take some time. + +## Troubleshooting + +### Windows: 'bash\r': No such file or directory + +This error indicates that a Linux script is being run with Windows line endings, which might occur if `git` was configured to use Windows line endings: + +``` + > [4/7] RUN /tmp/qt/install-qt-linux.sh: +#9 0.445 /usr/bin/env: 'bash\r': No such file or directory +``` + +One fix is to force Linux line endings using the command: + +``` +git config --global core.autocrlf false +``` + +Then update/recreate your local repository. diff --git a/docs/ko/docs/en/qgc-dev-guide/getting_started/index.md b/docs/ko/docs/en/qgc-dev-guide/getting_started/index.md new file mode 100644 index 00000000000..c01c1af6e99 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/getting_started/index.md @@ -0,0 +1,238 @@ +--- +qt_version: 5.15.2 +--- + +# Getting Started + +This topic explains how to get the _QGroundControl_ source code and build it either natively or within a _Vagrant_ environment. +It also provides information about optional or OS specific functionality. + +## Daily Builds + +If you just want to test (and not debug) a recent build of _QGroundControl_ you can use the [Daily Build](https://docs.qgroundcontrol.com/en/releases/daily_builds.html). Versions are provided for all platforms. + +## Source Code + +Source code for _QGroundControl_ is kept on GitHub here: https\://github.com/mavlink/qgroundcontrol. +It is [dual-licensed under Apache 2.0 and GPLv3](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md). + +To get the source files: + +1. Clone the repo (or your fork) including submodules: + ``` + git clone --recursive -j8 https://github.com/mavlink/qgroundcontrol.git + ``` +2. Update submodules (required each time you pull new source code): + ``` + git submodule update --recursive + ``` + +:::tip +Github source-code zip files cannot be used because these do not contain the appropriate submodule source code. +You must use git! +::: + +## Build QGroundControl + +### Using Containers + +We support Linux builds using a container found on the source tree of the repository, which can help you develop and deploy the QGC apps without having to install any of the requirements on your local environment. + +[Container Guide](../getting_started/container.md) + +### Native Builds + +_QGroundControl_ builds are supported for macOS, Linux, Windows, iOS and Android. +_QGroundControl_ uses [Qt](http://www.qt.io) as its cross-platform support library and uses [QtCreator](http://doc.qt.io/qtcreator/index.html) as its default build environment. + +- **macOS:** v10.11 or higher +- **Ubuntu:** 64 bit, gcc compiler +- **Windows:** Vista or higher, [Visual Studio 2019 compiler](#vs) (64 bit) +- **iOS:** 10.0 and higher +- **Android:** Android 5.0 and later. + - Standard QGC is built against ndk version 19. + - Java JDK 11 is required. +- **Qt version:** {{ $frontmatter.qt\_version }} **(only)** + + ::: warning + **Do not use any other version of Qt!** + QGC has been thoroughly tested with the specified version of Qt ({{ $frontmatter.qt\_version }}). + There is a significant risk that other Qt versions will inject bugs that affect stability and safety (even if QGC compiles). + ::: + +For more information see: [Qt 5 supported platform list](http://doc.qt.io/qt-5/supported-platforms.html). + +:::info +Native [CentOS Builds](../getting_started/cent_os.md) are also supported, but are documented separately (as the tested environment is different). +::: + +#### Install Visual Studio 2019 (Windows Only) {#vs} + +The Windows compiler can be found here: [Visual Studio 2019 compiler](https://visualstudio.microsoft.com/vs/older-downloads/) (64 bit) + +When installing, select _Desktop development with C++_ as shown: + +![Visual Studio 2019 - Select Desktop Environment with C++](../../../assets/dev_getting_started/visual_studio_select_features.png) + +:::info +Visual Studio is ONLY used to get the compiler. Actually building _QGroundControl_ should be done using [Qt Creator](#qt-creator) or [qmake](#qmake) as outlined below. +::: + +#### Install Qt + +You **need to install Qt as described below** instead of using pre-built packages from say, a Linux distribution, because _QGroundControl_ needs access to private Qt headers. + +To install Qt: + +1. Download and run the [Qt Online Installer](http://www.qt.io/download-open-source) + - **Ubuntu:** + - Set the downloaded file to executable using: `chmod +x`. + - Install to default location for use with **./qgroundcontrol-start.sh.** If you install Qt to a non-default location you will need to modify **qgroundcontrol-start.sh** in order to run downloaded builds. + +2. In the installer _Select Components_ dialog choose: {{ $frontmatter.qt\_version }}. + + ::: info + If the version needed is not displayed, check the archive (show archive and refresh). + ::: + + Then install just the following components: + + - **Windows**: _MSVC 2019 64 bit_ + - **MacOS**: _macOS_ + - **Linux**: _Desktop gcc 64-bit_ + - All: + - _Qt Charts_ + - _Android ARMv7_ (optional, used to build Android) + + ![QtCreator Select Components (Windows)](../../../assets/dev_getting_started/qt_creator_select_components.jpg) + +3. Install Additional Packages (Platform Specific) + + - **Ubuntu:** `sudo apt-get install speech-dispatcher libudev-dev libsdl2-dev patchelf build-essential curl` + - **Fedora:** `sudo dnf install speech-dispatcher SDL2-devel SDL2 systemd-devel patchelf` + - **Arch Linux:** `pacman -Sy speech-dispatcher patchelf` + - **Android:** [Qt Android Setup](http://doc.qt.io/qt-5/androidgs.html) + + ::: info + JDK11 is required (install if needed)! + ::: + +4. Install Optional/OS-Specific Functionality + + ::: info + Optional features that are dependent on the operating system and user-installed libraries are linked/described below. + These features can be forcibly enabled/disabled by specifying additional values to qmake. + ::: + + - **Video Streaming/Gstreamer:** - see [Video Streaming](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoReceiver/README.md). + - **Airmap SDK:** - TBD. + +5. Disable platform-specific optional features that are enabled (but not installed), by default. + + ::: info + This currently applies to Airmap on Linux, which is optional but enabled by default. + ::: + + - **Ubuntu:** + - Airmap: Create a file named **user\_config.pri** (in the repo root directory) containing the text `DEFINES += DISABLE_AIRMAP`. + This can be done in a bash terminal using the command: + ``` + echo -e "DEFINES += DISABLE_AIRMAP\r\n" | tee user_config.pri + ``` + +#### Building using Qt Creator {#qt-creator} + +1. Launch _Qt Creator_ and open the **qgroundcontrol.pro** project. + +2. In the **Projects** section, select the appropriate kit for your needs: + + - **OSX:** Desktop Qt {{ $frontmatter.qt\_version }} clang 64 bit + + ::: info + iOS builds must be built using [XCode](http://doc.qt.io/qt-5/ios-support.html). + ::: + + - **Ubuntu:** Desktop Qt {{ $frontmatter.qt\_version }} GCC 64bit + + - **Windows:** Desktop Qt {{ $frontmatter.qt\_version }} MSVC2019 **64bit** + + - **Android:** Android for armeabi-v7a (GCC 4.9, Qt {{ $frontmatter.qt\_version }}) + - JDK11 is required. + You can confirm it is being used by reviewing the project setting: **Projects > Manage Kits > Devices > Android (tab) > Android Settings > _JDK location_**. + +3. Build using the "hammer" (or "play") icons: + + ![QtCreator Build Button](../../../assets/dev_getting_started/qt_creator_build_qgc.png) + +#### Build using qmake on CLI {#qmake} + +Example commands to build a default QGC and run it afterwards: + +1. Make sure you cloned the repository and updated the submodules before, see chapter _Source Code_ above and switch into the repository folder: + ``` + cd qgroundcontrol + ``` + +2. Create and enter a shadow build directory: + ``` + mkdir build + cd build + ``` + +3. Configure the build using the qmake script in the root of the repository: + ``` + qmake ../ + ``` + +4. Run make to compile and link. + To accelerate the process things you can use the `-j{number of threads}` parameter. + + ``` + make -j12 + ``` + + ::: info + You can also specify build time flags here. + For example, you could disable airmap inclusion using the command: + + ``` + DEFINES+=DISABLE_AIRMAP make build + ``` + + ::: + +5. Run the QGroundcontrol binary that was just built: + ``` + ./staging/QGroundControl + ``` + +### Vagrant + +[Vagrant](https://www.vagrantup.com/) can be used to build and run _QGroundControl_ within a Linux virtual machine (the build can also be run on the host machine if it is compatible). + +1. [Download](https://www.vagrantup.com/downloads.html) and [Install](https://www.vagrantup.com/docs/getting-started/) Vagrant +2. From the root directory of the _QGroundControl_ repository run `vagrant up` +3. To use the graphical environment run `vagrant reload` + +### Additional Build Notes for all Supported OS + +- **Parallel builds:** For non Windows builds, you can use the `-j#` option to run parellel builds. +- **Location of built files:** Individual build file results can be found in the `build_debug` or `build_release` directories. The built executable can be found in the `debug` or `release` directory. +- **If you get this error when running _QGroundControl_**: `/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version 'GLIBCXX_3.4.20' not found.`, you need to either update to the latest _gcc_, or install the latest _libstdc++.6_ using: `sudo apt-get install libstdc++6`. +- **Unit tests:** To run the [unit tests](../contribute/unit_tests.md), build in `debug` mode with `UNITTEST_BUILD` definition, and then copy `deploy/qgroundcontrol-start.sh` script into the `debug` directory before running the tests. + +## Building QGC Installation Files + +You can additionally create installation file(s) for _QGroundControl_ as part of the normal build process. + +:::tip +On Windows you will need to first install [NSIS](https://sourceforge.net/projects/nsis/). +::: + +To add support for installation file creation you need to add `CONFIG+=installer` to your project file, or when you call _qmake_. + +To do this in _Qt Creator_: + +- Open **Projects > Build > Build Steps > qmake > Additional arguments**. +- Enter `CONFIG+=installer` as shown: + ![Installer](../../../assets/dev_getting_started/qt_project_installer.png) diff --git a/docs/ko/docs/en/qgc-dev-guide/index.md b/docs/ko/docs/en/qgc-dev-guide/index.md new file mode 100644 index 00000000000..22020d391d3 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/index.md @@ -0,0 +1,68 @@ +# QGroundControl Dev Guide + +[![Releases](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases) [![Discuss](https://img.shields.io/badge/discuss-dev-ff69b4.svg)](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-developers) + +This developer guide is the best source for information if you want to build, modify or extend [QGroundControl](http://qgroundcontrol.com) (QGC). +It shows how to obtain and build the source code, explains how QGC works, and provides guidelines for contributing code to the project. + +:::tip +This part of the guide is for **developers**! +::: + +:::warning +This is an active work in progress - information should be correct, but may not be complete! +If you find that it is missing helpful information (or errors) please raise an issue. +::: + +## Design Philosophy + +QGC is designed to provide a single codebase that can run across multiple OS platforms as well as multiple device sizes and styles. + +The QGC user interface is implemented using [Qt QML](http://doc.qt.io/qt-5/qtqml-index.html). QML provides for hardware acceleration which is a key feature on lower powered devices such as tablets or phones. QML also provides features which allows us to more easily create a single user interface which can adapt itself to differing screen sizes and resolution. + +The QGC UI targets itself more towards a tablet+touch style of UI than a desktop mouse-based UI. This make a single UI easier to create since tablet style UI also tends to work fine on desktop/laptops. + +## Support {#support} + +Development questions can be raised in the [QGroundControl Developer](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-developers) discuss category. + +## Contribution + +Information about contributing, including coding styles, testing and licenses can be found in [Code Submissions](contribute/index.md). + +:::tip +We expect all contributors to adhere to the [QGroundControl code of conduct](https://github.com/mavlink/qgroundcontrol/blob/master/CODE_OF_CONDUCT.md). +This code aims to foster an open and welcoming environment. +::: + +### Coordination Call + +The developer team meets bi-weekly to discuss the highest priority issues, project coordination, and discuss any Issues, PRs, or Questions from the Community. ([Developer Call Details](contribute/dev_call.md)) + +### Translations + +We use [Crowdin](https://crowdin.com) to make it easier to manage translation for both _QGroundControl_ and the documentation. + +The translation projects (and join links) are listed below: + +- [QGroundControl](https://crowdin.com/project/qgroundcontrol) ([join](https://crwd.in/qgroundcontrol)) +- [QGroundControl User Guide](https://crowdin.com/project/qgroundcontrol-user-guide) ([join](https://crwd.in/qgroundcontrol-user-guide)) +- [QGroundControl Developer Guide](https://crowdin.com/project/qgroundcontrol-developer-guide) ([join](https://crwd.in/qgroundcontrol-developer-guide)) + +The PX4 Developer Guide contains additional information about the (common) docs/translation toolchain: + +- [Documentation](https://dev.px4.io/en/contribute/docs.html) +- [Translation](https://dev.px4.io/en/contribute/docs.html) + +## License + +_QGroundControl_ source code is [dual-licensed under Apache 2.0 and GPLv3](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md). +For more information see: [Licenses](contribute/licences.md). + +## Governance + +The QGroundControl mission planner is hosted under the governance of the [Dronecode Project](https://www.dronecode.org/). + +Dronecode Logo Linux Foundation Logo + +
 
diff --git a/docs/ko/docs/en/qgc-dev-guide/plan/mission_command_tree.md b/docs/ko/docs/en/qgc-dev-guide/plan/mission_command_tree.md new file mode 100644 index 00000000000..55441b4e3fc --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/plan/mission_command_tree.md @@ -0,0 +1,196 @@ +# Mission Command Tree + +QGC creates the user interface for editing a specific mission item command dynamically from a hierarchy of json metadata. This hierarchy is called the Mission Command Tree. This way only json metadata must be created when new commands are added. + +## Why a tree? + +The tree is needed to deal with the idosyncracies of differening firmware supporting commands differently and/or different vehicle types supporting the commands in different ways. The simplest example of that is mavlink spec may include command parameters which are not supported by all firmwares. Or command parameters which are only valid for certain vehicle types. Also in some cases a GCS may decide to hide some of the command parameters from view to end users since they are too complex or cause usability problems. + +The tree is the MissionCommandTree class: [MissionCommandTree.cc](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.cc), [MissionCommandTree.h](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.h) + +### Tree Root + +The root of the tree is json metadata which matches the mavlink spec exactly. + +Here you can see an example of the root [json](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoCommon.json#L27) for `MAV_CMD_NAV_WAYPOINT`: + +``` + { + "id": 16, + "rawName": "MAV_CMD_NAV_WAYPOINT", + "friendlyName": "Waypoint", + "description": "Travel to a position in 3D space.", + "specifiesCoordinate": true, + "friendlyEdit": true, + "category": "Basic", + "param1": { + "label": "Hold", + "units": "secs", + "default": 0, + "decimalPlaces": 0 + }, + "param2": { + "label": "Acceptance", + "units": "m", + "default": 3, + "decimalPlaces": 2 + }, + "param3": { + "label": "PassThru", + "units": "m", + "default": 0, + "decimalPlaces": 2 + }, + "param4": { + "label": "Yaw", + "units": "deg", + "nanUnchanged": true, + "default": null, + "decimalPlaces": 2 + } + }, +``` + +Note: In reality this based information should be provided by mavlink itself and not needed to be part of a GCS. + +### Leaf Nodes + +The leaf nodes then provides metadata which can override values for the command and/or remove parameters from display to the user. The full tree hierarchy is this: + +- Root - Generic Mavlink + - Vehicle Type Specific - Vehicle specific overrides to the generic spec + - Firmware Type Specific - One optional leaf node for each firmware type (PX4/ArduPilot) + - Vehicle Type Specific - One optional leaf node for each vehicel type (FW/MR/VTOL/Rover/Sub) + +Note: In reality this override capability should be part of mavlink spec and should be able to be queried from the vehicle. + +### Building the instance tree from the full tree + +Since the json metadata provides information for all firmware/vehicle type combinations the actual tree to use must be built based on the firmware and vehicle type which is being used to create a Plan. This is done through a process call "collapsing" the full tree to a firmware/vehicle specific tree ([code](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.cc#L119)). + +The steps are as follows: + +- Add the root to the instance tree +- Apply the vehicle type specific overrides to the instance tree +- Apply the firmware type specific overrides to the instance tree +- Apply the firmware/vehicle type specific overrides to the instance tree + +The resulting Mission Command Tree is then used to build UI for the Plan View item editors. In reality it is used for more than just that, there are many other places where knowing more information about a specific command id is useful. + +## Example hierarchy for `MAV_CMD_NAV_WAYPOINT` + +Let's walk through an example hierarchy for `MAV_CMD_NAV_WAYPOINT`. Root information is shown above. + +### Root - Vehicle Type Specific leaf node + +The next level of the hiearchy is generic mavlink but vehicle specific. Json files are here: [MR](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoMultiRotor.json), [FW](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoFixedWing.json), [ROVER](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoRover.json), [Sub](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoSub.json), [VTOL](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoVTOL.json). And here are the overrides for (Fixed Wings)(https\://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoFixedWing.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "4" + }, +``` + +What this does is remove the editing UI for param4 which is Yaw and not used by fixed wings. Since this is a leaf node of the root, this applies to all fixed wing vehicle no matter the firmware type. + +### Root - Firmware Type Specific leaf node + +The next level of the hiearchy are overrides which are specific to a firmware type but apply to all vehicle types. Once again lets loook at the waypoint overrides: + +[ArduPilot](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/APM/MavCmdInfoCommon.json#L6): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2" + }, +``` + +[PX4](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/PX4/MavCmdInfoCommon.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2,3" + }, +``` + +You can see that for both firmwares param2 which is acceptance radius is removed from the editing ui. This is a QGC specific decision. It is generally safer and easier to use the firmwares generic acceptance radius handling than the specify a value. So we've decided to hide it from users. + +You can also see that for PX4 param3/PassThru is removed since it is not supported by PX. + +### Root - Firmware Type Specific - Vehicle Type Specific leaf node + +The last level of the hiearchy is both firmware and vehicle type specific. + +[ArduPilot/MR](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/APM/MavCmdInfoMultiRotor.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2,3,4" + }, +``` + +Here you can see that for an ArduPilot Multi-Rotor vehicle param2/3/4 Acceptance/PassThru/Yaw are removed. Yaw for example is removed because it is not supported. Due to quirk of how this code works, you need to repeat the overrides from the lower level. + +## Mission Command UI Info + +Two classes define the metadata associated with a command: + +- MissionCommandUIInfo - Metadata for the entire command +- MissionCmdParamInfo - Metadata for a param in a command + +The source is commented with full details of the json keys which are supported. + +[MissionCommandUIInfo](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandUIInfo.h#L82): + +``` +/// UI Information associated with a mission command (MAV_CMD) +/// +/// MissionCommandUIInfo is used to automatically generate editing ui for a MAV_CMD. This object also supports the concept of only having a set of partial +/// information for the command. This is used to create overrides of the base command information. For on override just specify the keys you want to modify +/// from the base command ui info. To override param ui info you must specify the entire MissionParamInfo object. +/// +/// The json format for a MissionCommandUIInfo object is: +/// +/// Key Type Default Description +/// id int reauired MAV_CMD id +/// comment string Used to add a comment +/// rawName string required MAV_CMD enum name, should only be set of base tree information +/// friendlyName string rawName Short description of command +/// description string Long description of command +/// specifiesCoordinate bool false true: Command specifies a lat/lon/alt coordinate +/// specifiesAltitudeOnly bool false true: Command specifies an altitude only (no coordinate) +/// standaloneCoordinate bool false true: Vehicle does not fly through coordinate associated with command (exampl: ROI) +/// isLandCommand bool false true: Command specifies a land command (LAND, VTOL_LAND, ...) +/// friendlyEdit bool false true: Command supports friendly editing dialog, false: Command supports 'Show all values" style editing only +/// category string Advanced Category which this command belongs to +/// paramRemove string Used by an override to remove params, example: "1,3" will remove params 1 and 3 on the override +/// param[1-7] object MissionCommandParamInfo object +/// +``` + +[MissionCmdParamInfo](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandUIInfo.h#L25): + +``` +/// UI Information associated with a mission command (MAV_CMD) parameter +/// +/// MissionCommandParamInfo is used to automatically generate editing ui for a parameter associated with a MAV_CMD. +/// +/// The json format for a MissionCmdParamInfo object is: +/// +/// Key Type Default Description +/// label string required Label for text field +/// units string Units for value, should use FactMetaData units strings in order to get automatic translation +/// default double 0.0/NaN Default value for param. If no default value specified and nanUnchanged == true, then defaultValue is NaN. +/// decimalPlaces int 7 Number of decimal places to show for value +/// enumStrings string Strings to show in combo box for selection +/// enumValues string Values associated with each enum string +/// nanUnchanged bool false True: value can be set to NaN to signal unchanged +``` diff --git a/docs/ko/docs/en/qgc-dev-guide/release_branching_process.md b/docs/ko/docs/en/qgc-dev-guide/release_branching_process.md new file mode 100644 index 00000000000..8cff755d051 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/release_branching_process.md @@ -0,0 +1,81 @@ +# QGroundControl Release/Branching process + +## Semantic Versioning + +QGC uses semantic versioning for the version numbers associated with its releases. +Semantic versioning is a 3-component number in the format of `vX.Y.Z`, where: + +- `X` is the major version. +- `Y` is the minor version. +- `Z` is the patch version. + +## Stable Builds + +The current stable build is the highest quality build available for QGC. +[Patch releases](#patch_releases) of the stable build are regularly made to fix important issues. + +Stable builds are built from a separate branch that is named with the format: `Stable_VX.Y` (note, there is no patch number!) +The branch has one or more git tags for each patch release (with the format `vX.Y.Z`), indicating the point in the repo source code that the associated patch release was created from. + +### Patch Releases {#patch\_releases} + +A patch release contains fixes to the stable release that are important enough to _require_ an update, and are safe enough that the stable release continues to maintain high quality. + +Patch releases increment the patch version number only. + +### Patch - Development Stage + +Approved fixes to the stable release are commited to the current stable branch. +These fixes continue to queue up in the stable branch until a patch release is made (see next step). + +Commits/changes to the stable branch must also be brought over to the master branch (either through cherry pick or separate pulls). + +### Patch - Release Stage + +At the point where the decision is made to do a patch release, the release binaries are created and a new _tag_ is added to the stable branch (with the same patch release number) indicating the associated source code. + +:::info +New branches are not created for patch releases - only for major and minor releases. +::: + +## Daily Builds + +### Development Stage + +Daily builds are built from the `master` branch, and this is where all new major feature development happens. +The state of master represents either the next minor point release, or a new major version release (depending on the level of change). + +There are no git tags associated with a released daily builds. +The released daily build will always match repo HEAD. + +### Release Stage + +When the decision is made to release a new major/minor version the master branch tends to go through an intial lockdown mode. +This is where only important fixes for the release are accepted as pull requests. + +:::info +During the lockdown phase, new features are not allowed in master. +::: + +Once the level of fixes associated with the release slows down to a low level, a new stable branch is created (at this point the `master` branch can move forward again as the latest and greatest). + +Fixes continue in the stable branch until it is deemed ready to release (ideally after a short time)! +At that point the new stable branch is tagged with the new version tag and the first stable release is made. + +## Custom Builds + +A proposed strategy for branching on custom builds can be found [here](custom_build/release_branching_process.md). + +## Process to create a new Stable + +### Major/Minor Version + +1. Create a branch from master named `Stable_VX.Y` where `X` is the major version number and `Y` is the minor version number. +2. Create a tag on the HEAD of master name `dX.Y` where the minor version is one greater than the new Stable. For example if you are create a new Stable 4.2 version then the tag would be 'd4.3'. This tag is used to create the version numbers for Android daily builds. Example: `git tag -a d4.3.0 -m "QGroundControl Daily Android Version Base"`. +3. Create an annotated tag on the newly created Stable branch named `vX.Y.0` with the correct major/minor version number. Example: `git tag -a v4.2.0 -m "QGroundControl v4.2.0"`. Pushing this tag to the repo will start a build. +4. Once the build completes verify the builds are pushed up to S3 correctly and sanity check that they at least boot correctly. Location on S3 will be `https://qgroundcontrol.s3.us-west-2.amazonaws.com/latest/...`. +5. Update the `https://qgroundcontrol.s3.us-west-2.amazonaws.com/builds/latest/QGC.version.txt` text file to the latest Stable version. This will notify uses there is a new Stable available the next time they launch QGC. + +### Patch Version + +Creating a new Patch Version is the same except you skip steps 1 and 2 and in step 3 you bump the patch version number up as needed. diff --git a/docs/ko/docs/en/qgc-dev-guide/tools/index.md b/docs/ko/docs/en/qgc-dev-guide/tools/index.md new file mode 100644 index 00000000000..d2f1bd88502 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/tools/index.md @@ -0,0 +1,20 @@ +# Developer Tools + +_QGroundControl_ makes a number of tools available primarily for autopilot developers. +These ease common developer tasks including setting up simulated connections for testing, +and accessing the System Shell over MAVLink. + +:::info +[Build the source in debug mode](https://github.com/mavlink/qgroundcontrol#supported-builds) to enable these tools. +::: + +Tools include: + +- **[Mock Link](../tools/mock_link.md)** (Daily Builds only) - Creates and stops multiple simulated vehicle links. +- **[Replay Flight Data](https://docs.qgroundcontrol.com/en/app_menu/replay_flight_data.html)** - Replay a telemetry log (User Guide). +- **[MAVLink Inspector](https://docs.qgroundcontrol.com/en/app_menu/mavlink_inspector.html)** - Display received MAVLink messages/values. +- **[MAVLink Analyzer](https://docs.qgroundcontrol.com/en/app_menu/mavlink_analyzer.html)** - Plot trends for MAVLink messages/values. +- **[Custom Command Widget](https://docs.qgroundcontrol.com/en/app_menu/custom_command_widget.html)** - Load custom/test QML UI at runtime. +- **[Onboard Files](https://docs.qgroundcontrol.com/en/app_menu/onboard_files.html)** - Navigate vehicle file system and upload/download files. +- **[HIL Config Widget](https://docs.qgroundcontrol.com/en/app_menu/hil_config.html)** - Settings for HIL simulators. +- **[MAVLink Console](https://docs.qgroundcontrol.com/en/analyze_view/mavlink_console.html)** (PX4 Only) - Connect to the PX4 nsh shell and send commands. diff --git a/docs/ko/docs/en/qgc-dev-guide/tools/mock_link.md b/docs/ko/docs/en/qgc-dev-guide/tools/mock_link.md new file mode 100644 index 00000000000..bbb8878c9c2 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/tools/mock_link.md @@ -0,0 +1,33 @@ +# Mock Link + +_Mock Link_ allows you to create and stop links to multiple simulated (mock) vehicles in _QGroundControl_ debug builds. + +The simulation does not support flight, but does allow easy testing of: + +- Mission upload/download +- Viewing and changing parameters +- Testing most setup pages +- Multiple vehicle UIs + +It is particularly useful for unit testing error cases for mission upload/download. + +## Using Mock Link + +To use _Mock Link_: + +1. Create a debug build by [building the source](https://github.com/mavlink/qgroundcontrol#supported-builds). + +2. Access _Mock Link_ by selecting the _Application Settings_ icon in the top toolbar and then **Mock Link** in the sidebar: + + ![](../../../assets/dev_tools/mocklink_waiting_for_connection.jpg) + +3. The buttons in the panel can be clicked to create a vehicle link of the associated type. + + - Each time you click a button a new connection will be created. + - When there is more than one connection the multiple-vehicle UI will appear. + + ![](../../../assets/dev_tools/mocklink_connected.jpg) + +4. Click the **Stop one Mock Link** to stop the currently active vehicle. + +Using _Mock Link_ is then more or less the same as using any other vehicle, except that the simulation does not allow flight. diff --git a/docs/ko/docs/en/qgc-dev-guide/user_interface_design/controls.md b/docs/ko/docs/en/qgc-dev-guide/user_interface_design/controls.md new file mode 100644 index 00000000000..16bbca6fbed --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/user_interface_design/controls.md @@ -0,0 +1,35 @@ +# User Interface Controls + +QGC provides a base set of controls for building user interface. In general they tend to be thin layers above the base QML Controls supported by Qt which respect the QGC color palette. + +``` +import QGroundControl.Controls 1.0 +``` + +## Qt Controls + +The following controls are QGC variants of standard Qt QML Controls. They provide the same functionality as the corresponding Qt controls except for the fact that they are drawn using the QGC palette. + +- QGCButton +- QGCCheckBox +- QGCColoredImage +- QGCComboBox +- QGCFlickable +- QGCLabel +- QGCMovableItem +- QGCRadioButton +- QGCSlider +- QGCTextField + +## QGC Controls + +These custom controls are exclusive to QGC and are used to create standard UI elements. + +- DropButton - RoundButton which drops out a panel of options when clicked. Example is Sync button in Plan view. +- ExclusiveGroupItem - Used as a base Item for custom controls which supports the QML ExclusiveGroup concept. +- QGCView - Base control for all top level views in the system. Provides support for FactPanels and displaying QGCViewDialogs and QGCViewMessages. +- QGCViewDialog - Dialog which pops out from the right side of a QGCView. You can specific the accept/reject buttons for the dialog as well as the dialog contents. Example usage is when you click on a parameter and it brings up the value editor dialog. +- QGCViewMessage - A simplified version of QGCViewDialog which allows you to specify buttons and a simple text message. +- QGCViewPanel - The main view contents inside of a QGCView. +- RoundButton - A round button control which uses an image as its inner contents. +- SetupPage - The base control for all Setup vehicle component pages. Provides a title, description and component page contents area. diff --git a/docs/ko/docs/en/qgc-dev-guide/user_interface_design/font_palette.md b/docs/ko/docs/en/qgc-dev-guide/user_interface_design/font_palette.md new file mode 100644 index 00000000000..b9472025352 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/user_interface_design/font_palette.md @@ -0,0 +1,20 @@ +# Font and Palette + +QGC has a standard set of fonts and color palette which should be used by all user interface. + +``` +import QGroundControl.Palette 1.0 +import QGroundControl.ScreenTools 1.0 +``` + +## QGCPalette + +This item exposes the QGC color palette. There are two variants of this palette: light and dark. The light palette is meant for outdoor use and the dark palette is for indoor. Normally you should never specify a color directly for UI, you should always use one from the palette. If you don't follow this rule, the user interface you create will not be capable of changing from a light/dark style. + +## QGCMapPalette + +The map palette is used for colors which are used to draw over a map. Due to the the different map styles, specifically satellite and street you need to have different colors to draw over them legibly. Satellite maps needs lighter colors to be seen whereas street maps need darker colors to be seen. The `QGCMapPalette` item provides a set of colors for this as well as the ability to switch between light and dark colors over maps. + +## ScreenTools + +The ScreenTools item provides values which you can use to specify font sizing. It also provides information on screen size and whether QGC is running on a mobile device. diff --git a/docs/ko/docs/en/qgc-dev-guide/user_interface_design/index.md b/docs/ko/docs/en/qgc-dev-guide/user_interface_design/index.md new file mode 100644 index 00000000000..caff40d9801 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/user_interface_design/index.md @@ -0,0 +1,11 @@ +# User Interface Design + +The main pattern for UI design in QGC is a UI page written in QML, many times communicating with a custom "Controller" written in C++. This follows a somewhat hacked variant of the MVC design pattern. + +The QML code binds to information associated with the system through the following mechanisms: + +- The custom controller +- The global `QGroundControl` object which provides access to things like the active Vehicle +- The FactSystem which provides access to parameters and in some cases custom Facts. + +Note: Due to the complexity of the QML used in QGC as well as it's reliance on communication with C++ objects to drive the ui it is not possible to use the QML Designer provided by Qt to edit QML. diff --git a/docs/ko/docs/en/qgc-dev-guide/user_interface_design/multi_device_pattern.md b/docs/ko/docs/en/qgc-dev-guide/user_interface_design/multi_device_pattern.md new file mode 100644 index 00000000000..241be1409f4 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/user_interface_design/multi_device_pattern.md @@ -0,0 +1,52 @@ +# Multi-Device Design Pattern + +QGroundControl is designed to run on multiple device types from desktop to laptop to tablet to small phone sized screens using mouse and touch. Below is the description of how QGC does it and the reasoning behind it. + +## Efficient 1 person dev team + +The design pattern that QGC development uses to solve this problem is based around making new feature development quick and allowing the code base to be testable and maintained by a very small team (let's say 1 developer as the default dev team size). The pattern to achieve this is followed very strictly, because not following it will lead to slower dev times and lower quality. + +Supporting this 1 person dev team concept leads to some tough decisions which not everyone may be happy about. But it does lead to QGC being released on many OS and form factors using a single codebase. This is something most other ground stations out there are not capable of achieving. + +What about contributors you ask? QGC has a decent amount of contributors. Can't they help move things past this 1 person dev team concept? Yes QGC has quite a few contributors. But unfortunately they come and go over time. And when they go, the code they contributed still must be maintained. Hence you fall back to the 1 person dev team concept which is mostly what has been around as an average over the last three years of development. + +## Target Device + +The priority target for QGC UI design is a tablet, both from a touch standpoint and a screen size standpoint (think 10" Samsung Galaxy tab). Other device types and sizes may see some sacrifices of visuals and/or usability due to this decision. The current order when making priority based decisions is Tablet, Laptop, Desktop, Phone (any small screen). + +### Phone sized screen support + +As specified above, at this point smaller phone sized screens are the lowest level priority for QGC. More focus is put onto making active flight level displays, such as the Fly view, more usable. Less focus is placed on Setup related views such as Setup and Plan. Those specific views are tested to be functionally usable on small screens but they may be painful to use. + +## Development tools used + +### Qt Layout controls + +QGC does not have differently coded UIs which are targeted to different screen sizes and/or form factors. In general it uses QML Layout capabilities to reflow a single set of QML UI code to fit different form factors. In some cases it provides less detail on small screen sizes to make things fit. But that is a simple visibility pattern. + +### FactSystem + +Internal to QGC is a system which is used to manage all of the individual pieces of data within the system. This data model is then connected to controls. + +### Heavy reliance on reusable controls + +QGC UI is developed from a base set of reusable controls and UI elements. This way any new feature added to a reusable control is now available throughout the UI. These reusable controls also connect to FactSystem Facts which then automatically provides appropriate UI. + +## Cons for this design pattern + +- The QGC user interface ends up being a hybrid style of desktop/laptop/tablet/phone. Hence not necessarily looking or feeling like it is optimized to any of these. +- Given the target device priority list and the fact that QGC tends to just re-layout the same UI elements to fit different form factors you will find this hybrid approach gets worse as you get farther away from the priority target. Hence small phone sized screens taking the worst hit on usability. +- The QGC reusable control set may not provide the absolute best UI in some cases. But it is still used to prevent the creation of additional maintenance surface area. +- Since the QGC UI uses the same UI code for all OSes, QGC does not follow the UI design guidelines specified by the OS itself. It has it's own visual style which is somewhat of a hybrid of things picked from each OS. Hence the UI looks and works mostly the same on all OS. Once again this means for example that QGC running on Android won't necessarily look like an android app. Or QGC running on an iPhone will not look or work like most other iPhone apps. That said the QGC visual/functional style should be understandable to these OS users. + +## Pros for this design pattern + +- It takes less time to design a new feature since the UI coding is done once using this hybrid model and control set. Layout reflow is quite capable in Qt QML and becomes second nature once you get used to it. +- A piece of UI can be functionally tested on one platform since the functional code is the same across all form factors. Only layout flow must be visually checked on multiple devices but this is fairly easily done using the mobile simulators. In most cases this is what is needed: + - Use desktop build, resizing windows to test reflow. This will generally cover a tablet sized screen as well. + - Use a mobile simulator to visually verify a phone sized screen. On OSX XCode iPhone simulator works really well. +- All of the above are critical to keeping our hypothetical 1 person dev team efficient and to keep quality high. + +## Future directions + +- Raise phone (small screen) level prioritization to be more equal to Tablet. Current thinking is that this won't happen until a 3.3 release time frame (release after current one being worked on). diff --git a/docs/ko/docs/en/qgc-dev-guide/views/fly.md b/docs/ko/docs/en/qgc-dev-guide/views/fly.md new file mode 100644 index 00000000000..a9f5a8e6c7c --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/views/fly.md @@ -0,0 +1,8 @@ +# Fly View + +- Top level QML code is in **FlightDisplayView\.qml** +- QML code communicates with `MissionController` (C++) for mission display +- Instrument widgets communicate with active Vehicle object +- Two main inner views are: + - `FlightDisplayViewMap` + - `FlightDisplayViewVideo` diff --git a/docs/ko/docs/en/qgc-dev-guide/views/index.md b/docs/ko/docs/en/qgc-dev-guide/views/index.md new file mode 100644 index 00000000000..9cf9e09ef22 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/views/index.md @@ -0,0 +1,3 @@ +# Top Level Views + +This section contains topics about the code for the top level views: settings, setup, plan and fly. diff --git a/docs/ko/docs/en/qgc-dev-guide/views/plan.md b/docs/ko/docs/en/qgc-dev-guide/views/plan.md new file mode 100644 index 00000000000..8ca6765fdf6 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/views/plan.md @@ -0,0 +1,5 @@ +# Plan View + +- Top level QML code is in [PlanView.qml](https://github.com/mavlink/qgroundcontrol/blob/master/src/plan_view/PlanView.qml) +- Main visual UI is a FlightMap control +- QML communicates with MissionController (C++) which provides the view with the mission item data and methods diff --git a/docs/ko/docs/en/qgc-dev-guide/views/settings.md b/docs/ko/docs/en/qgc-dev-guide/views/settings.md new file mode 100644 index 00000000000..8ac25ed099b --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/views/settings.md @@ -0,0 +1,4 @@ +# Settings View + +- Top level QML code is **AppSettings.qml** +- Each button loads a separate QML page diff --git a/docs/ko/docs/en/qgc-dev-guide/views/setup.md b/docs/ko/docs/en/qgc-dev-guide/views/setup.md new file mode 100644 index 00000000000..0dd51a0b157 --- /dev/null +++ b/docs/ko/docs/en/qgc-dev-guide/views/setup.md @@ -0,0 +1,5 @@ +# Setup View + +- Top level QML code implemented in **SetupView\.qml** +- Fixed set of buttons/pages: Summary, Firmware +- Remainder of buttons/pages come from AutoPilotPlugin VehicleComponent list diff --git a/docs/ko/docs/en/qgc-user-guide/analyze_view/geotag_images.md b/docs/ko/docs/en/qgc-user-guide/analyze_view/geotag_images.md new file mode 100644 index 00000000000..2b5f9547c1a --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/analyze_view/geotag_images.md @@ -0,0 +1,13 @@ +# GeoTag Images (Analyze View) + +The _GeoTag Images_ screen (**Analyze > GeoTag Images**) allows you to geotag images from a survey mission using information in the flight log. + +:::info +This feature only works with _PX4_ flight stack logs. +ArduPilot is not supported. +::: + +![Analyze View GeoTag Images](../../../assets/analyze/geotag_images.jpg) + +Select the log file, image directory and (optionally) output directory for geotagged images using the buttons provided. +Click **Start Tagging** to generate the geotagged images. diff --git a/docs/ko/docs/en/qgc-user-guide/analyze_view/index.md b/docs/ko/docs/en/qgc-user-guide/analyze_view/index.md new file mode 100644 index 00000000000..7c507283f39 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/analyze_view/index.md @@ -0,0 +1,12 @@ +# Analyze View + +The _Analyze View_ is accessed by selecting the _QGroundControl_ application menu ("Q" icon in the top left corner) and then selecting the **Analyze Tools** button (from the _Select Tool_ popup). + +![Analyze ](../../../assets/analyze/menu_analyze_tool.png) + +The view provides tools to: + +- [Download Logs](../analyze_view/log_download.md) — List, download and clear logs on the vehicle. +- [GeoTag Images (PX4)](../analyze_view/geotag_images.md) — Geotag survey mission images using the flight log (on a computer). +- [MAVLink Console (PX4)](../analyze_view/mavlink_console.md) — Access the the nsh shell running on the vehicle. +- [MAVLink Inspector](../analyze_view/mavlink_inspector.md) — Display and chart received MAVLink messages/values. diff --git a/docs/ko/docs/en/qgc-user-guide/analyze_view/log_download.md b/docs/ko/docs/en/qgc-user-guide/analyze_view/log_download.md new file mode 100644 index 00000000000..90ac5b82174 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/analyze_view/log_download.md @@ -0,0 +1,6 @@ +# Log Download (Analyze View) + +The _Log Download_ screen (**Analyze > Log Download**) is used to list (_Refresh_), +_Download_ and _Erase All_ log files from the connected vehicle. + +![Analyze View Log Download](../../../assets/analyze/log_download.jpg) diff --git a/docs/ko/docs/en/qgc-user-guide/analyze_view/mavlink_console.md b/docs/ko/docs/en/qgc-user-guide/analyze_view/mavlink_console.md new file mode 100644 index 00000000000..69c0eae0df2 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/analyze_view/mavlink_console.md @@ -0,0 +1,20 @@ +# MAVLink Console (Analyze View) + +The MAVLink Console (**Analyze > Mavlink Console**) allows you to connect to the PX4 [System Console](https://docs.px4.io/main/en/debug/system_console.html) and send commands. + +:::info +The console only works when connected to _hardware_ running the _PX4_ flight stack. +PX4 SITL and ArduPilot are not supported. +::: + +:::tip +This is a very useful feature for developers as it allows deep access to the system. In particular, if you are connected via Wifi, you can have this same level of access while the vehicle is flying. +::: + +![Analyze View MAVLink Console](../../../assets/analyze/mavlink_console.jpg) + +The view does not display any output except in response to commands. +Once the vehicle is connected, you can enter commands in the bar provided (for a full list of available commands enter: `?`). + +Command output is displayed in the view above the command bar. +Click **Show Latest** to jump to the bottom of the command output. diff --git a/docs/ko/docs/en/qgc-user-guide/analyze_view/mavlink_inspector.md b/docs/ko/docs/en/qgc-user-guide/analyze_view/mavlink_inspector.md new file mode 100644 index 00000000000..127fc65ce6a --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/analyze_view/mavlink_inspector.md @@ -0,0 +1,42 @@ +# MAVLink Inspector + +The _MAVLink Inspector_ provides real-time information and charting of MAVLink traffic received by _QGroundControl_. + +:::warning +This feature is intended primarily for **autopilot developers**/**vehicle creators**. +It is only supported on desktop builds (Windows, Linux, Mac OS). +::: + +![MAVLink inspector](../../../assets/analyze/mavlink_inspector/mavlink_inspector.jpg) + +The inspector lists all received messages for the current vehicle, along with their source component id and update frequency. +You can drill down into individual messages to get the message id, source component id, and the values of all the individual fields. +You can also chart field values in real time, selecting multiple fields from multiple messages to display on one of two charts. + +To use the _MAVLink Inspector_: + +1. Open _Analyze View_ by selecting the _QGroundControl_ application menu ("Q" icon in top left corner) and then choosing the **Analyze Tools** button (from the _Select Tool_ popup). + ![Analyze ](../../../assets/analyze/menu_analyze_tool.png) + +2. Select the **MAVLink Inspector** from the sidebar. + + ![MAVLink inspector menu](../../../assets/analyze/mavlink_inspector/mavlink_inspector_menu.jpg) + + The view will start populating with messages as they are received. + +3. Select a message to see its fields and their (dynamically updating) value: + + ![MAVLink inspector: message detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_message_details.jpg) + +4. Add fields to charts by enabling the adjacent checkboxes (plot 1 is displayed below plot 2). + + ![MAVLink inspector: chart fields detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_plot1.jpg) + + - Fields can be added to only one chart. + + - A chart can have multiple fields, and fields from multiple messages (these are listed above each chart). + Messages containing fields that are being charted are highlighted with an asterisk. + + ![MAVLink inspector: chart fields detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_charted_messages.jpg) + + - The _Scale_ and _Range_ are set to sensible values, but can be modified if needed. diff --git a/docs/ko/docs/en/qgc-user-guide/fly_view/fly_view.md b/docs/ko/docs/en/qgc-user-guide/fly_view/fly_view.md new file mode 100644 index 00000000000..4e0edc42877 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/fly_view/fly_view.md @@ -0,0 +1,437 @@ +# Fly View + +The Fly View is used to command and monitor the vehicle when flying. + +You can use it to: + +- Run an automated [pre-flight checklist](#preflight_checklist). +- Arm the vehicle (or check why it won't arm). +- Control missions: [start](#start_mission), [continue](#continue_mission), [pause](#pause), and [resume](#resume_mission). +- Guide the vehicle to [arm](#arm)/[disarm](#disarm)/[emergency stop](#emergency_stop), [takeoff](#takeoff)/[land](#land), [change altitude](#change_altitude), [go to](#goto) or [orbit](#orbit) a particular location, and [return/RTL](#rtl). +- Switch between a map view and a video view (if available) +- Display video, mission, telemetry, and other information for the current vehicle, and also switch between connected vehicles. + +![Fly View](../../../assets/fly/fly_view_overview.jpg) + +## UI Overview + +The screenshot above shows the main elements of the fly view: + +- **Map:** Displays the positions of all connected vehicles and the mission for the current vehicle. + - You can drag the map to move it around (the map automatically re-centres after a certain amount of time). + - Once flying, you can click on the map to set a [Go to](#goto) or [Orbit at](#orbit) location. +- **Fly Toolbar:** Key status information for sensors (GPS, battery, RC control), and vehicle state (Flight mode, Armed/Disarmed status). + - Select the sensor indicators to view more detail. + - Press the _Flight mode_ text (e.g. "Hold") to select a new mode. + Not every mode may be available. + - The text next to the **Q** icon indicates the flight readiness using text: "Not Ready", "Ready to Fly", "Flying", and status using colour: "green" (all good!), amber (a warning), red (serious problem). + Select the text when the background is amber or red to find out the cause of any preflight issues (QGC 4.2.0 and later). + You can also select the text to reach a button to arm/disarm/emergency-stop the vehicle. +- **Fly tools:** You can use these to: + - Toggle between takeoff/land. + - Pause/restart the current operation (e.g. landing, or the mission). + - Safety return (also known as RTL or Return). + - The _Action_ button offers other appropriate options for the current state (these overlay the _Confirmation Slider_). + Actions include changing the altitude or continuing a mission. + - Enable the [preflight checklist](#preflight_checklist) (tool option disabled by default). +- **[Instrument Panel](#instrument_panel):** A widget that displays vehicle telemetry. +- **Attitude/Compass**: A widget that provides virtual horizon and heading information. +- **Camera Tools**: A widget for switching between still and video modes, starting/stopping capture, and controlling camera settings. +- **[Video/Switcher](#video_switcher):** Toggle between video or map in a window. + - Press the element to switch _Video_ and _Map_ to foreground. + - _QGroundControl_ supports RTP and RTSP video streaming over your vehicles UDP connection. + It also supports directly connected UVC devices. + QGC video support is further discussed in the [Video README](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoStreaming/README.md). + - A [Telemetry Overlay](../fly_view/video_overlay.md) is automatically generated as a subtitle file +- **Confirmation Slider:** Context sensitive slider to confirm requested actions. + Slide to start operation. Press **X** to cancel. + +There are a number of other elements that are not displayed by default/are only displayed in certain conditions. +For example, the multi-vehicle selector is only displayed if you have multiple vehicles, and the preflight checklist tool button is only displayed if the appropriate setting is enabled. + +## Instrument Panel (Telemetry) {#instrument\_panel} + +The instrument panel displays telemetry information about the current vehicle. + +![Instrument Panel - for values/telemetry](../../../assets/fly/instrument_panel/instrument_panel_default_values.png) + +The default values include altitude (relative to the home location), horizontal and vertical speed, total flight time, and distance between vehicle and ground station. + +You can configure where the information is displayed by hovering over the panel and selecting the left-side square tool. +This toggles the position of the panel between bottom centre and right-centre. + +![Instrument Panel - hover for move/edit tools](../../../assets/fly/instrument_panel/instrument_panel_tools_move_edit.png) + +You configure what information is display by selecting the edit/pencil icon. +The grid will then display "+" and "-" icons that you can use to add or remove rows and columns (and the pencil icon is replaced by a "lock" icon that you can use to save the settings). + +![Instrument Panel - add rows/columns](../../../assets/fly/instrument_panel/instrument_panel_tools_edit_on.png) + +Select a value to launch its "Value Display" editor. +This allows you to change the icon, text, size, units and so on of the current telemetry value. + +![Instrument Panel - edit a value](../../../assets/fly/instrument_panel/instrument_panel_tools_edit_value.png) + +The selection list on the top left is used to change the source of the telemetry. +By default this is the vehicle, but you can use the selector to choose a particular sensor type. + +![Instrument Panel - value type](../../../assets/fly/instrument_panel/instrument_panel_edit_value_type.png) + +The selection list on the top right is used to select a particular telemetry value for the vehicle or sensor. + +![Instrument Panel - value options](../../../assets/fly/instrument_panel/instrument_panel_edit_value_options.png) + +### Camera {#camera\_instrument\_page} + +The camera panel is used to capture still images and video, and to configure the camera. + +![Camera Panel](../../../assets/fly/camera_panel/camera_mavlink.png) + +The camera capture and configuration options depend on the connected camera. +The configuration options are selected using the panel gear icon. +The configuration for a simple autopilot-connected camera are shown below. + +![Camera Panel - minimal settings](../../../assets/fly/camera_panel/camera_settings_minimal.png) + +When connected to camera that supports the [MAVLink Camera Protocol](https://mavlink.io/en/services/camera.html) you can additionally configure and use other camera services that it makes available. +For example, if your camera supports video mode you will be able to switch between still image capture and video mode, and start/stop recording. + +![Camera Panel - MAVLink settings](../../../assets/fly/camera_panel/camera_settings_mavlink.png) + +::: info +Most of the settings that are displayed depend on the camera (they are defined in its [MAVLink Camera Definition File](https://mavlink.io/en/services/camera_def.html)). + +> A few common settings at the end are hard-coded: Photo Mode (Single/Time Lapse), Photo Interval (if Time Lapse), Reset Camera Defaults (sends a reset command to the camera), Format (storage) +> ::: + +### Video Stream {#video\_instrument\_page} + +The video page is used to enable/disable video streaming. +When enabled, you can start/stop the video stream, enable a grid overlay, change how the image fits the screen, and record the video locally with QGC. + +![Instrument Page - Video Stream](../../../assets/fly/instrument_page_video_stream.jpg) + +## Actions/Tasks + +The following sections describe how to perform common operations/tasks in the Fly View. + +::: info +Many of the available options depend on both the vehicle type and its current state. +::: + +### Pre Flight Checklist {#preflight\_checklist} + +An automated preflight checklist can be used to run through standard checks that the vehicle is configured correctly and it is safe to fly. + +To view the checklist, first enable the tool by navigating to [Application Settings > General > Fly View](../settings_view/general.md) and selecting the **Use preflight checklist** checkbox. +The tool will then be added to the _Flight Tools_. +Press it to open the checklist: + +![Pre Flight Checklist](../../../assets/fly/pre_flight_checklist.jpg) + +Once you have performed each test, select it on the UI to mark it as complete. + +### Arming and Preflight Checks {#arm} + +Arming a vehicle starts the motors in preparation for takeoff. +You will only be able to arm the vehicle if it is safe and ready to fly. + +:::tip +Generally, if the vehicle is ready to arm, _QGroundControl_ will arm the vehicle for you if you start a mission or takeoff. +::: + +The vehicle is ready to fly in all modes if the status text says "Ready to Fly" and the background is green. + +![Vehicle state - ready to fly green/ready background](../../../assets/fly/vehicle_states/ready_to_fly_ok.png) + +If the background is amber then it is ready to take off in the current mode, but may not be able to switch to other modes. +If the background is red and the text is "Not Ready" then you will not be able to arm in the current mode. + +![Vehicle state - ready to fly amber/warning background](../../../assets/fly/vehicle_states/ready_to_fly_warning.png) +![Vehicle state - not ready](../../../assets/fly/vehicle_states/not_ready.png) + +From QGC 4.2.0 (at time of writing, a daily build) you can find out the exact cause of the warning or error, and possible solutions, by pushing the status text. + +This launches the preflight arming checks popup with a list of all preflight warnings. +The toggle on the right expands each error with additional information and possible solutions. + +![UI To check arming warnings](../../../assets/fly/vehicle_states/arming_preflight_check_ui.png) + +Once each issue is resolved it will disappear from the UI. +When all issues blocking arming have been removed you can use the arm button to display the arming confirmation slider, and arm the vehicle (or you can just take off - note that the vehicles will (by default) disarm automatically if you do not take off after a few seconds. + +![Arm confirmation slider](../../../assets/fly/vehicle_states/arming_slider.png) + +::: info +The status text also displays when flying. + +> ![Vehicle state - armed](../../../assets/fly/vehicle_states/armed.png) > ![Vehicle state - flying](../../../assets/fly/vehicle_states/flying.png) +> +> The arming checks UI will open even when flying, allowing you to emergency disarm. +> ::: + +### Disarm {#disarm} + +Disarming the vehicle when landed stops the motors (making the vehicle safe). + +Generally you do not need to explicitly disarm as vehicles will disarm automatically after landing, or shortly after arming if you do not take off. + +If needed, you can do so from the Arming Preflight Checks UI. + +![Disarming](../../../assets/fly/vehicle_states/arming_ui_landed_disarm.png) + +You will then need to use the disarming slider. + +![disarm slider](../../../assets/fly/vehicle_states/disarm_slider.png) + +::: info +Disarming the vehicle while it is flying is called an [Emergency Stop](#emergency_stop) +::: + +### Emergency Stop {#emergency\_stop} + +Emergency stop is effectively the same as disarming the vehicle while it is flying. +Your vehicle will crash! + +If needed, you can do so from the Arming Preflight Checks UI. + +![Disarming when flying](../../../assets/fly/vehicle_states/arming_ui_flying_disarm.png) + +You will then need to use the emergency disarming slider. + +![Emergency disarm slider](../../../assets/fly/vehicle_states/emergency_disarm_slider.png) + +### Takeoff {#takeoff} + +:::tip +If you are starting a mission for a multicopter, _QGroundControl_ will automatically perform the takeoff step. +::: + +To takeoff (when landed): + +1. Press the **Takeoff** button in the _Fly Tools_ (this will toggle to a **Land** button after taking off). +2. Optionally set the takeoff altitude in the right-side vertical slider. +3. Confirm takeoff using the slider. + +![takeoff](../../../assets/fly/takeoff.jpg) + +### Land {#land} + +You can land at the current position at any time while flying: + +1. Press the **Land** button in the _Fly Tools_ (this will toggle to a **Takeoff** button when landed). +2. Confirm landing using the slider. + +![land](../../../assets/fly/land.jpg) + +### RTL/Return + +Return to a "safe point" at any time while flying: + +1. Press the **RTL** button in the _Fly Tools_. +2. Confirm RTL using the slider. + +![rtl](../../../assets/fly/rtl.jpg) + +:::info +Vehicles commonly return to the "home" (takeoff) location and land. +This behaviour depends on the vehicle type and configuration. +For example, rally points or mission landings may be used as alternative return targets. +::: + +### Change Altitude {#change\_altitude} + +You can change altitude while flying, except when in a mission: + +1. Press the **Action** button on the _Fly Tools_ + +2. Select the _Change Altitude_ action from the dialog. + + ![Continue Mission/Change Altitude action](../../../assets/fly/continue_mission_change_altitude_action.jpg) + +3. Move the vertical slider to the desired altitude, then drag the confirmation slider to start the action. + + ![Change altitude](../../../assets/fly/change_altitude.jpg) + +### Goto Location {#goto} + +After taking off you can specify that you want to fly to a particular location. + +1. Left click/Press on the map where you want the vehicle to move and select **Go to location** on the popup. + +![Goto or orbit](../../../assets/fly/goto_or_orbit.jpg) + +1. The location will be displayed on the map, along with a confirmation slider. + + ![Goto confirmation](../../../assets/fly/goto.jpg) + +2. When you're ready, drag the slider to start the operation (or press the **X** icon to cancel it). + +:::info +Goto points must be set within 1 km of the vehicle (hard-coded in QGC). +::: + +### Orbit Location {#orbit} + +After taking off you can specify that you want to orbit a particular location. + +1. Left click/Press on the map (near the centre of your desired orbit) and select **Orbit at location** on the popup. + +![Goto or orbit](../../../assets/fly/goto_or_orbit.jpg) + +1. The proposed orbit will be displayed on the map, along with a confirmation sider. + + ![Orbit confirmation](../../../assets/fly/orbit.jpg) + + - Select and drag the central marker to move the orbit location. + - Select and drag the dot on the outer circle to change the orbit radius + +2. When you're ready, drag the slider to start the operation (or press the **X** icon to cancel it). + +### Pause + +You can pause most operations, including taking off, landing, RTL, mission execution, orbit at location. +The vehicle behaviour when paused depends on the vehicle type; typically a multicopter will hover, and a fixed wing vehicle will circle. + +:::info +You cannot pause a _Goto location_ operation. +::: + +To pause: + +1. Press the **Pause** button in the _Fly Tools_. +2. Optionally set a new altitude using the right-side vertical slider. +3. Confirm the pause using the slider. + +![pause](../../../assets/fly/pause.jpg) + +### Missions + +#### Start Mission {#start\_mission} + +You can start a mission when the vehicle is landed (the start mission confirmation slider is often displayed by default). + +To start a mission from landed: + +1. Press the **Action** button on the _Fly Tools_ + +2. Select the _Start Mission_ action from the dialog. + + ![Start mission action](../../../assets/fly/start_mission_action.jpg) + + (to display the confirmation slider) + +3. When the confirmation slider appears, drag it to start the mission. + + ![Start mission](../../../assets/fly/start_mission.jpg) + +#### Continue Mission {#continue\_mission} + +You can _continue_ mission from the _next_ waypoint when you're flying (the _Continue Mission_ confirmation slider is often displayed by default after you takeoff). + +:::info +Continue and [Resume mission](#resume_mission) are different! +Continue is used to restart a mission that has been paused, or where you have taken off, so you've already missed a takeoff mission command. +Resume mission is used when you've used a RTL or landed midway through a mission (e.g. for a battery change) and then wish to continue the next mission item (i.e. it takes you to where you were up to in the mission, rather than continuing from your place in the mission). +::: + +You can continue the current mission while (unless already in a mission!): + +1. Press the **Action** button on the _Fly Tools_ + +2. Select the _Continue Mission_ action from the dialog. + + ![Continue Mission/Change Altitude action](../../../assets/fly/continue_mission_change_altitude_action.jpg) + +3. Drag the confirmation slider to continue the mission. + + ![Continue Mission](../../../assets/fly/continue_mission.jpg) + +#### Resume Mission {#resume\_mission} + +_Resume Mission_ is used to resume a mission after performing an [RTL/Return](#rtl) or [Land](#land) from within a mission (in order, for example, to perform a battery change). + +:::info +If you are performing a battery change, **do not** disconnect QGC from the vehicle after disconnecting the battery. +After you insert the new battery _QGroundControl_ will detect the vehicle again and automatically restore the connection. +::: + +After landing you will be prompted with a _Flight Plan complete_ dialog, which gives you the option to remove the plan from the vehicle, leave it on the vehicle, or to resume the mission from the last waypoint that was traveled through. + +![Resume Mission](../../../assets/fly/resume_mission.jpg) + +If you select to resume the mission, then _QGroundControl_ will rebuild the mission and upload it to the vehicle. +Then use the _Start Mission_ slider to continue the mission. + +The image below shows the mission that was rebuilt after the Return shown above. + +![Resume Rebuilt Mission](../../../assets/fly/resume_mission_rebuilt.jpg) + +:::info +A mission cannot simply resume from the last mission item that the vehicle executed, because there may be multiple items at the last waypoint that affect the next stage of the mission (e.g. speed commands or camera control commands). +Instead _QGroundControl_ rebuilds the mission, starting from the last mission item flown, and automatically prepending any relevant commands to the front of the mission. +::: + +#### Remove Mission Prompt After Landing {#resume\_mission\_prompt} + +You will be prompted to remove the mission from the vehicle after the mission completes and the vehicle lands and disarms. +This is meant to prevent issues where stale missions are unknowingly left on a vehicle, potentially resulting in unexpected behavior. + +### Display Video {#video\_switcher} + +When video streaming is enabled, _QGroundControl_ will display the video stream for the currently selected vehicle in the "video switcher window" at the bottom left of the map. +You can press the switcher anywhere to toggle _Video_ and _Map_ to foreground (in the image below, the video is shown in the foreground). + +![Video Stream Record](../../../assets/fly/video_record.jpg) + +:::info +Video streaming is configured/enabled in [Application Settings > General tab > Video](../settings_view/general.md#video). +::: + +You can further configure video display using controls on the switcher: + +![Video Pop](../../../assets/fly/video_pop.jpg) + +- Resize the switcher by dragging the icon in the top right corner. +- Hide the switcher by pressing the toggle icon in the lower left. +- Detach the video switcher window by pressing on the icon in its top left corner + (once detached, you can move and resize the window just like any other in your OS). + If you close the detached window the switcher will re-lock to the QGC Fly view. + +### Record Video + +If supported by the camera and vehicle, _QGroundControl_ can start and stop video recording on the camera itself. _QGroundControl_ can also record the video stream and save it locally. + +:::tip +Video stored on the camera may be of much higher quality, but it is likely that your ground station will have a much larger recording capacity. +::: + +#### Record Video Stream (on GCS) + +Video stream recording is controlled on the [video stream instrument page](#video_instrument_page). +Press the red circle to start recording a new video (a new video file is created each time the circle is pressed); the circle will change into a red square while recording is in progress. + +![Video Stream Record](../../../assets/fly/video_record.jpg) + +Video stream recording is configured in the [Application Settings > General tab](../settings_view/general.md): + +- [Video Recording](../settings_view/general.md#video-recording) - specifies the recording file format and storage limits. + + ::: info + Videos are saved in Matroska format (.mkv) by default. + This format is relatively robust against corruption in case of errors. + ::: + +- [Miscellaneous](../settings_view/general.md#miscellaneous) - Streamed video is saved under the **Application Load/Save Path**. + +:::tip +The stored video includes just the video stream itself. +To record video with QGroundControl application elements displayed, you should use separate screen recording software. +::: + +#### Record Video on Camera + +Start/stop video recording _on the camera itself_ using the [camera instrument page](#camera_instrument_page). +First toggle to video mode, then select the red button to start recording. + +![Instrument Page - Camera MAVLink Settings](../../../assets/fly/instrument_page_camera_mavlink.jpg) diff --git a/docs/ko/docs/en/qgc-user-guide/fly_view/replay_flight_data.md b/docs/ko/docs/en/qgc-user-guide/fly_view/replay_flight_data.md new file mode 100644 index 00000000000..280359e29eb --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/fly_view/replay_flight_data.md @@ -0,0 +1,40 @@ +# Replay Flight Data + +:::warning +This feature is intended primarily for **autopilot developers**/**vehicle creators**. +It is only supported on desktop builds (Windows, Linux, Mac OS). +::: + +The _Replay Flight Data_ feature allows users to replay a telemetry log, enabling review of past or problematic flights. +The flight can be started, paused, stopped, restarted etc. + +:::info +_QGroundControl_ treats flight replay like an active connection. +When you pause/stop playing, the ground station will report "Communication Lost" and wait for disconnection or for more messages. +::: + +To replay a flight: + +1. Disconnect any active connections. + +2. Select **Application Settings > General > Fly View** + +3. Check **Show Telemetry Log Replay Status Bar** to toggle the flight replay bar at the bottom of the screen. + + ![Toggle Flight Replay](../../../assets/fly/flight_replay/flight_replay_toggle.jpg) + +4. Select the **Load Telemetry Log** button in the bar to display a _file selection_ dialog. + - Choose a log file to replay from the available telemetry logs. + - _QGroundControl_ will immediately start playing the log. + +5. When a log is loaded you can use the: + - **Pause/Play** button to pause and restart playing. + - _Slider_ to drag to a new position in the log. + - _Rate_ selector to choose the playback speed. + +6. To stop replay (i.e. to load a new file to replay), first pause the flight, and then select **Disconnect** (when it appears). + After disconnecting, the **Load Telemetry Log** button will be displayed. + +:::tip +You can inspect the running replay in more detail using the [MAVLink Inspector](../analyze_view/mavlink_inspector.md). +::: diff --git a/docs/ko/docs/en/qgc-user-guide/fly_view/video_overlay.md b/docs/ko/docs/en/qgc-user-guide/fly_view/video_overlay.md new file mode 100644 index 00000000000..a43f80d34d6 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/fly_view/video_overlay.md @@ -0,0 +1,42 @@ +# Video Overlay + +When QGroundControl is recording a video stream to a file, it will also export a subtitle file with telemetry data that can be used to overlay the telemetry on the video during playback. Whichever telemetry values are selected for display in the telemetry [values widget](FlyView.md#values-telemetry) will also be exported to the overlay. The overlay values are updated at 1Hz. + +![Values Widget](../../../assets/fly/overlay_widget.png) + +The selected values are laid out in three columns to optimize the screen utilization. +![Overlay in action](../../../assets/fly/overlay_capture.png) + +## Playing + +The overlay can be used with any player that [supports the SubStation Alpha](https://en.wikipedia.org/wiki/SubStation_Alpha#Players_and_renderers) subtitle format. +Most players will open both files together when you try to play the video. They need to be in the same folder and with the same name, which is how they are created by QGC. + +## Permanent Video Subtitles using Handbrake + +Subtitles can be permanently added to a video file using [HandBrake](https://handbrake.fr/). +This will make the subtitles permanently visible on any video player. + +Open **HandBrake**, you should see its main interface. +Click **Open** and select the video file. + +![Handbrake UI showing how to open video file](../../../assets/fly/video_overlay/1-open.png) + +With the video file loaded, switch to the subtitles tab. +Click **Add** to load the subtitle file. + +![Handbrake UI screenshot showing how to add subtitles](../../../assets/fly/video_overlay/2-subtitles.png) + +Choose **import SSA** ([ASS](https://en.wikipedia.org/wiki/SubStation_Alpha#Advanced_SubStation_Alpha) is an extension of SSA). + +![Import SSA file](../../../assets/fly/video_overlay/3-ssa.png) + +Load the **.ass** file corresponding to your video and tick the **Burn into video** checkbox. + +![burn](../../../assets/fly/video_overlay/4-openandburn.png) + +Choose where you want to save the new file and click **Start**. + +![Start burning new file](../../../assets/fly/video_overlay/5-start.png) + +This will start burning the subtitle and video to a new file. diff --git a/docs/ko/docs/en/qgc-user-guide/getting_started/download_and_install.md b/docs/ko/docs/en/qgc-user-guide/getting_started/download_and_install.md new file mode 100644 index 00000000000..1ff59f859cc --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/getting_started/download_and_install.md @@ -0,0 +1,106 @@ +# Download and Install + +The sections below can be used to download the [current stable release](../releases/release_notes.md) of _QGroundControl_ for each platform. + +:::tip +See [Troubleshooting QGC Setup](../troubleshooting/qgc_setup.md) if _QGroundControl_ doesn't start and run properly after installation! +::: + +## System Requirements + +QGC should run well on any modern computer or mobile device. Performance will depend on the system environment, 3rd party applications, and available system resources. +More capable hardware will provide a better experience. +A computer with at least 8Gb RAM, an SSD, Nvidia or AMD graphics and an i5 or better CPU will be suitable for most applications. + +For the best experience and compatibility, we recommend you the newest version of your operating system. + +## Windows {#windows} + +_QGroundControl_ can be installed on 64 bit versions of Windows: + +1. Download [QGroundControl-installer.exe](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl-installer.exe). +2. Double click the executable to launch the installer. + +:::info +The Windows installer creates 3 shortcuts: **QGroundControl**, **GPU Compatibility Mode**, **GPU Safe Mode**. +Use the first shortcut unless you experience startup or video rendering issues. +For more information see [Troubleshooting QGC Setup > Windows: UI Rendering/Video Driver Issues](../troubleshooting/qgc_setup.md#opengl_troubleshooting). +::: + +:::info +Prebuilt _QGroundControl_ versions from 4.0 onwards are 64-bit only. +It is possible to manually build 32 bit versions (this is not supported by the dev team). +::: + +## Mac OS X {#macOS} + +_QGroundControl_ can be installed on macOS 10.11 or later: + + + + + +1. Download [QGroundControl.dmg](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.dmg). +2. Double-click the .dmg file to mount it, then drag the _QGroundControl_ application to your _Application_ folder. + +::: info +QGroundControl continues to not be signed which causes problem on Catalina. To open QGC app for the first time: + +- Right-click the QGC app icon, select Open from the menu. You will only be presented with an option to Cancel. Select Cancel. +- Right-click the QGC app icon again, Open from the menu. This time you will be presented with the option to Open. + ::: + +## Ubuntu Linux {#ubuntu} + +_QGroundControl_ can be installed/run on Ubuntu LTS 20.04 (and later). + +Ubuntu comes with a serial modem manager that interferes with any robotics related use of a serial port (or USB serial). +Before installing _QGroundControl_ you should remove the modem manager and grant yourself permissions to access the serial port. +You also need to install _GStreamer_ in order to support video streaming. + +Before installing _QGroundControl_ for the first time: + +1. On the command prompt enter: + ```sh + sudo usermod -a -G dialout $USER + sudo apt-get remove modemmanager -y + sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y + sudo apt install libqt5gui5 -y + sudo apt install libfuse2 -y + ``` + +2. Logout and login again to enable the change to user permissions. + +  +To install _QGroundControl_: + +1. Download [QGroundControl.AppImage](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.AppImage). +2. Install (and run) using the terminal commands: + ```sh + chmod +x ./QGroundControl.AppImage + ./QGroundControl.AppImage (or double click) + ``` + +::: info +There are known [video steaming issues](../troubleshooting/qgc_setup.md#dual_vga) on Ubuntu 18.04 systems with dual adaptors. +::: + +:::info +Prebuilt _QGroundControl_ versions from 4.0 cannot run on Ubuntu 16.04. +To run these versions on Ubuntu 16.04 you can [build QGroundControl from source without video libraries](https://dev.qgroundcontrol.com/en/getting_started/). +::: + +## Android {#android} + +_QGroundControl_ is temporily unavailable from the Google Play Store. You can install manually from here: + +- [Android 32 bit APK](https://qgroundcontrol.s3-us-west-2.amazonaws.com/latest/QGroundControl32.apk) +- [Android 64 bit APK](https://qgroundcontrol.s3-us-west-2.amazonaws.com/latest/QGroundControl64.apk) + +## Old Stable Releases + +Old stable releases can be found on GitHub. + +## Daily Builds + +Daily builds can be [downloaded from here](../releases/daily_builds.md). diff --git a/docs/ko/docs/en/qgc-user-guide/getting_started/quick_start.md b/docs/ko/docs/en/qgc-user-guide/getting_started/quick_start.md new file mode 100644 index 00000000000..616f3c188fd --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/getting_started/quick_start.md @@ -0,0 +1,27 @@ +# QGroundControl Quick Start + +Getting _QGroundControl_ up and running is quick and easy: + +1. [Download and install](../getting_started/download_and_install.md) the application. +2. Start _QGroundControl_. +3. Attach your vehicle to the ground station device via USB, through a telemetry radio, or over WiFi. _QGroundControl_ should detect your vehicle and connect to it automatically. + +That's it! If the vehicle is ready to fly, _QGroundControl_ should display [Fly View](../fly_view/fly_view.md) as shown below (otherwise it will open [Setup View](../setup_view/setup_view.md)). + +![](../../../assets/quickstart/fly_view_connected_vehicle.jpg) + +A good way to become familiar with _QGroundControl_ is to start experimenting: + +- Use the [toolbar](../toolbar/toolbar.md) to switch between the main views: + - [Settings](../settings_view/settings_view.md): Configure the _QGroundControl_ application. + - [Setup](../setup_view/setup_view.md): Configure and tune your vehicle. + - [Plan](../plan_view/plan_view.md): Create autonomous missions. + - [Fly](../fly_view/fly_view.md): Monitor your vehicle(s) while flying, including streaming video. + - \[Analyze] \*\* Description of Analyze view is missing \*\* +- Click the _Status icons_ on the toolbar to find out the status of the connected vehicle. + +While the UI is fairly intuitive, this documentation can also be referenced to find out more. + +:::info +Make sure QGC has an internet connection when you connect a new vehicle. This will allow it to get the latest parameter and other metadata for the vehicle, along with [translations](../settings_view/general.md#miscellaneous). +::: diff --git a/docs/ko/docs/en/qgc-user-guide/index.md b/docs/ko/docs/en/qgc-user-guide/index.md new file mode 100644 index 00000000000..9a7b80beba3 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/index.md @@ -0,0 +1,27 @@ +# QGroundControl User Guide + +[![Releases](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases) [![Discuss](https://img.shields.io/badge/discuss-px4-ff69b4.svg)](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-usage) [![Discuss](https://img.shields.io/badge/discuss-ardupilot-ff69b4.svg)](http://discuss.ardupilot.org/c/ground-control-software/qgroundcontrol) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mavlink/qgroundcontrol?utm_source=badge\&utm_medium=badge\&utm_campaign=pr-badge\&utm_content=badge) [![Slack](../../assets/site/slack.svg)](https://join.slack.com/t/px4/shared_invite/zt-si4xo5qs-R4baYFmMjlrT4rQK5yUnaA) + +_QGroundControl_ provides full flight control and vehicle setup for PX4 or ArduPilot powered vehicles. +It provides easy and straightforward usage for beginners, while still delivering high end feature support for experienced users. + +**Key Features:** + +- Full setup/configuration of ArduPilot and PX4 Pro powered vehicles. +- Flight support for vehicles running PX4 and ArduPilot (or any other autopilot that communicates using the MAVLink protocol). +- Mission planning for autonomous flight. +- Flight map display showing vehicle position, flight track, waypoints and vehicle instruments. +- Video streaming with instrument display overlays. +- Support for managing multiple vehicles. +- QGC runs on Windows, OS X, Linux platforms, iOS and Android devices. + +![](../../assets/quickstart/connected_vehicle.jpg) + +:::info +This guide is an active work in progress. +The information provided should be correct, but you may find missing information or incomplete pages. +::: + +:::tip +Information about _QGroundControl_ development, architecture, contributing, and translating can be found in the [Developers Guide](https://dev.qgroundcontrol.com/en/). +::: diff --git a/docs/ko/docs/en/qgc-user-guide/plan_view/pattern.md b/docs/ko/docs/en/qgc-user-guide/plan_view/pattern.md new file mode 100644 index 00000000000..805e06765e0 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/plan_view/pattern.md @@ -0,0 +1,13 @@ +# Pattern + +The _Pattern tools_ (in the [PlanView](../plan_view/plan_view.md) _Plan Tools_) allow you to specify complex flight patterns using a simple graphical UI. +The available pattern tools depend on the vehicle (and support for the vehicle-type in the flight stack). + +![Pattern Tool (Plan Tools)](../../../assets/plan/pattern/pattern_tool.jpg) + +| Pattern | Description | Vehicles | +| ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | +| [Survey](../plan_view/pattern_survey.md) | Create a grid flight pattern over a polygonal area.
You can specify the polygon as well as the specifications for the grid and camera settings appropriate for creating geotagged images. | All | +| [Structure Scan](../plan_view/pattern_structure_scan_v2.md) | Create a grid flight pattern that captures images over vertical surfaces (polygonal or circular).
These are typically used for the visual inspection or creation of 3D models of structures. | MultiCopter, VTOL | +| [Corridor Scan](../plan_view/pattern_corridor_scan.md) | Create a flight pattern which follows a poly-line (for example, to survey a road). | All | +| [Fixed Wing Landing](../plan_view/pattern_fixed_wing_landing.md) | Add a landing pattern for fixed wing vehicles to a mission. | Fixed Wing | diff --git a/docs/ko/docs/en/qgc-user-guide/plan_view/pattern_corridor_scan.md b/docs/ko/docs/en/qgc-user-guide/plan_view/pattern_corridor_scan.md new file mode 100644 index 00000000000..d5195290484 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/plan_view/pattern_corridor_scan.md @@ -0,0 +1,102 @@ +# Corridor Scan (Plan Pattern) + +A corridor scan allows you to create a flight pattern that follows a poly-line. This can be used to, for example, survey a road. It is supported on all autopilots and vehicle types. + +> **Important** When planning a Corridor Scan using camera specifications the ground elevations under your survey area are assumed to be at the same altitude as your launch/home location. If the ground elevation under your survey area is either higher or lower than your launch/home location the effective overlap in your images will be less or more (respectively) than calculated. If ground elevation under your survey area is significantly higher than your launch/home location you could inadvertently plan a mission which causes the vehicle to fly into trees, obstacles, or the ground. Use Terrain Follow to create a survey that more closely maintains the desired altitude above terrain that has significant elevation differences from your launch/home altitude. + +![Corridor Scan](../../../assets/plan/corridor_scan.jpg) + +You can specify the path, the width of the corridor, and camera settings appropriate for creating geotagged images. + +## Creating a Scan + +To create a corridor scan: + +1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + +2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Corridor Scan_. + + ![Corridor Scan](../../../assets/plan/corridor_scan_menu.jpg) + + This will add a corridor to the map, and a _Corridor Scan_ item to the mission list (on the right). + +3. On the map drag the ends of the corridor to the start and end positions of the scan, respectively. + +4. Click the `(+)` symbol at the centre of a line to create a new vertix. + The new vertix can then be dragged into position to follow the path of the desired corridor. + +The corridor scan settings are covered in the next section. + +## Settings + +The corridor scan can be further configured in the associated mission item (in the mission item list on the right hand side of the Plan View). + +### Camera + +Camera triggering behaviour depends on the camera/camera settings. +You can select an existing camera or manually enter the settings. +The list of available cameras (QGC 3.4) is given below. + +![Corridor Scan - Select Camera](../../../assets/plan/corridor_scan_settings_camera_select.jpg) + +#### Known Camera + +Selecting a known camera from the option dropdown allows you to generate a grid pattern based on the camera's specifications. + +![Corridor Scan - Camera Settings Canon SX260](../../../assets/plan/corridor_scan_settings_camera_canon_sx260.jpg) + +The configurable options are: + +- **Landscape/Portrait** - Camera orientation relative to the "normal" orientation of the vehicle. +- **Image Overlap** - Overlap between each image. +- Select one of: + - **Altitude** - Survey altitude (ground resolution will be calculated/displayed for this altitude). + - **Ground resolution** - Ground resolution for each image (altitude required to achieve this resolution calculated and shown). + +#### Manual Camera + +The manual camera option allows you to specify desired survey height, trigger interval and appropriate grid spacing for your camera. + +![Corridor Scan - Manual Camera Settings](../../../assets/plan/corridor_scan_settings_camera_manual.jpg) + +The configurable options are: + +- **Altitude** - Survey altitude. +- **Trigger Distance** - The distance over ground between each camera shot. +- **Spacing** - Distance between adjacent grid (flight path) lines across the corridor. + +### Corridor + +![Corridor Scan - Corridor Settings](../../../assets/plan/corridor_scan_settings_corridor.jpg) + +The configurable options are: + +- **Width** - Set the width of the scan around the polyline that defines the path. +- **Turnaround dist** - Amount of additional distance to add outside the survey area for vehicle turn around. +- **Take images in turnarounds** - Check to enable image capture a turnaround points. +- **Relative altitude** - Check to specify a relative altitude. This is only supported for manual grids that are not using [terrain following](#terrain_following). +- **Rotate entry point** - Press button to swap the start and end point of the corridor scan. + +### Terrain Following {#terrain\_following} + +By default a flying vehicle will follow the corridor path at a fixed altitude. +Enabling _Terrain Following_ makes the vehicle maintain a constant height relative to ground. + +![Corridor Scan - Terrain Following Settings](../../../assets/plan/corridor_scan_settings_terrain.jpg) + +:::info +Terrain following uses terrain heights queried from _AirMap_ servers. +::: + +The configurable options are: + +- **Vehicle follows terrain** - Check to enable terrain following (and display the following options). + - **Tolerance** - The accepted deviation in altitude from the target altitude. + - **Max Climb Rate** - Maximum climb rate when following terrain. + - **Max Descent Rate** - Maximum descent rate when following terrain. + +### Statistics + +The _Statistics_ section shows the calculated survey area, photo interval, photo spacing and planned photo count. + +![Corridor Scan - Statistics](../../../assets/plan/corridor_scan_settings_statistics.jpg) diff --git a/docs/ko/docs/en/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md b/docs/ko/docs/en/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md new file mode 100644 index 00000000000..451aefb2881 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md @@ -0,0 +1,77 @@ +# Fixed Wing Landing Pattern (Plan Pattern) + +The _Fixed Wing Landing Pattern_ tool allows you to add a fixed wing landing pattern to a mission. +It is supported on both ArduPilot and PX4. + +![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern.jpg) + +The first point of the pattern is a loiter point with a specific altitude and the second is a landing point. +The vehicle will loiter at the first point until it reaches the target altitude, and then begin the landing sequence to fly down to the specified landing spot. + +Both the loiter and land points can be dragged to new positions, and a number of other settings can be configured in the associated mission item. + +## Creating a Landing Pattern + +To create a landing pattern: + +1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + +2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Fixed Wing Landing Pattern_. + + ![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern_menu.jpg) + + This will add a _Landing Pattern_ item to the mission list (on the right). + + ![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern_mission_item_initial.jpg) + +3. Click on the map to create both the loiter point and the landing point. + These can be moved on the map. + +Additional settings are covered in the next section. + +## Settings + +The landing pattern can be further configured in the associated mission item (in the mission item list on the right hand side of the Plan View). + +### Loiter Point + +The _Loiter Point_ settings are used to configure the loiter altitude, radius and direction. + +![Landing Pattern - Loiter Point](../../../assets/plan/pattern/fixed_wing_landing_pattern_settings_loiter.jpg) + +The configurable options are: + +- **Altitude** - Loiter altitude. +- **Radius** - Loiter radius. +- **Loiter clockwise** - Check to loiter in a clockwise direction (anti-clockwise is the default). + +### Landing Point + +The _Landing Point_ settings are used to configure the landing position and path. + +![Landing Pattern - Landing Point](../../../assets/plan/pattern/fixed_wing_landing_pattern_settings_landing.jpg) + +The configurable options are: + +- **Heading** - Heading from loiter point to land point. +- **Altitude** - Altitude for landing point (nominally zero). +- _Radio Buttons_ + - **Landing Dist** - Distance between loiter point and landing point. + - **Glide Slope** - Glide slope between loiter point and landing point. +- **Altitudes relative to home** - Check to set all altitudes in mission item to be relative to home (default is AMSL). + +## Implementation + +This pattern creates three mission items: + +- `DO_LAND_START` - If you abort a landing it sends `DO_GO_AROUND` to the vehicle, which then causes the mission to return to this point and try to land again. +- `NAV_LOITER_TO_ALT` - Start point for landing +- `NAV_LAND` - End point for landing + +The vehicle flares to landing using a flight path generated by the firmware between the `NAV_LOITER_TO_ALT` point and the `NAV_LAND` point. + +If those two locations violate the vehicle's flare constraints (e.g. descent angle is too steep) an error will be raised after you upload the invalid mission to the vehicle. + +:::info +On PX4, violating the flare constraints sends an error message to the ground station at upload time, and the autopilot will refuse to start the mission (since it fails integrity checks). +::: diff --git a/docs/ko/docs/en/qgc-user-guide/plan_view/pattern_presets.md b/docs/ko/docs/en/qgc-user-guide/plan_view/pattern_presets.md new file mode 100644 index 00000000000..fc94879d5d6 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/plan_view/pattern_presets.md @@ -0,0 +1,34 @@ +# Plan View - Pattern Presets + +Allows you to save commonly used settings as a named preset. + +:::info +Currently only supported by Survey. Support for other Patterns is in development. +::: + +## Managing Presets + +![Preset Combo](../../../assets/plan/pattern/pattern_preset_combo.jpg) + +Pattern items have a new selection at the top which allows you to manage presets: + +- **Custom (specify all settings)** This allows you to _not_ use a preset and specify all settings manually. +- **Save Settings As Preset** Saves the current settings as a named preset. +- **Delete Current Preset** Deletes the currently selected preset. +- **Presets:** Below this item will be listed the available presets for this pattern. + +## Creating/Updating A Preset + +![Preset Save](../../../assets/plan/pattern/pattern_preset_save.jpg) + +When you select **Save Settings As Preset** you will be prompted for the preset name. To save new settings for an existing preset select **Save Settings As Preset** while a preset is currently selected. + +You can also specify whether you want to save the currently selected camera in the preset. If you choose not to save the camera with the preset then the current camera will be used when loading the preset. You will also be able to change to a different camera when using the preset. Unless you fly your vehicle with different cameras at different times with the same preset you should select to save the camera in the preset. + +## Viewing Preset Settings + +If you want to view what the exact settings are for a Preset switch back to **Custom (specify all settings)** which will show you all the settings. Then you can switch back to using the named preset when done. + +## Presets In A Plan File + +The currently selected Preset is also saved in the Plan file such that when you load the Plan back the preset will once again be selected. Keep in mind that presets are specific to your version of QGroundControl. If you share a Plan file with a preset with another user, incorrect behavior may occur if that other user also has a preset of the same name but different settings. diff --git a/docs/ko/docs/en/qgc-user-guide/plan_view/pattern_structure_scan_v2.md b/docs/ko/docs/en/qgc-user-guide/plan_view/pattern_structure_scan_v2.md new file mode 100644 index 00000000000..c3a73eba65d --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/plan_view/pattern_structure_scan_v2.md @@ -0,0 +1,99 @@ +# Structure Scan (Plan Pattern) + +A _Structure Scan_ allows you to create a grid flight pattern that captures images over _vertical surfaces_ (e.g. walls) around a structure with an arbitrary polygonal (or circular) ground footprint. +Structure Scans are typically used for the visual inspection or creating 3D models of structures. + +_Structure Scans_ may be inserted into a mission using the Plan view **Pattern > Structure Scan** tool. + +:::info +The new version of _Structure Scan_ can't read older _Structure Scan_ plans. They will need to be recreated. +::: + +:::warning +This feature is not yet supported by ArduPilot firmware. +It is supported in PX4. +::: + +## Overview + +The image below shows a screenshot of structure scan. +The green polygon is used to mark out the ground footprint of the structure, while the white line around it indicates the vehicle flight path. +The green numbered circle on the flight path is the scan entry/exit point (where the scan starts). + +![Structure Scan](../../../assets/plan/structure_scan_v2/structure_scan.jpg) + +The scan divides the structure evenly into layers; the vehicle flies all the way around the structure at a particular altitude and _scan distance_ from the structure, then repeats the process at each layer until the whole surface has been scanned. + +![Layer JPG](../../../assets/plan/structure_scan_v2/layers.jpg) + +Users can set the _scan bottom altitude_ to avoid obstacles at the bottom of the structure, and the _extrance/exit altitude_ to avoid obstacles as the vehicle travels to/from the scan. + +## Creating a Scan + +To create a scan: + +1. In the **Plan View** select **Pattern tool > Structure Scan**. + +![Create Scan JPG](../../../assets/plan/structure_scan_v2/create_scan.jpg) + +1. This will create a simple square structure scan on the map. + + ![Initial Polygon](../../../assets/plan/structure_scan_v2/initial_polygon_scan.jpg) + + The region shown in green must be modified so that it surrounds the structure. + + - Drag the opaque vertices on the map to the edge of the structure (example circled in mauve above). + - If the structure footprint is more than a simple square you can click the semi-transparent circles between the vertices to create a new vertix. + +2. You can also change to a circular footprint by clicking on the central "vertix" (marked in red) and selecting _Circle_ in the popup menu. + + ![Circle Scan](../../../assets/plan/structure_scan_v2/circle_scan.jpg). + + - From the popup menu you can switch back to a polygon footprint and change the radius and/or position of the scan. + - Drag the central vertix to position the centre of the circle. + +3. The rest of the configuration is handled using the _Structure Scan_ editor on the right hand side of the view. + First select whether you want to perform a manual scan, a scan using a particular camera, or a scan using a custom camera definition. + + ::: info + The main difference between the modes is that predefined cameras are already set up to correctly calculate an effective layer height and trigger distance. + ::: + + Options for the different modes are shown below. + + ![Structure Scan editor](../../../assets/plan/structure_scan_v2/editor_options.jpg) + +The user can always configure the following settings: + +- **Start scan from top/bottom:** The direction in which layers are scanned. +- **Structure height:** The height of the object being scanned. +- **Scan distance:** Distance from the structure to the flight path. +- **Entrance/Exit Alt:** Use this setting to avoid obstacles between the last/next waypoint and the structure to be scanned. + - The vehicle will fly to the _Entrance/Exit_ point at this altitude and then descend to the initial layer to start the scan. + - The vehicle will ascend to this altitude after completing the scan and then move to the next waypoint. +- **Scan Bottom Alt:** Use this setting to avoid obstacles around the base of the structure. + This adjust the bottom of the structure to be above the ground, and hence the altitude of the first scan + (the height of the lowest layer flight path is shown in the scan statistics as _Bottom Layer Alt_. +- **Rotate Entry Point:** Move the start/finish point to the next vertix/position on the flight path. + +The remaining settings depend on the _camera mode_: + +- _Manual Mode_ allows you to specify: + - **Layer height:** The height of each layer. + - **Trigger Distance:** The distance between each camera trigger. + The camera is only triggered while flying the layer path. + It does not trigger images while transitioning from one layer to the next. + - **Gimbal Pitch** - Gimbal pitch you want to use for the scan. + +- _Known/pre-defined cameras_ automatically calculates layer heights and image triggering from required image overlap, and allows you to trade off scan distance and require image resolution. + It also ensures that the camera is pointed directly at the surface when it is capturing images (i.e. at a right angle rather than some tangent). + The settings are: + + - **Camera Orientation:** Portrait or Landscape + - _Overlap_: + - **Front Lap:** Image overlap from top to bottom (increasing shrinks layer height and increases layer count). + - **Side Lap:** Image overlap at sides (increasing takes more images in each lap/layer scan). + - **Scan distance:** Distance from the structure to the flight path. + - **Ground Res:** Required image resolution/sample quality of surface. + +- _Custom camera_ selection allows you to enter your own camera characteristics, but otherwise behaves the same as a predefined camera. diff --git a/docs/ko/docs/en/qgc-user-guide/plan_view/pattern_survey.md b/docs/ko/docs/en/qgc-user-guide/plan_view/pattern_survey.md new file mode 100644 index 00000000000..db492c27206 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/plan_view/pattern_survey.md @@ -0,0 +1,130 @@ +# Survey (Plan Pattern) + +A survey allows you to create a grid flight pattern over a polygonal area. +You can specify an arbitrary polygon, the angle and other properties of the grid, and camera settings appropriate for creating geotagged images. + +::: warning +If the survey area has significant elevation variation then consider enabling [Terrain Following](#terrain). + +When planning a Survey using camera specifications, the ground under the survey area are assumed to be flat - i.e. at the same altitude as the launch/home location. +If the ground elevation under the survey is either higher or lower than the home location the effective overlap in images will be less or more (respectively) than calculated. +If ground elevation under the survey area is _significantly_ higher than the home location you could inadvertently plan a mission path that causes the vehicle to fly into ground-level obstacles. + +Using terrain following ensures that the survey more closely matches the desired altitude above terrain, and reduces the likelihood of planning a mission that is too close to ground level. +::: + +![Survey](../../../assets/plan/survey/survey.jpg) + +## Creating a Survey + +To create a survey: + +1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + +2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Survey_. + + ![Survey Menu](../../../assets/plan/survey/survey_menu.jpg) + + This will add a survey grid to the map, and a _Survey_ item to the mission list (on the right). + +3. On the map drag the vertices to change the shape of the polygon. + +4. Click the `(+)` symbol between existing vertices to create a new vertix. + The new vertix can then be dragged into a new position. + +The survey settings are covered in the next section. + +## Settings + +The survey can be further configured in the associated mission item (in the mission item list on the right hand side of the _Plan View_). + +### Camera + +Camera triggering behaviour depends on the camera/camera settings. +You can select an existing camera, custom camera, or manually enter the settings. +The list of available cameras (QGC 3.4) is given below. + +![Survey - Camera Select](../../../assets/plan/survey/survey_camera_select.jpg) + +#### Known Camera {#known\_camera} + +Selecting a known camera from the option dropdown generates a grid pattern based on the camera capabilities. + +![Survey - Camera Sony](../../../assets/plan/survey/survey_camera_sony.jpg) + +The default settings can be tuned for your survey using the configuration options: + +- **Landscape/Portrait** - Camera orientation relative to the "normal" orientation of the vehicle. +- **Overlap** - Overlap between each image capture. + This can be configured separately for when flying along grid lines or across them. +- Select one of: + - **Altitude** - Survey altitude (ground resolution will be calculated/displayed for this altitude). + - **Ground resolution** - Ground resolution for each image (altitude required to achieve this resolution calculated and shown). + +#### Custom Camera {#custom\_camera} + +Selecting the custom camera option allows you to specify the settings for a new camera in a similar way to a known camera. + +![Survey - Custom Camera](../../../assets/plan/survey/survey_camera_custom.jpg) + +The camera-specific settings are: + +- **Sensor width/height** - The size of the image sensor of the camera. +- **Image width/height** - The resolution of the image captured by the camera. +- **Focal Length** - The focal length of the camera lens. + +The remaining settings are the same as for a [known camera](#known_camera). + +#### Manual Camera + +The manual camera option allows you to specify desired survey height, trigger interval and appropriate grid spacing for your camera. + +![Survey - Manual Camera Settings](../../../assets/plan/survey/survey_camera_manual.jpg) + +The configurable options are: + +- **Altitude** - Survey altitude to fly the whole grid. +- **Trigger Distance** - The distance over ground between each camera shot. +- **Spacing** - Distance between adjacent grid (flight path) lines across the corridor. + +### Transects + +The _Transects_ section is used for grid settings that are independent of the camera used. + +![Survey - Transects](../../../assets/plan/survey/survey_transects.jpg) + +The configurable options are: + +- **Angle** - The angle of the grid lines, relative to North. + ![Survey - Angle](../../../assets/plan/survey/survey_transects_angle.jpg) +- **Turnaround dist** - Amount of additional distance to add outside the survey area for vehicle turn around. +- **Rotate Entry Point** - Press button to swap the start and end point of the survey. +- **Hover and capture image** - Hover to capture images (multicopter only). +- **Refly at 90 degree offset** - Check to refly the whole mission at a 90 degree offset. + ![Survey - Fly Offset](../../../assets/plan/survey/survey_transects_offset.jpg) +- **Images in turnarounds** - Check to take images when turning +- **Relative altitude** - Check to make specified altitudes relative to home (if unchecked they are AMSL). + +### Terrain + +By default, a flying vehicle will follow the survey path at a fixed altitude. +Enabling _Terrain Following_ makes the vehicle maintain a constant height relative to ground. + +![Survey - Terrain Following Settings](../../../assets/plan/survey/survey_terrain.jpg) + +:::info +Terrain following uses terrain heights queried from _AirMap_ servers. +::: + +The configurable options are: + +- **Vehicle follows terrain** - Check to enable terrain following (and display the following options). + - **Tolerance** - The accepted deviation in altitude from the target altitude. + - **Max Climb Rate** - Maximum climb rate when following terrain. + - **Max Descent Rate** - Maximum descent rate when following terrain. + +### Statistics + +The _Statistics_ section shows the calculated survey area, photo interval, photo spacing and planned photo count. + +![Survey - Statistics](../../../assets/plan/survey/survey_statistics.jpg) diff --git a/docs/ko/docs/en/qgc-user-guide/plan_view/plan_geofence.md b/docs/ko/docs/en/qgc-user-guide/plan_view/plan_geofence.md new file mode 100644 index 00000000000..49780949b6d --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/plan_view/plan_geofence.md @@ -0,0 +1,60 @@ +# Plan View - GeoFence + +GeoFences allow you to create virtual regions within which the vehicle can fly, or in which it is _not allowed_ to fly. +You can also configure the action taken if you fly outside permitted areas. + +![Geofence overview](../../../assets/plan/geofence/geofence_overview.jpg) + +:::info +**ArduPilot users:** GeoFence support is only supported by Rover 3.6 and Copter 3.7 or higher. It also requires usage of a Daily build or Stable 3.6 (once available). +_QGroundControl_ will not display the GeoFence options if they are not supported by the connected vehicle. +::: + +## Create a Geofence + +To create a GeoFence: + +1. Navigate to the Plan View + +2. Select the _Geofence_ radio button above the Mission Command List + + ![Select geofence radio button](../../../assets/plan/geofence/geofence_select.jpg) + +3. Insert a circular or polygon region by pressing the **Circular Fence** or **Polygon Fence** button, respectively. + A new region will be added to the map and to the associated list of fences below the buttons. + +:::tip +You can create multiple regions by pressing the buttons multiple times, allowing complex geofence definitions to be created. +::: + +- Circular region: + + ![Circular Geofence](../../../assets/plan/geofence/geofence_circular.jpg) + + - Move the region by dragging the central dot on the map + - Resize the circle by dragging the dot on the edge of the circle (or you can change the radius value in the fence panel). + +- Polygon region: + + ![Polygon Geofence](../../../assets/plan/geofence/geofence_polygon.jpg) + + - Move the vertices by dragging the filled dots + - Create new vertices by clicking the "unfilled" dots on the lines between the filled vertices. + +1. By default new regions are created as _inclusion_ zones (vehicles must stay within the region). + Change them to exclusion zones (where the vehicle can't travel) by unchecking the associated _Inclusion_ checkbox in the fence panel. + +## Edit/Delete a GeoFence + +You can select a geofence region to edit by selecting its _Edit_ radio button in the GeoFence panel. +You can then edit the region on the map as described in the previous section. + +Regions can be deleted by pressing the associated **Del** button. + +## Upload a GeoFence + +The GeoFence is uploaded in the same way as a mission, using **File** in the [Plan tools](../plan_view/plan_view.md). + +## Remaining tools + +The rest of the tools work exactly as they do while editing a Mission. diff --git a/docs/ko/docs/en/qgc-user-guide/plan_view/plan_rally_points.md b/docs/ko/docs/en/qgc-user-guide/plan_view/plan_rally_points.md new file mode 100644 index 00000000000..d23a284eb28 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/plan_view/plan_rally_points.md @@ -0,0 +1,35 @@ +# Plan View - Rally Points + +Rally Points are alternative landing or loiter locations. +They are typically used to provide a safer or more convenient (e.g. closer) destination than the home position in Return/RTL mode. + +:::info +Rally Points are only supported by ArduPilot on Rover 3.6 and Copter 3.7 (or higher). +PX4 support is planned in PX4 v1.10 timeframes. +It also requires usage of a Daily build or Stable 3.6 (once available). +_QGroundControl_ will not display the Rally Point options if they are not supported by the connected vehicle. +::: + +![Rally Points](../../../assets/plan/rally/rally_points_overview.jpg) + +## Rally Point Usage + +To create Rally Points: + +1. Navigate to the Plan View +2. Select the _Rally_ radio button above the Mission Command List +3. Click the map wherever you want rally points. + - An **R** marker is added for each + - the currently active marker has a different colour (green) and can be edited using the _Rally Point_ panel. +4. Make any rally point active by selecting it on the map: + - Move the active rally point by either dragging it on the map or editing the position in the panel. + - Delete the active rally point by selecting the menu option on the _Rally Point_ panel + ![Delete Rally Point](../../../assets/plan/rally/rally_points_delete.jpg) + +## Upload Rally Points + +Rally points are uploaded in the same way as a mission, using **File** in the [Plan tools](../plan_view/plan_view.md). + +## Remaining tools + +The rest of the tools work exactly as they do while editing a Mission. diff --git a/docs/ko/docs/en/qgc-user-guide/plan_view/plan_view.md b/docs/ko/docs/en/qgc-user-guide/plan_view/plan_view.md new file mode 100644 index 00000000000..27e97e1375d --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/plan_view/plan_view.md @@ -0,0 +1,205 @@ +# Plan View + +The _Plan View_ is used to plan _autonomous missions_ for your vehicle, and upload them to the vehicle. Once the mission is [planned](#plan_mission) and sent to the vehicle, you switch to the [Fly View](../fly_view/fly_view.md) to fly the mission. + +It is also use to configure the [GeoFence](plan_geofence.md) and [Rally Points](plan_rally_points.md) if these are supported by the firmware. + + +![Plan View](../../../assets/plan/plan_view_overview.jpg) + +## UI Overview {#ui\_overview} + +The [screenshot above](#plan_screenshot) shows a simple mission plan that starts with a takeoff at the [Planned Home](#planned_home) position (H), +flies through three waypoints, and then lands on the last waypoint (i.e. waypoint 3). + +The main elements of the UI are: + +- **Map:** Displays the numbered indicators for the current mission, including the [Planned Home](#planned_home). + Click on the indicators to select them (for editing) or drag them around to reposition them. +- **Plan Toolbar:** Status information for the currently selected waypoint relative to the previous waypoint, as well as statistics for the entire mission (e.g. horizontal distance and time for mission). + - `Max telem dist` is the distance between the [Planned Home](#planned_home) and the furthest waypoint. + - When connected to a vehicle it also shows an **Upload** button, can be used to upload the plan to the vehicle. +- **[Plan Tools](#plan_tools):** Used to create and manage missions. +- **[Mission Command List/Overlay](#mission_command_list):** Displays the current list of mission items (select items to [edit](#mission_command_editors)). +- **Terrain Altitude Overlay:** Shows the relative altitude of each mission command. + +It shows you information related to the currently selected waypoint as well as statistics for the entire mission. + +## Planning a Mission {#plan\_mission} + +At very high level, the steps to create a mission are: + +1. Change to _Plan View_. +2. Add waypoints or commands to the mission and edit as needed. +3. Upload the mission to the vehicle. +4. Change to _Fly View_ and fly the mission. + +The following sections explain some of the details in the view. + +## Planned Home Position {#planned\_home} + +The _Planned Home_ shown in _Plan View_ is used to set the approximate start point when planning a mission (i.e. when a vehicle may not even be connected to QGC). +It is used by QGC to estimate mission times and to draw waypoint lines. + +![Planned Home Position](../../../assets/plan/mission/mission_settings_planned_home.jpg) + +You should move/drag the planned home position to roughly the location where you plan to takeoff. +The altitude for the planned home position is set in the [Mission Settings](#mission_settings) panel. + + + +:::tip +The Fly View displays the _actual_ home position set by the vehicle firmware when it arms (this is where the vehicle will return in Return/RTL mode). +::: + +## Plan Tools {#plan\_tools} + +The plan tools are used for adding individual waypoints, easing mission creation for complicated geometries, uploading/downloading/saving/restoring missions, and for navigating the map. The main tools are described below. + +:::info +**Center map**, **Zoom In**, **Zoom Out** tools help users better view and navigate the _Plan view_ map (they don't affect the mission commands sent to the vehicle). +::: + +### Add Waypoints + +Click on the **Add Waypoint** tool to activate it. While active, clicking on the map will add new mission waypoint at the clicked location. +The tool will stay active until you select it again. +Once you have added a waypoint, you can select it and drag it around to change its position. + +### File (Sync) {#file} + +The _File tools_ are used to move missions between the ground station and vehicle, and to save/restore them from files. +The tool displays an `!` to indicate that there are mission changes that you have not sent to the vehicle. + +:::info +Before you fly a mission you must upload it to the vehicle. +::: + +The _File tools_ provide the following functionality: + +- Upload (Send to vehicle) +- Download (Load from vehicle) +- Save/Save as to File, including as KML file. +- Load from File +- Remove All (removes all mission waypoints from _Plan view_ and from vehicle) + +### Pattern + +The [Pattern](Pattern.md) tool simplifies the creation of missions for flying complex geometries, including [surveys](../plan_view/pattern_survey.md) and [structure scans](../plan_view/pattern_structure_scan_v2.md). + +## Mission Command List {#mission\_command\_list} + +Mission commands for the current mission are listed on the right side of the view. +At the top are a set of options to switch between editing the mission, GeoFence and rally points. +Within the list you can select individual mission items to edit their values. + +![Mission Command List](../../../assets/plan/mission/mission_command_list.jpg) + +### Mission Command Editors {#mission\_command\_editors} + +Click on a mission command in the list to display its editor (in which you can set/change the command attributes). + +You can change the **type** of the command by clicking on the command name (for example: _Waypoint_). +This will display the _Select Mission Command_ dialog shown below. +By default this just displays the "Basic Commands", but you can use the **Category** drop down menu to display more (e.g. choose **All commands** to see all the options). + + + +To the right of each command name is a menu that you can click to access to additional options such as _Insert_ and _Delete_. + +:::info +The list of available commands will depend on firmware and vehicle type. +Examples may include: Waypoint, Start image capture, Jump to item (to repeat mission) and other commands. +::: + +### Mission Settings {#mission\_settings} + +The _Mission Start_ panel is the first item that appears in the [mission command list](#mission_command_list). +It may be used to specify a number default settings that may affect the start or end of the mission. + +![Mission Command List - showing mission settings](../../../assets/plan/mission_start.png) + +![Mission settings](../../../assets/plan/mission/mission_settings.png) + +#### Mission Defaults + +##### Waypoint alt + +Set the default altitude for the first mission item added to a plan (subsequent items take an initial altitude from the previous item). +This can also be used to change the altitude of all items in a plan to the same value; you will be prompted if you change the value when there are items in a plan. + +##### Flight speed + +Set a flight speed for the mission that is different than the default mission speed. + +#### Mission End + +##### Return to Launch after mission end + +Check this if you want your vehicle to Return/RTL after the final mission item. + +#### Planned Home Position + +The [Planned Home Position](#planned_home) section allows you to simulate the vehicle's home position while planning a mission. +This allows you to view the waypoint trajectory for your vehicle from takeoff to mission completion. + +![MissionSettings Planned Home Position Section](../../../assets/plan/mission/mission_settings_planned_home_position_section.jpg) + +:::info +This is only the _planned_ home position and you should place it where you plan to start the vehicle from. +It has no actual impact on flying the mission. +The actual home position of a vehicle is set by the vehicle itself when arming. +::: + +This section allows you to set the **Altitude** and **Set Home to Map Centre** +(you can move it to another position by dragging it on the map). + +#### Camera + +The camera section allows you to specify a camera action to take, control the gimbal and set your camera into photo or video mode. + +![MissionSettings Camera Section](../../../assets/plan/mission/mission_settings_camera_section.jpg) + +The available camera actions are: + +- No change (continue current action) +- Take photos (time) +- Take photos (distance) +- Stop taking photos +- Start recording video +- Stop recording video + +#### Vehicle Info + +The appropriate mission commands for the vehicle depend on the firmware and vehicle type. + +If you are planning a mission while you are _connected to a vehicle_ the firmware and vehicle type will be determined from the vehicle. +This section allows you to specify the vehicle firmware/type when not connected to a vehicle. + +![MissionSettings VehicleInfoSection](../../../assets/plan/mission/mission_settings_vehicle_info_section.jpg) + +The additional value that can be specified when planning a mission is the vehicle flight speed. +By specifying this value, total mission or survey times can be approximated even when not connected to a vehicle. + +## Troubleshooting + +### Mission (Plan) Upload/Download Failures {#plan\_transfer\_fail} + +Plan uploading and downloading can fail over a noisy communication link (affecting missions, GeoFence, and rally points). +If a failure occurs you should see a status message in the QGC UI similar to: + +> Mission transfer failed. Retry transfer. Error: Mission write mission count failed, maximum retries exceeded. + +The loss rate for your link can be viewed in [Settings View > MAVLink](../settings_view/mavlink.md). +The loss rate should be in the low single digits (i.e. maximum of 2 or 3): + +- A loss rate in the high single digits can lead to intermittent failures. +- Higher loss rates often lead to 100% failure. + +There is a much smaller possibility that issues are caused by bugs in either flight stack or QGC. +To analyse this possibility you can turn on [Console Logging](../settings_view/console_logging.md) for Plan upload/download and review the protocol message traffic. + +## Further Info + +- New Plan View features for [QGC release v3.2](../releases/stable_v3.2_long.md#plan_view) +- New Plan View features for [QGC release v3.3](../releases/stable_v3.3_long.md#plan_view) diff --git a/docs/ko/docs/en/qgc-user-guide/releases/daily_build_new_features.md b/docs/ko/docs/en/qgc-user-guide/releases/daily_build_new_features.md new file mode 100644 index 00000000000..6b298f7f00e --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/releases/daily_build_new_features.md @@ -0,0 +1,7 @@ +# Daily Build Major Changes + +This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ since the last [stable release](../releases/release_notes.md). +These features are available in [daily builds](../releases/daily_builds.md). +There is also a [Change Log](https://github.com/mavlink/qgroundcontrol/blob/master/ChangeLog.md) available for viewing. + +- TBD diff --git a/docs/ko/docs/en/qgc-user-guide/releases/daily_builds.md b/docs/ko/docs/en/qgc-user-guide/releases/daily_builds.md new file mode 100644 index 00000000000..0550549176e --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/releases/daily_builds.md @@ -0,0 +1,32 @@ +# Daily Builds + +Daily Builds of _QGroundControl_ have the absolute latest set of [new features](../releases/daily_build_new_features.md). + +:::warning +Daily Builds are less tested than stable builds. +Use at your own risk! +::: + +These can be downloaded from the links below (install as described in [Download and Install](../getting_started/download_and_install.md)): + +- [Windows](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl-installer.exe) + +- [OS X](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl.dmg) + + ::: info + QGroundControl continues to not be signed which causes problem on Catalina. To open QGC app for the first time: + + - Right-click the QGC app icon, select Open from the menu. You will only be presented with an option to Cancel. Select Cancel. + - Right-click the QGC app icon again, Open from the menu. This time you will be presented with the option to Open. + + ::: + +- [Linux](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl.AppImage) + +- [Android](https://play.google.com/store/apps/details?id=org.mavlink.qgroundcontrolbeta) - Google Play: Listed as _QGroundControl (Daily Test Build)_. + +- iOS currently unavailable + +:::info +The QGroundControl Continous Delivery pipeline from time to time might experience issues uploading to the Google Play store. You can find the daily build APK for Android devices for direct download here: [QGroundControl32.apk](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl32.apk), and [QGroundControl64.apk](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl64.apk) +::: diff --git a/docs/ko/docs/en/qgc-user-guide/releases/index.md b/docs/ko/docs/en/qgc-user-guide/releases/index.md new file mode 100644 index 00000000000..dec0acc68b7 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/releases/index.md @@ -0,0 +1,3 @@ +# Releases + +This section contains information about releases and daily builds. diff --git a/docs/ko/docs/en/qgc-user-guide/releases/privacy_policy.md b/docs/ko/docs/en/qgc-user-guide/releases/privacy_policy.md new file mode 100644 index 00000000000..44718df6e95 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/releases/privacy_policy.md @@ -0,0 +1,8 @@ +# Privacy Policy + +_QGroundControl_ may require access to personal and/or sensitive user data. None of this data is used outside of _QGroundControl_. + +The list below explains how some of the data is used: + +- Camera sensor: This is used for the purpose of overlaying the video with flight telemetry data. +- Location: This is used for tracking current user position on the map. diff --git a/docs/ko/docs/en/qgc-user-guide/releases/release_notes.md b/docs/ko/docs/en/qgc-user-guide/releases/release_notes.md new file mode 100644 index 00000000000..54dfa2f76de --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/releases/release_notes.md @@ -0,0 +1,255 @@ +# Release Notes + +This topic contains the cumulative release notes for _QGroundControl_. + +:::info +Stable build major/minor numbers are listed below. +_Patch_ release numbers are not listed, but can be found on the [Github release page](https://github.com/mavlink/qgroundcontrol/releases). +::: + +## Stable Version 4.0 (current) + +:::info +The format for Settings in QGC had to change in this release. Which means all QGC settings will be reset to defaults. +::: + +- Settings + - Language: Allow selection of language + - Optional [CSV Logging](../settings_view/csv.md) of telemetry data for improved accessibility. + - ArduPilot + - Mavlink: Configurable stream rate settings +- Setup + - Joystick + - New joystick setup ui + - Ability to configure held button to single or repeated action + - ArduPilot + - Motor Test + - ArduSub + - Automatic motor direction detection +- Plan + - Create Plan from template with wizard like progression for completing full Plan. + - Survey: Save commonly used settings as a Preset + - Polygon editing + - New editing tools ui + - Support for tracing a polygon from map locations + - ArduPilot + - Support for GeoFence and Rally Points using latest firmwares and mavlink v2 +- Fly + - Click to ROI support + - Added support for connecting to ADSB SBS server. Adds support for ADSB data from USB SDR Dongle running 'dump1090 --net' for example. + - Ability to turn on Heading to home, COG and Next Waypoint heading indicators in Compass. + - Video + - Add support for h.265 video streams + - Automatically add a [Video Overlay](../fly_view/video_overlay.md) with flight data as a subtitle for locally-recorded videos + - Vehicle type specific pre-flight checklists. Turn on from Settings. +- Analyze + - New Mavlink Inspector which includes charting support. Supported on all builds including Android and iOS. +- General + - Released Windows build are now 64 bit only + - Log Replay: Ability to specify replay speed + - ArduPilot + - Improved support for chibios firmwares and ArduPilot bootloader with respect to flashing and auto-connect. + +Additional notes for some features can be found here: [v4.0 (Additional Notes)](../releases/stable_v4.0_additional.md). + +## Stable Version 3.5 + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.5. + +- **Overall** + - Added Airmap integration to QGC. OSX build only. + - Bumped settings version (now 8). + This will cause all settings to be reset to defaults. + - Added Chinese and Turkish localization and partial German localization. + - Added support for the Taisync 2.4GHz ViUlinx digital HD wireless link. + - Fix loading of parameters from multiple components. + This especially affected WiFi connections. + - **ArduPilot** Support for ChibiOS firmware connect and flash. +- **Settings** + - **RTK** Add support for specifying fixed RTK based station location in Settings/General. + - **GCS Location** + - Added UDP Port option for NMEA GPS Device. + - GCS heading shown if available +- **Plan** + - **Polygons** Support loading polygons from SHP files. + - **Fixed Wing Landing Pattern** Add stop photo/video support. + Defaults to on such that doing an RTL will stop camera. + - **Edit Position dialog** Available on polygon vertices. +- **Fly** + - **Camera Page** Updated support for new MAVLInk camera messages. + Camera select, camera mode, start/stop photo/video, storage mangement... + - **Orbit** Support for changing rotation direction. + - **Instrument Panel** + - Added ESTIMATOR\_STATUS values to new estimatorStatus Vehicle FactGroup. + These are now available to display in instrument panel. + - Make Distance to GCS available for display from instrument panel. + - Make Heading to Home available for display from instrument panel. + +## Stable Version 3.4 + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.4. Not to mention the large number of bug fixes in each stable release. + +- **Settings** + - **Offline Maps** + - Center Tool allows you to specify a map location in lat/lon or UTM coordinates. Making it easier to get to the location you want to create an offline map for. + - Ability to pre-download terrain heights for offline use. + - **Help** Provides links to QGC user guide and forums. + +- **Setup** + - **Firmware** Ability to flash either PX4 or ArduPilot Flow firmware. + - PX4 Pro Firmware + - **Flight Modes** Specify channels for all available transmitter switches. + - **Tuning: Advanced** Initial implementation of vehicle PID tuning support. Note that this is a work in progress that will improve in 3.5 daily builds. + - ArduPilot Firmware + - **Power/Safety** Support for new multi-battery setup. + - **Trad Heli** New setup page. + +- **Plan** + + - **File Load/Save** New model for Plan file loading which matches a standard File Load/Save/Save As user model. + + - **Load KML** Ability to load a KML file directly from the Sync menu. You will be prompted for what type of Pattern you want to create from the KML if needed. + + - **Survey** Better support for irregular shaped polygons. + + - **[Corridor Scan](../plan_view/pattern_corridor_scan.md)** - Create a flight pattern which follows a poly-line. For example can be used to survey a road. + + - **[Fixed Wing Landing Pattern](../plan_view/pattern_fixed_wing_landing.md)** + - Landing area visually represented in Plan. + - Landing position/heading can be copied from Vehicle position/heading. + + - **Terrain** + + - Height of mission items can be specified as height above terrain. + - Survey and Corridor Scan can generate flight plans which follow terrain. + + ::: info + This feature does not support [ArduPilot terrain following](http://ardupilot.org/copter/docs/common-terrain-following.html). + ::: + + - **Edit Position** Set item position from vehicle position. + +- **Fly** + - **Pre-Flight Checklist** You can turn this on from Settings. It provides a generic checklist to follow prior to flight. Expect more feature to appear for this in 3.5 daily builds. + - **Instrument Panel** + - Many new values available for display. + - New Camera page which provides full camera control. Requires a camera which support new MavLink camera specification. + - **ArduPlane** Much better support for guided commands including QuadPlane support. + - **High Latency Links** Support for high latency links such as satellite connections. + Limits the traffic from QGC up to Vehicle on these links to reduce cost. + Supports HIGH\_LATENCY MavLink message. + Supports failover back/forth from high latency to normal link with dual link setup. + +## Stable Version 3.3 + +:::tip +More detailed release notes for version 3.3 can be found [here](../releases/stable_v3.3_long.md). +::: + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.3. Not to mention the large number of bug fixes of this release. + +- **Settings** + - Local NMEA GPS device support. + - Video Recording save settings. +- **Setup** + - **Parameter Editor** - Searching updates as you type characters for near immediate response to searches. + - **Joystick** - Android joystick support. +- **Plan** + - **NEW - Structure Scan Pattern** - Create a multi-layered flight pattern that captures images over vertical surfaces (polygonal or circular). Used for 3d model generation or vertical surface inspection. + - **Fixed Wing Landing Pattern** - You can now adjust the distance from the loiter to land point by either distance or glide slope fall rate. + - PX4 GeoFence and Rally Point support. + - Terrain height display in lower Mission Item altitude display +- **Fly** + - Start/Stop video recording. + - Better display of vehicle icons when connected to multiple vehicles. + - Multi-Vehicle View supports commands which apply to all vehicles. + - Displays vehicles reported from ADS-B sensor. +- **Analyze** + - **Mavlink console** - New support for communicating with Mavlink console. + - **Log Download** - Moved from Menu to Analyze view. + +## Stable Version 3.2 + +:::tip +More detailed release notes for version 3.2 can be found [here](../releases/stable_v3.2_long.md). +::: + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.2. + +- **Settings** + + - **File Save path** - Specify a save path for all files used by QGC. + - **Telemetry log auto-save** - Telemetry logs are now automatically saved without prompting. + - **AutoLoad Plans** - Used to automatically load a Plan onto a vehicle when it first connects. + - **RTK GPS** - Specify the Survey in accuracy and Minimum observation duration. + +- **Setup** + + - ArduPilot only + - **Pre-Flight Barometer and Airspeed calibration** - Now supported + - **Copy RC Trims** - Now supported + +- **Plan View** + + - **Plan files** - Missions are now saved as .plan files which include the mission, geo-fence and rally points. + - **Plan Toolbar** - New toolbar which shows you mission statistics and Upload button. + - **Mission Start** - Allows you to specify values such as flight speed and camera settings to start the mission with. + - **New Waypoint features** - Adjust heading and flight speed for each waypoint as well as camera settings. + - **Visual Gimbal direction** - Gimbal direction is shown on waypoint indicators. + - **Pattern tool** - Allows you to add complex patterns to a mission. + - Fixed Wing Landing (new) + - Survey (many new features) + - **Fixed Wing Landing Pattern** - Adds a landing pattern for fixed wings to your mission. + - **Survey** - New features + - **Take Images in Turnarounds** - Specify whether to take images through entire survey or just within each transect segment. + - **Hover and Capture** - Stop vehicle at each image location and take photo. + - **Refly at 90 degree offset** - Add additional pattern at 90 degree offset to original so get better image coverage. + - **Entry location** - Specify entry point for survey. + - **Polygon editing** - Simple on screen mechanism to drag, resize, add/remove points. Much better touch support. + +- **Fly View** + + - **Arm/Disarm** - Available from toolbar. + - **Guided Actions** - New action toolbar on the left. Supports: + - Takeoff + - Land + - RTL + - Pause + - Start Mission + - Resume Mission - after battery change + - Change Altitude + - Land Abort + - Set Waypoint + - Goto Location + - **Remove mission after vehicle lands** - Prompt to remove mission from vehicle after landing. + - **Flight Time** - Flight time is shown in instrument panel. + - **Multi-Vehicle View** - Better control of multiple vehicles. + +- **Analyze View** - New + + - **Log Download** - Moved to Analyze view from menu + - **Mavlink Console** - NSH shell access + +- **Support for third-party customized QGroundControl** + - Standard QGC supports multiple firmware types and multiple vehicle types. There is now support in QGC which allows a third-party to create their own custom version of QGC which is targeted specifically to their custom vehicle. They can then release their own version of QGC with their vehicle. + +## Stable Version 3.1 + +New Features + +- [Survey](../plan_view/pattern_survey.md) mission support +- [GeoFence](../plan_view/plan_geofence.md) support in Plan View +- [Rally Point](../plan_view/plan_rally_points.md) support in Plan View (ArduPilot only) +- ArduPilot onboard compass calibration +- Parameter editor search will now search as you type for quicker access +- Parameter display now supports unit conversion +- GeoTag images from log files (PX4 only) +- System health in instrument panel +- MAVLink 2.0 support (no signing yet) + +Major Bug Fixes + +- Fixed crash after disconnect from Vehicle +- Fixed android crash when using SiK Radios +- Many multi-vehicle fixes +- Bluetooth fixes diff --git a/docs/ko/docs/en/qgc-user-guide/releases/stable_v3.2_long.md b/docs/ko/docs/en/qgc-user-guide/releases/stable_v3.2_long.md new file mode 100644 index 00000000000..0056ad212fc --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/releases/stable_v3.2_long.md @@ -0,0 +1,265 @@ +# QGroundControl v3.2 Release Notes (Detailed) + +This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.2. + +## Settings + +### Telemetry log auto-save + +If you have _Save telemetry log after each flight_ turned on you will no longer be prompted as to where to save the log each time the vehicle disarms. +Logs will automatically be saved to the [Application Load/Save Path](../settings_view/general.md#load_save_path) + +For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#autosave_log). + +### AutoLoad plans + +If this setting is turned on, _QGroundControl_ will automatically upload a plan to the vehicle when it connects. +The plan file must be named **AutoLoad#.plan** where the `#` is replaced with the vehicle id. +The plan file must be located in the [Application Load/Save Path](../settings_view/general.md#load_save_path). + +For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#autoload_missions). + +### Application Load/Save Path + +You can now specify a save path which QGC will use as the default location to save files such as Parameters, Telemetry or Mission Plans. + +For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#load_save_path). + +### RTK GPS + +You can now specify the _Survey in accuracy_ and _Minimum observation duration_ for use with a connected RTK GPS. + +For more information see [Settings > General (RTK GPS)](../settings_view/general.md#rtk_gps). + +## Setup + +### ArduPilot - Pre-Flight Barometer and Airspeed calibration + +This is now supported from the Sensors page. + +### ArduPilot - Copy RC Trims + +This is now supported from the Copy Trims button on the Radio setup page. + +## Plan View {#plan\_view} + +### Plan Files + +Previous version of _QGroundControl_ saved missions, geo-fences and rally points in separate files (**.mission**, **.fence**, **.rally**). QGC now save all information related to a flight plan into a single file called a _Plan File_ with a file extension of **.plan**. + +Information about the format can be found in [Plan File Format](https://dev.qgroundcontrol.com/en/file_formats/plan.html) (QGC Developer Guide). + +### Plan Toolbar + +![Plan Toolbar](../../../assets/plan/plan_toolbar.jpg) + +The new _Plan Toolbar_ is displayed at the top of the [PlanView](../plan_view/plan_view.md). +It shows you information related to the currently selected waypoint as well as statistics for the entire mission. + +When connected to a vehicle it also shows an **Upload** button, which can be used to upload the plan to the vehicle. + +### Mission Settings + +The [Mission Settings](../plan_view/plan_view.md#mission_settings) panel allows you to specify values which apply to the entire mission, or settings you want to control right at the beginning of a mission. +This is the first item in the mission list on the right of the screen. + + + +#### Mission Defaults + +##### Waypoint alt + +This specifies the default altitude for newly added mission items. +If you update this value while you have a mission loaded it will prompt you to update all the the waypoints to this new altitude. + +##### Flight speed + +This allows you to set the flight speed for the mission to be different than the default mission speed. + +##### RTL after mission end + +Check this if you want your vehicle to RTL after the final mission item. + +#### Camera section + + + +The camera section allows you to specify a camera action to take, control the gimbal and set your camera into photo or video mode. + +The camera actions available are: + +- Continue current action +- Take photos (time) +- Take photos (distance) +- Stop taking photos +- Start recording video +- Stop recording video + +#### Vehicle Info section + + + +When planning a mission the firmware being run on the vehicle as well as the vehicle type must be known in order for QGroundControl to show you the mission commands which are appropriate for your vehicle. + +If you are planning a mission while you are connected to your vehicle the Firmware and Vehicle Type will be determined from the vehicle. If you are planning a mission while not connected to a vehicle you will need to specify this information yourself. + +The additional value that can be specified when planning a mission is the vehicle flight speed. By specifying this value, total mission or survey times can be approximated even when not connected to a vehicle. + +#### Planned Home Position + + + +The planned home position allows you to simulate the vehicle's home position while planning a mission. This way you see the waypoint trajectory for your vehicle from takeoff to mission completion. Keep in mind that this is only the "planned" home position and you should place it where you plan to start the vehicle from. It has no actual impact on flying the mission. The actual home position of a vehicle is set by the vehicle itself when arming. + +### New Waypoint features + + + +- You can now adjust heading and flight speed for each waypoint. +- There is a camera section available for camera changes on each waypoint. Explanation of Camera Section can be read under Mission Settings above. + +### Visual Gimbal direction + + + +If you specify gimbal yaw changes on waypoints, both the plan and fly views will show you a visual representation of the gimbal direction. + +### Pattern tool + +There is a new _Pattern tool_. The following patterns are supported: + +- Fixed Wing Landing (new) +- Survey (with new features) + +#### Fixed Wing Landing Pattern + +![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern.jpg) + +This adds a landing pattern for fixed wings to your mission. +The first point of the pattern is the loiter point which commands to vehicle to loiter to a specific altitude. +Once that altitude is reached, the vehicle will begin the landing sequence and fly down to the specified landing spot. + +Both the loiter and land points can be dragged to adjust. +Also all the various values associated with the pattern can be adjusted. + +For more information see [Fixed Wing Landing Pattern](../plan_view/pattern_fixed_wing_landing.md). + +#### Survey (new features) + +- Images are not automatically taken in the turnaround zone outside of the polygonal survey area. +- There is a new _Hover and Capture_ option which can be used to capture the highest quality image at each image location. The vehicle will stop at each image location prior to taking the image such that the vehicle is stable while the image is taken. +- There is a new option to re-fly the survey grid at a 90 degree angle to the previous pass. This allows you to generate much denser coverage for the images. + +![](../../../assets/plan/polygon_edit.jpg) + +Manipulating the survey area polygon is now easier to use on tablets with touch screens: + +- You can drag the entire polygon to a new location by dragging the center point handle. +- Each polygon vertex can be dragged to a new location. +- To remove a polygon vertex, simple click on the drag handle for it. +- Click on the **+** handles to add a new vertex between two existing vertices. + +## Fly View + +### RTK GPS + +RTK status is now shown in the toolbar. + +### Arm/Disarm + +There is an armed/disarmed indicator in the toolbar. You can click it to arm/disarm your vehicle. If you click Disarm in the toolbar while your vehicle is flying you will provided the option to Emergency Stop your vehicle. + +### Guided Actions + +- Takeoff +- Land +- RTL +- Pause +- Actions + - Start Mission + - Resume Mission + - Change Altitude + - Land Abort +- Direct interaction with map + - Set Waypoint + - Goto Location + +#### Resume Mission + +The Resume Mission guided action is used to resume a mission after performing an RTL from within the mission to perform a battery change. +After the vehicle lands from RTL and you have disconnected the battery **do not** disconnect QGC from the Vehicle. +Put in your new battery and QGC will detect the vehicle again and automatically restore the connection. +Once this happens you will be prompted with a Resume Mission confirmation slider. +If you want to resume the mission, confirm this and the mission will be rebuilt from your last waypoint traveled through. +Once the mission is rebuilt you will be presented with another Resume Mission slide which allows you to review the rebuilt mission before starting it again. +Confirm this Resume Mission slider to continue on with the mission. + +###### How resume mission rebuilding works + +In order to resume a mission you cannot simply continue it from the last mission item the vehicle ran. +The reason is is that may skip over important change speed commands or camera control commands which are prior to that item in the mission. +If you skipped over those the remainder of the mission will not run correctly. +In order to make resume mission work correctly QGC rebuilds the mission looking backwards from the last mission item flown and automatically appends relevant commands to the front of the mission. +By doing this the state of the mission prior to the resume point is restore. +The following mission commands are the ones scanned for: + +- `MAV_CMD_DO_CONTROL_VIDEO` +- `MAV_CMD_DO_SET_ROI` +- `MAV_CMD_DO_DIGICAM_CONFIGURE` +- `MAV_CMD_DO_DIGICAM_CONTROL` +- `MAV_CMD_DO_MOUNT_CONFIGURE` +- `MAV_CMD_DO_MOUNT_CONTROL` +- `MAV_CMD_DO_SET_CAM_TRIGG_DIST` +- `MAV_CMD_DO_FENCE_ENABLE` +- `MAV_CMD_IMAGE_START_CAPTURE` +- `MAV_CMD_IMAGE_STOP_CAPTURE` +- `MAV_CMD_VIDEO_START_CAPTURE` +- `MAV_CMD_VIDEO_STOP_CAPTURE` +- `MAV_CMD_DO_CHANGE_SPEED` +- `MAV_CMD_NAV_TAKEOFF` + +### Remove mission after vehicle lands + +You will be prompted to remove the mission from the vehicle after the mission completes and the vehicle lands and disarms. +This is meant to prevent issues where stale missions are unknowingly left on a vehicle cause unexpected behavior. + +### Instrument panel + +#### Camera trigger + +#### Flight Time + +Flight time is now available for display in the instrument panel. +For new users, flight time will be shown by default. +For existing users who have already modified their instrument panel values you will have to add it yourself if you want to use it. + +## [Analyze View](../analyze_view/index.md) + +- [Log Download](../analyze_view/log_download.md) moved to _Analyze View_ from menu. +- New [GeoTag Images](../analyze_view/geotag_images.md) support for PX4 Pro firmware +- New [MAVLink Console](../analyze_view/mavlink_console.md) which provides access the the _nsh shell_ running on the vehicle. + +## Multi-Vehicle View + +There is a new view available when you have multiple vehicles connected to QGC. It will only show up when more than one vehicle is connected. When that happens you will see an additional set of radio button at the top right of the Plan view. + + + +Click the **Multi-Vehicle** radio button to replace the instrument panel with the multi-vehicle list: + + + +The example above shows three vehicles. The numbers are the vehicle id. In the large font is the current flight mode. You can click the flight mode name to change to a different flight mode. To the right are small version of the instruments for each vehicle. You can command the vehicle to do the following actions from the control panel: + +- Arm/Disarm +- Start/Stop a mission +- Return to Launch +- Take Control back of the vehicle by returning to manual control from a mission. + +### Multi-Vehicle Gotchas - Unique vehicle ids + +Each vehicle connected to QGC must have a unique id. Otherwise QGC will think the vehicles are actually the same vehicle. The symptom of this is the Plan view jerking around as it tries to position itself to one vehicle and then the next. For PX4 Pro firmwares this is the `MAV_SYS_ID` parameter. For ArduPilot firmwares it is the `SYSID_THISMAV` parameter. + +## Support for third-party customized QGroundControl + +Standard QGC supports multiple firmware types and multiple vehicle types. There is now support in QGC which allows a third-party to create their own custom version of QGC which is targeted specifically to their custom vehicle. They can then release their own version of QGC with their vehicle. diff --git a/docs/ko/docs/en/qgc-user-guide/releases/stable_v3.3_long.md b/docs/ko/docs/en/qgc-user-guide/releases/stable_v3.3_long.md new file mode 100644 index 00000000000..4c2f86d680d --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/releases/stable_v3.3_long.md @@ -0,0 +1,96 @@ +# QGroundControl v3.3 Release Notes (Detailed) + +This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.3. + +## Detailed Notes + +### Settings View + +#### NMEA GPS Device support + +![NMEA GPS Device support](../../../assets/settings/general/NMEADevice.jpg) + +You can specify a connection to one of these devices on the General page. +The GPS information will then be used for ground station location and in turn follow me support. + +For more information see [Settings > General (AutoConnect to the following devices)](../settings_view/general.md#auto_connect). + +#### Video Recording + +![Video Recording](../../../assets/settings/video_recording.jpg) + +Videos will be saved to the Video directory of your QGC file save path. +You can also specify the maximum amount of space you want video files to consume. +After that size if exceeded the oldest video files will be removed. +Video Recording is turned on/off from the Video widget in the Fly View. + +For more information see [Settings > General (Video / Video Recording)](../settings_view/general.md#video). + +### Plan View {#plan\_view} + +#### Structure Scan + +A Structure Scan allows you to create a grid flight pattern that captures images over vertical surfaces (polygonal or circular). +These are typically used for the visual inspection or creation of 3d models of structures. + +Details [here](../plan_view/pattern_structure_scan_v2.md). + +#### New MAVLink GeoFence, Rally Point support + +![](../../../assets/plan/geofence_rally.jpg) + +QGC supports the new MAVLink GeoFence and Rally Point specification/protocol. This new system supports multiple polygonal and/or circular fences which can be specified as an exclusion or an inclusion fence. + +The fence which is currently selected by the "Edit" radio button will show the on screen editing controls such as the drag points for polygon editing. + +**Note** Only PX4 Pro firmware supports the new specification. ArduPilot does not yet support the new spec. Support for GeoFence/Rally is temporarily disabled in QGC until QGC ArduPilot code is reworked to the new architecture. + +#### Edit Position Dialog + +![](../../../assets/plan/edit_position_dialog.jpg) + +The Edit Position Dialog allows you to specify a detailed position for an item in either Geographic or UTM coordinate systems. It is available from the Polygon Tools menu as well as the hamburger menu of any mission item which specifies a coordinate: + +![](../../../assets/plan/mission_item_editor_hamburger.jpg) + +#### Polygon Tools + +![](../../../assets/plan/polygon_tools.jpg) + +You can now also click on the polygon center drag handle to bring up a set of polygon manipulation tools. The tools are available anywhere polygon editing is supported: Survey, Structure Scan, GeoFence, ... + +- Circle - Converts the polygon to a circular polygon. +- Polygon - Changes a circular polygon back to a rectangular polygon. +- Set radius - Set radius for circular polygons. +- Edit position - Displays the edit position dialog to specify a detailed position for the circular center. +- Load KML - Set polygon to polygon loaded from KML file. + +Circular polygon example: + + + +### Fly View + +#### Start/Stop Video Recording + +This is now a video record button in the video window. Settings for saved videos are available from General Page of Setup view. + +#### Multi-Vehicle vehicle indicators + +When you are connected to multiple vehicles the vehicle id will be shown below the vehicle icon. The active vehicle will be opaque and the inactive vehicles will be semi-transparent. + +![](../../../assets/fly/multi_vehicle_indicators.jpg) + +#### Multi-Vehicle View supports batch commands + +The multi-vehicle list now supports commands which apply to all vehicles. + +![](../../../assets/fly/multi_vehicle_list.jpg) + +The current list of available commands are Pause and Start Mission but that will be exapanded upon with further development. + +#### ADS-B sensor vehicle display + +Vehicle reported by ADS-B sensor on vehicle are shown on map as smaller blue icons with altitude and callsign below the icon. + +![](../../../assets/fly/adsb_vehicle.jpg) diff --git a/docs/ko/docs/en/qgc-user-guide/releases/stable_v4.0_additional.md b/docs/ko/docs/en/qgc-user-guide/releases/stable_v4.0_additional.md new file mode 100644 index 00000000000..9399f0d3702 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/releases/stable_v4.0_additional.md @@ -0,0 +1,13 @@ +# QGroundControl v4.0 Release Notes (Additional) + +This topic contains additional notes about QGroundControl 4.0. +These should be integrated into main documentation in coming months (and this document deleted). + +- [Pattern Presets](../plan_view/pattern_presets.md) - Allows you to save settings for a Pattern item (Survey, Corridor Scan, ...) into a named preset. You can then use this preset over and over again as you create new Pattern. +- ArduPilot: + - Copter - PID Tuning support ![PID Tuning JPG](../../../assets/daily_build_changes/arducopter_pid_tuning.jpg) + - Copter - Additional Basic Tuning options ![Basic Tuning JPG](../../../assets/daily_build_changes/arducopter_basic_tuning.jpg) + - Copter/Rover - Frame setup ui ![Setup Frame Copter JPG](../../../assets/daily_build_changes/arducopter_setup_frame.jpg) + - Improved support for flashing ChibiOS firmware + - Improved support for connecting to ChibiOS bootloader boards + - Support configurable mavlink stream rates. Available from Settings/Mavlink page. ![Stream Rates JPG](../../../assets/daily_build_changes/arducopter_stream_rates.jpg) diff --git a/docs/ko/docs/en/qgc-user-guide/settings_view/console_logging.md b/docs/ko/docs/en/qgc-user-guide/settings_view/console_logging.md new file mode 100644 index 00000000000..e89bb78be30 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/settings_view/console_logging.md @@ -0,0 +1,47 @@ +# Console Logging + +The _Console_ can be helpful tool for diagnosing _QGroundControl_ problems. It can be found in **SettingsView > Console**. + +![Console logging](../../../assets/support/console.jpg) + +Click the **Set Logging** button to enable/disable logging information displayed by _QGroundControl_. + +## Common Logging Options + +The most commmonly used logging options are listed below. + +| Option(s) | Description | +| ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `LinkManagerLog`, `MultiVehicleManagerLog` | Debug connection problems. | +| `LinkManagerVerboseLog` | Debug serial ports not being detected. Very noisy continuous output of available serial ports. | +| `FirmwareUpgradeLog` | Debug firmware flash issues. | +| `ParameterManagerLog` | Debug parameter load problems. | +| `ParameterManagerDebugCacheFailureLog` | Debug parameter cache crc misses. | +| `PlanManagerLog`, `MissionManagerLog`, `GeoFenceManagerLog`, `RallyPointManagerLog` | Debug Plan upload/download issues. | +| `RadioComponentControllerLog` | Debug Radio calibration issues. | + +## Logging from the Command Line + +An alternate mechanism for logging is using the `--logging` command line option. This is handy if you are trying to get logs from a situation where _QGroundControl_ crashes. + +How you do this and where the traces are output vary by OS: + +- Windows + - You must open a command prompt, change directory to the **qgroundcontrol.exe** location, and run it from there: + ```bash + cd "\Program Files (x86)\qgroundcontrol" + qgroundcontrol --logging:full + ``` + - When _QGroundControl_ starts you should see a separate console window open which will have the log output +- OSX + - You must run _QGroundControl_ from Terminal. The Terminal app is located in Applications/Utilities. Once Terminal is open paste the following into it: + ```bash + cd /Applications/qgroundcontrol.app/Contents/MacOS/ + ./qgroundcontrol --logging:full + ``` + - Log traces will output to the Terminal window. +- ## Linux + ```bash + ./qgroundcontrol-start.sh --logging:full + ``` + - Log traces will output to the shell you are running from. diff --git a/docs/ko/docs/en/qgc-user-guide/settings_view/csv.md b/docs/ko/docs/en/qgc-user-guide/settings_view/csv.md new file mode 100644 index 00000000000..ae227ea9238 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/settings_view/csv.md @@ -0,0 +1,11 @@ +# CSV Logging + +![Csv checkbox](../../../assets/settings/general/csv.jpg) + +When checked, a CSV (comma-separated value) telemetry file will be created along with the usual **.tlog** telemetry file. +The file is only created if **Save log after each flight** is enabled, and is recorded for the same duration. + +This CSV file contains the most relevant vehicle telemetry data available for quick analysis such as GPS position, attitude, battery status, and others. +It is populated at 1 Hz and while it is not as detailed as the telemetry log, it is a lot easier to work with and quicker to extract data out of. + +The file can be opened by common spreadsheet software, including: Microsoft Excel, Google Sheets, LibreOffice Calc or OpenOffice Calc. diff --git a/docs/ko/docs/en/qgc-user-guide/settings_view/general.md b/docs/ko/docs/en/qgc-user-guide/settings_view/general.md new file mode 100644 index 00000000000..f88e660ef42 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/settings_view/general.md @@ -0,0 +1,282 @@ +# General Settings (Settings View) + +The general settings (**SettingsView > General Settings**) are the main place for application-level configuration. +Settable values include: display units, autoconnection devices, video display and storage, RTK GPS, brand image, and other miscellaneous settings. + +:::info +Values are settable even if no vehicle is connected. Settings that require a vehicle restart are indicated in the UI. +::: + +![SettingsView - Full General Tab](../../../assets/settings/general/overview.jpg) + +## Units + +This section defines the display units used in the application. + +![Units settings](../../../assets/settings/general/units.jpg) + +The settings are: + +- **Distance**: Meters | Feet +- **Area**: SquareMetres | SquareFeet | SquareKilometers | Hectares | Acres | SquareMiles +- **Speed**: Metres/second | Feet/second | Miles/hour | Kilometres/hour | Knots +- **Temperature**: Celsius | Fahrenheit + +## Miscellaneous + +This section defines a number of miscellaneous settings, related to (non exhaustively): font sizes, colour schemes, map providers, map types, telemetry logging, audio output, low battery announcement levels, default mission altitude, [virtual joysticks](../settings_view/virtual_joystick.md), mission autoloading, default application file load/save path etc. + +![Miscellaneous settings](../../../assets/settings/general/miscellaneous.jpg) + +The settings are: + +- **Language**: System (System Language) | Bulgarian, Chinese, ... + + ![Display languages](../../../assets/settings/general/languages.jpg) + + Translations are generally built into the application and selected automatically based on the system language. + + Metadata downloaded from the vehicle (such as parameter descriptions) might have translations as well. + These are downloaded from the internet upon vehicle connection. The translations are then cached locally. + This means an internet connection during vehicle connection is required at least once. + +- **Color Scheme**: Indoor (Dark) | Outdoor (Light) + +- **Map Provider**: Google | Mapbox | Bing | Airmap | VWorld | Eniro | Statkart + +- **Map Type**: Road | Hybrid | Satellite + +- **Stream GCS Position**: Never | Always | When in Follow Me Flight Mode. + +- **UI Scaling**: UI scale percentage (affects fonts, icons, button sizes, layout etc.) + +- **Mute all audio output**: Turns off all audio output. + +- **Check for Internet Connection**: Uncheck to allow maps to be used in China/places where map tile downloads are likely to fail (stops the map-tile engine continually rechecking for an Internet connection). + +- **Autoload Missions**: If enabled, automatically upload a plan to the vehicle on connection. + - The plan file must be named **AutoLoad#.plan**, where the `#` is replaced with the vehicle id. + - The plan file must be located in the [Application Load/Save Path](#load_save_path). + +- **Clear all settings on next start**: Resets all settings to the default (including this one) when _QGroundControl_ restarts. + +- **Announce battery lower than**: Battery level at which _QGroundControl_ will start low battery announcements. + +- **Application Load/Save Path**: Default location for loading/saving application files, including: parameters, telemetry logs, and mission plans. + +## Data Persistence {#data\_persistence} + +![Data Persistence Settings](../../../assets/settings/general/data_persistence.jpg) + +The settings are: + +- **Disable all data persistence**: Check to prevent any data being saved or cached: logs, map tiles etc. + This setting disables the [telemetry logs section](#telemetry_logs). + +## Telemetry Logs from Vehicle {#telemetry\_logs} + +![Telemetry Logs from Vehicle Settings](../../../assets/settings/general/telemetry_logs.jpg) + +The settings are: + +- **Save log after each flight**: Telemetry logs (`.tlog`) automatically saved to the _Application Load/Save Path_ ([above](#load_save_path)) after flight. +- **Save logs even if vehicle was not armed**: Logs when a vehicle connects to _QGroundControl_. + Stops logging when the last vehicle disconnects. +- [**CSV Logging**](csv.md): Log subset of telemetry data to a CSV file. + +## Fly View {#fly\_view} + +![Fly View Settings](../../../assets/settings/general/fly_view.jpg) + +The settings are: + +- **Use Preflight Checklist**: Enable pre-flight checklist in Fly toolbar. + +- **Enforce Preflight Checklist**: Checklist completion is a pre-condition for arming. + +- **Keep Map Centered on Vehicle**: Forces map to center on the currently selected vehicle. + +- **Show Telemetry Log Replay Status Bar**: Display status bar for [Replaying Flight Data](../fly_view/replay_flight_data.md). + +- **Virtual Joystick**: Enable [virtual joysticks](../settings_view/virtual_joystick.md) (PX4 only) + +- **Use Vertical Instrument Panel**: Align instrument panel vertically rather than horizontally (default). + +- **Show additional heading indicators on Compass**: Adds additional indicators to the compass rose: + +- _Blue arrow_: course over ground. + +- _White house_: direction back to home. + +- _Green line_: Direction to next waypoint. + +- **Lock Compass Nose-Up**: Check to rotate the compass rose (default is to rotate the vehicle inside the compass indicateor). + +- **Guided Minimum Altitude**: Minimum value for guided actions altitude slider. + +- **Guided Maximum Altitude**: Minimum value for guided actions altitude slider. + +- **Go To Location Max Distance**: The maximum distance that a Go To location can be set from the current vehicle location (in guided mode). + +## Plan View {#plan\_view} + +![Plan View Settings](../../../assets/settings/general/plan_view.jpg) + +The settings are: + +- **Default Mission Altitude**: The default altitude used for the Mission Start Panel, and hence for the first waypoint. + +## AutoConnect to the following devices {#auto\_connect} + +This section defines the set of devices to which _QGroundControl_ will auto-connect. + +![Device autoconnect settings](../../../assets/settings/general/autoconnect_devices.jpg) + +Settings include: + +- **Pixhawk:** Autoconnect to Pixhawk-series device +- **SiK Radio:** Autoconnect to SiK (Telemetry) radio +- **PX4 Flow:** Autoconnect to PX4Flow device +- **LibrePilot:** Autoconnect to Libre Pilot autopilot +- **UDP:** Autoconnect to UDP +- **RTK GPS:** Autoconnect to RTK GPS device +- **NMEA GPS Device:** Autoconnect to an external GPS device to get ground station position ([see below](#nmea_gps)) + +### Ground Station Location (NMEA GPS Device) {#nmea\_gps} + +_QGroundControl_ will automatically use an internal GPS to display its own location on the map with a purple `Q` icon (if the GPS provides a heading, this will be also indicated by the icon). +It may also use the GPS as a location source for _Follow Me Mode_ - currently supported on [PX4 Multicopters only](https://docs.px4.io/en/flight_modes/follow_me.html). + +You can also configure QGC to connect to an external GPS device via a serial or UDP port. +The GPS device must support the ASCII NMEA format - this is normally the case. + +:::tip +A higher quality external GPS system may be useful even if the ground station has internal GPS support. +::: + +Use the _NMEA GPS Device_ drop-down selector to manually select the GPS device and other options: + +- USB connection: + + ![NMEA GPS Device - Serial](../../../assets/settings/general/nmea_gps_serial.jpg) + + - **NMEA GPS Device:** _Serial_ + - **NMEA GPS Baudrate**: The baudrate for the serial port + + :::tip + To troubleshoot serial GPS problems: Disable RTK GPS [auto connection](#auto_connect), close _QGroundControl_, reconnect your GPS, and open QGC. + ::: + +- Network connection: + + ![NMEA GPS Device - UDP](../../../assets/settings/general/nmea_gps_udp.jpg) + + - **NMEA GPS Device:** _UDP Port_. + - **NMEA Stream UDP Port**: The UDP port on which QGC will listen for NMEA data (QGC binds the port as a server) + +## RTK GPS {#rtk\_gps} + +This section allows you to specify the RTK GPS "Survey-in" settings, to save and reuse the result of a Survey-In operation, or to directly enter any other known position for the base station. + +![RTK GPS Settings](../../../assets/settings/general/rtk_gps.jpg) + +:::info +The _Survey-In_ process is a startup procedure required by RTK GPS systems to get an accurate estimate of the base station position. +The process takes measurements over time, leading to increasing position accuracy. +Both of the setting conditions must met for the Survey-in process to complete. +For more information see [RTK GPS](https://docs.px4.io/en/advanced_features/rtk-gps.html) (PX4 docs) and [GPS- How it works](http://ardupilot.org/copter/docs/common-gps-how-it-works.html#rtk-corrections) (ArduPilot docs). +::: + +:::tip +In order to save and reuse a base position (because Survey-In is time consuming!) perform Survey-In once, select _Use Specified Base Position_ and press **Save Current Base Position** to copy in the values for the last survey. +The values will then persist across QGC reboots until they are changed. +::: + +The settings are: + +- Perform Survey-In + - **Survey-in accuracy (U-blox only):** The minimum position accuracy for the RTK Survey-In process to complete. + - **Minimum observation duration:** The minimum time that will be taken for the RTK Survey-in process. +- Use Specified Base Position + - **Base Position Latitude:** Latitude of fixed RTK base station. + - **Base Position Longitude:** Longitude of fixed RTK base station. + - **Base Position Alt (WGS94):** Altitude of fixed RTK base station. + - **Base Position Accuracy:** Accuracy of base station position information. + - **Save Current Base Position** (button): Press to copy settings from the last Survey-In operation to the _Use Specified Base Position_ fields above. + +## ADSB Server {#adsb\_server} + +![ADSB\_Server Settings](../../../assets/settings/general/adbs_server.jpg) + +The settings are: + +- **Connect to ADSB SBS server**: Check to connect to ADSB server on startup. +- **Host address**: Host address of ADSB server +- **Server port**: Port of ADSB server + +QGC can consume ADSB messages in SBS format from a remote or local server (at the specified IP address/port) and display detected vehicles on the Fly View map. + +::: tip +One way to get ADSB information from nearby vehicles is to use [dump1090](https://github.com/antirez/dump1090) to serve the data from a connected RTL-SDR dongle to QGC. + +The steps are: + +1. Get an RTL-SDR dongle (and antenna) and attach it to your ground station computer (you may need to find compatible drivers for your OS). +2. Install _dump1090_ on your OS (either pre-built or build from source). +3. Run `dump1090 --net` to start broadcasting messages for detected vehicles on TCP localhost port 30003 (127.0.0.1:30003). +4. Enter the server (`127.0.0.1`) and port (`30003`) address in the QGC settings above. +5. Restart QGC to start seeing local vehicles on the map. + +::: + +## Video {#video} + +The _Video_ section is used to define the source and connection settings for video that will be displayed in _Fly View_. + +![Video settings](../../../assets/settings/general/video_udp.jpg) + +The settings are: + +- **Video Source**: Video Stream Disabled | RTSP Video Stream | UDP h.264 Video Stream | UDP h.265 Video Stream | TCP-MPEG2 Video Stream | MPEG-TS (h.264) Video Stream | Integrated Camera + + ::: info + If no video source is specified then no other video or _video recording_ settings will be displayed (above we see the settings when UDP source is selected). + ::: + +- **URL/Port**: Connection type-specific stream address (may be port or URL). + +- **Aspect Ratio**: Aspect ratio for scaling video in video widget (set to 0.0 to ignore scaling) + +- **Disabled When Disarmed**: Disable video feed when vehicle is disarmed. + +- **Low Latency Mode**: Enabling low latency mode reduces the video stream latency, but may cause frame loss and choppy video (especially with a poor network connection). + +## Video Recording + +The _Video Recording_ section is used to specify the file format and maximum allocated file storage for storing video. +Videos are saved to a sub-directory ("Video") of the [Application Load/Save Path](#load_save_path). + +![Video - without auto deletion](../../../assets/settings/general/video_recording.jpg) + +![Video - auto deletion](../../../assets/settings/general/video_recording_auto_delete.jpg) + +The settings are: + +- **Auto-Delete Files**: If checked, files are auto deleted when the specified amount of storage is used. +- **Max Storage Usage**: Maximum video file storage before video files are auto deleted. +- **Video File Format**: File format for the saved video recording: mkv, mov, mp4. + +## Brand Image + +This setting specifies the _brand image_ used for indoor/outdoor colour schemes. + +The brand image is displayed in place of the icon for the connected autopilot in the top right corner of the toolbar. +It is provided so that users can easily create screen/video captures that include a company logo/branding. + +![Brand Image](../../../assets/settings/general/brand_image.jpg) + +The settings are: + +- **Indoor Image**: Brand image used in [indoor color scheme](#colour_scheme) +- **Outdoor Image**: Brand image used in [outdoor color scheme](#colour_scheme) +- **Reset Default Brand Image**: Reset the brand image back to default. diff --git a/docs/ko/docs/en/qgc-user-guide/settings_view/mavlink.md b/docs/ko/docs/en/qgc-user-guide/settings_view/mavlink.md new file mode 100644 index 00000000000..05bf0cd5581 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/settings_view/mavlink.md @@ -0,0 +1,81 @@ +# MAVLink Settings + +The MAVLink settings (**SettingsView > MAVLink**) allow you to configure options and view information specific to MAVLink communications. +This includes setting the MAVLink system ID for _QGroundControl_ and viewing link quality. + +The screen also allows you to manage [MAVLink 2 Log Streaming](#logging) (PX4 only), including _automating log upload to Flight Review_! + +![MAVLink settings screen](../../../assets/settings/mavlink/overview.png) + +## Ground Station {#ground\_station} + +This section sets the MAVLink properties and behaviour of _QGroundControl_. + +![Ground Station](../../../assets/settings/mavlink/ground_station.png) + +- **MAVLink System ID:** System ID of _QGroundControl_ on the MAVLink network (Default: 255). + Vehicles are typically allocated IDs from 1. + You may have to specify another ID if there are multiple ground stations or MAVLink applications on the network. +- **Emit heartbeat:** Disable emission of regular MAVLink HEARTBEAT message (Default: True). + Generally speaking, you should not turn this off. +- **Only accept MAVs with the same protocol version:** Set true to only connect to MAVLink 1 or to MAVLink 2 vehicles (Default: True). +- **Enable MAVLink forwarding:** Enable _QGroundControl_ to forward MAVLink messages from connected vehicles to another UDP endpoint (Default: False). + Note that this forwarding is one-way: from QGC to the specified host. + Any MAVLink messages that are received from the specified host will be ignored. + +## Link Status {#link\_status} + +This shows the status of MAVLink message transfer over the communications link. +A high **Loss rate** may lead to protocol errors for things like parameter download or mission upload/download. + +![Link Status](../../../assets/settings/mavlink/link_status.jpg) + +## MAVLink 2 Logging (PX4 only) {#logging} + +The _MAVLink 2 Logging_ settings (PX4 only) configure real-time log streaming from PX4 to _QGroundControl_ and upload of logs to [Flight Review](https://logs.px4.io). + +:::warning +MAVLink 2 Logging cannot be used on "basic" setups because it requires a constant high-rate MAVLink connection to the vehicle (it _may_ work over WiFI but will _not_ work over a Telemetry link). +::: + +:::tip +In theory log streaming allows real time analysis of data. +At time of writing real-time analysis has not yet been implemented. +::: + +The log format is the same as for SD Card logs (downloaded using [Analyze View > Log Download](../analyze_view/log_download.md)), but actual data logged may be slightly different because log start/stop time is controlled by _QGroundControl_ and because some dropouts may occur when streaming over a lossy channel. + +The _MAVLink 2 Logging_ section allows you to manually start and stop logging, and to enable automatic capture of logs. + +![MAVLink 2 Logging](../../../assets/settings/mavlink/mavlink2_logging.jpg) + +The _MAVLink 2 Log Uploads_ section allows you configure uploading of MAVLink logs to [Flight Review](https://logs.px4.io). +You can specify all the fields that you would otherwise have to directly enter in the site, and also choose whether logs are automatically or manually uploaded. + +![MAVLink 2 Log Uploads](../../../assets/settings/mavlink/mavlink2_log_uploads.jpg) + +The fields are: + +- **Email address for Log Uploads:** _Flight Review_ will email you a link to the upload at this address. + This is important as otherwise you will have no way to access a non-public log after upload. +- **Default Description:** Description/name of flight used for log. +- **Default Upload URL:** URL for upload of the log/log metadata. + This is set by default to the _Flight Review_ URL. +- **Video URL:** (Optional) URL for video of flight associated with log. + This may be included on the Flight Review page to ease analysis. +- **Wind Speed:** Used to aid debugging and filtering (from multiple flights). Allowed values: _Calm_ | _Breeze_ | _Gale_ | _Storm_. +- **Flight Rating:** Used to aid debugging and filtering (from multiple flights). Allowed values: _Crashed (Pilot Error)_ | _Crashed (Software or Hardware Issue)_ | _Unsatisfactory_ | _Good_ | _Great_. +- **Additional Feedback:** (Optional). Enter a more detailed description of the flight or behaviour. +- **Make this log publically available:** If set, the log will be visible and searchable on _Flight Review_. + If not set, it will only be available via the link emailed on upload. +- **Enable automatic log uploads:** If set, the log will automatically be uploaded on completion. +- **Delete log file after uploading:** If set, the log will automatically deleted after upload. + +The _Saved Log Files_ section is used to manually manage log uploads. +Use the checkboxes and buttons to select logs, and either delete or upload them. + +:::tip +You can change the parameters in _MAVLink 2 Log Uploads_ above to specify separate descriptions for uploaded logs. +::: + +![Saved log files](../../../assets/settings/mavlink/saved_log_files.jpg) diff --git a/docs/ko/docs/en/qgc-user-guide/settings_view/offline_maps.md b/docs/ko/docs/en/qgc-user-guide/settings_view/offline_maps.md new file mode 100644 index 00000000000..a3c0384c15b --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/settings_view/offline_maps.md @@ -0,0 +1,14 @@ +# Offline Maps + +![](../../../assets/settings/offline_maps.jpg) + +Offline Maps allows you to cache map tiles for use when not connected to the Internet. You can create multiple offline sets, each for a different location. + +## Add new set + +To create a new offline map set, click "Add new set". Which will take you to this page: +![](../../../assets/settings/offline_maps_add.jpg) + +From here you can name your set as well as specify the zoom levels you want to cache. Move the map to the position you want to cache and then set the zoom levels and click Download to cache the tiles. + +To the left you can see previews of the min and max zoom levels you have chosen. diff --git a/docs/ko/docs/en/qgc-user-guide/settings_view/settings_view.md b/docs/ko/docs/en/qgc-user-guide/settings_view/settings_view.md new file mode 100644 index 00000000000..d370436affa --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/settings_view/settings_view.md @@ -0,0 +1,19 @@ +# Settings View + +The _Settings View_ is used to configure the settings for the _QGroundControl_ application (rather than a specific vehicle). You do not have to have a vehicle connected to change these values. + +You can switch between the various settings options by clicking the buttons in the left-sidebar. + +![](../../../assets/settings/settings_view.jpg) + +## Settings Options + +**[General](general.md)**
The main application configuration settings. These are used to specify: display units, autoconnection devices, video display and storage, RTK GPS, etc. + +**Comm Links**
Allows you to manually create communication links and connect to them. _Keep in mind that normally this is not needed since QGroundControl will automatically connect to the most common devices._ + +**[Offline Maps](offline_maps.md)**
Allows you to cache maps for use while you have no Internet connection. + +**[MAVLink](mavlink.md)**
Settings associated with the MAVLink connection to a vehicle. + +**[Console](console_logging.md)**
Used to capture application logs for help with diagnosing application problems. diff --git a/docs/ko/docs/en/qgc-user-guide/settings_view/virtual_joystick.md b/docs/ko/docs/en/qgc-user-guide/settings_view/virtual_joystick.md new file mode 100644 index 00000000000..33544050b15 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/settings_view/virtual_joystick.md @@ -0,0 +1,20 @@ +# Virtual Joystick + +_QGroundControl_ allows you to control a vehicle with on-screen virtual thumbsticks. These are displayed as shown below in the flight view. + +![QGroundControl Preferences > Enable Virtual Joystick](../../../assets/settings/joystick_virtual_joystick_displayed.jpg) + +:::info +Thumbstick control is not as responsive as using an RC Transmitter (because the information is sent over MAVLink). Another alternative is to use a [USB Joystick/Gamepad](../setup_view/joystick.md). +::: + +## Enable the thumbsticks + +To enable the virtual joysticks: + +1. Select the **Q** icon from the top toolbar +2. Open the **Application Settings** +3. Make sure you're on the **General** tab +4. Check the **Virtual joystick** box + + ![QGroundControl Application Settings > Enable Virtual joystick](../../../assets/settings/joystick_virtual_joystick_enable.png) diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/airframe.md b/docs/ko/docs/en/qgc-user-guide/setup_view/airframe.md new file mode 100644 index 00000000000..475afe234ed --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/airframe.md @@ -0,0 +1,7 @@ +# Airframe Setup + +This page allows you to configure the main airframe selection associated with your vehicle. +The view/process differs slightly based on the flight controller firmware used. + +- [Airframe (ArduPilot)](../setup_view/airframe_ardupilot.md) +- [Airframe (PX4)](../setup_view/airframe_px4.md) diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/airframe_ardupilot.md b/docs/ko/docs/en/qgc-user-guide/setup_view/airframe_ardupilot.md new file mode 100644 index 00000000000..d0dd811a1be --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/airframe_ardupilot.md @@ -0,0 +1,41 @@ +# Airframe Setup (ArduPilot) + +Airframe Setup is used to select the frame class and type that matches your vehicle + +:::info +Airframe Setup is only available on _ArduCopter_ and _ArduSub_ vehicles (it is not shown for _ArduPilot_ Rover or Plane vehicles). +::: + +## ArduCopter Airframe Setup + +To select the airframe in Copter: + +1. First select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Airframe** in the sidebar. + + ![Airframe config](../../../assets/setup/airframe/arducopter.jpg) + +2. Select the broad _Frame Class_ for your vehicle: + + ![Airframe type](../../../assets/setup/airframe/arducopter_class.jpg) + + ::: info + You will need to reboot the vehicle for class changes to take effect. + ::: + +3. Select the specific _Frame Type_ for your vehicle: + + ![Airframe type](../../../assets/setup/airframe/arducopter_type.jpg) + +## ArduSub Frame Setup {#ardusub} + +To select the frame type for Sub: + +1. First select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Frame** in the sidebar. +2. Select the frame type that matches your vehicle (selecting a frame applies the selection). +3. Make sure that all **green** thrusters have **clockwise** propellers and all **blue** thrusters have **counter-clockwise** propellers (or vice-versa). + + ![Select airframe type](../../../assets/setup/airframe_ardusub.jpg) + + - You can also click **Load Vehicle Default Parameters** to load default parameter set for ArduSub. + + ![Load vehicle params](../../../assets/setup/airframe_ardusub_parameters.jpg) diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/airframe_px4.md b/docs/ko/docs/en/qgc-user-guide/setup_view/airframe_px4.md new file mode 100644 index 00000000000..9a1dac51cb1 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/airframe_px4.md @@ -0,0 +1,19 @@ +# Airframe Setup (PX4) + +To select the airframe in PX4: + +1. Start _QGroundControl_ and connect the vehicle. + +2. Select **QGroundControl icon > Vehicle Setup > Airframe** (sidebar) to open _Airframe Setup_. + +3. Select the broad vehicle group/type that matches your airframe and then use the dropdown within the group to choose the airframe that best matches your vehicle. + + ![Airframe options](../../../assets/setup/airframe_px4/airframe_px4.jpg) + + The example above shows _Generic Hexarotor X geometry_ selected from the _Hexarotor X_ group. + +4. Click the **Apply and Restart** button on the top right of the screen. + +5. Click **Apply** in the following prompt to save the settings and restart the vehicle. + + diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/camera.md b/docs/ko/docs/en/qgc-user-guide/setup_view/camera.md new file mode 100644 index 00000000000..0a63044c0a2 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/camera.md @@ -0,0 +1,18 @@ +# Camera Setup + +The details of the page differ if you are using PX4 firmware or ArduPilot firmware. + +## ArduPilot Camera Setup + +![](../../../assets/setup/ardupilot_camera.jpg) + +## PX4 Camera Setup + +![PX4 Camera setup](../../../assets/setup/px4_camera.jpg) + +For more information see [Camera](http://docs.px4.io/master/en/peripherals/camera.html) (PX4 User Guide). + +:::info +The camera settings section is not available by default for FMUv2-based flight controllers (e.g. 3DR Pixhawk) because the camera module is not automatically included in firmware. +For more information see [this topic](http://docs.px4.io/master/en/advanced_config/parameters.html#parameter-not-in-firmware). +::: diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/firmware.md b/docs/ko/docs/en/qgc-user-guide/setup_view/firmware.md new file mode 100644 index 00000000000..0ca404450a4 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/firmware.md @@ -0,0 +1,49 @@ +# Loading Firmware + +_QGroundControl_ **desktop** versions can install [PX4 Pro](http://px4.io/) or [ArduPilot](http://ardupilot.com) firmware onto Pixhawk-family flight-controller boards. By default QGC will install the current stable version of the selected autopilot, but you can also choose to install beta builds, daily builds, or custom firmware files. + +_QGroundControl_ can also install the firmware for SiK Radios and PX4 Flow devices. + +> **Caution** Loading Firmware is currently not available on tablet or phone versions of _QGroundControl_. + +## Connect Device for Firmware Update + +> **Caution** **Before you start installing Firmware** all USB connections to your vehicle must be _disconnected_ (both direct or through a telemetry radio). The vehicle must _not be_ powered by a battery. + +1. First select the **Gear** icon (_Vehicle Setup_) in the top toolbar and then **Firmware** in the sidebar. + +![Firmware disconnected](../../../assets/setup/firmware/firmware_disconnected.jpg) + +1. Connect your device (Pixhawk, SiK Radio, PX4 Flow) directly to your computer via USB. + + ::: info + Connect directly to a powered USB port on your machine (do not connect through a USB hub). + ::: + +## Select Firmware to Load + +Once the device is connected you can choose which firmware to load (_QGroundControl_ presents sensible options based on the connected hardware). + +1. For a Pixhawk-compatible board choose either **PX4 Flight Stack vX.X.X Stable Release** or **ArduPilot Flight Stack** radio buttons to download the _current stable release_. + + ![Select PX4](../../../assets/setup/firmware/firmware_select_default_px4.jpg) + + If you select _ArduPilot_ you will also have to choose the specific firmware and the type of vehicle (as shown below). + + ![Select ArduPilot](../../../assets/setup/firmware/firmware_selection_ardupilot.jpg) + +2. Check **Advanced settings** to select specific developer releases or install firmware from your local file system. + + ![ArduPilot - Advanced Settings](../../../assets/setup/firmware/firmware_selection_advanced_settings.jpg) + +## Update the firmware + +1. Click the **OK** button to start the update. + + The firmware will then proceed through a number of upgrade steps (downloading new firmware, erasing old firmware etc.). + Each step is printed to the screen and overall progress is displayed on a progress bar. + + ![Firmware Upgrade Complete](../../../assets/setup/firmware/firmware_upgrade_complete.jpg) + +Once the firmware has finished loading the device/vehicle will reboot and reconnect. +Next you will need to configure the [airframe](../setup_view/airframe.md) (and then sensors, radio, etc.) diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/flight_modes.md b/docs/ko/docs/en/qgc-user-guide/setup_view/flight_modes.md new file mode 100644 index 00000000000..382c8bee975 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/flight_modes.md @@ -0,0 +1,62 @@ +# Flight Modes Setup + +The _Flight Modes_ section allows you to map flight modes to radio channel(s), and hence to the switches on your radio control transmitter. +Both flight mode setup and the available flight modes are different in PX4 and ArduPilot (and there are some differences between ArduCopter and ArduPlane). + +:::info +In order to set up flight modes you must already have already [configured your radio](../setup_view/radio.md), and [setup the transmitter](#transmitter-setup) (as shown below). +::: + +To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +For more flight stack specific setup see: + +- [ArduPilot Flight Modes Setup](../setup_view/flight_modes_ardupilot.md) +- [PX4 Flight Modes Setup](../setup_view/flight_modes_px4.md) + +## Transmitter Setup + +In order setup flight modes you will first need to configure your _transmitter_ to encode the physical positions of your mode switch(es) into a single channel. + +On both PX4 and ArduPilot you can assign up to 6 different flight modes to a single channel of your transmitter +It is common to use the positions of a 2- and a 3-position switch on the transmitter to represent the 6 flight modes. +Each combination of switches is then encoded as a particular PWM value that will be sent on a single channel. + +:::info +The single channel is selectable on PX4 and ArduPlane, but is fixed to channel 5 on Copter. +::: + +The process for this varies depending on the transmitter. +A number of setup examples are provided below. + +### Taranis + +These examples show several configurations for the _FrSky Taranis_ transmitter. + +#### Map 3-way Switch to a Single Channel + +If you only need to support selecting between two or three modes then you can map the modes to the positions just one 3-way switch. +Below we show how to map the Taranis 3-way "SD" switch to channel 5. + +Open the Taranis UI **MIXER** page and scroll down to **CH5**, as shown below: + +![Taranis - Map channel to switch](../../../assets/setup/flight_modes/taranis_single_channel_mode_selection_1.png) + +Press **ENT(ER)** to edit the **CH5** configuration then change the **Source** to be the _SD_ button. + +![Taranis - Configure channel](../../../assets/setup/flight_modes/taranis_single_channel_mode_selection_2.png) + +That's it! +Channel 5 will now output 3 different PWM values for the three different **SD** switch positions. + +#### Map Multiple Switches to a Single Channel + +Most transmitters do not have 6-way switches, so if you need to be able to support more modes than the number of switch positions available (up to 6) then you will have to represent them using multiple switches. +Commonly this is done by encoding the positions of a 2- and a 3-position switch into a single channel, so that each switch position combination results in a different PWM value. + +On the FrSky Taranis this process involves assigning a "logical switch" to each combination of positions of the two real switches. +Each logical switch is then assigned to a different PWM value on the same channel. + +This video shows how this is done with the _FrSky Taranis_ transmitter: https\://youtu.be/TFEjEQZqdVA + + diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/flight_modes_ardupilot.md b/docs/ko/docs/en/qgc-user-guide/setup_view/flight_modes_ardupilot.md new file mode 100644 index 00000000000..2f4978ced77 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/flight_modes_ardupilot.md @@ -0,0 +1,54 @@ +# ArduPilot Flight Mode Setup + +The _Flight Modes_ section allows you to configure which flight modes and other actions are triggered by particular switches/switch positions on your RC transmitter. + +::: info +In order to set up flight modes you must already have + +> - [Configured your radio](../setup_view/radio.md) in order to set flight modes. +> - [Setup the RC transmitter](../setup_view/FlightModes.md#transmitter-setup) (Flight Modes > Transmitter Setup)> ::: + +To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +![Flight modes setup - ArduCopter](../../../assets/setup/flight_modes/ardupilot_copter.jpg) + +## Flight Mode Settings + +On ArduPilot you can assign up to 6 different flight modes to a single channel of your transmitter (the channel is selectable on Plane, but fixed to channel 5 on Copter). +ArduCopter also allows you to specify additional _Channel Options_ for channels 7-12. +These allow you to assign functions to these switches (for example, to turn on a camera, or return to launch). + +To set the flight modes: + +1. Turn on your RC transmitter. + +2. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + + ![Flight modes setup - ArduCopter](../../../assets/setup/flight_modes/ardupilot_copter.jpg) + + ::: info + The above image is a screenshot of the flight mode setup for ArduCopter. + ::: + +3. Select up to 6 flight modes in the drop downs. + +4. **ArduCopter only:** Select additional _Channel Options_ for channels 7-12. + +5. **ArduPlane only:** Select the mode channel from the dropdown. + + ![Flight modes setup - ArduPlane](../../../assets/setup/flight_modes/ardupilot_plane.jpg) + +6. Test that the modes are mapped to the right transmitter switches by selecting each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode). + +All values are automatically saved as they are changed. + +::: info +The ArduCopter screenshot above shows a typical setup for a three position flight mode switch with an additional option of RTL being on a channel 7 switch. +You can also setup 6 flight modes using two switches plus mixing on your transmitter. Scroll down to the center section of this [page](http://ardupilot.org/copter/docs/common-rc-transmitter-flight-mode-configuration.html#common-rc-transmitter-flight-mode-configuration) for tutorials on how to do that. +::: + +## See Also + +- [ArduCopter Flight Modes](http://ardupilot.org/copter/docs/flight-modes.html) +- [ArduPlane Flight Modes](http://ardupilot.org/plane/docs/flight-modes.html) +- [ArduCopter > Auxiliary Function Switches](https://ardupilot.org/copter/docs/channel-7-and-8-options.html#channel-7-and-8-options) - additional information about channel configuration. diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/flight_modes_px4.md b/docs/ko/docs/en/qgc-user-guide/setup_view/flight_modes_px4.md new file mode 100644 index 00000000000..2fac3ae0d8e --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/flight_modes_px4.md @@ -0,0 +1,50 @@ +# PX4 Flight Modes Setup + +The _Flight Modes_ section allows you to configure which [flight modes](http://docs.px4.io/master/en/getting_started/flight_modes.html) and other actions are triggered by particular switches/switch positions on your RC transmitter. + +::: info +In order to set up flight modes you must already have + +- [Configured your radio](../setup_view/radio.md) in order to set flight modes. +- [Setup the RC transmitter](../setup_view/FlightModes.md#transmitter-setup) (Flight Modes > Transmitter Setup) + ::: + +To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +![Flight modes single-channel](../../../assets/setup/flight_modes/px4_single_channel.jpg) + +## Flight Mode Settings + +The screen allows you to specify a "mode" channel and select up to 6 flight modes that will be activated based on the value sent on the channel. +You can also assign a small number of channels to trigger particular actions, such as deploying landing gear, or emergency shutdown (kill switch). + +The steps are: + +1. Turn on your RC transmitter. + +2. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + + ![Flight modes single-channel](../../../assets/setup/flight_modes/px4_single_channel.jpg) + +3. Specify _Flight Mode Settings_: + + - Select the transmitter **Mode channel** (shown as Channel 5 above). + - Select up to six **Flight Modes** for switch positions encoded in the channel. + + ::: info + Position mode, return mode and mission mode [are recommended](https://docs.px4.io/master/en/config/flight_mode.html#what-flight-modes-and-switches-should-i-set). + ::: + +4. Specify _Switch Settings_: + + - Select the channels that you want to map to specific actions - _Kill switch_, landing gear, etc. (if you have spare switches and channels on your transmitter). + +5. Test that the modes are mapped to the right transmitter switches: + - Check the _Channel Monitor_ to confirm that each switch moves the expected channel. + - Select each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode). + +All values are automatically saved as they are changed. + +## See Also + +- [PX4 Flight Modes](https://docs.px4.io/en/flight_modes/) diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/joystick.md b/docs/ko/docs/en/qgc-user-guide/setup_view/joystick.md new file mode 100644 index 00000000000..ffd4be052c0 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/joystick.md @@ -0,0 +1,205 @@ +# Joystick Setup + +_QGroundControl_ allows you to control a vehicle using a joystick or gamepad instead of an RC Transmitter. + +:::info +Flying with a Joystick (or [virtual thumb-sticks](../settings_view/virtual_joystick.md)) requires a reliable high bandwidth telemetry channel to ensure that the vehicle is responsive to joystick movements (because joystick information is sent over MAVLink). +::: + +:::info +Joystick and Gamepad support is enabled using the cross-platform [SDL2](http://www.libsdl.org/index.php) library. +Compatibility with a particular controller depends on SDL (all buttons that are exposed by that API are displayed through the _QGroundControl_ UI). +A [number of common joysticks and gamepads](#supported-joysticks) are known to work. +::: + +:::info +The joystick is _enabled_ as the last step of the calibration process. +::: + +## Enabling PX4 Joystick Support + +To enable Joystick support in PX4 you need to set the parameter \[`COM_RC_IN_MODE`]\(h[ttp://localhost:8080/px4\_user\_guide/en](https://docs.px4.io/en/main/advanced_config/parameter_reference.html#COM_RC_IN_MODE) to `1` - _Joystick_. +If this parameter is `0` then _Joystick_ will not be offered as a setup option. + +This is enabled by default for PX4 SITL builds (see the [Parameters](../setup_view/parameters.md) topic for information on how to find and set a particular parameter). + +## Ardupilot Joystick Support + +All ArduPilot vehicles are supported. No parameter configuration is necessary. + +## Configuring the Joystick {#configure} + +To configure a joystick: + +1. Start _QGroundControl_ and connect to a vehicle. + +2. Connect the Joystick or Gamepad to a USB port. + +3. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Joystick** in the sidebar. + The screen below will appear. + + ![Joystick setup - PlayStation](../../../assets/setup/joystick_sony_playstation.jpg) + +4. Make sure your joystick is selected in the **Active joystick** dropdown. + +5. Go to the **Calibrate** Tab, press the **Start** button and then follow the on-screen instructions to calibrate/move the sticks. + + ![Joystick setup - Calibration](../../../assets/setup/joystick_calibration.jpg) + + The joystick is _enabled_ as the last step of the calibration process. + +6. Test the buttons and sticks work as intended by pressing them, and viewing the result in the Axis/Button monitor in the **General** tab. + +7. Select the flight modes/vehicle functions activated by each joystick button. + ![Joystick setup - Buttons](../../../assets/setup/joystick_buttons.jpg) + +## Advanced Options + +Some additional Options are available at the **Advanced** tab. +These options may be useful for specific, unsual setups, for increasing sensibility, and for handling noisy joysticks. + +### Throttle Options + +![Joystick setup - Throttle Modes](../../../assets/setup/joystick_throttle_modes.jpg) + +- **Center stick is zero throttle**: Centered or lowered stick sends 0 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), raised stick sends 1000. + - **Spring loaded throttle smoothing**: In this mode you control not the throttle itself, but the rate at which it increases/decreases. + This is useful for setups where the throttle stick is spring loaded, as the user can hold the desired throttle while releasing the stick. +- **Full down stick is zero throttle**: In this mode, lowered stick sends 0 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), centered stick 500, and raised 1000. +- **Allow negative thrust**: When in **Center stick is zero throttle** mode, this allows the user to send negative values by lowering the stick. + So that lowered stick sends -1000 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), centered sends zero, and raised stick sends 1000. + This mode is only enabled for vehicles that support negative thrust, such as [Rover](http://ardupilot.org/rover/index.html). + +### Expo + +The expo slider allows you to make the sticks less sensitive in the center, allowing finer control in this zone. + +![Joystick setup - Expo](../../../assets/setup/joystick_throttle_expo.jpg) + +The slider adjusts the curvature of the exponential curve. + +![Joystick setup - Expo Curve](../../../assets/setup/joystick_throttle_expo_curve.jpg) + +The higher the Expo value, the flatter the curve is at the center, and steeper it is at the edges. + +### Advanced Settings + +The advanced settings are not recommended for everyday users. +They can cause unpredicted results if used incorrectly. + +![Joystick setup - Advanced Settings](../../../assets/setup/joystick_advanced.jpg) + +The following settings are available: + +- **Enable Gimbal Control**: Enabled two additional channels for controlling a gimbal. + +- **Joystick Mode**: Changes what the joystick actually controls, and the MAVLink messages sent to the vehicle. + + - **Normal**: User controls as if using a regular RC radio, MAVLink [MANUAL\_CONTROL](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL) messages are used. + - **Attitude**: User controls the vehicle attitude, MAVLink [SET\_ATTITUDE\_TARGET](https://mavlink.io/en/messages/common.html#SET_ATTITUDE_TARGET) messages are used. + - **Position**: User controls the vehicle position, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **position** only are used. + - **Force**: User controls the forces applied to the vehicle, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **force** only are used. + - **Velocity**: User controls the forces applied to the vehicle, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **velocity** only are used. + +- **Axis Frequency**: When the joystick is idle (inputs are not changing), the joystick commands are sent to the vehicle at 5Hz. When the joystick is in use (input values are changing), the joystick commands are sent to the vehicle at the (higher) frequency configured by this setting. The default is 25Hz. + +- **Button Frequency**: Controls the frequency at which repeated button actions are sent. + +- **Enable Circle Correction**: RC controllers sticks describe a square, while joysticks usually describe a circle. + When this option is enabled a square is inscribed inside the joystick movement area to make it more like an RC controller (so it is possible to reach all four corners). The cost is decreased resolution, as the effective stick travel is reduced. + + - **Disabled:** When this is **disabled** the joystick position is sent to the vehicle unchanged (the way that it is read from the joystick device). + On some joysticks, the (roll, pitch) values are confined to the space of a circle inscribed inside of a square. + In this figure, point B would command full pitch forward and full roll right, but the joystick is not able to reach point B because the retainer is circular. + This means that you will not be able to achieve full roll and pitch deflection simultaneously. + + ![](../../../assets/setup/joystick_circle_correction.jpg) + + - **Enabled:** The joystick values are adjusted in software to ensure full range of commands. + The usable area of travel and resolution is decreased, however, because the area highlighted grey in the figure is no longer used. + + ![Circle correction enabled](../../../assets/setup/joystick_circle_correction2.jpg) + +- **Deadbands:** Deadbands allow input changes to be ignored when the sticks are near their neutral positions. + This helps to avoid noise or small oscillations on sensitive sticks which may be interpreted as commands, or small offsets when sticks do not re-center well. + They can be adjusted during the first step of the [calibration](#configure), or by dragging vertically on the corresponding axis monitor. + +## Supported Joysticks + +The following joysticks/controllers have been shown to work with relatively recent _QGroundControl_ builds. + +### Sony Playstation 3/4 Controllers + +Both these joysticks are highly recommended. +They work well "out of the box" and have many buttons that you can map to flight modes. + +#### Sony PS4 - DualShock 4 Controller V2 (Wireless setup) + +This controller supports both USB and Bluetooth wireless connection. +Wired USB connection usually works out of the box. +The wireless connection needs some setup. + +##### Linux Ubuntu setup + +To make the controller work wirelessly under Linux the [jstest-gtk](https://jstest-gtk.gitlab.io/) and [ds4drv](https://github.com/chrippa/ds4drv) utilities are needed. + +The steps are: + +1. Install _jstest-gtk_: + ``` + sudo apt install jstest-gtk + ``` +2. Install _ds4drv_: + ``` + sudo pip install ds4drv + ``` +3. Run ds4drv + ``` + sudo ds4drv + ``` +4. Hold **Share** button and then **PS** button until controller LED starts blinking rapidly. + The _ds4drv_ should then detect a new device. +5. Last of all, you should check the controller setup by running the _jstest-gtk_ utility. + +### FrSky Taranis XD9 plus + +The _FrSky Taranis XD9 plus_ remote control can also be connected as a joystick. +You will need to connect it via the USB port on the back. + +The Taranis does not allow you to use button options (to be precise, you can set the options, but toggling the buttons on your transmitter does not cause them to be pressed). + +:::info +The Taranis is an open system that is openly being worked on. +It is possible that at time of writing there is a firmware or configuration that allows it to work effectively as a joystick. +::: + +### Logitech Gamepad F310 + +The Logitech Gamepad F310 has been tested via USB on MacOSX "Sierra". + +### Logitech Extreme 3D Pro + +The [Logitech Extreme 3D Pro](http://gaming.logitech.com/en-ch/product/extreme-3d-pro-joystick) Joystick has been tested on all platforms (Linux, Windows, Mac OSX). +This is a single stick controller that can also be twisted. The main stick axes are used for pitch and roll, while the twist action is used for yaw. The throttle is mapped onto a separate wheel. + +### Logitech F710 Gamepad + + + +This gamepad is great for flying a multirotor manually via QGroundControl. It works on Windows, Linux and Mac OS. + +#### Mac OS Leopard / Lion Setup + +The F710 is detected under Leopard / Lion but is not automatically configured as an input device. +In order to get a working configuration, the F710 has to be recognised as _Rumblepad2_. + +First check how it is recognised: **Apple > About this Mac > Additional Information > System Report > USB**. +It is detected as "Logitech Cordless RumblePad 2" then nothing further needs to be done. + +If it is detected as a "Logitech Wireless 710", perform these steps: + +1. Unplug the USB receiver of the gamepad +2. Prepare to quickly plug it into a USB port +3. Hit the Logitech button (its silver with the Logitech Logo on it in the center of the pad) +4. Quickly connect the USB receiver to your Mac +5. The pad should now be detected in the system report as "Logitech Cordless RumblePad 2". If not, retry the above steps. diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/motors.md b/docs/ko/docs/en/qgc-user-guide/setup_view/motors.md new file mode 100644 index 00000000000..e190dca8b4e --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/motors.md @@ -0,0 +1,34 @@ +# Motor Setup + +Motor Setup is used to test individual motors/servos (for example, to verify that motors spin in the correct direction). + +:::tip +These instructions apply to PX4 and to most vehicle types on ArduPilot. +Vehicle-specific instructions are provided as sub-topics (e.g. [Motors Setup (ArduSub)](../setup_view/motors_ardusub.md)). +::: + +![Motors Test](../../../assets/setup/Motors.png) + +## Test Steps + +To test the motors: + +1. Remove all propellers. + + ::: warning + You must remove props before activating the motors! + ::: + +2. (_PX4-only_) Enable safety switch - if used. + +3. Slide the switch to enable motor sliders (labeled: _Propellers are removed - Enable motor sliders_). + +4. Adjust the individual sliders to spin the motors and confirm they spin in the correct direction. + + ::: info + The motors only spin after you release the slider and will automatically stop spinning after 3 seconds. + ::: + +## Additional Information + +- [Basic Configuration > Motor Setup](http://docs.px4.io/master/en/config/motors.html) (_PX4 User Guide_) - This contains additional PX4-specific information. diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/motors_ardusub.md b/docs/ko/docs/en/qgc-user-guide/setup_view/motors_ardusub.md new file mode 100644 index 00000000000..469d8995821 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/motors_ardusub.md @@ -0,0 +1,43 @@ +# Motors Setup (ArduSub) + +In order for ArduSub to function properly, the motors must be correctly set up. + +If you just assembled your ROV, first make sure that the thrusters are connected to the correct outputs in the **Manual Test** section. +Drag each slider and make sure that the _correct motor_ spins accordingly to the frame displayed. + +Once you know that the thrusters are connected to the proper outputs you can check for _correct direction_ (forward/reverse) using either [automatic direction detection](#automatic) (recommended from ArduSub 4.0) or the [manual test](#manual). + +:::info +[Manual Test](#manual) is supported by ArduSub up to 3.5, while ArduSub 4.0 supports both [Manual Test](#manual) and [automatic direction detection](#automatic). +::: + +## Manual Test {#manual} + +The ArduSub motor setup allows you to test individual motors. +The sliders allow spinning each motor in forward or reverse mode, and the checkboxes under the sliders allow reversing the operation of individual thrusters. + +The image at the right shows the frame currently in use, along with the location and orientation of each thruster. +If the frame selection does not match your vehicle, first select the correct frame in the [Frame](../setup_view/airframe_ardupilot.md#ardusub) tab. + +To manually set up and test the motors, read and follow the instructions on the page. + +:::warning +Make sure the motors and propellers are clear from obstructions before sliding the switch to arm the vehicle and enable the test! +::: + +![Ardusub Motors Test](../../../assets/setup/motors-sub.jpg) + +## Automatic Direction Detection {#automatic} + +Ardusub 4.0 and newer support automatic detection of the motor directions. +This works by applying pulses to each motor, checking if the frame reacts as expected, and reversing the motor if necessary. +The process takes around one minute. + +To perform the automatic motor direction detection, navigate to **Vehicle Setup->Motors** tab, click the **Auto-Detect Directions** button and wait. +Additional output about the process will be shown next to the button as it runs. + +:::warning +This procedure still requires that the motors are connected to the _correct outputs_ as shown in the frame view! +::: + +![Ardusub Motors Auto-Setup](../../../assets/setup/motors-sub-auto.jpg) diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/parameters.md b/docs/ko/docs/en/qgc-user-guide/setup_view/parameters.md new file mode 100644 index 00000000000..8c12411227b --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/parameters.md @@ -0,0 +1,43 @@ +# Parameters + +The _Parameters_ screen allows you to find and modify any of the parameters associated with the vehicle. + +![Parameters Screen](../../../assets/setup/parameters_px4.jpg) + +:::info +PX4 Pro and ArduPilot use different parameter sets, but they are both managed as described in this section. +::: + +## Finding a Parameter + +The parameters are organized in groups. Select a group of parameters to view by clicking on the buttons to the left (in the image above the _Battery Calibration_ group is selected). + +You can also _search_ for a parameter by entering a term in the _Search_ field. This will show you a list of all parameter names and descriptions that contain the entered substring (press **Clear** to reset the search). + +![Parameters Search](../../../assets/setup/parameters_search.jpg) + +## Changing a Parameter + +To change the value of a parameter click on the parameter row in a group or search list. This will open a side dialog in which you can update the value (this dialog also provides additional detailed information about the parameter - including whether a reboot is required for the change to take effect). + +![Changing a parameter value](../../../assets/setup/parameters_changing.png) + +:::info +When you click **Save** the parameter is automatically and silently uploaded to the connected vehicle. Depending on the parameter, you may then need to reboot the flight controller for the change to take effect. +::: + +## Tools + +You can select additional options from the **Tools** menu on the top right hand side of the screen. + +![Tools menu](../../../assets/setup/parameters_tools_menu.png) + +**Refresh**
Refresh the parameter values by re-requesting all of them from the vehicle. + +**Reset all to defaults**
Reset all parameters to their original default values. + +**Load from file / Save to file**
Load parameters from an existing file or save your current parameter settings to a file. + +**Clear RC to Param**
This clears all associations between RC transmitter controls and parameters. For more information see: [Radio Setup > Param Tuning Channels](../setup_view/Radio.md#param-tuning-channels-px4). + +**Reboot Vehicle**
Reboot the vehicle (required after changing some parameters). diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/power.md b/docs/ko/docs/en/qgc-user-guide/setup_view/power.md new file mode 100644 index 00000000000..a87b436a697 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/power.md @@ -0,0 +1,53 @@ +# Power Setup + +The _Power Setup_ screen is used to configure battery parameters and also provide advanced settings for propellers. + +![Battery Calibration](../../../assets/setup/px4_power.jpg) + +## Battery Voltage/Current Calibration + +Enter data for your battery/power module from its data sheet: number of cells, full voltage per cell, empty voltage per cell. If provided, also enter voltage divider and amps-per-volt information. + +_QGroundControl_ can be used to calculate appropriate voltage divider and amps-per-volt values from measurements: + +1. Measure the voltage from the battery using a multimeter. +2. Click **Calculate** next to the _Voltage divider_ field. On the prompt that appears: +3. Enter the measured voltage. +4. Click **Calculate** to generate a new voltage-divider value. +5. Click **Close** to save the value into the main form. +6. Measure the current from the battery. +7. Click **Calculate** next to the _Amps per volt_ field. On the prompt that appears: +8. Enter the measured current. +9. Click **Calculate** to generate a new _amps per volt_ value. +10. Click **Close** to save the value into the main form. + +## Advanced Power Settings + +Click the **Show Advanced Settings** checkbox to specify advanced power settings. + +### Voltage Drop on Full Load + +Batteries show less voltage at high throttle. Enter the difference in Volts between idle throttle and full throttle, divided by the number of battery cells. The default value should be used if unsure! + +:::warning +If the value is too high the battery may be deep-discharged and damaged. +::: + +## ESC PWM Minimum and Maximum Calibration + +To calibrate the ESC max/min PWM values: + +1. Remove the propellers. +2. Connect the vehicle to QGC via USB (only). +3. Click the **Calibrate** button. + +::: warning +Never attempt ESC calibration with props on. + +Motors should not spin during ESC calibration. +However if an ESC doesn't properly support/detect the calibration sequence then it will respond to the PWM input by running the motor at maximum speed. +::: + +## Other Settings + +Select the **Show UAVCAN Settings** checkbox to access additional settings for UAVCAN Bus Configuration and motor index and direction assignment. diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/radio.md b/docs/ko/docs/en/qgc-user-guide/setup_view/radio.md new file mode 100644 index 00000000000..94c73c6ee7c --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/radio.md @@ -0,0 +1,131 @@ +# Radio Setup + +Radio Setup is used to configure the mapping of your main transmitter attitude control sticks (roll, pitch, yaw, throttle) to channels, and to calibrate the minimum, maximum, trim and reverse settings for all other transmitter controls/RC channels. + +The main calibration process is identical for PX4 and ArduPilot (a number of additional flight-controller specific settings/tools are [detailed below](#additional-radio-setup)). + +:::info +Before you can calibrate the radio system the receiver and transmitter must be connected/bound. The process for binding a transmitter and receiver pair is hardware specific (see your manual for instructions). +::: + +## Performing the Calibration + +The calibration process is straightforward - you will be asked to move the sticks in a specific pattern that is shown on the transmitter diagram on the top right of the screen. Simply follow the instructions to complete calibration. + +To calibrate the radio: + +1. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Radio** in the sidebar. + +2. Turn on your RC transmitter. + +3. Press **OK** to start the calibration. + + ![Radio setup - before starting](../../../assets/setup/radio_start_setup.jpg) + + ::: info + The image above is for PX4 Pro. Calibration/top section is the same for both firmware, but the _Additional Radio setup_ section will differ. + ::: + +4. Set the _transmitter mode_ radio button that matches your transmitter configuration (this ensures that _QGroundControl_ displays the correct stick positions for you to follow during calibration). + + ![Radio setup - move sticks](../../../assets/setup/radio_sticks_throttle.jpg) + +5. Move the sticks to the positions indicated in the text (and on the transmitter image). Press **Next** when the sticks are in position. Repeat for all positions. + +6. When prompted, move all other switches and dials through their full range (you will be able to observe them moving on the _Channel Monitor_). + +7. Press **Next** to save the settings. + +Radio calibration is demonstrated in the [PX4 setup video here](https://youtu.be/91VGmdSlbo4?t=4m30s) (youtube). + +## Additional Radio Setup + +At the lower part of the _Radio Setup_ screen is firmware-specific _Additional Radio setup_ section. The options for each autopilot are shown below. + +| PX4 | ArduPilot | +| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| | | + +### Spectrum Bind (ArduPilot/PX4) + +Before you can calibrate the radio system the receiver and transmitter must be connected/bound. If you have a _Spektrum_ receiver you can put it in _bind mode_ using _QGroundControl_ as shown below (this can be particularly useful if you don't have easy physical access to the receiver on your vehicle). + +To bind a Spektrum transmitter/receiver: + +1. Select the **Spektrum Bind** button + +2. Select the radio button for your receiver + +3. Press **OK** + + ![Spektrum Bind](../../../assets/setup/radio_additional_setup_spectrum_bind_select_channels.jpg) + +4. Power on your Spektrum transmitter while holding down the bind button. + +### Copy Trims (PX4) + +This setting is used to copy the manual trim settings from your radio transmitter so that they can be applied automatically within the autopilot. After this is done you will need to remove the manually set trims. + +To copy the trims: + +1. Select **Copy Trims**. + +2. Center your sticks and move throttle all the way down. + +3. Press **Ok**. + + ![Copy Trims](../../../assets/setup/radio_additional_radio_setup_copy_trims_px4.jpg) + +4. Reset the trims on your transmitter back to zero. + +### AUX Passthrough Channels (PX4) + +AUX passthrough channels allow you to control arbitrary optional hardware from your transmitter (for example, a gripper). + +To use the AUX passthrough channels: + +1. Map up to 2 transmitter controls to separate channels. +2. Specify these channels to map to the AUX1 and AUX2 ports respectively, as shown below. Values are saved to the vehicle as soon as they are set. + + ![AUX1 and AUX2 RC passthrough channels](../../../assets/setup/radio_additional_setup_aux_passthrough_channels_px4.jpg) + +The flight controller will pass through the unmodified values from the specified channels out of AUX1/AUX2 to the connected servos/relays that drive your hardware. + +### Param Tuning Channels (PX4) + +Tuning channels allow you to map a transmitter tuning knob to a parameter (so that you can dynamically modify a parameter from your transmitter). + +:::tip +This feature is provided to enable manual in-flight tuning. +::: + +The channels used for parameter tuning are assigned in the _Radio_ setup (here!), while the mapping from each tuning channel to its associated parameter is defined in the _Parameter editor_. + +To set up tuning channels: + +1. Map up to 3 transmitter controls (dials or sliders) to separate channels. +2. Select the mapping of _PARAM Tuning Id_ to radio channels, using the selection lists. Values are saved to the vehicle as soon as they are set. + + ![Map radio channels to tuning channels](../../../assets/setup/radio_additional_radio_setup_param_tuning_px4.jpg) + +To map a PARAM tuning channel to a parameter: + +1. Open the **Parameters** sidebar. + +2. Select the parameter to map to your transmitter (this will open the _Parameter Editor_). + +3. Check the **Advanced Settings** checkbox. + +4. Click the **Set RC to Param...** button (this will pop-up the foreground dialog displayed below) + + ![Map tuning channels to parameters](../../../assets/setup/parameters_radio_channel_mapping_px4.jpg) + +5. Select the tuning channel to map (1, 2 or 3) from the _Parameter Tuning ID_ selection list. + +6. Press **OK** to close the dialog. + +7. Press **Save** to save all changes and close the _Parameter Editor_. + +:::tip +You can clear all parameter/tuning channel mappings by selecting menu **Tools > Clear RC to Param** at the top right of the _Parameters_ screen. +::: diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/safety.md b/docs/ko/docs/en/qgc-user-guide/setup_view/safety.md new file mode 100644 index 00000000000..f58ec5e50e5 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/safety.md @@ -0,0 +1,13 @@ +# Safety Setup + +The _Safety Setup_ page allows you to configure the most important failsafe settings (other failsafe settings can be set via the [parameters](../setup_view/parameters.md) described in the failsafe documentation for each vehicle type). + +For ArduPilot safety page information see: [Safety (ArduPilot)](../setup_view/safety_ardupilot.md) + +The PX4 page is shown below. + +![Safety Setup - PX4](../../../assets/setup/px4_safety.jpg) + +:::info +For additional PX4 safety settings and information see: [Safety Configuration](https://docs.px4.io/en/config/safety.html). +::: diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/safety_ardupilot.md b/docs/ko/docs/en/qgc-user-guide/setup_view/safety_ardupilot.md new file mode 100644 index 00000000000..10719356fbc --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/safety_ardupilot.md @@ -0,0 +1,200 @@ +# Safety Setup (ArduPilot) + +The _Safety Setup_ page allows you to configure (vehicle specific) failsafe settings. + +:::tip +The setup page covers the most important safety options; other failsafe settings can be set via the [parameters](../setup_view/parameters.md) described in the failsafe documentation for each vehicle type. +::: + +:::tip +_QGroundControl_ does not support polygon fences or rally points on ArduPilot. +::: + +## Copter + +The Copter safety page is shown below. + +![Safety Setup - Copter (Ardupilot)](../../../assets/setup/safety/safety_arducopter.jpg) + +:::info +For additional safety settings and information see: [Failsafe](http://ardupilot.org/copter/docs/failsafe-landing-page.html). +::: + +### Battery Failsafe {#battery\_failsafe\_copter} + +This panel sets the [Battery Failsafe](http://ardupilot.org/copter/docs/failsafe-battery.html) parameters. +You can set low and critical thresholds for voltage and/or remaining capacity and define the action if the failsafe value is breached. +The thresholds can be disabled by setting them to zero. + +:::tip +If there is a second battery (enabled in the [Power Setup](../setup_view/power.md)) a second panel will be displayed with the same settings. +::: + +![Safety Setup - Battery1 Failsafe Triggers (Copter)](../../../assets/setup/safety/safety_arducopter_battery1_failsafe_triggers.jpg) + +The configuration options are: + +- **Low action** ([BATT\_FS\_LOW\_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-low-act-low-battery-failsafe-action)) - Select one of: None, Land, RTL, SmartRTL, SmartRTL or Land, Terminate. +- **Critical action** ([BATT\_FS\_CRT\_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-crt-act-critical-battery-failsafe-action)) - Select one of: None, Land, RTL, SmartRTL, SmartRTL or Land, Terminate. +- **Low voltage threshold** ([BATT\_LOW\_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-low-volt-low-battery-voltage)) - Battery voltage that triggers the _low action_. +- **Critical voltage threshold** ([BATT\_CRT\_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-crt-volt-critical-battery-voltage))- Battery voltage that triggers the _critical action_. +- **Low mAh threshold** ([BATT\_LOW\_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-low-mah-low-battery-capacity)) - Battery capacity that triggers the _low action_. +- **Critical mAh threshold** ([BATT\_CRT\_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-crt-mah-battery-critical-capacity)) - Battery capacity that triggers the _critical action_. + +### General Failsafe Triggers {#failsafe\_triggers\_copter} + +This panel enables the [GCS Failsafe](http://ardupilot.org/copter/docs/gcs-failsafe.html) +and enables/configures the throttle failsafe. + +![Safety Setup - General Failsafe Triggers (Copter)](../../../assets/setup/safety/safety_arducopter_general_failsafe_triggers.jpg) + +The configuration options are: + +- **Ground Station failsafe** - Disabled, Enabled always RTL, Enabled Continue with Mission in Auto Mode, Enabled Always SmartRTL or RTL, Enabled Always SmartRTL or Land. +- **Throttle failsafe** - Disabled, Always RTL, Continue with Mission in Auto Mode, Always land. +- **PWM Threshold** ([FS\_THR\_VALUE](http://ardupilot.org/copter/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. + +### Geofence {#geofence\_copter} + +This panel sets the parameters for the cylindrical [Simple Geofence](http://ardupilot.org/copter/docs/ac2_simple_geofence.html). +You can set whether the fence radius or height are enabled, the maximum values for causing a breach, and the action in the event of a breach. + +![Safety Setup - Geofence (Copter)](../../../assets/setup/safety/safety_arducopter_geofence.jpg) + +The configuration options are: + +- **Circle GeoFence enabled** ([FENCE\_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE\_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - Enable the circular geofence. +- **Altitude GeoFence enabled** ([FENCE\_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE\_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - Enable altitude geofence. +- Fence action ([FENCE\_ACTION](http://ardupilot.org/copter/docs/parameters.html#fence-action-fence-action)) One of: + - **Report only** - Report fence breach. + - **RTL or Land** - RTL or land on fence breach. +- **Max radius** ([FENCE\_RADIUS](http://ardupilot.org/copter/docs/parameters.html#fence-radius-circular-fence-radius)) - Circular fence radius that when broken causes RTL. +- **Max altitude** ([FENCE\_ALT\_MAX](http://ardupilot.org/copter/docs/parameters.html#fence-alt-max-fence-maximum-altitude))- Fence maximum altitude to trigger altitude geofence. + +### Return to Launch {#rtl\_copter} + +This panel sets the [RTL Mode](http://ardupilot.org/copter/docs/rtl-mode.html) behaviour. + +![Safety Setup - RTL (Copter)](../../../assets/setup/safety/safety_arducopter_return_to_launch.jpg) + +The configuration options are: + +- Select RTL return altitude ([RTL\_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): + - **Return at current altitude** - Return at current altitude. + - **Return at specified altitude** - Ascend to specified altitude to return if below current altitude. +- **Loiter above home for** ([RTL\_LOIT\_TIME](http://ardupilot.org/copter/docs/parameters.html#rtl-loit-time-rtl-loiter-time)) - Check to set a loiter time before landing. +- One of + - **Land with descent speed** ([LAND\_SPEED](http://ardupilot.org/copter/docs/parameters.html#land-speed-land-speed)) - Select final descent speed. + - **Final loiter altitude** ([RTL\_ALT\_FINAL](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-final-rtl-final-altitude)) - Select and set final altitude for landing after RTL or mission (set to 0 to land). + +### Arming Checks {#arming\_checks\_copter} + +This panel sets which [Pre-ARM Safety Checks](http://ardupilot.org/copter/docs/prearm_safety_check.html) are enabled. + +![Safety Setup - Arming Checks (Copter)](../../../assets/setup/safety/safety_arducopter_arming_checks.jpg) + +The configuration options are: + +- **Arming Checks to perform** ([ARMING\_CHECK](http://ardupilot.org/copter/docs/parameters.html#arming-check-arm-checks-to-peform-bitmask)) - Check all appropriate: Barometer, Compass, GPS lock, INS, Parameters, RC Channels, Board voltage, Battery Level, Airspeed, Logging Available, Hardware safety switch, GPS Configuration, System. + +## Plane + +The Plane safety page is shown below. + +![Safety Setup - Plane (Ardupilot)](../../../assets/setup/safety/safety_arduplane.jpg) + +:::info +For additional safety settings and information see: [Plane Failsafe Function](http://ardupilot.org/plane/docs/apms-failsafe-function.html) and [Advanced Failsafe Configuration](http://ardupilot.org/plane/docs/advanced-failsafe-configuration.html). +::: + +### Battery Failsafe {#battery\_failsafe\_plane} + +The plane battery failsafe is the same as for copter except there are different options for the [Low](http://ardupilot.org/plane/docs/parameters.html#batt-fs-low-act-low-battery-failsafe-action) and [Critical](http://ardupilot.org/plane/docs/parameters.html#batt-fs-crt-act-critical-battery-failsafe-action) actions: None, RTL, Land, Terminate. + +For more information see: [battery failsafe](#battery_failsafe_copter) (copter). + +### Failsafe Triggers {#failsafe\_triggers\_plane} + +This panel enables the [GCS Failsafe](http://ardupilot.org/plane/docs/advanced-failsafe-configuration.html#ground-station-communications-loss) and enables/configures the throttle failsafe. + +![Safety Setup - Failsafe Triggers (Plane)](../../../assets/setup/safety/safety_arduplane_failsafe_triggers.jpg) + +The configuration options are: + +- **Throttle PWM threshold** ([THR\_FS\_VALUE](http://ardupilot.org/plane/docs/parameters.html#thr-fs-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. +- **GCS failsafe** ([FS\_GCS\_ENABL](http://ardupilot.org/plane/docs/parameters.html#fs-gcs-enabl-gcs-failsafe-enable)) - Check to enable GCS failsafe. + +### Return to Launch {#rtl\_plane} + +This panel sets the [RTL Mode](http://ardupilot.org/copter/docs/rtl-mode.html) behaviour. + +![Safety Setup - RTL (Plane)](../../../assets/setup/safety/safety_arduplane_return_to_launch.jpg) + +The configuration options are: + +- Select RTL return altitude ([RTL\_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): + - **Return at current altitude** - Return at current altitude. + - **Return at specified altitude** - Ascend to specified altitude to return if below current altitude. + +### Arming Checks {#arming\_checks\_plane} + +[Arming Checks](#arming_checks_copter) are the same as for copter. + +## Rover + +The Rover safety page is shown below. + +![Safety Setup - Rover (Ardupilot)](../../../assets/setup/safety/safety_ardurover.jpg) + +:::info +For additional safety settings and information see: [Failsafes](http://ardupilot.org/rover/docs/rover-failsafes.html). +::: + +### Battery Failsafe {#battery\_failsafe\_rover} + +The rover battery failsafe is the same as for [copter](#battery_failsafe_copter). + +### Failsafe Triggers {#failsafe\_triggers\_rover} + +This panel enables the rover [Failsafes](http://ardupilot.org/rover/docs/rover-failsafes.html). + +![Safety Setup - Failsafe Triggers (Rover)](../../../assets/setup/safety/safety_ardurover_failsafe_triggers.jpg) + +The configuration options are: + +- **Ground Station failsafe** ([FS\_GCS\_ENABL](http://ardupilot.org/rover/docs/parameters.html#fs-gcs-enable-gcs-failsafe-enable)) - Check to enable GCS failsafe. +- **Throttle failsafe** ([FS\_THR\_ENABLE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-enable-throttle-failsafe-enable)) - Enable/disable throttle failsafe (value is _PWM threshold_ below). +- **PWM threshold** ([FS\_THR\_VALUE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. +- **Failsafe Crash Check** ([FS\_CRASH\_CHECK](http://ardupilot.org/rover/docs/parameters.html#fs-crash-check-crash-check-action)) - What to do in the event of a crash: Disabled, Hold, HoldAndDisarm + +### Arming Checks {#arming\_checks\_rover} + +[Arming Checks](#arming_checks_copter) are the same as for copter. + +## Sub + +The Sub safety page is shown below. + +![Safety Setup - Sub (Ardupilot)](../../../assets/setup/safety/safety_ardusub.jpg) + +:::info +For additional safety settings and information see: [Failsafes](https://www.ardusub.com/operators-manual/failsafes.html). +::: + +### Failsafe Actions {#failsafe\_actions\_sub} + +The configuration options are: + +- **GCS Heartbeat** - Select one of: Disabled, Warn only, Disarm, Enter depth hold mode, Enter surface mode. +- **Leak** - Select one of: Disabled, Warn only, Enter surface mode. + - **Detector Pin** - Select one of: Disabled, Pixhawk Aux (1-6), Pixhawk 3.3ADC(1-2), Pixhawk 6.6ADC. + - **Logic when Dry** - Select one of: Low, High. +- **Battery** - ?. +- **EKF** - Select one of: Disabled, Warn only, Disarm. +- **Pilot Input** - Select one of: Disabled, Warn only, Disarm. +- **Internal Temperature** - Select one of: Disabled, Warn only. +- **Internal Pressure** - Select one of: Disabled, Warn only. + +### Arming Checks {#arming\_checks\_sub} + +[Arming Checks](#arming_checks_copter) are the same as for copter. diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/sensors.md b/docs/ko/docs/en/qgc-user-guide/setup_view/sensors.md new file mode 100644 index 00000000000..4d7869856bf --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/sensors.md @@ -0,0 +1,15 @@ +# Sensors + +The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors +(the available sensors will depend on the autopilot firmware and vehicle type). + +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. + +Click on the button for each sensor to start its calibration sequence. + +Flight stack specific instructions are provided in the following topics: + +- [Sensors (ArduPilot)](../setup_view/sensors_ardupilot.md) +- [Sensors (PX4)](../setup_view/sensors_px4.md) diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/sensors_ardupilot.md b/docs/ko/docs/en/qgc-user-guide/setup_view/sensors_ardupilot.md new file mode 100644 index 00000000000..5aa8d72b3d4 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/sensors_ardupilot.md @@ -0,0 +1,123 @@ +# Sensor Setup (ArduPilot) + +The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors +(the available sensors will depend on the vehicle type). + +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. + +Click on the button for each sensor to start its calibration sequence. + +![Sensors Setup screen Copter](../../../assets/setup/sensor/sensor_setup_overview_ardupilot.jpg) + +## Accelerometer {#accelerometer} + +To calibrate the flight controller accelerometers you will be asked to place and hold your vehicle a number of orientations (you will be prompted when to move between positions). + +The calibration steps are: + +1. Click the **Accelerometer** sensor button. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_ardupilot.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Click **OK** to start the calibration. + +3. Position the vehicle based on text instructions in the center display. + Click the **Next** button to capture each position. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_positions_ardupilot.jpg) + +## Compass {#compass} + +ArduPilot uses onboard calibration support that allows for more accurate calibration. + +:::info +Older ArduPilot firmware can be calibrated using the [same process as PX4](../setup_view/sensors_px4.md#compass). +::: + +You need to rotate the vehicle randomly around all axes until the progress bar fills all the way to the right and the calibration completes. When the calibration completes you will get the following results: + +![ArduPilot Compass Calibration Onboard Result](../../../assets/setup/sensor_compass_ardupilot_onboard_calibration_result.jpg) + +This shows you the quality of the calibration for each compass. Using these values you can determine whether you may want to turn off usage of poorly performing compasses. + +## Level Horizon {#level\_horizon} + +If the horizon (as shown in the HUD) is not level after completing accelerometer calibration you can calibrate the level horizon for your vehicle. +You will be asked to place the vehicle in a level orientation while it captures the information. + +1. Click the **Level Horizon** sensor button. + ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Place the vehicle in its level flight orientation on a level surface: + +- For planes this is the position during level flight (planes tend to have their wings slightly pitched up!) +- For copters this is the hover position. + +1. Click **OK** to start the calibration. + +## Pressure/Barometer {#pressure} + +This calibration set's the altitude to zero at the current pressure. + +To perform **Pressure** calibration: + +1. Click the **Calibrate Pressure** button and then **Ok**. + + ![Calibrate Pressure](../../../assets/setup/sensor/calibrate_pressure_ardupilot.jpg) + + The calibration result is immediately displayed: + + ![Calibrate Pressure Result](../../../assets/setup/sensor/calibrate_pressure_result_ardupilot.jpg) + +## CompassMot (Optional) + +CompassMot calibration is optional! It is recommended for vehicles that only have an internal compass and when there is significant interference on the compass from the motors, power wires, etc. +CompassMot only works well if you have a battery current monitor because the magnetic interference is linear with current drawn. + +To perform **CompassMot** calibration: + +1. Click the **CompassMot** sensor button. + + + +2. Follow the onscreen prompts. + + ![CompassMot calibration](../../../assets/setup/sensor_compass_mot.jpg) + +## Sensor Settings {#sensor\_settings} + +The _Sensor Settings_ section allows you to specify the compass orientation and which compasses are enabled. + +:::tip +You can skip this section if the flight controller and compass are mounted upright on the vehicle and facing the front (this is the default orientation - `ROTATION_NONE`). +::: + +If the autopilot/compass are mounted in any other way you will need to specify their orientations as YAW, PITCH and/or ROLL offsets relative to the forward-facing-upright orientation (clock-wise rotation around the Z, Y and X axis, respectively). + +![Flight Controller Orientation](../../../assets/setup/flight_controller_orientation.png) + +For example, the image below are at orientations: `ROTATION_NONE`, `ROTATION_YAW_90`,`ROTATION_YAW_180`,`ROTATION_YAW_270`. + +![Flight controller yaw rotation](../../../assets/setup/flight_controller_yaw_rotation.png) + +To set the orientation(s) and compasses used: + +1. Select the **Sensor Settings** button. + + ![Sensor Settings](../../../assets/setup/sensor/sensor_settings_ardupilot.jpg) + +2. Select the **AutoPilot Orientation**. + +3. Select the _orientation_ from **Compass 1 (primary/external) > Orientation** (or check **Compass2 (secondary, external) > Use Compass** to instead use the internal compass). + +4. Press **OK**. diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/sensors_px4.md b/docs/ko/docs/en/qgc-user-guide/setup_view/sensors_px4.md new file mode 100644 index 00000000000..de46f62fe63 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/sensors_px4.md @@ -0,0 +1,163 @@ +# Sensor Setup (PX4) + +The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors +(the available sensors will depend on the vehicle type). + +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. + +Click on the button for each sensor to start its calibration sequence. + +![Sensors Setup screen for VTOL vehicle](../../../assets/setup/sensors_px4_vtol.jpg) + +:::info +The image shown is from a VTOL vehicle running PX4 firmware. +Other autopilot firmware and vehicles will offer slightly different options. +::: + +## Compass {#compass} + +The process guides you to position the vehicle in a number of set orientations and rotate the vehicle about the specified axis. + +The calibration steps are: + +1. Click the **Compass** sensor button + ![Select Compass calibration PX4](../../../assets/setup/sensor_compass_select_px4.jpg) + + ::: info + The default flight controller orientation is `ROTATION_NONE` (flight controller and compass mounted upright on the vehicle and facing the front). + You can set a different value here or in [Set Orientations](#flight_controller_orientation). + ::: + +2. Click **OK** to start the calibration. + +3. Place the vehicle in any of the orientations shown in red (incomplete) and hold it still. + Once prompted (the orientation-image turns yellow) rotate the vehicle around the specified axis in either/both directions. + Once the calibration is complete in that orientation the associated image on the screen will turn green. + ![Compass calibration steps on PX4](../../../assets/setup/sensor_compass_calibrate_px4.jpg) + +4. Repeat the calibration process for all vehicle orientations. + +Once you've rotated the vehicle in all the positions _QGroundControl_ will display _Calibration complete_ (all orientation images will be displayed in green and the progress bar will fill completely) +You can then proceed to the next sensor. + +## Gyroscope {#gyroscope} + +You will be guided to place the vehicle on a flat surface and keep it still. + +The calibration steps are: + +1. Click the **Gyroscope** sensor button + ![Select Gyroscope calibration PX4](../../../assets/setup/sensor/gyroscope_calibrate_px4.jpg) + +2. Place the vehicle on a surface and leave it still. + +3. Click **Ok** to start the calibration. + + The bar at the top shows the progress: + + ![Gyro calibration in progress on PX4](../../../assets/setup/sensor/gyroscope_calibrate_progress_px4.jpg) + +4. When finished, _QGroundControl_ will display _Calibration complete_ and the progress bar will fill completely. + ![Gyro calibration complete on PX4](../../../assets/setup/sensor/gyroscope_calibrate_complete_px4.jpg) + +:::info +If you move the vehicle during calibration, _QGroundControl_ will automatically restart the calibration. +::: + +You can then proceed to the next sensor. + +## Accelerometer {#accelerometer} + +To calibrate the flight controller accelerometers you will be asked to place and hold your vehicle a number of orientations (you will be prompted when to move between positions). + +The calibration steps are: + +1. Click the **Accelerometer** sensor button. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_px4.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Click **OK** to start the calibration. + +3. Position the vehicle as guided by the _images_ on the screen. This is very similar to compass calibration. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_positions_px4.jpg) + +4. Repeat the calibration process for all vehicle orientations. + +Once you've rotated the vehicle in all the positions _QGroundControl_ will display _Calibration complete_. + +You can then proceed to the next sensor. + +## Level Horizon + +If the horizon (as shown in the HUD) is not level after completing accelerometer calibration you can calibrate the level horizon for your vehicle. +You will be asked to place the vehicle in a level orientation while it captures the information. + +1. Click the **Level Horizon** sensor button. + ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Place the vehicle in its level flight orientation on a level surface: + +- For planes this is the position during level flight (planes tend to have their wings slightly pitched up!) +- For copters this is the hover position. + +1. Click **OK** to start the calibration. + +## Airspeed {#airspeed} + +The airspeed calibration needs to read a stable baseline with 0 airspeed in order to determine an offset. +Cup your hands over the pitot to block any wind (if calibrating the sensor indoors this is not needed) and then blow into the tube using your mouth (to signal completion of the calibration). + +To calibrate the airspeed sensor: + +1. Click the **Airspeed** sensor button + + ![Airspeed calibration](../../../assets/setup/sensors_airspeed.jpg) + +2. Cover the sensor (i.e. with your hand) + + ::: warning + Do not touch the sensor (obstruct any holes) during calibration. + ::: + +3. Click **OK** to start the calibration. + +4. Blow into the sensor. + +5. Wait for 2-3 seconds before removing the covering (calibration completes silently after several seconds) + +## Set Orientations {#flight\_controller\_orientation} + +:::tip +You can skip this section if the flight controller and compass are mounted upright on the vehicle and facing the front (this is the default orientation - `ROTATION_NONE`). +::: + +If the autopilot/compass are mounted in any other way you will need to specify their orientations as YAW, PITCH and/or ROLL offsets relative to the forward-facing-upright orientation (clock-wise rotation around the Z, Y and X axis, respectively). + + + +For example, the image below are at orientations: `ROTATION_NONE`, `ROTATION_YAW_90`,`ROTATION_YAW_180`,`ROTATION_YAW_270`. + + + +To set the orientation(s) on PX4: + +1. Select the **Set Orientations** button. + + + +2. Select the **AutoPilot Orientation**. + +3. Select the **External Compass Orientation** (this option will only be displayed if there is an external compass). + +4. Press **OK**. diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/setup_view.md b/docs/ko/docs/en/qgc-user-guide/setup_view/setup_view.md new file mode 100644 index 00000000000..6b3d32e9ecc --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/setup_view.md @@ -0,0 +1,37 @@ +# Setup View + +The Setup View is used to configure a new vehicle prior to first flight and/or tune a configured vehicle. + +![](../../../assets/setup/setup_view.jpg) + +## Setup Options + +To the left of the screen are the set of available setup options. A setup button is marked with a red icon if there are still settings needed to be adjusted/specified. You should not fly if any of these are red. In the above image the Radio setup is not yet complete. + +:::info +The set of options shown and the contents of each option may differ based on whether the vehicle is running PX4 Pro or ArduPilot firmware. The image above is from a vehicle which is running PX4 Pro firmware. +::: + +**Summary**
An overview of all the important setup options for your vehicle. Similar to the individual setup buttons, the summary blocks show a red indicator when those settings are not fully configured. + +**[Firmware](firmware.md)**
Flash new firmware onto your vehicle. + +**[Airframe](airframe.md)**
Specify the airframe type for the vehicle. + +**[Radio](radio.md)**
Calibrate your Radio Control Transmitter. + +**[Sensors](sensors.md)**
Calibrate the sensors on the vehicle. + +**[Flight Modes](flight_modes.md)**
Used to assign flight modes to your RC Transmitter switches. + +**[Power](power.md)**
Battery settings and additional power options such as ESC calibration. + +**[Motors](motors.md)**
Motors testing and setup. + +**[Safety](Safety.md)**
Specify settings for options related to Safety such as Return to Home or Failsafes. + +**[Tuning](tuning.md)**
Tune flight characteristics of the vehicle. + +**[Camera](camera.md)**
Configure settings for camera and gimbal. + +**[Parameters](parameters.md)**
Allows you to modify all parameters associated with your vehicle.

diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/tuning.md b/docs/ko/docs/en/qgc-user-guide/setup_view/tuning.md new file mode 100644 index 00000000000..13032afc2c0 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/tuning.md @@ -0,0 +1,7 @@ +# Tuning Setup + +The Tuning page allows you to configure settings on your vehicle which control basic flight characteristics. +The details differ depending on flight stack: + +- [Tuning (ArduPilot)](../setup_view/tuning_ardupilot.md) +- [Tuning (PX4)](../setup_view/tuning_px4.md) diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/tuning_arducopter.md b/docs/ko/docs/en/qgc-user-guide/setup_view/tuning_arducopter.md new file mode 100644 index 00000000000..242f58b2417 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/tuning_arducopter.md @@ -0,0 +1,48 @@ +# ArduCopter Tuning + +![ArduCopter Tuning Page](../../../assets/setup/tuning/arducopter.png) + +## Basic Tuning + +Adjust the flight characteristics by moving the desired slider to the left or right. + +## AutoTune + +AutoTune is used to automatically tune the rate parameters in order to provide the highest response without significant overshoot. + +Performing an AutoTune: + +- Select which axes you would like to tune. + + ::: tip + Tuning all axes at once can take a significant amount of time, which may cause you to run out of battery. + To prevent this choose to tune only one axis at a time. + ::: + +- Assign AutoTune to one of your transmitter switches. + Ensure that switch is in low position before taking off. + +- Take off and put the copter into AltHold. + +- Turn on AutoTune with your transmitter switch. + +- The copter will twitch around the specified axes for a few minutes. + +- When AutoTune completes the copter will change back to the original settings. + +- Move the AutoTune switch back to low position and then back to high to test the new settings. + +- Move the AutoTune switch to low to test previous settings. + +- To save new settings, land and disarm while AutoTune switch is in high position. + +Note: + +- Since AutoTune is done in AltHold your copter must already have a tuning which is minimally flyable in AltHold. + You can cancel AutoTune at any time by moving the AutoTune switch back to low position. +- You can reposition the copter using your transmitter at any time during AutoTune. + +### In-Flight Tuning + +This is an advanced option which allows you to tune a flight control parameter using one of your transmitter dial channels. +Select the control option from the dropdown and specify the min/max for the values to assign to the dial. diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/tuning_ardupilot.md b/docs/ko/docs/en/qgc-user-guide/setup_view/tuning_ardupilot.md new file mode 100644 index 00000000000..53d84b08bbf --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/tuning_ardupilot.md @@ -0,0 +1,4 @@ +# Tuning (ArduPilot) + +- [Tuning (ArduCopter)](../setup_view/tuning_arducopter.md) +- [Tuning (ArduSub)](../setup_view/tuning_ardusub.md) diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/tuning_ardusub.md b/docs/ko/docs/en/qgc-user-guide/setup_view/tuning_ardusub.md new file mode 100644 index 00000000000..0745cf3190e --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/tuning_ardusub.md @@ -0,0 +1,17 @@ +# ArduSub Tuning + +![ArduSub Tuning Page](../../../assets/setup/tuning/ardusub.jpg) + +## Basic Tuning + +This page allows changing the PID controller gains to better suit your vehicle and application. Changing these may help you get a snappier response for more precise movements, or a smoother response for recording cinematic footages. Adjust a parameter by moving the desired slider, or by clicking the increase/decrease buttons. There are three controllers that can be adjusted here: + +- [**Attitude Controller Parameters**](https://www.ardusub.com/operators-manual/full-parameter-list.html#atc-parameters) are the parameters for the controller responsible for keeping the vehicle oriented as you want it, assuming your vehicle has ability (enough motors/DOF) to do so. + +- **Position Controller Parameters** are the parameters for the controller responsible for positioning the vehicle at a point in 3D space. The **Z** parameters control how the depth control works (eg in [_Depth Hold_](https://www.ardusub.com/operators-manual/flight-modes.html#depth-hold) mode). The **XY** parameters affect how the vehicle controls the horizontal position in [_Position Enabled_](https://www.ardusub.com/operators-manual/flight-modes.html#position-enabled-modes) modes. + +- **Waypoint Navigation Parameters** are the parameters for the controller responsible for following waypoints in **Auto** and **Guided** mode. + + ::: warning + **Guided** and **Auto** modes are currently unsupported and some features are disabled in QGC. + ::: diff --git a/docs/ko/docs/en/qgc-user-guide/setup_view/tuning_px4.md b/docs/ko/docs/en/qgc-user-guide/setup_view/tuning_px4.md new file mode 100644 index 00000000000..76ed41fd803 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/setup_view/tuning_px4.md @@ -0,0 +1,135 @@ +# Tuning (PX4) + +Tuning only needs to be done once, and is recommended unless you're using vehicle that has already been tuned by the manufacturer (and not modified since). + +[Auto-tuning](#autotune) should generally be used for frame types and controllers that support it (multicopter, fixed wing, and hybrid VTOL fixed wing vehicles). +The tuning UI also supports manual tuning of all controllers. + +![Tuning Setup > Autotune](../../../assets/setup/tuning/px4_autotune_hero.png) + +:::info +During [Airframe Setup](../config/airframe.md) you should have selected the frame that most closely matches your vehicle. +This will usually be tuned well enough to fly, and it _may_ also be sufficiently well tuned to run autotuning. +::: + +## Autotune + +Auto-tuning automates the process of tuning the PX4 rate and attitude controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional"). + +:::info +This guide shows the default usage of this feature. +Additional information and configuration can be found in the [PX4 Autotuning Guide](http://docs.px4.io/master/en/config/autotune.html) (PX4 User Guide). +::: + +### Pre-Autotuning Test + +Auto-tuning is performed while flying. +The vehicle must be able to fly and adequately stabilize itself before running auto-tune. +This test ensures that the vehicle can fly safely in position controlled modes. + +To make sure the vehicle is stable enough for auto-tuning: + +1. Perform a normal preflight safety checklist to ensure the flight zone is clear and has enough space. +2. Takeoff and prepare for the test + - **Multicopters:** Take off and hover at 1m above ground in **Altitude mode** or Stabilized mode. + - **Fixed-wing mode:** Take off and fly at cruise speed in **Position mode** or **Altitude mode**. +3. Use the RC transmitter roll stick to perform the following maneuver, tilting the vehicle just a few degrees: _roll left > roll right > center_ (The whole maneuver should take about 3 seconds). + The vehicle should stabilise itself within 2 oscillations. +4. Repeat the maneuver, tilting with larger amplitudes at each attempt. + If the vehicle can stabilise itself within 2 oscillations at \~20 degrees move to the next step. +5. Repeat the same maneuvers but on the pitch axis. + As above, start with small angles and confirm that the vehicle can itself within 2 oscillations before increasing the tilt. + +If the drone can stabilize itself within 2 oscillations it is ready for the auto-tuning procedure. + +If not, see the [PX4 User Guide > Autotuning > Troubleshooting](http://docs.px4.io/master/en/config/autotune.html#troubleshooting). + +### Auto-tuning procedure + +The auto-tuning sequence must be performed in a **safe flight zone, with enough space**. +It takes about 40 seconds (between 19 and 68 seconds). +For best results, we recommend running the test in calm weather conditions. + +:::info +Be ready to abort the autotuning process by moving the RC controller sticks. +::: + +The test steps are: + +1. Perform the [pre-tuning test](#pre-tuning-test) above. + +2. Takeoff using RC control and prepare for test: + - **Multicopters:** Takeoff using the remote controller in **Altitude mode**. + Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m). + - **VTOL in Fixed-wing mode:** Once flying at cruise speed, activate **Hold Mode**. + This will guide the plane to fly in circle at constant altitude and speed. + +3. In QGroundControl, open the menu: **Vehicle setup > PID Tuning** + + ![Tuning Setup > Autotune Enabled](../../../assets/setup/tuning/px4_autotune.png) + +4. Select either the _Rate Controller_ or _Attitude Controller_ tabs. + Ensure that the **Autotune enabled** button is enabled (this will display the **Autotune** button and remove the manual tuning selectors). + +5. Stop moving the joysticks and click on the **Autotune** button. + Read the warning popup and click on **OK** to start tuning. + +6. The drone will first start to perform quick roll motions followed by pitch and yaw motions. + The progress is shown in the progress bar, next to the _Autotune_ button. + +7. Apply the tuning: + - **Fixed Wing:** The tuning will be immediately/automatically be applied and tested in flight (by default). + PX4 will then run a 4 second test and revert the new tuning if a problem is detected. + - **Multicopters:** Manually land and disarm to apply the new tuning parameters. + Takeoff carefully and manually test that the vehicle is stable. + +8. If any strong oscillations occur, land immediately and follow the instructions in [PX4 User Guide > Autotuning > Troubleshooting](http://docs.px4.io/master/en/config/autotune.html#troubleshooting). + +
+ + + +A video of the process is shown below: + + + +## Manual Tuning + +Manual tuning is done in-flight, so your vehicle must already be tuned well enough to fly with (this is normally the case if you have selected an appropriate default airframe). + +The instructions below explain how you can use the manual tuning UI. +It is designed to be read/used in conjustion with the [PX4 Manual PID Tuning Guides](http://docs.px4.io/master/en/config/autotune.html#see-also), which provide more detailed hints on the kinds of step sizes to use when changing PID values. + +In overview: + +1. Takeoff using RC control and prepare for test: + - **Multicopters:** Takeoff using the remote controller in **Altitude mode**. + Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m). + - **Fixed-wing:** Once flying at cruise speed, activate **Hold Mode**. + This will guide the plane to fly in circle at constant altitude and speed. + +2. In QGroundControl, open the menu: **Vehicle setup > PID Tuning** + +3. Select the _Rate Controller_ tab. + Ensure that the **Autotune enabled** button is is turned off. + + ![PX4 Tuning - Manual - Rate controller](../../../assets/setup/tuning/px4_copter_manual_rate.png) + +4. Select the _Tuning axis_ to tune: **Roll**, **Pitch** or **Yaw** (each axis is tuned separately). + +5. Fly the vehicle, observing the tracking on the chart. + - Adjust the _Tuning Values_ (parameters) to improve the tracking shown on the graph using the slider. + - The values are automatically saved, but you may wish to use the **Save to Clipboard** and **Restore from Clipboard** buttons to store the last known good configuration. + - You can also **Clear**/**Stop** the chart using the buttons provided. + +6. Tune the other axes. + +7. Switch to the other controllers and repeat the process. + Screenshots of the tuning pages are shown below. + + ![PX4 Tuning - Manual - Attitude controller](../../../assets/setup/tuning/px4_copter_manual_attitude.png) + ![PX4 Tuning - Manual - Velocity controller](../../../assets/setup/tuning/px4_copter_manual_velocity.png) + ![PX4 Tuning - Manual - Position controller](../../../assets/setup/tuning/px4_copter_manual_velocity.png) diff --git a/docs/ko/docs/en/qgc-user-guide/support/support.md b/docs/ko/docs/en/qgc-user-guide/support/support.md new file mode 100644 index 00000000000..0a379a572f9 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/support/support.md @@ -0,0 +1,57 @@ +# Support + +This user guide is meant to be the main provider of support for _QGroundControl_. +If you find incorrect or missing information please report an [Issue](https://github.com/mavlink/qgc-user-guide/issues). + +_Questions_ about how to use _QGroundControl_ should be raised in the discussion forum for the associated flight stack: + +- [PX4 Pro Flight Stack](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-usage) (discuss.px4.io). +- [ArduPilot Flight Stack](http://discuss.ardupilot.org/c/ground-control-software/qgroundcontrol) (discuss.ardupilot.org). + +These forums are also the best place to start discussions on bugs/problems you are having with _QGroundControl_ and or feature requests you would like to make. From there you may be directed to entering information in a GitHub Issue for further resolution. + +### Developer Chat {#developer\_chat} + +_QGroundControl_ developers (and many regular/deeply-involved users) can be found on the [#QGroundControl channel on the Dronecode Discord](https://discord.gg/dronecode). + +## GitHub Issues + +Issues are used to track bugs against _QGroundControl_ as well as feature requests for later versions. The current list of issues can be found on [GitHub here](https://github.com/mavlink/qgroundcontrol/issues). + +:::info +Please contact our developers using the support forums **before** creating GitHub issues for either bugs or feature requests. +::: + +### Reporting Bugs + +If you are directed to create an issue, please use the "Bug report" template and provide all information specified in the template. + +##### Reporting Crashes from Windows Builds + +When QGC crashes a crash dump file will be place in the Users LocalAppData directory. To navigate to that directory use the Start/Run command. You can bring this up window WinKey+R. Type into that `%localappdata%` for Open and click Ok. Crash dumps will be in a `QGCCrashDumps` folder in that directory. You should find a new **.dmp** file there. Add a link to that file in a GitHub Issue when reporting you problem. + +##### Reporting Hangs from Windows Builds + +If Windows is telling you the _QGroundControl program is unresponsive_ use the following steps to report the hang: + +1. Open _Task Manager_ (right-click TaskBar, select **Task Manager**) +2. Switch to the Processes tab and local **qgroundcontrol.exe** +3. Right-click on **groundcontrol.exe** and select **Create Dump File** +4. Place the dump file in a public location +5. Add a link to the **.dmp** file and above details in the GitHub issue. + +### Feature Requests + +If you are directed to create a feature request after discussion on support forums please use the "Feature request" template which has some helpful information on required details. + +## Troubleshooting + +Troubleshooting information is linked from [here](../troubleshooting/index.md). + +### Console Logging + +_Console Logs_ can be helpful when diagnosing _QGroundControl_ problems. For more information see: [Console Logging](../settings_view/console_logging.md). + +## Help Improve these Docs! + +Just like _QGroundControl_ itself, the user guide is an open source, user created and supported GitBook. We welcome [Pull Requests](https://github.com/mavlink/qgc-user-guide/pulls) against the guide for fixes and/or updates. diff --git a/docs/ko/docs/en/qgc-user-guide/toolbar/toolbar.md b/docs/ko/docs/en/qgc-user-guide/toolbar/toolbar.md new file mode 100644 index 00000000000..f5e666186d2 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/toolbar/toolbar.md @@ -0,0 +1,37 @@ +# Main Toolbar + +The main toolbar provides access to select the different application views, and high level status information for connected vehicles. +The toolbar is the same in all views except for "PlanView" (which has a single icon to take you back to "Fly" view). + +## View-select icons + +The following icons are used to switch between the main _Views_. These are displayed even if no vehicle is connected. + +![Settings view icon](../../../assets/toolbar/toolbar_view_select_settings.jpg) **[Settings](../settings_view/settings_view.md)**
Configure the _QGroundControl_ application. + +![Setup view icon](../../../assets/toolbar/toolbar_view_select_setup.jpg) **[Setup](../setup_view/setup_view.md)**
Configure and tune your vehicle. + +![Plan view icon](../../../assets/toolbar/toolbar_view_select_plan.jpg) **[Plan](../plan_view/plan_view.md)**
Create autonomous missions. + +![Fly icon](../../../assets/toolbar/toolbar_view_select_fly.jpg) **[Fly](../fly_view/fly_view.md)**
Monitor your vehicle(s) while flying, including streaming video. + +![Analyze icon](../../../assets/toolbar/toolbar_view_select_analyse.jpg) **[Analyze](../analyze_view/index.md)**
Download logs, geotag images from a survey mission, access the MAVLink console. + +## Status icons + +Status icons are displayed when _QGroundControl_ is connected to a vehicle. +These show the high level status of the vehicle, and can be clicked to see more detailed information. + +![](../../../assets/toolbar/toolbar_status_message.jpg) ![yield](../../../assets/toolbar/toolbar_status_critical.jpg) **Vehicle Messages**
Click to show a list of messages from the vehicle. Note that version on the right is displayed when there are critical messages. + +![](../../../assets/toolbar/toolbar_status_gps.jpg) **GPS Status**
Shows you satellite count and curent HDOP. + +![](../../../assets/toolbar/toolbar_status_rc.jpg) **RC RSSI**
RC signal strength information. + +![](../../../assets/toolbar/toolbar_status_telemetry.jpg) **Telemetry RSSI**
Telemetry signals strength information. + +![](../../../assets/toolbar/toolbar_status_battery.jpg) **Battery**
Remaining battery percent. + +![](../../../assets/toolbar/toolbar_status_flight_mode.jpg) **Flight Mode**
Current flight mode. Click to change flight mode. + +![](../../../assets/toolbar/toolbar_status_rtk_gps.jpg) **RTK GPS Survey-In Status**
Shows you progress of RTK GPS Survey-In process. diff --git a/docs/ko/docs/en/qgc-user-guide/troubleshooting/index.md b/docs/ko/docs/en/qgc-user-guide/troubleshooting/index.md new file mode 100644 index 00000000000..81150a50b89 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/troubleshooting/index.md @@ -0,0 +1,8 @@ +## Troubleshooting + +Troubleshooting information is provided in two sections: + +- [QGC Setup](../troubleshooting/qgc_setup.md) - Troubleshooting _QGroundControl_ installation and setup. +- [QGC Usage](../troubleshooting/qgc_usage.md) - Troubleshooting problems when **using** _QGroundControl_ to interact with a vehicle. + +If your questions are still unresolved, please check the [Support](../support/support.md) page for more information on getting help. diff --git a/docs/ko/docs/en/qgc-user-guide/troubleshooting/parameter_download.md b/docs/ko/docs/en/qgc-user-guide/troubleshooting/parameter_download.md new file mode 100644 index 00000000000..547c9f1ae27 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/troubleshooting/parameter_download.md @@ -0,0 +1,15 @@ +# Parameter Download failures + +The majority of parameter download failures are caused by a communication link which is noisy and has a high loss rate. +Although the parameter protocol has retry logic for such a case it will eventually give up. +At which point you will get an error stating that QGC was unable to retrieve the full set or parameters. + +Although you can still fly the vehicle in this state it is not recommended. +Also the vehicle setup pages will not be available. + +You can see the loss rate for your link from the [Settings View > MAVLink](../settings_view/mavlink.md) page. +Even a loss rate in the high single digits can lead to intermittent failures of the plan protocols. +Higher loss rates could leads to 100% failure. + +There is also the more remote possibility of either firmware or QGC bugs. +To see the details of the back and forth message traffic of the protocol you can turn on [Console Logging](../settings_view/console_logging.md) for the Parameter Protocol. diff --git a/docs/ko/docs/en/qgc-user-guide/troubleshooting/plan_upload_download.md b/docs/ko/docs/en/qgc-user-guide/troubleshooting/plan_upload_download.md new file mode 100644 index 00000000000..6475ded936b --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/troubleshooting/plan_upload_download.md @@ -0,0 +1,5 @@ +# Mission Upload/Download failures + +Although the protocol for uploading and download Plans (Mission, GeoFence, Rally Points) to a vehicle includes retry logic it can still fail over a communication link which is running at a high loss rate. + +For more information see: [Plan View > Mission (Plan) Upload/Download Failures](../plan_view/plan_view.md#plan_transfer_fail) diff --git a/docs/ko/docs/en/qgc-user-guide/troubleshooting/qgc_setup.md b/docs/ko/docs/en/qgc-user-guide/troubleshooting/qgc_setup.md new file mode 100644 index 00000000000..0ca91a83a58 --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/troubleshooting/qgc_setup.md @@ -0,0 +1,97 @@ +# Troubleshooting QGC Setup + +This topic lists troubleshooting information related to _QGroundControl_ setup and installation on the host computer. + +:::tip +Problems when **using** _QGroundControl_ to interact with a vehicle are covered in: [QGC Vehicle Interaction Problems](../troubleshooting/qgc_usage.md). +::: + +## 64-bit Windows: Audio in Unexpected Language + +On Windows 64-bit machines _QGroundControl_ may sometimes play audio/messages in a language that does not match the _Text-to-speech_ setting in **Control Panel > Speech** (e.g. audio spoken in German on an English machine). + +This can occur because 64-bit Windows only displays 64-bit voices, while _QGroundControl_ is a 32-bit application (on Windows) and hence can only run 32-bit voices. + +The solution is to set the desired _32-bit voice_ for your system: + +1. Run the control panel application: **C:\Windows\SysWOW64\Speech\SpeechUX\sapi.cpl**. +2. Make your desired _Voice selection_ and then click **OK** at the bottom of the dialog. + ![Windows 32-bit Text-To-Speech Control Panel](../../../assets/support/windows_text_to_speech.png) + +:::info +Additional information about the Windows speech APIs can be found [here](https://www.webbie.org.uk/blog/microsoft-speech/). +::: + +## Windows: UI Rendering/Video Driver Issues {#opengl\_troubleshooting} + +If you experience UI rendering issues or video driver crashes on Windows, this may be caused by "flaky" OpenGL drivers. _QGroundControl_ provides 3 shortcuts that you can use to start _QGroundControl_ in "safer" video modes (try these in order): + +- **QGroundControl:** QGC uses OpenGL graphics drivers directly. +- **GPU Compatibility Mode:** QGC uses ANGLE drivers, which implement OpenGL on top of DirectX. +- **GPU Safe Mode:** QGC uses a software rasterizer for the UI (this is very slow). + +## Windows: Doesn't connect to Vehicle over WiFi {#waiting\_for\_connection} + +If _QGroundControl_ sits forever (for example, _Waiting For Vehicle Connection_) when trying to connect to the vehicle over Wifi, a possible cause is that IP traffic is being blocked by firewall software (e.g. Windows Defender, Norton, etc.). + +![Waiting for connection](../../../assets/support/waiting_for_connection.jpg) + +The solution is to allow the _QGroundControl_ app through the firewall. + +:::info +It is possible to simply switch the network profile from Public to Private to allow connections, but this exposes your PC to the Network, so be careful +::: + +If using _Windows Defender_: + +- In the **Start** bar, enter/select: _Firewall & Network Protection_ (System Settings). +- Scroll to and select the option: _Allow an app through firewall_. +- Select _QGroundControl_ and change the _Access_ selector to **Allow**. + + ::: tip + Programs are listed in alphabetical order by description (not filename). + You'll find QGC under **O**: _Open source ground control app provided by QGroundControl dev team_ + ::: + +## Ubuntu: Video Streaming Fails (Missing Gstreamer) {#missing\_gstreamer} + +On Ubuntu you must install _Gstreamer_ components in order to see video streams. +If these are not installed _QGroundControl_ is unable to create the gstreamer nodes and fails with: + +```sh +VideoReceiver::start() failed. Error with gst_element_factory_make(‘avdec_h264’) +``` + +The [download/install instructions for Ubuntu](../getting_started/download_and_install.md#ubuntu) include _GStreamer_ setup information. + +## Ubuntu 18.04: Video Streaming Fails on Dual Video Adapter Systems {#dual\_vga} + +![Video on Ubuntu 18.04](../../../assets/support/troubleshooting_dual_vga_driver.jpg) + +The version of GSteamer in Ubuntu 18.04 has a bug that prevents video displaying when using a VA API based decoder (i.e. vaapih264dec etc.) on systems that have both Intel and NVidia video display adapters. + +:::info +More generally, while the problem is known to occur on Ubuntu 18.04 with Intel and NVidia VGAs, it might occur on any linux system and other types of (dual) VGAs. +::: + +The easiest way to get _QGroundControl_ to work in this case is to start it using the following command line: + +``` +LIBVA_DRIVER_NAME=fakedriver ./QGroundControl) will this make the +``` + +Other alternatives are to disable one of the VGAs, uninstall VA API components, or upgrade to GStreamer 1.16 (there is no easy way to do this on Ubuntu 18.04 - please contribute a recipe if you find one!) + +## Ubuntu 16.04: GLIBC\_2.27 not found {#glibc\_2\_27} + +The pre-built AppImages for QGroundControl 4.0 (and later) can only run on Ubuntu 18.04 LTS (or later). +They do not run on Ubuntu 16.04. + +If you try you will get the error as shown: + +```sh +$ ./QGroundControl.AppImage +/tmp/.mount_i4hPuB/QGroundControl: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /tmp/.mount_i4hPuB/QGroundControl) +``` + +If you need to use Ubuntu 16.04 then one workaround is to build from source without the video libraries. diff --git a/docs/ko/docs/en/qgc-user-guide/troubleshooting/qgc_usage.md b/docs/ko/docs/en/qgc-user-guide/troubleshooting/qgc_usage.md new file mode 100644 index 00000000000..103bf3ba34f --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/troubleshooting/qgc_usage.md @@ -0,0 +1,12 @@ +# Troubleshooting QGC Usage + +This section covers a number of common problems related to **using** _QGroundControl_ to interact with a vehicle: + +- [Connection problems](../troubleshooting/vehicle_connection.md) +- [Parameter Download failures](../troubleshooting/parameter_download.md) +- [Plan Upload/Download failures](../troubleshooting/plan_upload_download.md) +- [Resume Mission failures](../troubleshooting/resume_mission.md) + +:::tip +Problems with **installing/running** _QGroundControl_ on the host computer are covered in [Troubleshooting QGC Setup](../troubleshooting/qgc_setup.md). +::: diff --git a/docs/ko/docs/en/qgc-user-guide/troubleshooting/resume_mission.md b/docs/ko/docs/en/qgc-user-guide/troubleshooting/resume_mission.md new file mode 100644 index 00000000000..613729cf11a --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/troubleshooting/resume_mission.md @@ -0,0 +1,57 @@ +# Resume Mission Failures + +The process of resuming a mission after a battery swap is a fairly complex process within QGC. + +The two main areas that are most problematic are: + +- The _Resume Mission_ dialog doesn't display when it should and you are just left with a Start Mission slider. +- The new mission generated from _Resume Mission_ is not quite correct with respect to recreation of waypoints and/or camera commands. + +:::warning +In order for the _QGroundControl_ development team to debug these issues the following information **must be supplied** in any github issue entered against _Resume Mission_. +::: + +## Common Steps for Resume Mission Dialog/Generation {#common\_steps} + +The following steps are required for debugging both types of problems: + +1. Restart QGC + +2. Turn on [console logging](../settings_view/console_logging.md) with the log option: `GuidedActionsControllerLog`. + +3. Enable [telemetry logging](../settings_view/general.md#miscellaneous) (**Settings > General**). + +4. Start the mission. + +5. Fly till you need a battery swap. + + ::: tip + Alternatively you can attempt to reproduce the problem by manually RTL from the middle of the middle of the mission (though this may not always reproduce the problem). + ::: + +6. Once the vehicle lands and disarms you should get the _Resume Mission_ dialog. + + ::: info + If not there is a possible bug in QGC. + ::: + +### Resume Mission Dialog Problems + +For _Resume Mission Dialog_ problems follow the [common steps above](#common_steps), and then: + +7. Save the _Console Log_ to a file. +8. Place the _Console Log_, _Telemetry Log_ and _Plan File_ someplace which you can link to in the issue. +9. Create the issue with details and links to all three files. + +## Resume Mission Generation Problems + +For _Resume Mission Generation_ problems follow the [common steps above](#common_steps), and then: + +7. Click **Resume Mission**. +8. The new mission should be generated. +9. Go to [Plan View](../plan_view/plan_view.md). +10. Select **Download** from the _File/Sync_ menu. +11. Save the _Modified Plan_ to a file. +12. Save the _Console Log_ to a file. +13. Place the _Console Log_, _Telemetry Log_, _Original Plan_ file and _Modified Plan_ file someplace which you can link to in the issue. +14. Create the issue with details and links to all four files. diff --git a/docs/ko/docs/en/qgc-user-guide/troubleshooting/vehicle_connection.md b/docs/ko/docs/en/qgc-user-guide/troubleshooting/vehicle_connection.md new file mode 100644 index 00000000000..896cb1f5d1b --- /dev/null +++ b/docs/ko/docs/en/qgc-user-guide/troubleshooting/vehicle_connection.md @@ -0,0 +1,67 @@ +# Vehicle Connection Problems + +## Vehicle does not show up in UI + +QGC will automatically connect to a vehicle as soon as a communication link is created (using USB, or WiFi, etc.) +If you establish that link and you don't see your vehicle show up in the QGC UI you can use [console logging](../settings_view/console_logging.md) to help debug the problem. + +Use the following steps to debug the issue: + +- Start with the hardware vehicle link not connected. + Don't plug in the USB connection and/or establish the WiFi link in your OS for example. + +- Turn on `LinkManagerLog` [console logging](../settings_view/console_logging.md) in QGC. + This will log output about the link which QGC sees and connects to. + +- Establish the hardware vehicle communication link. + +- The console log output should display something like this: + + ``` + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:563 - "Waiting for bootloader to finish "/dev/cu.usbmodem01"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:563 - "Waiting for bootloader to finish "/dev/cu.usbmodem01"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:563 - "Waiting for bootloader to finish "/dev/cu.usbmodem01"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:563 - "Waiting for bootloader to finish "/dev/cu.usbmodem01"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:572 - "Waiting for next autoconnect pass "/dev/cu.usbmodem4201"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:613 - "New auto-connect port added: "ArduPilot ChibiOS on cu.usbmodem4201 (AutoConnect)" "/dev/cu.usbmodem4201"" + ``` + +- The first few lines indicate QGC has established a hardware link and finally the auto-connect. + +If you don't see any of this then QGC is not recognizing the hardware link. +To see if your hardware is being recognized at the OS level do this: + +- Start with the hardware vehicle link not connected. + Don't plug in the USB connection and/or establish the WiFi link in your OS for example. +- Turn on `LinkManagerVerboseLog` [console logging](../settings_view/console_logging.md) in QGC. + This will log output for all serial hardware connections that QGC recognizes. +- You will see continuous output of the serial ports on your device. +- Plug in your USB comm device. +- You should see a new device show in in the console output. Example: + ``` + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:520 - "-----------------------------------------------------" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:521 - "portName: "cu.usbmodem4201"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:522 - "systemLocation: "/dev/cu.usbmodem4201"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:523 - "description: "Pixhawk1"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:524 - "manufacturer: "ArduPilot"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:525 - "serialNumber: "1B0034000847323433353231"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:526 - "vendorIdentifier: 1155" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:527 - "productIdentifier: 22336" + ``` +- After that it should continue to log a connection to that device as shown in the first example. + +If you don't see a new serial port should up in the console output when you plug it in then something is likely wrong with your hardware at the OS level. + +## Error: Vehicle is not responding + +This indicates that although QGC was able to connect to the hardware link to your vehicle there is no telemetry going back and forth on the link. +This can unfortunately indicate a number of problems: + +- Hardware communication setup problems +- Firmware problems + +Lastly it can happen if QGC attempts to automatically connect to a device which is connected to your computer which isn't a vehicle. +You can identify this case using the steps above and noting the device information which QGC is attempting to connect to. +In order to make auto-connect work the filter it uses on devices it attempts to auto-connect to is somewhat broad and can be incorrect. +If you find this happening you will need to turn off auto-connect from General Settings and create a manual connection to the comm link for your vehicle. +You can also remove the device causing the problem from your computer but that may not always be possible. diff --git a/docs/ko/index.md b/docs/ko/index.md new file mode 100644 index 00000000000..f5ea85cbc0e --- /dev/null +++ b/docs/ko/index.md @@ -0,0 +1,27 @@ +--- +layout: home +hero: + name: QGroundControl Guide + tagline: For beginners, experienced users, and developers + actions: + - theme: brand + text: User Guide + link: /en/qgc-user-guide/index.md + - theme: brand + - theme: brand + text: Dev Guide + link: /en/qgc-dev-guide/index.md +features: + - title: Multiple flight stacks + details: Full setup/configuration of ArduPilot and PX4 Pro powered vehicles + - title: Mission planning + details: Autonomous flight with path planning, surveys, safe landing + - title: Flight map + details: Map shows vehicle position, flight track, waypoints and vehicle instruments + - title: Video overlay + details: FPV video streaming and instrument overlays. + - title: Multiple vehicles + details: Manage multiple vehicles and different types of vehicles + - title: Broad OS support + details: Windows, OS X, Linux platforms, iOS and Android devices +--- diff --git a/docs/ko/qgc-dev-guide/classes/index.md b/docs/ko/qgc-dev-guide/classes/index.md new file mode 100644 index 00000000000..4a60cb304c8 --- /dev/null +++ b/docs/ko/qgc-dev-guide/classes/index.md @@ -0,0 +1,27 @@ +# Class Hierarchy (high level) + +## LinkManager, LinkInterface + +A "Link" in QGC is a specific type of communication pipe with the vehicle such as a serial port or UDP over WiFi. The base class for all links is LinkInterface. Each link runs on it's own thread and sends bytes to MAVLinkProtocol. + +The `LinkManager` object keeps track of all open links in the system. `LinkManager` also manages automatic connections through serial and UDP links. + +## MAVLinkProtocol + +There is a single `MAVLinkProtocol` object in the system. It's job is to take incoming bytes from a link and translate them into MAVLink messages. MAVLink HEARTBEAT messages are routed to `MultiVehicleManager`. All MAVLink messages are routed to Vehicle's which are associated with the link. + +## MultiVehicleManager + +There is a single `MultiVehicleManager` object within the system. When it receives a HEARTBEAT on a link which has not been previously seen it creates a Vehicle object. `MultiVehicleManager` also keeps tracks of all Vehicles in the system and handles switching from one active vehicle to another and correctly handling a vehicle being removed. + +## Vehicle + +The Vehicle object is the main interface through which the QGC code communicates with the physical vehicle. + +Note: There is also a UAS object associated with each Vehicle which is a deprecated class and is slowly being phased out with all functionality moving to the Vehicle class. No new code should be added here. + +## FirmwarePlugin, FirmwarePluginManager + +The FirmwarePlugin class is the base class for firmware plugins. A firmware plugin contains the firmware specific code, such that the Vehicle object is clean with respect to it supporting a single standard interface to the UI. + +FirmwarePluginManager is a factory class which creates a FirmwarePlugin instance based on the MAV\_AUTOPILOT/MAV\_TYPE combination for the Vehicle. diff --git a/docs/ko/qgc-dev-guide/command_line_options.md b/docs/ko/qgc-dev-guide/command_line_options.md new file mode 100644 index 00000000000..a66cd53ef4d --- /dev/null +++ b/docs/ko/qgc-dev-guide/command_line_options.md @@ -0,0 +1,46 @@ +# Command Line Options + +You can start _QGroundControl_ with command line options. These are used to enable logging, run unit tests, and simulate different host environments for testing. + +## Starting QGroundControl with Options + +You will need to open a command prompt or terminal, change directory to where **qgroundcontrol.exe** is stored, and then run it. This is shown below for each platform (using the `--logging:full` option): + +Windows Command Prompt: + +```bash +cd "\Program Files (x86)\qgroundcontrol" +qgroundcontrol --logging:full +``` + +OSX Terminal app (**Applications/Utilities**): + +```bash +cd /Applications/qgroundcontrol.app/Contents/MacOS/ +./qgroundcontrol --logging:full +``` + +Linux Terminal: + +```bash +./qgroundcontrol-start.sh --logging:full +``` + +## Options + +The options/command line arguments are listed in the table below. + +| Option | Description | +| --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| `--clear-settings` | Clears the app settings (reverts _QGroundControl_ back to default settings). | +| `--logging:full` | Turns on full logging. See [Console Logging](https://docs.qgroundcontrol.com/en/settings_view/console_logging.html#logging-from-the-command-line). | +| `--logging:full,LinkManagerVerboseLog,ParameterLoaderLog` | Turns on full logging and turns off the following listed comma-separated logging options. | +| `--logging:LinkManagerLog,ParameterLoaderLog` | Turns on the specified comma separated logging options | +| `--unittest:name` | (Debug builds only) Runs the specified unit test. Leave off `:name` to run all tests. | +| `--unittest-stress:name` | (Debug builds only) Runs the specified unit test 20 times in a row. Leave off :name to run all tests. | +| `--fake-mobile` | Simulates running on a mobile device. | +| `--test-high-dpi` | Simulates running _QGroundControl_ on a high DPI device. | + +Notes: + +- Unit tests are included in debug builds automatically (as part of _QGroundControl_). _QGroundControl_ runs under the control of the unit test (it does not start normally). diff --git a/docs/ko/qgc-dev-guide/communication_flow.md b/docs/ko/qgc-dev-guide/communication_flow.md new file mode 100644 index 00000000000..17e838f8250 --- /dev/null +++ b/docs/ko/qgc-dev-guide/communication_flow.md @@ -0,0 +1,15 @@ +# Communication Flow + +Description of the high level communication flow which takes place during a vehicle auto-connect. + +- LinkManager always has a UDP port open waiting for a vehicle heartbeat +- LinkManager detects a new known device type (Pixhawk, SiK Radio, PX4 Flow) that makes a UDP connection to the computer + - LinkManager creates a new SerialLink between the computer and the device +- Incoming bytes from the Link are sent to MAVLinkProtocol +- MAVLinkProtocol converts the bytes into a MAVLink message +- If the message is a `HEARTBEAT` the MultiVehicleManager is notified +- MultiVehicleManager is notified of the `HEARTBEAT` and creates a new vehicle object based on the information in the `HEARTBEAT` message +- The vehicle object instantiates the plugins that matches the vehicle +- The ParameterLoader associated with the vehicle object sends a `PARAM_REQUEST_LIST` to the connected device to load parameters using the parameter protocol +- Once the parameter load is complete, the MissionManager associated with the vehicle object requests the mission items from the connected device using the mission protocol +- Once parameter load is complete, the VehicleComponents display their UI in the Setup view diff --git a/docs/ko/qgc-dev-guide/contribute/coding_style.md b/docs/ko/qgc-dev-guide/contribute/coding_style.md new file mode 100644 index 00000000000..3d4d62420c1 --- /dev/null +++ b/docs/ko/qgc-dev-guide/contribute/coding_style.md @@ -0,0 +1,12 @@ +# Coding Style + +High level style information: + +- Tabs expanded to 4 spaces +- Pascal/CamelCase naming conventions + +The style itself is documents in the following example files: + +- [CodingStyle.cc](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.cc) +- [CodingStyle.h](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.h) +- [CodingStyle.qml](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.qml) diff --git a/docs/ko/qgc-dev-guide/contribute/dev_call.md b/docs/ko/qgc-dev-guide/contribute/dev_call.md new file mode 100644 index 00000000000..6464fc34d78 --- /dev/null +++ b/docs/ko/qgc-dev-guide/contribute/dev_call.md @@ -0,0 +1,38 @@ +# Bi-Weekly Dev Call + +The QGroundControl developer team syncs up on technical details and in-depth analysis. There is also a space in the agenda to discuss pull requests, major impacting issues and Q\&A. + +## Who Should attend: + +- Community members +- Core project maintiners +- Component maintainers +- Dronecode members + +:::info +The calls are open for anyone interested to attend, it's a great opportunity to meet the team and contribute to the ongoing development of the project. +::: + +## What gets discussed? + +The main agenda for the call is very simple, and usually remains the same with a few exceptions which are made aware to the community in advance. The calls typically last up to 60 minutes. + +The developer team goes through the issue tracker, including the current queue of Pull Requests, + +## Agenda + +While the agenda below is the norm, we might + +- Community Q\&A (Open mic, you can bring your own topics, we can discuss your PRs/Issues/Questions) +- Update on the project [High Priority Issues](https://github.com/mavlink/qgroundcontrol/projects/2) tracker +- Developer team coordination + +:::info +If you want to guarantee your Pull Request get's discussed on the next developer call, make sure you add the "dev-call" label on GitHub. We expect the author and the assigned reviewer to be on the call. +::: + +## Schedule + +- Time: Bi-Weekly on Tuesdays at 17h00 CET, 12h00 EST, 08h00 PST ([subscribe to the calendar](https://www.dronecode.org/calendar/)) +- The call is hosted on Jitsi the open platform ([QGC Bi-Weekly](https://meet.jit.si/GCS-bi-weekly)) +- the Agenda is published on the [PX4 Discuss - weekly-dev-call](https://discuss.px4.io/c/weekly-dev-call/qgc-developer-call/48) diff --git a/docs/ko/qgc-dev-guide/contribute/index.md b/docs/ko/qgc-dev-guide/contribute/index.md new file mode 100644 index 00000000000..0fd55b4e573 --- /dev/null +++ b/docs/ko/qgc-dev-guide/contribute/index.md @@ -0,0 +1,7 @@ +# Code Submission + +This section contains topics about the contributing code, including coding style, testing and the format of pull requests. + +:::info +QGroundControl (QGC) is [dual-licensed as Apache 2.0 and GPLv3](../contribute/licences.md). All contributions have to be made under both licenses. +::: diff --git a/docs/ko/qgc-dev-guide/contribute/licences.md b/docs/ko/qgc-dev-guide/contribute/licences.md new file mode 100644 index 00000000000..20c157a0d2f --- /dev/null +++ b/docs/ko/qgc-dev-guide/contribute/licences.md @@ -0,0 +1,30 @@ +# Licences + +## QGroundControl License + +_QGroundControl_ (QGC) is dual-licensed as Apache 2.0 and GPLv3. All contributions have to be made under both licenses. Users of the codebase are free to use it under either license. + +:::warning +_QGroundControl_ licensing rules out the re-use of any copyleft (e.g. GPL) licensed code. All contributions must be original or from a compatible license (BSD 2/3 clause, MIT, Apache 2.0). +::: + +The dual approach is necessary to be able to offer _QGroundControl_ through the iOS and Android app stores and offers the open source community choice. + +### Apache 2.0 License + +The [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) License is a permissive license which allows QGC to be built and used in any environment, including proprietary applications. It allows QGC to be built for mobile app stores. When building with Apache 2.0 a commercial Qt license is required. + +### GPL v3 License + +The [GPL v3 License](http://www.gnu.org/licenses/gpl-3.0.en.html) is a strong copyleft license. When building QGC under this license the open source version of Qt can be used. Our licensing grants the permission to use a later version of the license, however, contributions have to be made under 3.0. + +## Documentation, Artwork, Images + +The QGroundControl documentation, artwork and images are licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). + +## See Also + +- [qgroundcontrol/COPYING.md](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md) +- [qgroundcontrol/CONTRIBUTING.md](https://github.com/mavlink/qgroundcontrol/blob/master/CONTRIBUTING.md) +- [qgc-user-guide/LICENSE](https://github.com/mavlink/qgc-user-guide/blob/master/LICENSE) +- [qgc-dev-guide/LICENSE](https://github.com/mavlink/qgc-dev-guide/blob/master/LICENSE) diff --git a/docs/ko/qgc-dev-guide/contribute/pull_requests.md b/docs/ko/qgc-dev-guide/contribute/pull_requests.md new file mode 100644 index 00000000000..fe120dcf7dc --- /dev/null +++ b/docs/ko/qgc-dev-guide/contribute/pull_requests.md @@ -0,0 +1,3 @@ +# Pull Requests + +All pull requests go through the QGC CI build system which builds release and debug version. Builds will fail if there are compiler warnings. Also unit tests are run against supported OS debug builds. diff --git a/docs/ko/qgc-dev-guide/contribute/unit_tests.md b/docs/ko/qgc-dev-guide/contribute/unit_tests.md new file mode 100644 index 00000000000..e8c14fe7b4b --- /dev/null +++ b/docs/ko/qgc-dev-guide/contribute/unit_tests.md @@ -0,0 +1,20 @@ +# Unit Tests + +_QGroundControl_ (QGC) contains a set of unit tests that must pass before a pull request will be accepted. The addition of new complex subsystems to QGC should include a corresponding new unit test to test it. + +The full list of unit tests can be found in [UnitTestList.cc](https://github.com/mavlink/qgroundcontrol/blob/master/src/qgcunittest/UnitTestList.cc). + +To run unit tests: + +1. Build in `debug` mode with `UNITTEST_BUILD` definition. +2. Copy the **deploy/qgroundcontrol-start.sh** script in the **debug** directory +3. Run _all_ unit tests from the command line using the `--unittest` command line option. + For Linux this is done as shown: + ``` + qgroundcontrol-start.sh --unittest + ``` +4. Run _individual_ unit tests by specifying the test name as well: `--unittest:RadioConfigTest`. + For Linux this is done as shown: + ``` + qgroundcontrol-start.sh --unittest:RadioConfigTest + ``` diff --git a/docs/ko/qgc-dev-guide/custom_build/create_repos.md b/docs/ko/qgc-dev-guide/custom_build/create_repos.md new file mode 100644 index 00000000000..c4bce8ee142 --- /dev/null +++ b/docs/ko/qgc-dev-guide/custom_build/create_repos.md @@ -0,0 +1,15 @@ +# Initial Repository Setup For Custom Build + +The suggested mechanism for working on QGC and a custom build version of QGC is to have two separate repositories. The first repo is your main QGC fork. The second repo is your custom build repo. + +## Main QGC Respository + +This repo is used to work on changes to mainline QGC. When creating your own custom build it is not uncommon to discover that you may need a tweak/addition to the custom build to achieve what you want. By discussing those needed changes firsthand with QGC devs and submitting pulls to make the custom build architecture better you make QGC more powerful for everyone and give back to the community. + +The best way to create this repo is to fork the regular QGC repo to your own GitHub account. + +## Custom Build Repository + +This is where you will do your main custom build development. All changes here should be within the custom directory as opposed to bleeding out into the regular QGC codebase. + +Since you can only fork a repo once, the way to create this repo is to "Create a new repository" in your GitHub account. Do not add any additional files to it like gitignore, readme's and so forth. Once it is created you will be given the option to setup up the Repo. Now you can select to "import code from another repository". Just import the regular QGC repo using the "Import Code" button. diff --git a/docs/ko/qgc-dev-guide/custom_build/custom_build.md b/docs/ko/qgc-dev-guide/custom_build/custom_build.md new file mode 100644 index 00000000000..ff37e9b1c14 --- /dev/null +++ b/docs/ko/qgc-dev-guide/custom_build/custom_build.md @@ -0,0 +1,26 @@ +# Custom Builds + +A custom build allows third parties to create their own version of QGC in a way that allows them to easily keep up to date with changes which are being made in regular QGC. QGC has an architecture built into it which allows custom builds to modify and add to the feature set of regular QGC. + +Some possibilities with a custom build + +- Fully brand your build +- Define a single flight stack to avoid carrying over unnecessary code +- Implement your own, autopilot and firmware plugin overrides +- Implement your own camera manager and plugin overrides +- Implement your own QtQuick interface module +- Implement your own toolbar, toolbar indicators and UI navigation +- Implement your own Fly View overlay (and how to hide elements from QGC such as the flight widget) +- Implement your own, custom QtQuick camera control +- Implement your own, custom Pre-flight Checklist +- Define your own resources for all of the above + +One of the downsides of QGC providing both generic support for any vehicle which supports mavlink as well as providing firmware specific support for both PX4 Pro and ArduPilot is complexity of the user interface. Since QGC doesn't know any information about your vehicle ahead of time it requires UI bits which can get in the way if the vehicle you fly only uses PX4 Pro firmware and is a multi-rotor vehicle. If that is a known thing then the UI can be simplified in various places. Also QGC targets both DIY users who are building their own vehicles from scratch as well as commercial users of off the shelf vehicles. Setting up a DIY drone from scratch requires all sort of functionality which is not needed for users of off the shelf vehicles. So for off the shelf vehicle users all the DIY specific stuff is just extra noise they need to look past. Creating a custom build allows you to specify exact details for your vehicle and hide things which are irrelevant thus creating an even simple user experience for your users than regular generic QGC. + +There is a plugin architecture in QGC which allows for this custom build creation. They can be found in QGCCorePlugin.h, FirmwarePlugin.h and AutoPilotPlugin.h associated classes. To create a custom build you create subclasses of the standard plugins overriding the set of methods which are appropriate for you usage. + +There is also a mechanism which allows you to override resources so you can change the smaller visual elements in QGC. + +Also internal to QGC is the concept of an "Advanced Mode". Whereas a standard QGC builds always runs in advanced mode. A custom build always starts out in regular/not advanced mode. There is an easier mechanism in the build to turn on advanced mode which is to click the fly view button 5 times in a row fairly quickly. If you do this in a custom build you will be warned about entering advanced mode. The concept here is to hide things which normal users should not have access to behind advanced mode. For example a commercial vehicle will not need access to most setup pages which are oriented to DIY setup. So a custom build can hide this. The custom example code shows how to do this. + +If you want to understand the possibilities, the first step is to read through those files which document what is possible. Next look through the [`custom-example`](https://github.com/mavlink/qgroundcontrol/tree/master/custom-example) source code including the [README](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/README.md). diff --git a/docs/ko/qgc-dev-guide/custom_build/customization.md b/docs/ko/qgc-dev-guide/custom_build/customization.md new file mode 100644 index 00000000000..b97b5c63371 --- /dev/null +++ b/docs/ko/qgc-dev-guide/custom_build/customization.md @@ -0,0 +1,7 @@ +# Customization + +The following topics explain how to customise various views and other parts of the UI. + +- [First Run Prompts](../custom_build/first_run_prompts.md) +- [Toolbar customization](../custom_build/toolbar.md) +- [Fly View Customization](../custom_build/fly_view.md) diff --git a/docs/ko/qgc-dev-guide/custom_build/first_run_prompts.md b/docs/ko/qgc-dev-guide/custom_build/first_run_prompts.md new file mode 100644 index 00000000000..77d779da1b6 --- /dev/null +++ b/docs/ko/qgc-dev-guide/custom_build/first_run_prompts.md @@ -0,0 +1,54 @@ +# First Run Prompts + +When QGC is started for the first time it prompts the user to specify some initial settings. At the time of writing this documentation those are: + +- Unit Settings - What units does the user want to use for display. +- Offline Vehicle Settings - Vehicle information for creating Plans while not connected to a vehicle. + +The custom build architecure includes mechanisms for a custom build to both override the display of these prompts and/or create your own first run prompts. + +## First Run Prompt Dialog + +Each first run prompt is a simple dialog which can display ui to the user. Whether the specific dialog has already been show to the user or not is stored in a setting. Here is the code for the upstream first run prompt dialogs: + +- [Units Settings](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirstRunPromptDialogs/UnitsFirstRunPrompt.qml) +- [Offline Vehicle Settings](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirstRunPromptDialogs/OfflineVehicleFirstRunPrompt.qml) + +## Standard First Run Prompt Dialogs + +Each dialog has a unique ID associated with it. When that dialog is shown to the user that ID is registered as having already been displayed so it only happens once (unless you clear settings). The set of first run prompt which are included with upstream QGC are considered the "Standard" set. QGC gets the list of standard prompts to display from the `QGCCorePlugin::firstRunPromptStdIds` call. + +``` + /// Returns the standard list of first run prompt ids for possible display. Actual display is based on the + /// current AppSettings::firstRunPromptIds value. The order of this list also determines the order the prompts + /// will be displayed in. + virtual QList firstRunPromptStdIds(void); +``` + +You can override this method in your custom build if you want to hide some of those. + +## Custom First Run Prompt Dialogs + +Custom builds have the ability to create their own set of additional first run prompts as needed through the use of the following QGCCorePlugin method overrides: + +``` + /// Returns the custom build list of first run prompt ids for possible display. Actual display is based on the + /// current AppSettings::firstRunPromptIds value. The order of this list also determines the order the prompts + /// will be displayed in. + virtual QList firstRunPromptCustomIds(void); +``` + +``` + /// Returns the resource which contains the specified first run prompt for display + Q_INVOKABLE virtual QString firstRunPromptResource(int id); +``` + +Your QGCCorePlugin should override these two methods as well as provide static consts for the ids of your new first run prompts. Look at how the standard set is implemented for how to do this and take the same approach. + +## Order Of Display + +The set of first run prompts shown to the user are in the order returned by the `QGCCorePlugin::firstRunPromptStdIds` and `QGCCorePlugin::firstRunPromptCustomIds` with standard prompts shown before the custom prompts. Only the prompts which have not been previously shown to the user are shown. + +## Always On Prompts + +By setting the `markAsShownOnClose: false` property in your prompt ui implementation you can create a prompt which will show up each time QGC starts. This can be used for things like showing usage tips to your users. If you do this it is best to make sure that this is displayed last. diff --git a/docs/ko/qgc-dev-guide/custom_build/fly_view.md b/docs/ko/qgc-dev-guide/custom_build/fly_view.md new file mode 100644 index 00000000000..e6b3342817f --- /dev/null +++ b/docs/ko/qgc-dev-guide/custom_build/fly_view.md @@ -0,0 +1,42 @@ +# Fly View Customization + +The Fly View is designed in such a way that it can be cusomtized in multiple ways from simple to more complex. It is designed in three separate layers each of which are customizable providing different levels of change. + +## Layers + +- There are three layers to the fly view from top to bottom visually: + - [`FlyView.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyView.qml) This is the base layer of ui and business logic to control map and video switching. + - [`FlyViewWidgetsOverlay.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyViewWidgetLayer.qml) This layer includes all the remaining widgets for the fly view. + - [`FlyViewCustomLayer.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyViewCustomLayer.qml) This is a layer you override using resource override to add your own custom layer. + +### Inset Negotiation using `QGCToolInsets` + +An important aspect of the Fly View is that it needs to understand how much central space it has in the middle of it's map window which is not obstructed by ui widgets which are at the edges of the window. It uses this information to pan the map when the vehicle goes out of view. This need to be done not only for the window edges but also for the widgets themselve such that the map pans before it goes under a widget. + +This is done through the use of the [`QGCToolInsets`](https://github.com/mavlink/qgroundcontrol/blob/master/src/QmlControls/QGCToolInsets.qml) object included in each layer. This objects provides inset information for each window edge informing the system as to how much real estate is taken up by edge based ui. Each layer is given the insets of the layer below it through `parentToolInsets` and then reports back the new insets taking into account the layer below and it's own additions through `toolInsets`. The final results total inset is then given to the map so it can do the right thing. The best way to understand this is to look at both the upstream and custom example code. + +### `FlyView.qml` + +The base layer for the view is also the most complex from ui interactions and business logic. It includes the main display elements of map and video as well as the guided controls. Although you can resource override this layer it is not recommended. And if you do you better really (really) know what you are doing. The reason it is a separate layer is to make the layer above much simpler and easier to customize. + +### `FlyViewWidgetsOverlay.qml` + +This layer contains all the remaining controls of the fly view. You have the ability to hide the controls through use of [`QGCFlyViewOptions`](https://github.com/mavlink/qgroundcontrol/blob/master/src/api/QGCOptions.h). But in order to change the layout of the upstream controls you must use a resource override. If you look at the source you'll see that the controls themselves are well encapsulated such that it should not be that difficult to create your own override which repositions them and/or adds your own ui. While maintaining a connection to the upstream implementaions of the controls. + +### `FlyViewCustomLayer.qml` + +This provides the simplest customization ability to the Fly View. Allowing you the add ui elements which are additive to the existing upstream controls. The upstream code adds no ui elements and is meant to be the basis for your own custom code used as a resource override for this qml. The custom example code provides you with an example of how to do it. + +## Recommendations + +### Simple customization + +The best place to start is using a custom layer override plus turning off ui elements from the widgets layer (if needed). I would recommend trying to stick with only this if at all possible. It provides the greatest abilty to not get screwed by upstream changes in the layers below. + +### Moderate complexity customization + +If you really need to reposition upstream ui elements then your only choice is overriding `FlyViewWidgetsOverlay.qml`. By doing this you are distancing yourself a bit from upstream changes. Although you will still get changes in the upstream controls for free. If there is a whole new control added to the fly view upstream you won't get it until you add it to your own override. + +### Highly complex customization + +The last and least recommended customization mechanism is overriding `FlyView.qml`. By doing this you are distancing yourself even further from getting upstream changes for free. diff --git a/docs/ko/qgc-dev-guide/custom_build/mavlink.md b/docs/ko/qgc-dev-guide/custom_build/mavlink.md new file mode 100644 index 00000000000..6fa5d685d9f --- /dev/null +++ b/docs/ko/qgc-dev-guide/custom_build/mavlink.md @@ -0,0 +1,15 @@ +# MAVLink Customisation + +QGC communicates with flight stacks using [MAVLink](https://mavlink.io/en/), a very lightweight messaging protocol that has been designed for the drone ecosystem. + +QGC includes the [all.xml](https://mavlink.io/en/messages/all.html) dialect by default. The `all.xml` includes all other dialects in the [mavlink/mavlink](https://github.com/mavlink/mavlink/tree/master/message_definitions/v1.0) repository, and allows it to communicate with both PX4 and Ardupilot. +Previous versions of QGC (v4.2.8 and earlier), used the `ArduPilotMega.xml` dialect. + +In order to add support for a new set of messages you should add them to [development.xml](https://mavlink.io/en/messages/development.html), [ArduPilotMega.xml](https://mavlink.io/en/messages/ardupilotmega.html), or [common.xml](https://mavlink.io/en/messages/common.html) (for PX4), or fork _QGroundControl_ and include your own dialect. + +To modify the version of MAVLink used by QGC: + +- Replace the pre-build C library at [/qgroundcontrol/libs/mavlink/include/mavlink](https://github.com/mavlink/qgroundcontrol/tree/master/libs/mavlink/include/mavlink). + - By default this is a submodule importing https\://github.com/mavlink/c\_library\_v2 + - You can change the submodule, or [build your own libraries](https://mavlink.io/en/getting_started/generate_libraries.html) using the MAVLink toolchain. +- You can change the whole dialect used by setting it in [`MAVLINK_CONF`](https://github.com/mavlink/qgroundcontrol/blob/master/QGCExternalLibs.pri#L52) when running _qmake_. diff --git a/docs/ko/qgc-dev-guide/custom_build/plugins.md b/docs/ko/qgc-dev-guide/custom_build/plugins.md new file mode 100644 index 00000000000..5bbc45c97c4 --- /dev/null +++ b/docs/ko/qgc-dev-guide/custom_build/plugins.md @@ -0,0 +1,7 @@ +# Custom Build Plugins + +The mechanisms for customizing QGC for a custom build is through the existing `FirmwarePlugin`, `AutoPilotPlugin` and `QGCCorePlugin` architectures. By creating subclasses of these plugins in your custom build you can change the behavior of QGC to suit your needs without needed to modify the upstream code. + +## QGCCorePlugin + +This allows you to modify the parts of QGC which are not directly related to vehicle but are related to the QGC application itself. This includes things like application settings, color palettes, branding and so forth. diff --git a/docs/ko/qgc-dev-guide/custom_build/release_branching_process.md b/docs/ko/qgc-dev-guide/custom_build/release_branching_process.md new file mode 100644 index 00000000000..41e143a59f1 --- /dev/null +++ b/docs/ko/qgc-dev-guide/custom_build/release_branching_process.md @@ -0,0 +1,44 @@ +# Release Process for Custom Builds \[WIP Docs] + +One of the trickier aspects of creating your own custom build is the process to keep it up to date with regular QGC. This document describes a suggested process to follow. But in reality you are welcome to use whatever branching and release strategy you want for your custom builds. + +## Upstream QGC release/branching strategy + +The best place to start is understanding the mechanism QGC uses to do it's own releases. We will layer a custom build release process on top of that. You can find standard QGC [release process here](../release_branching_process.md). + +## Custom build/release types + +Regular QGC has two main build types: Stable and Daily. The build type for a custom build is more complex. Throughout this discussion we will use the term "upstream" to refer to the main QGC repo (https\://github.com/mavlink/qgroundcontrol). Also when we talk about a "new" upstream stable release, this means a major/minor release, not a patch release. + +### Synchronized Stable + +This type of release is synchronized with the release of an upstream stable. Once QGC releases stable you then release a version of your custom build which is based on this stable. This build will include all the new features from upstream including the new feature in your own custom code. + +### Out-Of-Band Stable + +This a subsequent release of your custom build after you have released a synchronized stable but prior to upstream releasing a new stable. It only includes new features from your own custom build and include no new features from upstream. Work on this type of release would occur on a branch which is either based on your latest synchronized stable or your last out of band release if it exists. You can release out of band stable releases at any time past your first synchronized stable release. + +### Daily + +Your custom daily builds are built from your `master` branch. It is important to keep your custom master up to date with QGC master. If you lag behind you may be surprised by upstream features which require some effort to integrate with your build. Or you may even require changes to "core" QGC in order to work with your code. +If you don't let QGC development team know soon enough, it may end up being too late to get things changed. + +## Options for your first build + +### Starting with a Synchronized Stable release + +It is suggested that you start with releasing a Synchronized Stable. This isn't necessary but it is the simplest way to get started. To set your self up for a synchronized stable you create your own branch for development which is based on the upstream current stable. + +### Starting with Daily builds + +The reason why you may consider this as your starting point is because you need features which are only in upstream master for your own custom builds. In this case you will have to live with releasing custom Daily builds until the next upstream stable. At which point you would release you first Synchronized Stable. For this setup you use your master branch and keep it in sync with upstream master as you develop. + +## After you release your first Synchronized Stable + +### Patch Releases + +As upstream QGC does patch releases on Stable you should also release your own patch releases based on upstream to keep your stable up to date with latest criticial bug fixes. + +### Out-Of-Band, Daily: One or the other or both? + +At this point you can decide which type of releases you want to follow. You can also decide to possibly do both. You can do smaller new features which don't require new upstream features using out of band releases. And you can do major new feature work as daily/master until the point you can do a new synchronized stable. diff --git a/docs/ko/qgc-dev-guide/custom_build/resource_override.md b/docs/ko/qgc-dev-guide/custom_build/resource_override.md new file mode 100644 index 00000000000..2c8fa94eba1 --- /dev/null +++ b/docs/ko/qgc-dev-guide/custom_build/resource_override.md @@ -0,0 +1,24 @@ +# Resource Overrides + +A "resource" in QGC source code terminology is anything found in the [qgroundcontrol.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgroundcontrol.qrc) and [qgcresources.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgcresources.qrc) file. By overriding a resource you can replace it with your own version of it. This could be as simple as a single icon, or as complex as replacing an entire Vehicle Setup page of qml ui code. + +Be aware that using resource overrides does not isolate you from upstream QGC changes like the plugin architecture does. In a sense you are directly modify the upstream QGC resources used by the main code. + +## Exclusion Files + +The first step to overriding a resource is to "exclude" it from the standard portion of the upstream build. This means that you are going to provide that resource in your own custom build resource file(s). There are two files which achieve this: qgroundcontrol.exclusion and [qgcresources.exclusion](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/qgcresources.exclusion). They correspond directly with the \*.qrc counterparts. In order to exclude a resource, copy the resource line from the .qrc file into the appropriate .exclusion file. + +## Custom version of excluded resources + +You must include the custom version of the overriden resouce in you custom build resource file. The resource alias must exactly match the upstream alias. The name and actual location of the resource can be anywhere within your custom directory structure. + +## Generating the new modified versions of standard QGC resource file + +This is done using the `updateqrc.py` python script. It will read the upstream `qgroundcontrol.qrc` and `qgcresources.qrc` file and the corresponding exclusion files and output new versions of these files in your custom directory. These new versions will not have the resources you specified to exclude in them. The build system for custom builds uses these generated files (if they exist) to build with instead of the upstream versions. The generated version of these file should be added to your repo. Also whenever you update the upstream portion of QGC in your custom repo you must re-run `python updateqrc.py` to generate new version of the files since the upstream resources may have changed. + +## Custom Build Example + +You can see an examples of custom build qgcresource overrides in the repo custom build example: + +- [qgcresources.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/qgcresources.exclusion) +- [custom.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/custom.qrc) diff --git a/docs/ko/qgc-dev-guide/custom_build/toolbar.md b/docs/ko/qgc-dev-guide/custom_build/toolbar.md new file mode 100644 index 00000000000..662cb8db4ae --- /dev/null +++ b/docs/ko/qgc-dev-guide/custom_build/toolbar.md @@ -0,0 +1,51 @@ +# Toolbar Customization + +The toolbar can be customized in a number of ways to fit your custom build needs. The toolbar internally is made up of a number of sections from left to right: + +- View Switching +- Indicators + - App Indicators + - Vehicle Indicators + - Vehicle Mode Indicators +- Connection Management +- Branding + +The Indicator section varies based on the view currently displayed: + +- Fly View - Shows all indicators +- Plan View - Show no indicators and has its own custom indicator section for Plan status values +- Other Views - Do not show Vehicle Mode Indicators + +## Customization Possibilities + +### Indicators + +You can add your own indicators for display or remove any of the upstream indicators. The mechanism you use depends on the indicator type. + +#### App Indicators + +These provide information to the user which is not associated with a vehicle. For example RTK status. To manipulate the list of app indicators you use `QGCPlugin::toolbarIndicators`. + +#### Vehicle Indicators + +These are indicators which are associated with information about the vehicle. They are only available when a vehicle is connected. To manipulate the list of vehicle indicators you override `FirmwarePlugin::toolIndicators`. + +#### Vehicle Mode Indicators + +These are indicators which are associated with information about the vehicle. They require additional UI provided by the Fly View to complete their actions. An example is Arming and Disarming. They are only available when a vehicle is connected. To manipulate the list of vehicle mode indicators you override `FirmwarePlugin::modeIndicators`. + +### Modifying the toolbar UI itself + +This is accomplished by using resource overrides on the qml files associated with the toolbar. This provides a high level of customization but also a higher level of complexity. The primary ui for the toolbar is in `MainToolBar.qml`. The main window code in `MainRootWindow.qml` interacts with the toolbar to show different indicator sections based on current view as well as whether the mode indicators show or not also based on current view. + +If you want full control over the toolbar then you can override `MainToolBar.qml` and make your own completely different version. You will need to pay special attention to the interactions of the main toolbar with `MainRootWindow.qml` since you are going to need to replicated those interactions in your own custom version. + +There are two standard indicator ui sections of the toolbar: + +#### `MainToolBarIndicators.qml` + +This is used for all views except Plan. It display all the indicators in a row. Although you can override this file, in reality it doesn't do much other than layout for indicators. + +#### `PlanToolBarIndicators.qml` + +This is used by the Plan view to show the status values. If you want to change that ui you can override this file and provide your own custom version. diff --git a/docs/ko/qgc-dev-guide/fact_system.md b/docs/ko/qgc-dev-guide/fact_system.md new file mode 100644 index 00000000000..5e7f5242d9c --- /dev/null +++ b/docs/ko/qgc-dev-guide/fact_system.md @@ -0,0 +1,33 @@ +# Fact System + +The Fact System provides a set of capabilities which standardizes and simplifies the creation of the QGC user interface. + +## Fact {#fact} + +A Fact represents a single value within the system. + +## FactMetaData + +There is `FactMetaData` associated with each fact. It provides details on the Fact in order to drive automatic user interface generation and validation. + +## Fact Controls + +A Fact Control is a QML user interface control which connects to a Fact and it's `FactMetaData` to provide a control to the user to modify/display the value associated with the Fact. + +## FactGroup + +A _Fact Group_ is a group of [Facts](#fact). +It is used to organise facts and manage user defined facts. + +## Custom Build Support + +User defined facts can be added by overriding `factGroups` function of `FirmwarePlugin` in a custom firmware plugin class. +These functions return a name to fact group map that is used to identify added fact groups. +A custom fact group can be added by extending `FactGroup` class. +FactMetaDatas could be defined using the appopriate `FactGroup` constructor by providing a json file containing necessery information. + +Changing the metadata of existing facts is also possible by overriding `adjustMetaData` of `FirmwarePlugin` class. + +A fact associated with a vehicle (including facts belonging to fact groups returned in `factGroups` function of the vehicles Firmware plugin) can be reached using `getFact("factName")` or `getFact("factGroupName.factName")` + +For additional information please refer to comments in [FirmwarePlugin.h](https://github.com/mavlink/qgroundcontrol/blob/v4.0.8/src/FirmwarePlugin/FirmwarePlugin.h). diff --git a/docs/ko/qgc-dev-guide/file_formats/index.md b/docs/ko/qgc-dev-guide/file_formats/index.md new file mode 100644 index 00000000000..cf8a409129a --- /dev/null +++ b/docs/ko/qgc-dev-guide/file_formats/index.md @@ -0,0 +1,3 @@ +# File Formats + +This section contains topics about the file formats used/supported by _QGroundControl_. diff --git a/docs/ko/qgc-dev-guide/file_formats/mavlink.md b/docs/ko/qgc-dev-guide/file_formats/mavlink.md new file mode 100644 index 00000000000..8a55c8289af --- /dev/null +++ b/docs/ko/qgc-dev-guide/file_formats/mavlink.md @@ -0,0 +1,27 @@ +# MAVLink Log Format + +_QGroundControl_ allows you to generate plain MAVLink packet logs that can be +replayed (with QGroundControl) to watch a mission again for analysis. + +The format is binary: + +- Byte 1-8: Timestamp in microseconds since Unix epoch as unsigned 64 bit integer +- Byte 9-271: MAVLink packet (263 bytes maximum packet length, not all bytes have to be actual data, the packet might be shorter. Includes packet start sign) + +## Debugging + +To check your data, open your written file in a hex editor. You should see after 8 bytes **0x55**. The first 8 bytes should also convert to a valid timestamp, so something either close to zero or around the number **1294571828792000** (which is the current Unix epoch timestamp in microseconds). + +## C++ Sketch for logging MAVLink + +The code fragment below shows how to implement logging using [C++ streams](http://www.cplusplus.com/reference/iostream/istream/) from the C++ standard library. + +```cpp +//write into mavlink logfile +const int len = MAVLINK_MAX_PACKET_LEN+sizeof(uint64_t); +uint8_t buf[len]; +uint64_t time = getSystemTimeUsecs(); +memcpy(buf, (void*)&time, sizeof(uint64_t)); +mavlink_msg_to_send_buffer(buf+sizeof(uint64_t), msg); +mavlinkFile << buf << flush; +``` diff --git a/docs/ko/qgc-dev-guide/file_formats/parameters.md b/docs/ko/qgc-dev-guide/file_formats/parameters.md new file mode 100644 index 00000000000..60fd66a3638 --- /dev/null +++ b/docs/ko/qgc-dev-guide/file_formats/parameters.md @@ -0,0 +1,25 @@ +# Parameters File Format + +``` +# Onboard parameters for Vehicle 1 +# +# # Vehicle-Id Component-Id Name Value Type +1 1 ACRO_LOCKING 0 2 +1 1 ACRO_PITCH_RATE 180 4 +1 1 ACRO_ROLL_RATE 180 4 +1 1 ADSB_ENABLE 0 2 +``` + +Above is an example of a parameter file with four parameters. The file can include as many parameters as needed. + +Comments are preceded with a `#`. + +This header: `# MAV ID COMPONENT ID PARAM NAME VALUE` describes the format for each row: + +- `Vehicle-Id` Vehicle id +- `Component-Id` Component id for parameter +- `Name` Parameter name +- `Value` Parameter value +- `Type` Parameter type using MAVLink `MAV_PARAM_TYPE_*` enum values + +A parameter file contains the parameters for a single Vehicle. It can contain parameters for multiple components within that Vehicle. diff --git a/docs/ko/qgc-dev-guide/file_formats/plan.md b/docs/ko/qgc-dev-guide/file_formats/plan.md new file mode 100644 index 00000000000..914571983f2 --- /dev/null +++ b/docs/ko/qgc-dev-guide/file_formats/plan.md @@ -0,0 +1,489 @@ +# Plan File Format + +Plan files are stored in JSON file format and contain mission items and (optional) geo-fence and rally-points. +Below you can see the top level format of a Plan file + +:::tip +This is "near-minimal" - a plan must contain at least one mission item. +The plan fence and rally points are also used in modes when no mission is running. +::: + +```json +{ + "fileType": "Plan", + "geoFence": { + "circles": [], + "polygons": [], + "version": 2 + }, + "groundStation": "QGroundControl", + "mission": {}, + "rallyPoints": { + "points": [], + "version": 2 + }, + "version": 1 +} +``` + +The main fields are: + +| Key | Description | +| ------------------------------ | ------------------------------------------------------------------------------ | +| `version` | The version for this file. Current version is 1. | +| `fileType` | Must be `"Plan"`. | +| `groundStation` | The name of the ground station which created this file (here _QGroundControl_) | +| [`mission`](#mission) | The mission associated with this flight plan. | +| [`geoFence`](#geofence) | (Optional) Geofence information for this plan. | +| [`rallyPoints`](#rally_points) | (Optional) Rally/Safe point information for this plan | + +## Mission Object {#mission} + +The structure of the mission object is shown below. +The `items` field contains a comma-separated list of mission items (it must contain at least one mission item, as shown below). +The list may be a mix of both [SimpleItem](#mission_simple_item) and [ComplexItem](#mission_complex_item) objects. + +```json + "mission": { + "cruiseSpeed": 15, + "firmwareType": 12, + "globalPlanAltitudeMode": 1, + "hoverSpeed": 5, + "items": [ + { + "AMSLAltAboveTerrain": null, + "Altitude": 50, + "AltitudeMode": 0, + "autoContinue": true, + "command": 22, + "doJumpId": 1, + "frame": 3, + "params": [ + 15, + 0, + 0, + null, + 47.3985099, + 8.5451002, + 50 + ], + "type": "SimpleItem" + } + ], + "plannedHomePosition": [ + 47.3977419, + 8.545594, + 487.989 + ], + "vehicleType": 2, + "version": 2 + }, +``` + +The following values are required: + +| Key | Description | +| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version for the mission object. Current version is 2. | +| `firmwareType` | The firmware type for which this mission was created. This is one of the [MAV\_AUTOPILOT](https://mavlink.io/en/messages/common.html#MAV_AUTOPILOT) enum values. | +| `globalPlanAltitudeMode` | The global plan-wide altitude mode setting. This is used by plan items that don't specify an `"AltitudeMode"`. | +| `vehicleType` | The vehicle type for which this mission was created. This is one of the [MAV\_TYPE](https://mavlink.io/en/messages/common.html#MAV_TYPE) enum values. | +| `cruiseSpeed` | The default forward speed for Fixed wing or VTOL vehicles (i.e. when moving between waypoints). | +| `hoverSpeed` | The default forward speed for multi-rotor vehicles. | +| `items` | The list of mission item objects associated with the mission . The list may contain either/both [SimpleItem](#mission_simple_item) and [ComplexItem](#mission_complex_item) objects. | +| `plannedHomePosition` | The planned home position is shown on the map and used for mission planning when no vehicle is connected. The array values shown above are (from top): latitude, longitude and AMSL altitude. | + +The format of the simple and complex items is given below. + +### `SimpleItem` - Simple Mission Item {#mission\_simple\_item} + +A simple item represents a single MAVLink [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM) command. + +``` + { + "AMSLAltAboveTerrain": null, + "Altitude": 50, + "AltitudeMode": 0, + "autoContinue": true, + "command": 22, + "doJumpId": 1, + "frame": 3, + "params": [ + 15, + 0, + 0, + null, + 47.3985099, + 8.5451002, + 50 + ], + "type": "SimpleItem" + } +``` + +The field mapping is shown below. + +| Key | Description | +| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | `SimpleItem` for a simple item | +| `AMSLAltAboveTerrain` | Altitude value shown to the user. | +| `Altitude` | | +| `AltitudeMode` | | +| `autoContinue` | [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).autoContinue | +| `command` | The command ([MAV\_CMD](https://mavlink.io/en/messages/common.html#MAV_CMD)) for this mission item - see [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).command. | +| `doJumpId` | The target id for the current mission item in DO\_JUMP commands. These are auto-numbered from 1. | +| `frame` | [MAV\_FRAME](https://mavlink.io/en/messages/common.html#MAV_FRAME) (see [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).frame) | +| `params` | [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).param1,2,3,4,x,y,z (values depends on the particular [MAV\_CMD](https://mavlink.io/en/messages/common.html#MAV_CMD)). | + +### Complex Mission Item {#mission\_complex\_item} + +A complex item is a higher level encapsulation of multiple `MISSION_ITEM` objects treated as a single entity. + +There are currently three types of complex mission items: + +- [Survey](#survey) +- [Corridor Scan](#corridor_scan) +- [Structure Scan](#structure_scan) + +#### Survey - Complex Mission Item {#survey} + +The object definition for a `Survey` complex mission item is given below. + +``` +{ + "TransectStyleComplexItem": { + ... + }, + "angle": 0, + "complexItemType": "survey", + "entryLocation": 0, + "flyAlternateTransects": false, + "polygon": [ + [ + -37.75170619863631, + 144.98414811224316 + ], + ... + [ + -37.75170619863631, + 144.99457681259048 + ] + ], + "type": "ComplexItem", + "version": 4 + }, +``` + +Complex items have these values associated with them: + +| Key | Description | +| ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version number for this `survey` definition. Current version is 3. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `survey` | +| [`TransectStyleComplexItem`](#TransectStyleComplexItem) | The common base definition for Survey and CorridorScan complex items. | +| `angle` | The angle for the transect paths (degrees). | +| `entryLocation` | ? | +| `flyAlternateTransects` | If true, the vehicle will skip every other transect and then come back at the end and fly these alternates. This can be used for fixed wing aircraft when the turnaround would be too acute for the vehicle to make the turn. | +| `polygon` | The polygon array which represents the polygonal survey area. Each point is a latitude, longitude pair for a polygon vertex. | + +#### Corridor Scan {#corridor\_scan} + +The object definition for a `CorridorScan` complex mission item is given below. + +``` + { + "CorridorWidth": 50, + "EntryPoint": 0, + "TransectStyleComplexItem": { + ... + }, + }, + "complexItemType": "CorridorScan", + "polyline": [ + [ + -37.75234887156983, + 144.9893624624168 + ], + ... + [ + -37.75491914850321, + 144.9893624624168 + ] + ], + "type": "ComplexItem", + "version": 2 + }, +``` + +| Key | Description | +| ------------------------------------------------------- | --------------------------------------------------------------------- | +| `version` | The version for this `CorridorScan` definition. Current version is 3. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `CorridorScan` | +| `CorridorWidth` | ? | +| `EntryPoint` | ? | +| [`TransectStyleComplexItem`](#TransectStyleComplexItem) | The common base definition for Survey and CorridorScan complex items. | +| `polyline` | ? | + +#### Structure Scan {#structure\_scan} + +The object definition for a `StructureScan` complex mission item is given below. + +```json + { + "Altitude": 50, + "CameraCalc": { + "AdjustedFootprintFrontal": 25, + "AdjustedFootprintSide": 25, + "CameraName": "Manual (no camera specs)", + "DistanceToSurface": 10, + "DistanceToSurfaceRelative": true, + "version": 1 + }, + "Layers": 1, + "StructureHeight": 25, + "altitudeRelative": true, + "complexItemType": "StructureScan", + "polygon": [ + [ + -37.753184359536355, + 144.98879374063998 + ], + ... + [ + -37.75408368012594, + 144.98879374063998 + ] + ], + "type": "ComplexItem", + "version": 2 + } +``` + +| Key | Description | +| --------------------------- | ---------------------------------------------------------------------- | +| `version` | The version for this `StructureScan` definition. Current version is 2. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `StructureScan` | +| `Altitude` | ? | +| [`CameraCalc`](#CameraCalc) | ? | +| `Layers` | ? | +| `StructureHeight` | ? | +| `altitudeRelative` | `true`: `altitude` is relative to home, `false`: `altitude` is AMSL. | +| `polygon` | ? | + +#### `TransectStyleComplexItem` {#TransectStyleComplexItem} + +`TransectStyleComplexItem` contains the common base definition for [`survey`](#survey) and [`CorridorScan`](#CorridorScan) complex items. + +```json + "TransectStyleComplexItem": { + "CameraCalc": { + ... + }, + "CameraTriggerInTurnAround": true, + "FollowTerrain": false, + "HoverAndCapture": false, + "Items": [ + ... + ], + "Refly90Degrees": false, + "TurnAroundDistance": 10, + "VisualTransectPoints": [ + [ + -37.75161626657736, + 144.98414811224316 + ], + ... + [ + -37.75565155437309, + 144.99438539496475 + ] + ], + "version": 1 + }, +``` + +| Key | Description | +| --------------------------- | --------------------------------------------------------------------------------- | +| `version` | The version for this `TransectStyleComplexItem` definition. Current version is 1. | +| [`CameraCalc`](#CameraCalc) | ? | +| `CameraTriggerInTurnAround` | ? (boolean) | +| `FollowTerrain` | ? (boolean) | +| `HoverAndCapture` | ? (boolean) | +| `Items` | ? | +| `Refly90Degrees` | ? (boolean) | +| `TurnAroundDistance` | The distance to fly past the polygon edge prior to turning for the next transect. | +| `VisualTransectPoints` | ? | + +##### CameraCalc {#CameraCalc} + +The `CameraCalc` contains camera information used for a survey, corridor or structure scan. + +``` + "CameraCalc": { + "AdjustedFootprintFrontal": 272.4, + "AdjustedFootprintSide": 409.2, + "CameraName": "Sony ILCE-QX1", + "DistanceToSurface": 940.6896551724138, + "DistanceToSurfaceRelative": true, + "FixedOrientation": false, + "FocalLength": 16, + "FrontalOverlap": 70, + "ImageDensity": 25, + "ImageHeight": 3632, + "ImageWidth": 5456, + "Landscape": true, + "MinTriggerInterval": 0, + "SensorHeight": 15.4, + "SensorWidth": 23.2, + "SideOverlap": 70, + "ValueSetIsDistance": false, + "version": 1 + }, +``` + +| Key | Description | +| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version for this `CameraCalc` definition. Current version is 1. | +| `AdjustedFootprintFrontal` | ? | +| `AdjustedFootprintSide` | ? | +| `DistanceToSurface` | ? Units? | +| `DistanceToSurfaceRelative` | ? | +| `CameraName` | Name of camera being used (must correspond to one of the cameras known to _QGroundControl_ or: `Manual (no camera specs)` for manual setup, `Custom Camera` for a custom setup. The keys listed after this point are not specified for a "Manual" camera definition. | +| `FixedOrientation` | ? (boolean) | +| `FocalLength` | Focal length of camera lens in millimeters. | +| `FrontalOverlap` | Percentage of frontal image overlap. | +| `ImageDensity` | ? | +| `ImageHeight` | Image height in px | +| `ImageWidth` | Image width in px | +| `Landscape` | `true`: Camera installed in landscape orientation on vehicle, `false`: Camera installed in portrait orientation on vehicle. | +| `MinTriggerInterval` | ? | +| `SensorHeight` | Sensor height in millimeters. | +| `SensorWidth` | Sensor width in millimeters. | +| `SideOverlap` | Percentage of side image overlap. | +| `ValueSetIsDistance` | ? (boolean) | + +## GeoFence {#geofence} + +Geofence information is optional. +The plan can contain an arbitrary number of geofences defined in terms of polygons and circles. + +The minimal definition is shown below. + +```json + "geoFence": { + "circles": [ + ], + "polygons": [ + ], + "version": 2 + }, +``` + +The fields are: + +| Key | Description | +| ------------------------------- | ----------------------------------------------------------------------------- | +| `version` | The version number for the geofence plan format. The documented version is 2. | +| [`circles`](#circle_geofence) | List containing circle geofence definitions (comma separated). | +| [`polygons`](#polygon_geofence) | List containing polygon geofence definitions (comma separated). | + +### Circle Geofence {#circle\_geofence} + +Each circular geofence is defined in a separate item, as shown below (multiple comma-separated items can be defined). +The items define the centre and radius of the circle, and whether or not the specific geofence is activated. + +```json +{ + "circle": { + "center": [47.39756763610029, 8.544649762407738], + "radius": 319.85 + }, + "inclusion": true, + "version": 1 +} +``` + +The fields are: + +| Key | Description | +| ----------- | -------------------------------------------------------------------------------------------------- | +| `version` | The version number for the geofence "circle" plan format. The documented version is 1. | +| `circle` | The definition of the circle. Includes `centre` (latitude, longitude) and `radisu` as shown above. | +| `inclusion` | Whether or not the geofence is enabled (true) or disabled. | + +### Polygon Geofence {#polygon\_geofence} + +Each polygon geofence is defined in a separate item, as shown below (multiple comma-separated items can be defined). +The geofence includes a set of points defined with a clockwise winding (i.e. they must enclose an area). + +```json + { + "inclusion": true, + "polygon": [ + [ + 47.39807773798406, + 8.543834631785785 + ], + [ + 47.39983519888905, + 8.550024648373267 + ], + [ + 47.39641100087146, + 8.54499282423751 + ], + [ + 47.395590322265186, + 8.539435808992085 + ] + ], + "version": 1 + } + ], + "version": 2 + } +``` + +The fields are: + +| Key | Description | +| ----------- | ------------------------------------------------------------------------------------------------------------------------------ | +| `version` | The version number for the geofence "polygon" plan format. The documented version is 2. | +| `polygon` | A list of points for the polygon. Each point contains a latitude and longitude. The points are ordered in a clockwise winding. | +| `inclusion` | Whether or not the geofence is enabled (true) or disabled. | + +## Rally Points {#rally\_points} + +Rally point information is optional. +The plan can contain an arbitrary number of rally points, each of which has a latitude, longitude, and altitude (above home position). + +A definition with two points is shown below. + +```json + + "rallyPoints": { + "points": [ + [ + 47.39760401, + 8.5509154, + 50 + ], + [ + 47.39902017, + 8.54263274, + 50 + ] + ], + "version": 2 + } +``` + +The fields are: + +| Key | Description | +| --------- | -------------------------------------------------------------------------------- | +| `version` | The version number for the rally point plan format. The documented version is 2. | +| `points` | A list of rally points. | diff --git a/docs/ko/qgc-dev-guide/firmware_plugin.md b/docs/ko/qgc-dev-guide/firmware_plugin.md new file mode 100644 index 00000000000..95d0c3ddc74 --- /dev/null +++ b/docs/ko/qgc-dev-guide/firmware_plugin.md @@ -0,0 +1,23 @@ +# Plugin Architecture + +Although the MAVLink spec defines a standard communication protocol to communicate with a vehicle. There are many aspects of that spec that are up for interpretation by the firmware developers. Because of this there are many cases where communication with a vehicle running one firmware is be slightly different than communication with a vehicle running a different firmware in order to accomplish the same task. Also each firmware may implement a different subset of the MAVLink command set. + +Another major issue is that the MAVLink spec does not cover vehicle configuration or a common parameter set. Due to this all code which relates to vehicle setup ends up being firmware specific. Also any code which must refer to a specific parameter is also firmware specific. + +Given all of these differences between firmware implementations it can be quite tricky to create a single ground station application that can support each without having the codebase degrade into a massive pile of if/then/else statements peppered everywhere based on the firmware the vehicle is using. + +QGC uses a plugin architecture to isolate the firmware specific code from the code which is generic to all firmwares. There are two main plugins which accomplish this `FirmwarePlugin` and `AutoPilotPlugin`. + +This plugin architecture is also used by custom builds to allow ever further customization beyond when standard QGC can provide. + +## FirmwarePlugin + +This is used to create a standard interface to parts of Mavlink which are generally not standardized. + +## AutoPilotPlugin + +This is used to provide the user interface for Vehicle Setup. + +## QGCCorePlugin + +This is used to expose features of the QGC application itself which are not related to a Vehicle through a standard interface. This is then used by custom builds to adjust the QGC feature set to their needs. diff --git a/docs/ko/qgc-dev-guide/getting_started/cent_os.md b/docs/ko/qgc-dev-guide/getting_started/cent_os.md new file mode 100644 index 00000000000..c709b04874b --- /dev/null +++ b/docs/ko/qgc-dev-guide/getting_started/cent_os.md @@ -0,0 +1,220 @@ +# Using QGC on CentOS 7 + +## OS Installation + +To install CentOS 7: + +1. Fetch the latest [CentOS 7 ISO from here](http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso) +2. Make a bootable USB stick out of the ISO e.g. by [following this guide](https://linuxize.com/post/how-to-create-a-bootable-centos-7-usb-stick/). +3. Boot the target device from the stick. + +The following examples show how to boot the target device from the stick. + +**Example:** _Panasonic Toughpad FZ-M1_ (attaching a keyboard and mouse to the device to follow this guide is recommended). + +1. Enter the BIOS menu by holding **Delete** on an attached USB keyboard or pressing all hardware buttons around the power button during boot. +2. Once inside the BIOS switch to the _Exit_ tab using the arrow keys or the touchscreen. +3. Select your previously created and plugged in USB stick under Boot device override. + +**Example** [UAV Components Micronav](https://www.uavcomp.com/command-control/micronav/) device: + +1. The setup of CentOS will not start with the default configuration. + To solve this + 1. Go to the BIOS menu as explained in the example above. + 2. Disable the "Extension Port" device under the "Advanced" tab. + 3. "Exit and save" the BIOS menu on the Exit page of the BIOS and try again. + 4. After CentOS is installed, you revert the changes again so that the Microhard network works. +2. Make sure to never do a warm reboot but always first shut down the device if you want to reboot into Linux. + Otherwise the Microhard network adapter will not work properly and slows down the whole system. + +### CentOS Software Selection Installation Options + +These were the options used to setup a CentOS development system. +Use it as a guideline. + +![CentOS Installation](../../../assets/dev_getting_started/centos/centos_installation.png) + +![CentOS Software Selection](../../../assets/dev_getting_started/centos/centos_sw_selection.png) + +### Update GStreamer + +Once CentOS is installed and booted we need to set up the environment for QGC. +First, we need to update GStreamer to a more recent version. +This guide follows Alice Wonder's tips found here: https\://media.librelamp.com + +``` +sudo yum install epel-release -y +wget http://awel.domblogger.net/7/media/x86_64/awel-media-release-7-6.noarch.rpm +sudo yum localinstall awel-media-release-7-6.noarch.rpm -y +sudo yum clean all +sudo yum update +sudo yum install gstreamer1* --skip-broken -y +``` + +**Note:** Make sure these are installed (vaapi for Intel GPUs) + +``` +sudo yum install gstreamer1-vaapi +sudo yum install gstreamer1-libav +``` + +**Note:** Install these to enable hardware accelerated video decoding + +``` +sudo yum install libva +sudo yum install libva-utils +sudo yum install libva-intel-driver +``` + +If libva-intel-driver is not found you can download it and install it manually + +``` +wget http://download1.rpmfusion.org/free/el/updates/7/x86_64/l/libva-intel-driver-1.8.3-4.el7.x86_64.rpm +sudo yum localinstall libva-intel-driver-1.8.3-4.el7.x86_64.rpm -y +``` + +### Installing SDL2 + +SDL2 is used for joystick support. + +``` +sudo yum install SDL2 SDL2-devel -y +``` + +### Update Kernel (optional) + +:::tip +If your Joystick gets recognized and shows up as `/dev/input/js0` when you run the command `/dev/input/*` you can skip this step. +::: + +We recommend updating the kernel for: + +- Better touch screen responsiveness. +- Correct recognition of some USB devices - in particular joysticks. + +The following joysticks are known not do work out of the box with the default CentOS 7 kernel (3.10.0): + +- Logitech F310 +- Microsoft Xbox 360 controller (USB) + +To fix the joystick not being recognized (even if the same unit is working under Windows or Ubuntu) please [follow this guide to update the kernel](https://www.howtoforge.com/tutorial/how-to-upgrade-kernel-in-centos-7-server/). + +Here's a short summary of the commands that you need to execute to update the kernel: + +``` +sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org +sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm +sudo yum --enablerepo=elrepo-kernel install kernel-ml -y +``` + +Reboot your device afterwards and make sure the new kernel version shows up as the default start option in the GRUB menu on boot. + +:::info +You might need to disable secure boot in the BIOS to allow the new kernel to be booted. +::: + +## Running QGC on CentOS + +Before launching QGC, you need to make sure the current user has access to the dialout group (serial port access permission): + +``` +sudo usermod -a -G dialout $USER +``` + +### Firewall + +The default firewall security level of Red Hat distributions like CentOS block MAVLink communication and also the camera video stream. +So you need to create rules to open the incoming ports for MAVLink and camera stream. +For non-production local environment testing purposes ONLY you can temporarily disable the firewall using the following commands ([from here](https://www.liquidweb.com/kb/how-to-stop-and-disable-firewalld-on-centos-7/)): + +Temporary: + +``` +systemctl stop firewalld +``` + +Permanent (at your own risk): + +``` +systemctl disable firewalld +``` + +Undo permanent change: + +``` +systemctl enable firewalld +``` + +### Connection problems with multiple networks + +In our test with CentOS we had problems when connecting to multiple networks through multiple network devices even with appropriate IP address and subnet assignment. + +Issues consisted of: + +- Losing Internet access when connecting to a second network +- Having flaky connection to the vehicle with a lot of hiccups and packet losses (e.g. 30 seconds perfect connection 4 seconds of packet loss in a regular pattern) + +If you face any of these problems avoid them by only connecting one network at a time e.g. switching between WiFi and Microhard. + +### Executing a Prebuilt QGC Binary + +- Get hold of an archive containing a prebuilt binary of QGC for CentOS. + At the moment there is no automatic deployment for this build if you urgently need one get in touch with the developers. +- [Unpack the archive](https://www.hostdime.com/kb/hd/command-line/how-to-tar-untar-and-zip-files). +- Go inside the unpacked files and locate the script named `qgroundcontrol-run.sh` +- Run it by executing the command + ``` + ./qgroundcontrol-run.sh + ``` + +## Building QGC on CentOS + +### Installing Qt + +``` +mkdir ~/devel +cd ~/devel +``` + +Install Qt 5.12.4 from the Qt installation script that can be downloaded [here](https://www.qt.io/download-thank-you?os=linux\&hsLang=en). +Once downloaded, make it executable and run it: + +``` +chmod +x qt-unified-linux-x64-3.1.1-online.run +./qt-unified-linux-x64-3.1.1-online.run +``` + +Select the following options and install it under `~/devel/Qt`: + +![Qt Software Selection](../../../assets/dev_getting_started/centos/qt_setup.png) + +### Clone and Build QGC + +``` +git clone --recursive https://github.com/mavlink/qgroundcontrol.git +mkdir build +cd build +``` + +For a debug/test build: + +``` +../Qt/5.12.4/gcc_64/bin/qmake ../qgroundcontrol/qgroundcontrol.pro -spec linux-g++ CONFIG+=debug +``` + +For a release build: + +``` +../Qt/5.12.4/gcc_64/bin/qmake ../qgroundcontrol/qgroundcontrol.pro -spec linux-g++ CONFIG+=qtquickcompiler +``` + +Build it: + +``` +make -j4 +``` + +You can alternatively launch _QtCreator_ (found under `~/devel/Qt/Tools/QtCreator/bin/qtcreator`), load the `qgroundcontro.pro` project and build/debug from within its IDE. + +By default, this will build the regular QGC. +To build the sample, customized UI version, follow [these instructions](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/README.md). diff --git a/docs/ko/qgc-dev-guide/getting_started/container.md b/docs/ko/qgc-dev-guide/getting_started/container.md new file mode 100644 index 00000000000..3bdda672439 --- /dev/null +++ b/docs/ko/qgc-dev-guide/getting_started/container.md @@ -0,0 +1,81 @@ +# Building using Containers + +The community created a docker image that makes it much easier to build a Linux-based QGC application. +This can give you a massive boost in productivity and help with testing. + +## About the Container + +The Container is located in the `./deploy/docker` directory. +It's based on ubuntu 20.04. +It pre-installs all the dependencies at build time, including Qt, thanks to a script located in the same directory, `install-qt-linux.sh`. +The main advantage of using the container is the usage of the `CMake` build system and its many improvements over `qmake` + +## Building the Container + +Before using the container, you have to build the image. +You can accomplish this using docker, running the following script from the root of the QGC source code directory. + +``` +docker build --file ./deploy/docker/Dockerfile-build-linux -t qgc-linux-docker . +``` + +:::info +The `-t` flag is essential. +Keep in mind this is tagging the image for later reference since you can have multiple builds of the same container +::: + +::: info +If building on a Mac computer with an M1 chip you must also specify the build option `--platform linux/x86_64` as shown: + +``` +docker build --platform linux/x86_64 --file ./deploy/docker/Dockerfile-build-linux -t qgc-linux-docker . +``` + +Otherwise you will get a build error like: + +``` +qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory +``` + +::: + +## Building QGC using the Container + +To use the container to build QGC, you first need to define a directory to save the artifacts. +We recommend you create a `build` directory on the source tree and then run the docker image using the tag provided above as follows, from the root directory: + +``` +mkdir build +docker run --rm -v ${PWD}:/project/source -v ${PWD}/build:/project/build qgc-linux-docker +``` + +::: info +If using the script to build the Linux image on a Windows host, you would need to reference the PWD differently. +On Windows the docker command is: + +``` +docker run --rm -v %cd%:/project/source -v %cd%/build:/project/build qgc-linux-docker +``` + +::: + +Depending on your system resources, or the resources assigned to your Docker Daemon, the build step can take some time. + +## Troubleshooting + +### Windows: 'bash\r': No such file or directory + +This error indicates that a Linux script is being run with Windows line endings, which might occur if `git` was configured to use Windows line endings: + +``` + > [4/7] RUN /tmp/qt/install-qt-linux.sh: +#9 0.445 /usr/bin/env: 'bash\r': No such file or directory +``` + +One fix is to force Linux line endings using the command: + +``` +git config --global core.autocrlf false +``` + +Then update/recreate your local repository. diff --git a/docs/ko/qgc-dev-guide/getting_started/index.md b/docs/ko/qgc-dev-guide/getting_started/index.md new file mode 100644 index 00000000000..c01c1af6e99 --- /dev/null +++ b/docs/ko/qgc-dev-guide/getting_started/index.md @@ -0,0 +1,238 @@ +--- +qt_version: 5.15.2 +--- + +# Getting Started + +This topic explains how to get the _QGroundControl_ source code and build it either natively or within a _Vagrant_ environment. +It also provides information about optional or OS specific functionality. + +## Daily Builds + +If you just want to test (and not debug) a recent build of _QGroundControl_ you can use the [Daily Build](https://docs.qgroundcontrol.com/en/releases/daily_builds.html). Versions are provided for all platforms. + +## Source Code + +Source code for _QGroundControl_ is kept on GitHub here: https\://github.com/mavlink/qgroundcontrol. +It is [dual-licensed under Apache 2.0 and GPLv3](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md). + +To get the source files: + +1. Clone the repo (or your fork) including submodules: + ``` + git clone --recursive -j8 https://github.com/mavlink/qgroundcontrol.git + ``` +2. Update submodules (required each time you pull new source code): + ``` + git submodule update --recursive + ``` + +:::tip +Github source-code zip files cannot be used because these do not contain the appropriate submodule source code. +You must use git! +::: + +## Build QGroundControl + +### Using Containers + +We support Linux builds using a container found on the source tree of the repository, which can help you develop and deploy the QGC apps without having to install any of the requirements on your local environment. + +[Container Guide](../getting_started/container.md) + +### Native Builds + +_QGroundControl_ builds are supported for macOS, Linux, Windows, iOS and Android. +_QGroundControl_ uses [Qt](http://www.qt.io) as its cross-platform support library and uses [QtCreator](http://doc.qt.io/qtcreator/index.html) as its default build environment. + +- **macOS:** v10.11 or higher +- **Ubuntu:** 64 bit, gcc compiler +- **Windows:** Vista or higher, [Visual Studio 2019 compiler](#vs) (64 bit) +- **iOS:** 10.0 and higher +- **Android:** Android 5.0 and later. + - Standard QGC is built against ndk version 19. + - Java JDK 11 is required. +- **Qt version:** {{ $frontmatter.qt\_version }} **(only)** + + ::: warning + **Do not use any other version of Qt!** + QGC has been thoroughly tested with the specified version of Qt ({{ $frontmatter.qt\_version }}). + There is a significant risk that other Qt versions will inject bugs that affect stability and safety (even if QGC compiles). + ::: + +For more information see: [Qt 5 supported platform list](http://doc.qt.io/qt-5/supported-platforms.html). + +:::info +Native [CentOS Builds](../getting_started/cent_os.md) are also supported, but are documented separately (as the tested environment is different). +::: + +#### Install Visual Studio 2019 (Windows Only) {#vs} + +The Windows compiler can be found here: [Visual Studio 2019 compiler](https://visualstudio.microsoft.com/vs/older-downloads/) (64 bit) + +When installing, select _Desktop development with C++_ as shown: + +![Visual Studio 2019 - Select Desktop Environment with C++](../../../assets/dev_getting_started/visual_studio_select_features.png) + +:::info +Visual Studio is ONLY used to get the compiler. Actually building _QGroundControl_ should be done using [Qt Creator](#qt-creator) or [qmake](#qmake) as outlined below. +::: + +#### Install Qt + +You **need to install Qt as described below** instead of using pre-built packages from say, a Linux distribution, because _QGroundControl_ needs access to private Qt headers. + +To install Qt: + +1. Download and run the [Qt Online Installer](http://www.qt.io/download-open-source) + - **Ubuntu:** + - Set the downloaded file to executable using: `chmod +x`. + - Install to default location for use with **./qgroundcontrol-start.sh.** If you install Qt to a non-default location you will need to modify **qgroundcontrol-start.sh** in order to run downloaded builds. + +2. In the installer _Select Components_ dialog choose: {{ $frontmatter.qt\_version }}. + + ::: info + If the version needed is not displayed, check the archive (show archive and refresh). + ::: + + Then install just the following components: + + - **Windows**: _MSVC 2019 64 bit_ + - **MacOS**: _macOS_ + - **Linux**: _Desktop gcc 64-bit_ + - All: + - _Qt Charts_ + - _Android ARMv7_ (optional, used to build Android) + + ![QtCreator Select Components (Windows)](../../../assets/dev_getting_started/qt_creator_select_components.jpg) + +3. Install Additional Packages (Platform Specific) + + - **Ubuntu:** `sudo apt-get install speech-dispatcher libudev-dev libsdl2-dev patchelf build-essential curl` + - **Fedora:** `sudo dnf install speech-dispatcher SDL2-devel SDL2 systemd-devel patchelf` + - **Arch Linux:** `pacman -Sy speech-dispatcher patchelf` + - **Android:** [Qt Android Setup](http://doc.qt.io/qt-5/androidgs.html) + + ::: info + JDK11 is required (install if needed)! + ::: + +4. Install Optional/OS-Specific Functionality + + ::: info + Optional features that are dependent on the operating system and user-installed libraries are linked/described below. + These features can be forcibly enabled/disabled by specifying additional values to qmake. + ::: + + - **Video Streaming/Gstreamer:** - see [Video Streaming](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoReceiver/README.md). + - **Airmap SDK:** - TBD. + +5. Disable platform-specific optional features that are enabled (but not installed), by default. + + ::: info + This currently applies to Airmap on Linux, which is optional but enabled by default. + ::: + + - **Ubuntu:** + - Airmap: Create a file named **user\_config.pri** (in the repo root directory) containing the text `DEFINES += DISABLE_AIRMAP`. + This can be done in a bash terminal using the command: + ``` + echo -e "DEFINES += DISABLE_AIRMAP\r\n" | tee user_config.pri + ``` + +#### Building using Qt Creator {#qt-creator} + +1. Launch _Qt Creator_ and open the **qgroundcontrol.pro** project. + +2. In the **Projects** section, select the appropriate kit for your needs: + + - **OSX:** Desktop Qt {{ $frontmatter.qt\_version }} clang 64 bit + + ::: info + iOS builds must be built using [XCode](http://doc.qt.io/qt-5/ios-support.html). + ::: + + - **Ubuntu:** Desktop Qt {{ $frontmatter.qt\_version }} GCC 64bit + + - **Windows:** Desktop Qt {{ $frontmatter.qt\_version }} MSVC2019 **64bit** + + - **Android:** Android for armeabi-v7a (GCC 4.9, Qt {{ $frontmatter.qt\_version }}) + - JDK11 is required. + You can confirm it is being used by reviewing the project setting: **Projects > Manage Kits > Devices > Android (tab) > Android Settings > _JDK location_**. + +3. Build using the "hammer" (or "play") icons: + + ![QtCreator Build Button](../../../assets/dev_getting_started/qt_creator_build_qgc.png) + +#### Build using qmake on CLI {#qmake} + +Example commands to build a default QGC and run it afterwards: + +1. Make sure you cloned the repository and updated the submodules before, see chapter _Source Code_ above and switch into the repository folder: + ``` + cd qgroundcontrol + ``` + +2. Create and enter a shadow build directory: + ``` + mkdir build + cd build + ``` + +3. Configure the build using the qmake script in the root of the repository: + ``` + qmake ../ + ``` + +4. Run make to compile and link. + To accelerate the process things you can use the `-j{number of threads}` parameter. + + ``` + make -j12 + ``` + + ::: info + You can also specify build time flags here. + For example, you could disable airmap inclusion using the command: + + ``` + DEFINES+=DISABLE_AIRMAP make build + ``` + + ::: + +5. Run the QGroundcontrol binary that was just built: + ``` + ./staging/QGroundControl + ``` + +### Vagrant + +[Vagrant](https://www.vagrantup.com/) can be used to build and run _QGroundControl_ within a Linux virtual machine (the build can also be run on the host machine if it is compatible). + +1. [Download](https://www.vagrantup.com/downloads.html) and [Install](https://www.vagrantup.com/docs/getting-started/) Vagrant +2. From the root directory of the _QGroundControl_ repository run `vagrant up` +3. To use the graphical environment run `vagrant reload` + +### Additional Build Notes for all Supported OS + +- **Parallel builds:** For non Windows builds, you can use the `-j#` option to run parellel builds. +- **Location of built files:** Individual build file results can be found in the `build_debug` or `build_release` directories. The built executable can be found in the `debug` or `release` directory. +- **If you get this error when running _QGroundControl_**: `/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version 'GLIBCXX_3.4.20' not found.`, you need to either update to the latest _gcc_, or install the latest _libstdc++.6_ using: `sudo apt-get install libstdc++6`. +- **Unit tests:** To run the [unit tests](../contribute/unit_tests.md), build in `debug` mode with `UNITTEST_BUILD` definition, and then copy `deploy/qgroundcontrol-start.sh` script into the `debug` directory before running the tests. + +## Building QGC Installation Files + +You can additionally create installation file(s) for _QGroundControl_ as part of the normal build process. + +:::tip +On Windows you will need to first install [NSIS](https://sourceforge.net/projects/nsis/). +::: + +To add support for installation file creation you need to add `CONFIG+=installer` to your project file, or when you call _qmake_. + +To do this in _Qt Creator_: + +- Open **Projects > Build > Build Steps > qmake > Additional arguments**. +- Enter `CONFIG+=installer` as shown: + ![Installer](../../../assets/dev_getting_started/qt_project_installer.png) diff --git a/docs/ko/qgc-dev-guide/index.md b/docs/ko/qgc-dev-guide/index.md new file mode 100644 index 00000000000..22020d391d3 --- /dev/null +++ b/docs/ko/qgc-dev-guide/index.md @@ -0,0 +1,68 @@ +# QGroundControl Dev Guide + +[![Releases](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases) [![Discuss](https://img.shields.io/badge/discuss-dev-ff69b4.svg)](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-developers) + +This developer guide is the best source for information if you want to build, modify or extend [QGroundControl](http://qgroundcontrol.com) (QGC). +It shows how to obtain and build the source code, explains how QGC works, and provides guidelines for contributing code to the project. + +:::tip +This part of the guide is for **developers**! +::: + +:::warning +This is an active work in progress - information should be correct, but may not be complete! +If you find that it is missing helpful information (or errors) please raise an issue. +::: + +## Design Philosophy + +QGC is designed to provide a single codebase that can run across multiple OS platforms as well as multiple device sizes and styles. + +The QGC user interface is implemented using [Qt QML](http://doc.qt.io/qt-5/qtqml-index.html). QML provides for hardware acceleration which is a key feature on lower powered devices such as tablets or phones. QML also provides features which allows us to more easily create a single user interface which can adapt itself to differing screen sizes and resolution. + +The QGC UI targets itself more towards a tablet+touch style of UI than a desktop mouse-based UI. This make a single UI easier to create since tablet style UI also tends to work fine on desktop/laptops. + +## Support {#support} + +Development questions can be raised in the [QGroundControl Developer](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-developers) discuss category. + +## Contribution + +Information about contributing, including coding styles, testing and licenses can be found in [Code Submissions](contribute/index.md). + +:::tip +We expect all contributors to adhere to the [QGroundControl code of conduct](https://github.com/mavlink/qgroundcontrol/blob/master/CODE_OF_CONDUCT.md). +This code aims to foster an open and welcoming environment. +::: + +### Coordination Call + +The developer team meets bi-weekly to discuss the highest priority issues, project coordination, and discuss any Issues, PRs, or Questions from the Community. ([Developer Call Details](contribute/dev_call.md)) + +### Translations + +We use [Crowdin](https://crowdin.com) to make it easier to manage translation for both _QGroundControl_ and the documentation. + +The translation projects (and join links) are listed below: + +- [QGroundControl](https://crowdin.com/project/qgroundcontrol) ([join](https://crwd.in/qgroundcontrol)) +- [QGroundControl User Guide](https://crowdin.com/project/qgroundcontrol-user-guide) ([join](https://crwd.in/qgroundcontrol-user-guide)) +- [QGroundControl Developer Guide](https://crowdin.com/project/qgroundcontrol-developer-guide) ([join](https://crwd.in/qgroundcontrol-developer-guide)) + +The PX4 Developer Guide contains additional information about the (common) docs/translation toolchain: + +- [Documentation](https://dev.px4.io/en/contribute/docs.html) +- [Translation](https://dev.px4.io/en/contribute/docs.html) + +## License + +_QGroundControl_ source code is [dual-licensed under Apache 2.0 and GPLv3](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md). +For more information see: [Licenses](contribute/licences.md). + +## Governance + +The QGroundControl mission planner is hosted under the governance of the [Dronecode Project](https://www.dronecode.org/). + +Dronecode Logo Linux Foundation Logo + +
 
diff --git a/docs/ko/qgc-dev-guide/plan/mission_command_tree.md b/docs/ko/qgc-dev-guide/plan/mission_command_tree.md new file mode 100644 index 00000000000..55441b4e3fc --- /dev/null +++ b/docs/ko/qgc-dev-guide/plan/mission_command_tree.md @@ -0,0 +1,196 @@ +# Mission Command Tree + +QGC creates the user interface for editing a specific mission item command dynamically from a hierarchy of json metadata. This hierarchy is called the Mission Command Tree. This way only json metadata must be created when new commands are added. + +## Why a tree? + +The tree is needed to deal with the idosyncracies of differening firmware supporting commands differently and/or different vehicle types supporting the commands in different ways. The simplest example of that is mavlink spec may include command parameters which are not supported by all firmwares. Or command parameters which are only valid for certain vehicle types. Also in some cases a GCS may decide to hide some of the command parameters from view to end users since they are too complex or cause usability problems. + +The tree is the MissionCommandTree class: [MissionCommandTree.cc](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.cc), [MissionCommandTree.h](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.h) + +### Tree Root + +The root of the tree is json metadata which matches the mavlink spec exactly. + +Here you can see an example of the root [json](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoCommon.json#L27) for `MAV_CMD_NAV_WAYPOINT`: + +``` + { + "id": 16, + "rawName": "MAV_CMD_NAV_WAYPOINT", + "friendlyName": "Waypoint", + "description": "Travel to a position in 3D space.", + "specifiesCoordinate": true, + "friendlyEdit": true, + "category": "Basic", + "param1": { + "label": "Hold", + "units": "secs", + "default": 0, + "decimalPlaces": 0 + }, + "param2": { + "label": "Acceptance", + "units": "m", + "default": 3, + "decimalPlaces": 2 + }, + "param3": { + "label": "PassThru", + "units": "m", + "default": 0, + "decimalPlaces": 2 + }, + "param4": { + "label": "Yaw", + "units": "deg", + "nanUnchanged": true, + "default": null, + "decimalPlaces": 2 + } + }, +``` + +Note: In reality this based information should be provided by mavlink itself and not needed to be part of a GCS. + +### Leaf Nodes + +The leaf nodes then provides metadata which can override values for the command and/or remove parameters from display to the user. The full tree hierarchy is this: + +- Root - Generic Mavlink + - Vehicle Type Specific - Vehicle specific overrides to the generic spec + - Firmware Type Specific - One optional leaf node for each firmware type (PX4/ArduPilot) + - Vehicle Type Specific - One optional leaf node for each vehicel type (FW/MR/VTOL/Rover/Sub) + +Note: In reality this override capability should be part of mavlink spec and should be able to be queried from the vehicle. + +### Building the instance tree from the full tree + +Since the json metadata provides information for all firmware/vehicle type combinations the actual tree to use must be built based on the firmware and vehicle type which is being used to create a Plan. This is done through a process call "collapsing" the full tree to a firmware/vehicle specific tree ([code](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.cc#L119)). + +The steps are as follows: + +- Add the root to the instance tree +- Apply the vehicle type specific overrides to the instance tree +- Apply the firmware type specific overrides to the instance tree +- Apply the firmware/vehicle type specific overrides to the instance tree + +The resulting Mission Command Tree is then used to build UI for the Plan View item editors. In reality it is used for more than just that, there are many other places where knowing more information about a specific command id is useful. + +## Example hierarchy for `MAV_CMD_NAV_WAYPOINT` + +Let's walk through an example hierarchy for `MAV_CMD_NAV_WAYPOINT`. Root information is shown above. + +### Root - Vehicle Type Specific leaf node + +The next level of the hiearchy is generic mavlink but vehicle specific. Json files are here: [MR](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoMultiRotor.json), [FW](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoFixedWing.json), [ROVER](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoRover.json), [Sub](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoSub.json), [VTOL](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoVTOL.json). And here are the overrides for (Fixed Wings)(https\://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoFixedWing.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "4" + }, +``` + +What this does is remove the editing UI for param4 which is Yaw and not used by fixed wings. Since this is a leaf node of the root, this applies to all fixed wing vehicle no matter the firmware type. + +### Root - Firmware Type Specific leaf node + +The next level of the hiearchy are overrides which are specific to a firmware type but apply to all vehicle types. Once again lets loook at the waypoint overrides: + +[ArduPilot](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/APM/MavCmdInfoCommon.json#L6): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2" + }, +``` + +[PX4](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/PX4/MavCmdInfoCommon.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2,3" + }, +``` + +You can see that for both firmwares param2 which is acceptance radius is removed from the editing ui. This is a QGC specific decision. It is generally safer and easier to use the firmwares generic acceptance radius handling than the specify a value. So we've decided to hide it from users. + +You can also see that for PX4 param3/PassThru is removed since it is not supported by PX. + +### Root - Firmware Type Specific - Vehicle Type Specific leaf node + +The last level of the hiearchy is both firmware and vehicle type specific. + +[ArduPilot/MR](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/APM/MavCmdInfoMultiRotor.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2,3,4" + }, +``` + +Here you can see that for an ArduPilot Multi-Rotor vehicle param2/3/4 Acceptance/PassThru/Yaw are removed. Yaw for example is removed because it is not supported. Due to quirk of how this code works, you need to repeat the overrides from the lower level. + +## Mission Command UI Info + +Two classes define the metadata associated with a command: + +- MissionCommandUIInfo - Metadata for the entire command +- MissionCmdParamInfo - Metadata for a param in a command + +The source is commented with full details of the json keys which are supported. + +[MissionCommandUIInfo](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandUIInfo.h#L82): + +``` +/// UI Information associated with a mission command (MAV_CMD) +/// +/// MissionCommandUIInfo is used to automatically generate editing ui for a MAV_CMD. This object also supports the concept of only having a set of partial +/// information for the command. This is used to create overrides of the base command information. For on override just specify the keys you want to modify +/// from the base command ui info. To override param ui info you must specify the entire MissionParamInfo object. +/// +/// The json format for a MissionCommandUIInfo object is: +/// +/// Key Type Default Description +/// id int reauired MAV_CMD id +/// comment string Used to add a comment +/// rawName string required MAV_CMD enum name, should only be set of base tree information +/// friendlyName string rawName Short description of command +/// description string Long description of command +/// specifiesCoordinate bool false true: Command specifies a lat/lon/alt coordinate +/// specifiesAltitudeOnly bool false true: Command specifies an altitude only (no coordinate) +/// standaloneCoordinate bool false true: Vehicle does not fly through coordinate associated with command (exampl: ROI) +/// isLandCommand bool false true: Command specifies a land command (LAND, VTOL_LAND, ...) +/// friendlyEdit bool false true: Command supports friendly editing dialog, false: Command supports 'Show all values" style editing only +/// category string Advanced Category which this command belongs to +/// paramRemove string Used by an override to remove params, example: "1,3" will remove params 1 and 3 on the override +/// param[1-7] object MissionCommandParamInfo object +/// +``` + +[MissionCmdParamInfo](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandUIInfo.h#L25): + +``` +/// UI Information associated with a mission command (MAV_CMD) parameter +/// +/// MissionCommandParamInfo is used to automatically generate editing ui for a parameter associated with a MAV_CMD. +/// +/// The json format for a MissionCmdParamInfo object is: +/// +/// Key Type Default Description +/// label string required Label for text field +/// units string Units for value, should use FactMetaData units strings in order to get automatic translation +/// default double 0.0/NaN Default value for param. If no default value specified and nanUnchanged == true, then defaultValue is NaN. +/// decimalPlaces int 7 Number of decimal places to show for value +/// enumStrings string Strings to show in combo box for selection +/// enumValues string Values associated with each enum string +/// nanUnchanged bool false True: value can be set to NaN to signal unchanged +``` diff --git a/docs/ko/qgc-dev-guide/release_branching_process.md b/docs/ko/qgc-dev-guide/release_branching_process.md new file mode 100644 index 00000000000..8cff755d051 --- /dev/null +++ b/docs/ko/qgc-dev-guide/release_branching_process.md @@ -0,0 +1,81 @@ +# QGroundControl Release/Branching process + +## Semantic Versioning + +QGC uses semantic versioning for the version numbers associated with its releases. +Semantic versioning is a 3-component number in the format of `vX.Y.Z`, where: + +- `X` is the major version. +- `Y` is the minor version. +- `Z` is the patch version. + +## Stable Builds + +The current stable build is the highest quality build available for QGC. +[Patch releases](#patch_releases) of the stable build are regularly made to fix important issues. + +Stable builds are built from a separate branch that is named with the format: `Stable_VX.Y` (note, there is no patch number!) +The branch has one or more git tags for each patch release (with the format `vX.Y.Z`), indicating the point in the repo source code that the associated patch release was created from. + +### Patch Releases {#patch\_releases} + +A patch release contains fixes to the stable release that are important enough to _require_ an update, and are safe enough that the stable release continues to maintain high quality. + +Patch releases increment the patch version number only. + +### Patch - Development Stage + +Approved fixes to the stable release are commited to the current stable branch. +These fixes continue to queue up in the stable branch until a patch release is made (see next step). + +Commits/changes to the stable branch must also be brought over to the master branch (either through cherry pick or separate pulls). + +### Patch - Release Stage + +At the point where the decision is made to do a patch release, the release binaries are created and a new _tag_ is added to the stable branch (with the same patch release number) indicating the associated source code. + +:::info +New branches are not created for patch releases - only for major and minor releases. +::: + +## Daily Builds + +### Development Stage + +Daily builds are built from the `master` branch, and this is where all new major feature development happens. +The state of master represents either the next minor point release, or a new major version release (depending on the level of change). + +There are no git tags associated with a released daily builds. +The released daily build will always match repo HEAD. + +### Release Stage + +When the decision is made to release a new major/minor version the master branch tends to go through an intial lockdown mode. +This is where only important fixes for the release are accepted as pull requests. + +:::info +During the lockdown phase, new features are not allowed in master. +::: + +Once the level of fixes associated with the release slows down to a low level, a new stable branch is created (at this point the `master` branch can move forward again as the latest and greatest). + +Fixes continue in the stable branch until it is deemed ready to release (ideally after a short time)! +At that point the new stable branch is tagged with the new version tag and the first stable release is made. + +## Custom Builds + +A proposed strategy for branching on custom builds can be found [here](custom_build/release_branching_process.md). + +## Process to create a new Stable + +### Major/Minor Version + +1. Create a branch from master named `Stable_VX.Y` where `X` is the major version number and `Y` is the minor version number. +2. Create a tag on the HEAD of master name `dX.Y` where the minor version is one greater than the new Stable. For example if you are create a new Stable 4.2 version then the tag would be 'd4.3'. This tag is used to create the version numbers for Android daily builds. Example: `git tag -a d4.3.0 -m "QGroundControl Daily Android Version Base"`. +3. Create an annotated tag on the newly created Stable branch named `vX.Y.0` with the correct major/minor version number. Example: `git tag -a v4.2.0 -m "QGroundControl v4.2.0"`. Pushing this tag to the repo will start a build. +4. Once the build completes verify the builds are pushed up to S3 correctly and sanity check that they at least boot correctly. Location on S3 will be `https://qgroundcontrol.s3.us-west-2.amazonaws.com/latest/...`. +5. Update the `https://qgroundcontrol.s3.us-west-2.amazonaws.com/builds/latest/QGC.version.txt` text file to the latest Stable version. This will notify uses there is a new Stable available the next time they launch QGC. + +### Patch Version + +Creating a new Patch Version is the same except you skip steps 1 and 2 and in step 3 you bump the patch version number up as needed. diff --git a/docs/ko/qgc-dev-guide/tools/index.md b/docs/ko/qgc-dev-guide/tools/index.md new file mode 100644 index 00000000000..d2f1bd88502 --- /dev/null +++ b/docs/ko/qgc-dev-guide/tools/index.md @@ -0,0 +1,20 @@ +# Developer Tools + +_QGroundControl_ makes a number of tools available primarily for autopilot developers. +These ease common developer tasks including setting up simulated connections for testing, +and accessing the System Shell over MAVLink. + +:::info +[Build the source in debug mode](https://github.com/mavlink/qgroundcontrol#supported-builds) to enable these tools. +::: + +Tools include: + +- **[Mock Link](../tools/mock_link.md)** (Daily Builds only) - Creates and stops multiple simulated vehicle links. +- **[Replay Flight Data](https://docs.qgroundcontrol.com/en/app_menu/replay_flight_data.html)** - Replay a telemetry log (User Guide). +- **[MAVLink Inspector](https://docs.qgroundcontrol.com/en/app_menu/mavlink_inspector.html)** - Display received MAVLink messages/values. +- **[MAVLink Analyzer](https://docs.qgroundcontrol.com/en/app_menu/mavlink_analyzer.html)** - Plot trends for MAVLink messages/values. +- **[Custom Command Widget](https://docs.qgroundcontrol.com/en/app_menu/custom_command_widget.html)** - Load custom/test QML UI at runtime. +- **[Onboard Files](https://docs.qgroundcontrol.com/en/app_menu/onboard_files.html)** - Navigate vehicle file system and upload/download files. +- **[HIL Config Widget](https://docs.qgroundcontrol.com/en/app_menu/hil_config.html)** - Settings for HIL simulators. +- **[MAVLink Console](https://docs.qgroundcontrol.com/en/analyze_view/mavlink_console.html)** (PX4 Only) - Connect to the PX4 nsh shell and send commands. diff --git a/docs/ko/qgc-dev-guide/tools/mock_link.md b/docs/ko/qgc-dev-guide/tools/mock_link.md new file mode 100644 index 00000000000..bbb8878c9c2 --- /dev/null +++ b/docs/ko/qgc-dev-guide/tools/mock_link.md @@ -0,0 +1,33 @@ +# Mock Link + +_Mock Link_ allows you to create and stop links to multiple simulated (mock) vehicles in _QGroundControl_ debug builds. + +The simulation does not support flight, but does allow easy testing of: + +- Mission upload/download +- Viewing and changing parameters +- Testing most setup pages +- Multiple vehicle UIs + +It is particularly useful for unit testing error cases for mission upload/download. + +## Using Mock Link + +To use _Mock Link_: + +1. Create a debug build by [building the source](https://github.com/mavlink/qgroundcontrol#supported-builds). + +2. Access _Mock Link_ by selecting the _Application Settings_ icon in the top toolbar and then **Mock Link** in the sidebar: + + ![](../../../assets/dev_tools/mocklink_waiting_for_connection.jpg) + +3. The buttons in the panel can be clicked to create a vehicle link of the associated type. + + - Each time you click a button a new connection will be created. + - When there is more than one connection the multiple-vehicle UI will appear. + + ![](../../../assets/dev_tools/mocklink_connected.jpg) + +4. Click the **Stop one Mock Link** to stop the currently active vehicle. + +Using _Mock Link_ is then more or less the same as using any other vehicle, except that the simulation does not allow flight. diff --git a/docs/ko/qgc-dev-guide/user_interface_design/controls.md b/docs/ko/qgc-dev-guide/user_interface_design/controls.md new file mode 100644 index 00000000000..16bbca6fbed --- /dev/null +++ b/docs/ko/qgc-dev-guide/user_interface_design/controls.md @@ -0,0 +1,35 @@ +# User Interface Controls + +QGC provides a base set of controls for building user interface. In general they tend to be thin layers above the base QML Controls supported by Qt which respect the QGC color palette. + +``` +import QGroundControl.Controls 1.0 +``` + +## Qt Controls + +The following controls are QGC variants of standard Qt QML Controls. They provide the same functionality as the corresponding Qt controls except for the fact that they are drawn using the QGC palette. + +- QGCButton +- QGCCheckBox +- QGCColoredImage +- QGCComboBox +- QGCFlickable +- QGCLabel +- QGCMovableItem +- QGCRadioButton +- QGCSlider +- QGCTextField + +## QGC Controls + +These custom controls are exclusive to QGC and are used to create standard UI elements. + +- DropButton - RoundButton which drops out a panel of options when clicked. Example is Sync button in Plan view. +- ExclusiveGroupItem - Used as a base Item for custom controls which supports the QML ExclusiveGroup concept. +- QGCView - Base control for all top level views in the system. Provides support for FactPanels and displaying QGCViewDialogs and QGCViewMessages. +- QGCViewDialog - Dialog which pops out from the right side of a QGCView. You can specific the accept/reject buttons for the dialog as well as the dialog contents. Example usage is when you click on a parameter and it brings up the value editor dialog. +- QGCViewMessage - A simplified version of QGCViewDialog which allows you to specify buttons and a simple text message. +- QGCViewPanel - The main view contents inside of a QGCView. +- RoundButton - A round button control which uses an image as its inner contents. +- SetupPage - The base control for all Setup vehicle component pages. Provides a title, description and component page contents area. diff --git a/docs/ko/qgc-dev-guide/user_interface_design/font_palette.md b/docs/ko/qgc-dev-guide/user_interface_design/font_palette.md new file mode 100644 index 00000000000..b9472025352 --- /dev/null +++ b/docs/ko/qgc-dev-guide/user_interface_design/font_palette.md @@ -0,0 +1,20 @@ +# Font and Palette + +QGC has a standard set of fonts and color palette which should be used by all user interface. + +``` +import QGroundControl.Palette 1.0 +import QGroundControl.ScreenTools 1.0 +``` + +## QGCPalette + +This item exposes the QGC color palette. There are two variants of this palette: light and dark. The light palette is meant for outdoor use and the dark palette is for indoor. Normally you should never specify a color directly for UI, you should always use one from the palette. If you don't follow this rule, the user interface you create will not be capable of changing from a light/dark style. + +## QGCMapPalette + +The map palette is used for colors which are used to draw over a map. Due to the the different map styles, specifically satellite and street you need to have different colors to draw over them legibly. Satellite maps needs lighter colors to be seen whereas street maps need darker colors to be seen. The `QGCMapPalette` item provides a set of colors for this as well as the ability to switch between light and dark colors over maps. + +## ScreenTools + +The ScreenTools item provides values which you can use to specify font sizing. It also provides information on screen size and whether QGC is running on a mobile device. diff --git a/docs/ko/qgc-dev-guide/user_interface_design/index.md b/docs/ko/qgc-dev-guide/user_interface_design/index.md new file mode 100644 index 00000000000..caff40d9801 --- /dev/null +++ b/docs/ko/qgc-dev-guide/user_interface_design/index.md @@ -0,0 +1,11 @@ +# User Interface Design + +The main pattern for UI design in QGC is a UI page written in QML, many times communicating with a custom "Controller" written in C++. This follows a somewhat hacked variant of the MVC design pattern. + +The QML code binds to information associated with the system through the following mechanisms: + +- The custom controller +- The global `QGroundControl` object which provides access to things like the active Vehicle +- The FactSystem which provides access to parameters and in some cases custom Facts. + +Note: Due to the complexity of the QML used in QGC as well as it's reliance on communication with C++ objects to drive the ui it is not possible to use the QML Designer provided by Qt to edit QML. diff --git a/docs/ko/qgc-dev-guide/user_interface_design/multi_device_pattern.md b/docs/ko/qgc-dev-guide/user_interface_design/multi_device_pattern.md new file mode 100644 index 00000000000..241be1409f4 --- /dev/null +++ b/docs/ko/qgc-dev-guide/user_interface_design/multi_device_pattern.md @@ -0,0 +1,52 @@ +# Multi-Device Design Pattern + +QGroundControl is designed to run on multiple device types from desktop to laptop to tablet to small phone sized screens using mouse and touch. Below is the description of how QGC does it and the reasoning behind it. + +## Efficient 1 person dev team + +The design pattern that QGC development uses to solve this problem is based around making new feature development quick and allowing the code base to be testable and maintained by a very small team (let's say 1 developer as the default dev team size). The pattern to achieve this is followed very strictly, because not following it will lead to slower dev times and lower quality. + +Supporting this 1 person dev team concept leads to some tough decisions which not everyone may be happy about. But it does lead to QGC being released on many OS and form factors using a single codebase. This is something most other ground stations out there are not capable of achieving. + +What about contributors you ask? QGC has a decent amount of contributors. Can't they help move things past this 1 person dev team concept? Yes QGC has quite a few contributors. But unfortunately they come and go over time. And when they go, the code they contributed still must be maintained. Hence you fall back to the 1 person dev team concept which is mostly what has been around as an average over the last three years of development. + +## Target Device + +The priority target for QGC UI design is a tablet, both from a touch standpoint and a screen size standpoint (think 10" Samsung Galaxy tab). Other device types and sizes may see some sacrifices of visuals and/or usability due to this decision. The current order when making priority based decisions is Tablet, Laptop, Desktop, Phone (any small screen). + +### Phone sized screen support + +As specified above, at this point smaller phone sized screens are the lowest level priority for QGC. More focus is put onto making active flight level displays, such as the Fly view, more usable. Less focus is placed on Setup related views such as Setup and Plan. Those specific views are tested to be functionally usable on small screens but they may be painful to use. + +## Development tools used + +### Qt Layout controls + +QGC does not have differently coded UIs which are targeted to different screen sizes and/or form factors. In general it uses QML Layout capabilities to reflow a single set of QML UI code to fit different form factors. In some cases it provides less detail on small screen sizes to make things fit. But that is a simple visibility pattern. + +### FactSystem + +Internal to QGC is a system which is used to manage all of the individual pieces of data within the system. This data model is then connected to controls. + +### Heavy reliance on reusable controls + +QGC UI is developed from a base set of reusable controls and UI elements. This way any new feature added to a reusable control is now available throughout the UI. These reusable controls also connect to FactSystem Facts which then automatically provides appropriate UI. + +## Cons for this design pattern + +- The QGC user interface ends up being a hybrid style of desktop/laptop/tablet/phone. Hence not necessarily looking or feeling like it is optimized to any of these. +- Given the target device priority list and the fact that QGC tends to just re-layout the same UI elements to fit different form factors you will find this hybrid approach gets worse as you get farther away from the priority target. Hence small phone sized screens taking the worst hit on usability. +- The QGC reusable control set may not provide the absolute best UI in some cases. But it is still used to prevent the creation of additional maintenance surface area. +- Since the QGC UI uses the same UI code for all OSes, QGC does not follow the UI design guidelines specified by the OS itself. It has it's own visual style which is somewhat of a hybrid of things picked from each OS. Hence the UI looks and works mostly the same on all OS. Once again this means for example that QGC running on Android won't necessarily look like an android app. Or QGC running on an iPhone will not look or work like most other iPhone apps. That said the QGC visual/functional style should be understandable to these OS users. + +## Pros for this design pattern + +- It takes less time to design a new feature since the UI coding is done once using this hybrid model and control set. Layout reflow is quite capable in Qt QML and becomes second nature once you get used to it. +- A piece of UI can be functionally tested on one platform since the functional code is the same across all form factors. Only layout flow must be visually checked on multiple devices but this is fairly easily done using the mobile simulators. In most cases this is what is needed: + - Use desktop build, resizing windows to test reflow. This will generally cover a tablet sized screen as well. + - Use a mobile simulator to visually verify a phone sized screen. On OSX XCode iPhone simulator works really well. +- All of the above are critical to keeping our hypothetical 1 person dev team efficient and to keep quality high. + +## Future directions + +- Raise phone (small screen) level prioritization to be more equal to Tablet. Current thinking is that this won't happen until a 3.3 release time frame (release after current one being worked on). diff --git a/docs/ko/qgc-dev-guide/views/fly.md b/docs/ko/qgc-dev-guide/views/fly.md new file mode 100644 index 00000000000..a9f5a8e6c7c --- /dev/null +++ b/docs/ko/qgc-dev-guide/views/fly.md @@ -0,0 +1,8 @@ +# Fly View + +- Top level QML code is in **FlightDisplayView\.qml** +- QML code communicates with `MissionController` (C++) for mission display +- Instrument widgets communicate with active Vehicle object +- Two main inner views are: + - `FlightDisplayViewMap` + - `FlightDisplayViewVideo` diff --git a/docs/ko/qgc-dev-guide/views/index.md b/docs/ko/qgc-dev-guide/views/index.md new file mode 100644 index 00000000000..9cf9e09ef22 --- /dev/null +++ b/docs/ko/qgc-dev-guide/views/index.md @@ -0,0 +1,3 @@ +# Top Level Views + +This section contains topics about the code for the top level views: settings, setup, plan and fly. diff --git a/docs/ko/qgc-dev-guide/views/plan.md b/docs/ko/qgc-dev-guide/views/plan.md new file mode 100644 index 00000000000..8ca6765fdf6 --- /dev/null +++ b/docs/ko/qgc-dev-guide/views/plan.md @@ -0,0 +1,5 @@ +# Plan View + +- Top level QML code is in [PlanView.qml](https://github.com/mavlink/qgroundcontrol/blob/master/src/plan_view/PlanView.qml) +- Main visual UI is a FlightMap control +- QML communicates with MissionController (C++) which provides the view with the mission item data and methods diff --git a/docs/ko/qgc-dev-guide/views/settings.md b/docs/ko/qgc-dev-guide/views/settings.md new file mode 100644 index 00000000000..8ac25ed099b --- /dev/null +++ b/docs/ko/qgc-dev-guide/views/settings.md @@ -0,0 +1,4 @@ +# Settings View + +- Top level QML code is **AppSettings.qml** +- Each button loads a separate QML page diff --git a/docs/ko/qgc-dev-guide/views/setup.md b/docs/ko/qgc-dev-guide/views/setup.md new file mode 100644 index 00000000000..0dd51a0b157 --- /dev/null +++ b/docs/ko/qgc-dev-guide/views/setup.md @@ -0,0 +1,5 @@ +# Setup View + +- Top level QML code implemented in **SetupView\.qml** +- Fixed set of buttons/pages: Summary, Firmware +- Remainder of buttons/pages come from AutoPilotPlugin VehicleComponent list diff --git a/docs/ko/qgc-user-guide/analyze_view/geotag_images.md b/docs/ko/qgc-user-guide/analyze_view/geotag_images.md index 56390c3eb4f..41095af7e30 100644 --- a/docs/ko/qgc-user-guide/analyze_view/geotag_images.md +++ b/docs/ko/qgc-user-guide/analyze_view/geotag_images.md @@ -2,10 +2,12 @@ _GeoTag 이미지_ 화면(**분석 > GeoTag 이미지**)에서는 비행 로그의 정보를 사용하여 측량 미션 이미지에 위치 정보 태그를 지정합니다. -::: info -이 기능은 _PX4_ 비행 스택 로그에서만 작동합니다. ArduPilot 에서는 지원되지 않습니다. +:::info +이 기능은 _PX4_ 비행 스택 로그에서만 작동합니다. +ArduPilot 에서는 지원되지 않습니다. ::: ![GeoTag 이미지 보기 분석](../../../assets/analyze/geotag_images.jpg) -제공된 버튼을 사용하여 위치 정보 태그가 지정된 이미지에 대한 로그 파일, 이미지 디렉토리 및 (선택 사항) 출력 디렉토리를 선택합니다. **태깅 시작**을 클릭하여 위치정보 태그가 지정된 이미지를 생성합니다. +제공된 버튼을 사용하여 위치 정보 태그가 지정된 이미지에 대한 로그 파일, 이미지 디렉토리 및 (선택 사항) 출력 디렉토리를 선택합니다. +**태깅 시작**을 클릭하여 위치정보 태그가 지정된 이미지를 생성합니다. diff --git a/docs/ko/qgc-user-guide/analyze_view/index.md b/docs/ko/qgc-user-guide/analyze_view/index.md index 913e29bb453..2bb386e7fcd 100644 --- a/docs/ko/qgc-user-guide/analyze_view/index.md +++ b/docs/ko/qgc-user-guide/analyze_view/index.md @@ -1,6 +1,6 @@ # 분석 화면 -*분석 화면*은 _QGroundControl_ 애플리케이션 메뉴(왼쪽 상단의 "Q" 아이콘)를 선택한 다음 **분석 도구** 버튼을 선택하여 액세스할 수 있습니다(_도구 선택_ 팝업에서). +_분석 화면_은 _QGroundControl_ 애플리케이션 메뉴(왼쪽 상단의 "Q" 아이콘)를 선택한 다음 **분석 도구** 버튼을 선택하여 액세스할 수 있습니다(_도구 선택_ 팝업에서). ![분석 ](../../../assets/analyze/menu_analyze_tool.png) diff --git a/docs/ko/qgc-user-guide/analyze_view/log_download.md b/docs/ko/qgc-user-guide/analyze_view/log_download.md index c415b521709..1bcfd679570 100644 --- a/docs/ko/qgc-user-guide/analyze_view/log_download.md +++ b/docs/ko/qgc-user-guide/analyze_view/log_download.md @@ -1,5 +1,5 @@ # 로그 다운로드(분석 화면) -_로그 다운로드_ 화면(**분석 > 로그 다운로드**)은 _새로고침_, _다운로드_ 및 _ 전체 삭제 _ 기능을 제공합니다. +_로그 다운로드_ 화면(**분석 > 로그 다운로드**)은 _새로고침_, _다운로드_ 및 \_ 전체 삭제 \_ 기능을 제공합니다. ![보기 로그 다운로드 분석](../../../assets/analyze/log_download.jpg) diff --git a/docs/ko/qgc-user-guide/analyze_view/mavlink_console.md b/docs/ko/qgc-user-guide/analyze_view/mavlink_console.md index 07eb08230e9..9f9b7f11e50 100644 --- a/docs/ko/qgc-user-guide/analyze_view/mavlink_console.md +++ b/docs/ko/qgc-user-guide/analyze_view/mavlink_console.md @@ -2,16 +2,19 @@ The MAVLink Console (**Analyze > Mavlink Console**) allows you to connect to the PX4 [System Console](https://docs.px4.io/main/en/debug/system_console.html) and send commands. -::: info -콘솔은 _PX4_ 플라이트 스택을 실행하는 *하드웨어*에 연결된 경우에만 작동합니다. PX4 SITL 및 ArduPilot은 지원되지 않습니다. +:::info +콘솔은 _PX4_ 플라이트 스택을 실행하는 _하드웨어_에 연결된 경우에만 작동합니다. +PX4 SITL 및 ArduPilot은 지원되지 않습니다. ::: -::: tip +:::tip 이것은 시스템에 대한 깊은 액세스가 가능하여 개발자에게 매우 유용합니다. 특히, Wi-Fi로 연결된 기체의 비행중에도 동일한 수준의 액세스가 가능합니다. ::: ![분석 화면의 MAVLink 콘솔](../../../assets/analyze/mavlink_console.jpg) -화면에서는 명령에 대한 응답외의 출력을 표시되지 않습니다. 기체가 연결되면, 표시줄에 명령어를 입력할 수 있습니다. 명령의 전체 목록을 보려면 `?` 입력합니다. +화면에서는 명령에 대한 응답외의 출력을 표시되지 않습니다. +기체가 연결되면, 표시줄에 명령어를 입력할 수 있습니다. 명령의 전체 목록을 보려면 `?` 입력합니다. -명령 출력은 명령 모음 위의 보기에 표시됩니다. **최신 표시**를 클릭하여 명령 출력의 맨 아래로 이동합니다. +명령 출력은 명령 모음 위의 보기에 표시됩니다. +**최신 표시**를 클릭하여 명령 출력의 맨 아래로 이동합니다. diff --git a/docs/ko/qgc-user-guide/analyze_view/mavlink_inspector.md b/docs/ko/qgc-user-guide/analyze_view/mavlink_inspector.md index cc6bb388cbf..1c28beb137b 100644 --- a/docs/ko/qgc-user-guide/analyze_view/mavlink_inspector.md +++ b/docs/ko/qgc-user-guide/analyze_view/mavlink_inspector.md @@ -1,35 +1,42 @@ # MAVLink 탐색기 -*MAVLink 탐색기*는 *QGroundControl*에서 수신한 MAVLink 트래픽에 대한 실시간 정보와 차트를 제공합니다. +_MAVLink 탐색기_는 _QGroundControl_에서 수신한 MAVLink 트래픽에 대한 실시간 정보와 차트를 제공합니다. -::: warning -이 기능은 **자동 조종 장치 개발자**와 **자동차 제작자**에게 매우 유용합니다. 데스크톱(Windows, Linux, Mac OS) 버전에서 지원됩니다. +:::warning +이 기능은 **자동 조종 장치 개발자**와 **자동차 제작자**에게 매우 유용합니다. +데스크톱(Windows, Linux, Mac OS) 버전에서 지원됩니다. ::: ![MAVLink 탐색기](../../../assets/analyze/mavlink_inspector/mavlink_inspector.jpg) -탐색기는 현재 기체에서 수신된 모든 메시지를 소스 구성 요소 ID 및 업데이트 빈도를 출력합니다. 개별 메시지로 드릴다운하여 메시지 Id, 소스 구성 요소 Id 및 모든 개별 필드의 값을 제공합니다. 또한 실시간으로 필드 값을 차트로 작성하여, 메시지들의 필드 정보들을 선택하여 두 차트 중 하나에 표시할 수 있습니다. +탐색기는 현재 기체에서 수신된 모든 메시지를 소스 구성 요소 ID 및 업데이트 빈도를 출력합니다. +개별 메시지로 드릴다운하여 메시지 Id, 소스 구성 요소 Id 및 모든 개별 필드의 값을 제공합니다. +또한 실시간으로 필드 값을 차트로 작성하여, 메시지들의 필드 정보들을 선택하여 두 차트 중 하나에 표시할 수 있습니다. -*MAVLink 탐색기*를 사용하려면: +_MAVLink 탐색기_를 사용하려면: -1. _QGroundControl_ 애플리케이션 메뉴(왼쪽 상단의 "Q" 아이콘)를 선택한 다음 **분석 도구** 버튼을 선택하여 *분석 보기*를 엽니다(_도구 선택_ 팝업). ![분석 ](../../../assets/analyze/menu_analyze_tool.png) -1. 사이드바에서 **MAVLink 탐색기**를 선택합니다. +1. _QGroundControl_ 애플리케이션 메뉴(왼쪽 상단의 "Q" 아이콘)를 선택한 다음 **분석 도구** 버튼을 선택하여 _분석 보기_를 엽니다(_도구 선택_ 팝업). + ![분석 ](../../../assets/analyze/menu_analyze_tool.png) + +2. 사이드바에서 **MAVLink 탐색기**를 선택합니다. ![MAVLink 탐색기 메뉴](../../../assets/analyze/mavlink_inspector/mavlink_inspector_menu.jpg) 보기는 수신되는 메시지로 채워지기 시작합니다. -1. 조회할 필드와 해당(동적으로 업데이트되는) 값의 메시지를 선택하십시오. +3. 조회할 필드와 해당(동적으로 업데이트되는) 값의 메시지를 선택하십시오. ![MAVLink 탐색기: 메시지 세부 정보](../../../assets/analyze/mavlink_inspector/mavlink_inspector_message_details.jpg) -1. 인접한 확인란을 활성화하여 차트에 필드를 추가합니다(플롯 1은 플롯 2 아래에 표시됨). +4. 인접한 확인란을 활성화하여 차트에 필드를 추가합니다(플롯 1은 플롯 2 아래에 표시됨). ![MAVLink 턈색기: 차트 필드 세부 정보](../../../assets/analyze/mavlink_inspector/mavlink_inspector_plot1.jpg) - 필드는 하나의 차트에만 추가할 수 있습니다. - - 차트에는 여러 필드와 여러 메시지의 필드가 있을 수 있습니다(각 차트 위에 나열됨). 차트로 표시되는 필드가 포함된 메시지는 별표로 강조됩니다. + + - 차트에는 여러 필드와 여러 메시지의 필드가 있을 수 있습니다(각 차트 위에 나열됨). + 차트로 표시되는 필드가 포함된 메시지는 별표로 강조됩니다. ![MAVLink 탐색기: 차트 필드 세부 정보](../../../assets/analyze/mavlink_inspector/mavlink_inspector_charted_messages.jpg) - - _Scale_ 및 *Range*는 적절한 값으로 설정되지만 필요한 경우 수정할 수 있습니다. + - _Scale_ 및 _Range_는 적절한 값으로 설정되지만 필요한 경우 수정할 수 있습니다. diff --git a/docs/ko/qgc-user-guide/fly_view/fly_view.md b/docs/ko/qgc-user-guide/fly_view/fly_view.md index 0c18bbba90b..94ac815e369 100644 --- a/docs/ko/qgc-user-guide/fly_view/fly_view.md +++ b/docs/ko/qgc-user-guide/fly_view/fly_view.md @@ -1,10 +1,11 @@ -# 비행 화면 +# Fly View 비행 화면은 비행중인 기체에 명령어를 실행하고 그 결과를 모니터링합니다. 다음과 같은 목적으로 사용할 수 있습니다: - 자동화된 [비행 전 체크리스트](#preflight_checklist)를 제공합니다. +- Arm the vehicle (or check why it won't arm). - 미션 제어:: [시작](#start_mission), [계속](#continue_mission), [일시중지](#pause) 및 [재개](#resume_mission). - 기체의 [시동](#arm)/[시동 해제](#disarm)/[비상 정지](#emergency_stop), [이륙](#takeoff)/[착륙](#land), [고도 변경](#change_altitude), 특정 위치로 [이동](#goto) 또는 [궤도](#orbit), [복귀/RTL](#rtl)할 수 있습니다. - 지도 화면과 동영상 화면간의 전환(사용 가능한 경우) @@ -21,88 +22,109 @@ - 비행 후에는 지도를 클릭하여 [이동](#goto) 또는 [궤도](#orbit) 위치를 설정할 수 있습니다. - **비행 툴바:** 센서(GPS, 배터리, RC 제어) 및 차량 상태(비행 모드, 무장/해제 상태)에 대한 주요 상태 정보. - 더 자세히 보려면 센서 표시기를 선택하십시오. - - 새 모드를 선택하려면 _비행 모드_ 텍스트(예: "Hold")를 누르십시오. 모든 모드를 사용할 수 있는 것은 아닙니다. - - 시동 상태를 전환하려면 _시동/시동 해제_ 텍스트를 클릭하십시오. 비행중에 이 텍스트를 누르면 *비상 정지*를 할 수 있습니다. + - 새 모드를 선택하려면 _비행 모드_ 텍스트(예: "Hold")를 누르십시오. + 모든 모드를 사용할 수 있는 것은 아닙니다. + - The text next to the **Q** icon indicates the flight readiness using text: "Not Ready", "Ready to Fly", "Flying", and status using colour: "green" (all good!), amber (a warning), red (serious problem). + Select the text when the background is amber or red to find out the cause of any preflight issues (QGC 4.2.0 and later). + You can also select the text to reach a button to arm/disarm/emergency-stop the vehicle. - **비행 도구:** 다음과 같은 목적으로 사용할 수 있습니다: - - 이륙과 착륙을 전환합니다. + - Toggle between takeoff/land. - 현재 작업(예: 착륙 또는 미션)을 일시 중지하거나 재시작합니다. - 안전 복귀(RTL 또는 복귀라고도 함). - - _작업_ 버튼은 현재 상태에 대한 적절한 옵션을 제공합니다(이 옵션은 *확인 슬라이더*와 중첩됨). 조치에는 고도 변경과 미션 지속을 포함됩니다. + - _작업_ 버튼은 현재 상태에 대한 적절한 옵션을 제공합니다(이 옵션은 _확인 슬라이더_와 중첩됨). + 조치에는 고도 변경과 미션 지속을 포함됩니다. - [실행 전 체크리스트](#preflight_checklist)를 활성화합니다(도구 옵션은 기본적으로 비활성화되어 있음). -- **[계측기 패널](#instrument_panel):** 텔레메트리, 카메라, 비디오, 시스템 상태 및 진동을 포함한 기체 정보를 표시하는 다중 페이지 위젯입니다. +- **[Instrument Panel](#instrument_panel):** A widget that displays vehicle telemetry. +- **Attitude/Compass**: A widget that provides virtual horizon and heading information. +- **Camera Tools**: A widget for switching between still and video modes, starting/stopping capture, and controlling camera settings. - **[동영상/전환기](#video_switcher):** 창에서 비디오 또는 지도를 전환합니다. - - 요소를 눌러 _동영상_ 및 *지도*를 전경으로 전환합니다. - - *QGroundControl*은 UDP 프로토콜을 이용하여 RTP 및 RTSP 비디오를 스트리밍합니다. 또한, 직접 연결된 UVC 장치를 지원합니다. QGroundControl 비디오 지원은 [비디오 README](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoStreaming/README.md)을 참고하십시오. + - 요소를 눌러 _동영상_ 및 _지도_를 전경으로 전환합니다. + - _QGroundControl_은 UDP 프로토콜을 이용하여 RTP 및 RTSP 비디오를 스트리밍합니다. + 또한, 직접 연결된 UVC 장치를 지원합니다. + QGroundControl 비디오 지원은 [비디오 README](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoStreaming/README.md)을 참고하십시오. - [텔레메트리 오버레이](../fly_view/video_overlay.md)가 자막 파일로 자동 생성됩니다. -- **확인 슬라이더:** 요청된 작업을 확인하는 슬라이더입니다. 슬라이드하여 작동을 시작합니다. 취소하려면 **X**를 클릭하십시오. +- **확인 슬라이더:** 요청된 작업을 확인하는 슬라이더입니다. + 슬라이드하여 작동을 시작합니다. 취소하려면 **X**를 클릭하십시오. -기본적으로 표시되지 않거나 특정 조건에서만 표시되는 다른 요소들 많습니다. 예를 들어, 다중 기체 선택기는 여러 대의 기체가 연결된 경우에만 표시되며, 비행 전 체크리스트 도구 버튼은 적절한 설정이 활성화된 경우에만 표시됩니다. +기본적으로 표시되지 않거나 특정 조건에서만 표시되는 다른 요소들 많습니다. +예를 들어, 다중 기체 선택기는 여러 대의 기체가 연결된 경우에만 표시되며, 비행 전 체크리스트 도구 버튼은 적절한 설정이 활성화된 경우에만 표시됩니다. -## 계기판 {#instrument_panel} +## 계기판 {#instrument\_panel} -계기판은 텔레메트리, 카메라, 비디오, 시스템 상태 및 진동 정보를 포함하여 현재 기체 정보를 표시하는 다중 페이지 위젯입니다. +The instrument panel displays telemetry information about the current vehicle. -기본 페이지에는 기체의 텔레메트리 정보가 표출됩니다. 오른쪽 상단의 드롭다운 메뉴를 사용하여 다른 옵션을 선택할 수 있습니다. +![계기 페이지 - 값/원격 측정용](../../../assets/fly/instrument_page_values.jpg) -### 값(텔레메트리) +기본적으로 고도(홈 위치 기준) 및 지면 속도입니다. -값 페이지에는 텔레메트리 정보가 표출됩니다. 기본적으로 고도(홈 위치 기준) 및 지면 속도입니다. +패널 왼쪽 상단의 작은 톱니바퀴 아이콘을 눌러 표시할 정보를 설정할 수 있습니다. +This toggles the position of the panel between bottom centre and right-centre. -![계기 페이지 - 값/원격 측정용](../../../assets/fly/instrument_page_values.jpg) +![Instrument Panel - hover for move/edit tools](../../../assets/fly/instrument_panel/instrument_panel_tools_move_edit.png) -패널 왼쪽 상단의 작은 톱니바퀴 아이콘을 눌러 표시할 정보를 설정할 수 있습니다. 각 값은 보통 또는 "큰" 크기로 표시될 수 있습니다(큰 크기는 페이지의 행당 하나의 값만 표시하고 보통은 2를 표시함). +You configure what information is display by selecting the edit/pencil icon. +The grid will then display "+" and "-" icons that you can use to add or remove rows and columns (and the pencil icon is replaced by a "lock" icon that you can use to save the settings). -![계기 페이지 - 값 설정](../../../assets/fly/instrument_page_values_settings.jpg) +![Instrument Panel - add rows/columns](../../../assets/fly/instrument_panel/instrument_panel_tools_edit_on.png) -### 카메라 {#camera_instrument_page} +Select a value to launch its "Value Display" editor. +This allows you to change the icon, text, size, units and so on of the current telemetry value. -카메라 페이지는 카메라를 설정하고 제어합니다. 비행 콘트롤러에 직접 연결된 카메라에 사용할 수 있는 유일한 옵션은 카메라 트리거입니다. +![계기 페이지 - 값 설정](../../../assets/fly/instrument_page_values_settings.jpg) + +The selection list on the top left is used to change the source of the telemetry. +By default this is the vehicle, but you can use the selector to choose a particular sensor type. ![계기 페이지 - 카메라용](../../../assets/fly/instrument_page_camera.jpg) -[MAVLink 카메라 프로토콜](https://mavlink.io/en/services/camera.html)을 지원하는 카메라에 연결하면, 사용 가능한 다른 카메라 서비스를 추가로 설정하고 사용할 수 있습니다. 예를 들어, 카메라가 비디오 모드를 지원하는 경우 정지 이미지 캡처와 비디오 모드 사이를 전환하고 녹화를 시작하고 중지할 수 있습니다. +The selection list on the top right is used to select a particular telemetry value for the vehicle or sensor. -![계기 페이지 - 카메라 MAVLink 설정](../../../assets/fly/instrument_page_camera_mavlink.jpg) +비행 중인 기체의 시동을 꺼려면 _비행 도구 모음_에서 **시동**을 선택합니다. -고급 설정은 페이지 왼쪽 상단의 톱니바퀴 아이콘을 사용하여 변경할 수 있습니다. +### 카메라 {#camera\_instrument\_page} -![계기 페이지 - 카메라 MAVLink 설정](../../../assets/fly/instrument_page_camera_mavlink_settings.jpg) +The camera panel is used to capture still images and video, and to configure the camera. -::: info -표시되는 대부분의 설정은 카메라에 따라 차이가 납니다([MAVLink 카메라 정의 파일](https://mavlink.io/en/services/camera_def.html)에 정의되어 있음). 마지막에 몇 가지 일반적인 설정이 하드 코딩되어 있습니다: 사진 모드(단일/인터벌), 사진 간격(인터벌인 경우), 카메라 기본값 재설정(카메라에 재설정 명령 전송), 포맷(저장) -::: +![계기 페이지 - 카메라 MAVLink 설정](../../../assets/fly/instrument_page_camera_mavlink.jpg) -### 비디오 스트림 {#video_instrument_page} +The camera capture and configuration options depend on the connected camera. +The configuration options are selected using the panel gear icon. +The configuration for a simple autopilot-connected camera are shown below. -비디오 페이지는 비디오 스트리밍을 활성화 하거나 비활성화 합니다. 활성화시에는 비디오 스트림을 시작하고, 그리드 오버레이를 활성화하고, 이미지가 화면에 맞는 방식을 변경하고, QGroundControl을 사용하여 로컬로 비디오를 녹화할 수 있습니다. +![Camera Panel - minimal settings](../../../assets/fly/camera_panel/camera_settings_minimal.png) -![계기 페이지 - 비디오 스트림](../../../assets/fly/instrument_page_video_stream.jpg) +[MAVLink 카메라 프로토콜](https://mavlink.io/en/services/camera.html)을 지원하는 카메라에 연결하면, 사용 가능한 다른 카메라 서비스를 추가로 설정하고 사용할 수 있습니다. +예를 들어, 카메라가 비디오 모드를 지원하는 경우 정지 이미지 캡처와 비디오 모드 사이를 전환하고 녹화를 시작하고 중지할 수 있습니다. -### 상태 +![계기 페이지 - 카메라 MAVLink 설정](../../../assets/fly/instrument_page_camera_mavlink_settings.jpg) -상태 페이지는 차량 내부 시스템의 상태를 표시합니다. 시스템이 비정상으로 변경되면 *QGroundControl*이 자동으로 이 페이지로 전환합니다. +::: info +Most of the settings that are displayed depend on the camera (they are defined in its [MAVLink Camera Definition File](https://mavlink.io/en/services/camera_def.html)). -![계기 페이지 - 차량 건강](../../../assets/fly/instrument_page_health_good.jpg) ![계기 페이지 - 차량 상태 불량](../../../assets/fly/instrument_page_health_bad.jpg) +> 마지막에 몇 가지 일반적인 설정이 하드 코딩되어 있습니다: 사진 모드(단일/인터벌), 사진 간격(인터벌인 경우), 카메라 기본값 재설정(카메라에 재설정 명령 전송), 포맷(저장) -### 진동 +### 비디오 스트림 {#video\_instrument\_page} -진동 페이지는 현재 진동 수준과 클립 수를 표시합니다. +비디오 페이지는 비디오 스트리밍을 활성화 하거나 비활성화 합니다. +활성화시에는 비디오 스트림을 시작하고, 그리드 오버레이를 활성화하고, 이미지가 화면에 맞는 방식을 변경하고, QGroundControl을 사용하여 로컬로 비디오를 녹화할 수 있습니다. -![계기 페이지 - 진동 클립](../../../assets/fly/instrument_page_vibration.jpg) +![계기 페이지 - 비디오 스트림](../../../assets/fly/instrument_page_video_stream.jpg) ## 액션/태스크 다음 섹션에서는 비행 화면에서 일반적인 작업 수행 방법을 설명합니다. ::: info -사용 가능한 옵션은 기체 유형과 현재 상태에 따라 달라집니다. +Many of the available options depend on both the vehicle type and its current state. ::: -### 비행 전 점검 사항 {#preflight_checklist} +### 비행 전 점검 사항 {#preflight\_checklist} 자동 비행 전 점검을 통하여 기체의 설정과 비행 안전 여부를 검사합니다. -적검 항목을 사용하려면 [애플리케이션 설정 > 일반 > 비행 화면](../settings_view/general.md)로 이동하고 **비행 전 점검 항목 사용**을 선택하여 도구를 활성화합니다. 그러면, *비행 도구*에 도구가 추가됩니다. 점검 항목들을 열려면 클릭합니다. +적검 항목을 사용하려면 [애플리케이션 설정 > 일반 > 비행 화면](../settings_view/general.md)로 이동하고 **비행 전 점검 항목 사용**을 선택하여 도구를 활성화합니다. +그러면, _비행 도구_에 도구가 추가됩니다. +점검 항목들을 열려면 클릭합니다. ![비행 전 점검 리스트](../../../assets/fly/pre_flight_checklist.jpg) @@ -110,47 +132,81 @@ ### 시동 {#arm} -::: tip -일반적으로 *QGroundControl*에서는 기체의 시동을 명시적으로 걸 필요는 없습니다. 미션 수행이나 이륙시 자동으로 시동이 걸립니다. +Arming a vehicle starts the motors in preparation for takeoff. +You will only be able to arm the vehicle if it is safe and ready to fly. + +:::tip +Generally, if the vehicle is ready to arm, _QGroundControl_ will arm the vehicle for you if you start a mission or takeoff. ::: -기체에 시동이 걸리면 이륙을 위하여 모터가 시동됩니다. +The vehicle is ready to fly in all modes if the status text says "Ready to Fly" and the background is green. -기체에 시동을 걸려면 *비행 툴바*에서 **시동 해제**를 선택한 다음, 확인 슬라이드를 사용하십시오. +![Vehicle state - ready to fly green/ready background](../../../assets/fly/vehicle_states/ready_to_fly_ok.png) -![시동](../../../assets/fly/arm.jpg) +If the background is amber then it is ready to take off in the current mode, but may not be able to switch to other modes. +If the background is red and the text is "Not Ready" then you will not be able to arm in the current mode. + +![Vehicle state - ready to fly amber/warning background](../../../assets/fly/vehicle_states/ready_to_fly_warning.png) +![Vehicle state - not ready](../../../assets/fly/vehicle_states/not_ready.png) + +From QGC 4.2.0 (at time of writing, a daily build) you can find out the exact cause of the warning or error, and possible solutions, by pushing the status text. + +This launches the preflight arming checks popup with a list of all preflight warnings. +The toggle on the right expands each error with additional information and possible solutions. + +![UI To check arming warnings](../../../assets/fly/vehicle_states/arming_preflight_check_ui.png) + +Once each issue is resolved it will disappear from the UI. +When all issues blocking arming have been removed you can use the arm button to display the arming confirmation slider, and arm the vehicle (or you can just take off - note that the vehicles will (by default) disarm automatically if you do not take off after a few seconds. + +![계기 페이지 - 진동 클립](../../../assets/fly/instrument_page_vibration.jpg) ::: info -일반적으로 몇 초 후에 기체가 이륙하지 않으면, 시동이 자동으로 해제됩니다. -::: +The status text also displays when flying. + +> ![계기 페이지 - 차량 건강](../../../assets/fly/instrument_page_health_good.jpg) ![계기 페이지 - 차량 상태 불량](../../../assets/fly/instrument_page_health_bad.jpg) +> +> The arming checks UI will open even when flying, allowing you to emergency disarm. +> ::: ### 시동 끄기 {#disarm} -기체의 시동이 꺼지면, 모터는 정지합니다(기체를 안전한 상태로 변경함). 기체의 시동을 꺼려면 기체가 **착륙**하였을 때 *비행 도구 모음*에서 **시동**을 선택하십시오. +기체의 시동이 꺼지면, 모터는 정지합니다(기체를 안전한 상태로 변경함). + +Generally you do not need to explicitly disarm as vehicles will disarm automatically after landing, or shortly after arming if you do not take off. + +If needed, you can do so from the Arming Preflight Checks UI. + +![시동](../../../assets/fly/arm.jpg) + +You will then need to use the disarming slider. ![시동 끄기](../../../assets/fly/disarm.jpg) -::: info 비행 중 기체의 시동을 꺼는 것을 [비상 정지](#emergency_stop)라고 합니다. -::: -### 비상 정지 {#emergency_stop} +### 비상 정지 {#emergency\_stop} -비상 정지는 비행 중 기체의 시동을 꺼는 것과 동일합니다. 기체가 충돌할 수 있습니다! +비상 정지는 비행 중 기체의 시동을 꺼는 것과 동일합니다. +Your vehicle will crash! -비행 중인 기체의 시동을 꺼려면 *비행 도구 모음*에서 **시동**을 선택합니다. +If needed, you can do so from the Arming Preflight Checks UI. + +기체의 시동을 꺼려면 기체가 **착륙**하였을 때 _비행 도구 모음_에서 **시동**을 선택하십시오. + +You will then need to use the emergency disarming slider. ![비상 정지](../../../assets/fly/emergency_stop.jpg) ### 이륙 {#takeoff} -::: tip -멀티콥터의 미션을 시작하면, *QGroundControl*에서 자동으로 이륙 단계를 수행합니다. +:::tip +멀티콥터의 미션을 시작하면, _QGroundControl_에서 자동으로 이륙 단계를 수행합니다. ::: 이륙 절차(착륙 후): -1. *비행 도구*에서 **이륙** 버튼을 클릭합니다(이륙 후 **착륙** 버튼으로 전환됨). +1. _비행 도구_에서 **이륙** 버튼을 클릭합니다(이륙 후 **착륙** 버튼으로 전환됨). 2. 오른쪽 수직 슬라이더에서 이륙 고도를 설정할 수 있습니다. 3. 슬라이더를 사용하여 이륙 실행을 확인합니다. @@ -160,36 +216,39 @@ 비행 중에는 언제든 지 현재 위치에 착륙 가능합니다. -1. *비행 도구*에서 **착륙** 버튼을 클릭합니다(착륙 시 **이륙** 버튼으로 전환됨). +1. _비행 도구_에서 **착륙** 버튼을 클릭합니다(착륙 시 **이륙** 버튼으로 전환됨). 2. 슬라이더를 사용하여 착륙 실행을 확인합니다. ![착륙](../../../assets/fly/land.jpg) -### 착륙지 복귀(RTL)/복귀 +### RTL/Return 비행 중 언제든 지 "안전 지점"으로 복귀할 수 있습니다. -1. *비행 도구*에서 **RTL** 버튼을 클릭합니다. +1. _비행 도구_에서 **RTL** 버튼을 클릭합니다. 2. 슬라이더를 사용하여 착륙지 복귀 실시를 확인합니다. ![출발지복귀](../../../assets/fly/rtl.jpg) -::: info -기체는 일반적으로 "홈"(이륙) 위치와 착륙 지점으로 복귀합니다. 이 동작은 기체 유형과 설정에 따라 차이가 날 수 있습니다. 예를 들어, 집결지나 임무 착륙을 대체 반환 목표로 사용할 수 있습니다. +:::info +기체는 일반적으로 "홈"(이륙) 위치와 착륙 지점으로 복귀합니다. +이 동작은 기체 유형과 설정에 따라 차이가 날 수 있습니다. +예를 들어, 집결지나 임무 착륙을 대체 반환 목표로 사용할 수 있습니다. ::: -### 고도 변경 {#change_altitude} +### 고도 변경 {#change\_altitude} 미션 수행중을 제외하고는, 비행 중 고도 변경이 가능합니다. -1. *비행 도구*에서 **액션** 버튼을 클릭합니다. +1. _비행 도구_에서 **액션** 버튼을 클릭합니다. + 2. 대화상자에서 _고도 변경_ 작업을 선택합니다. -![임무 계속/고도 변경 작업](../../../assets/fly/continue_mission_change_altitude_action.jpg) + ![임무 계속/고도 변경 작업](../../../assets/fly/continue_mission_change_altitude_action.jpg) 3. 수직 슬라이더를 원하는 고도로 이동한 다음 확인 슬라이더를 끌어 작업을 실행합니다. -![고도 변경](../../../assets/fly/change_altitude.jpg) + ![고도 변경](../../../assets/fly/change_altitude.jpg) ### 위치 이동 {#goto} @@ -199,13 +258,13 @@ ![계속 또는 선회](../../../assets/fly/goto_or_orbit.jpg) -2. 위치는 확인 슬라이더와 함께 지도에 표시됩니다. +1. 위치는 확인 슬라이더와 함께 지도에 표시됩니다. -![계속 확인](../../../assets/fly/goto.jpg) + ![계속 확인](../../../assets/fly/goto.jpg) -3. 준비가 되면 슬라이더를 끌어 작업을 시작합니다(또는 **X** 아이콘을 눌러 취소). +2. 준비가 되면 슬라이더를 끌어 작업을 시작합니다(또는 **X** 아이콘을 눌러 취소). -::: info +:::info 위치 이동 지점은 기체에서 1km 이내로 설정하여야 합니다(QGroundControl에 하드 코딩됨). ::: @@ -217,26 +276,27 @@ ![계속 또는 선회](../../../assets/fly/goto_or_orbit.jpg) -2. 예정 궤도는 확인 슬라이더와 함께 지도에 표시됩니다. +1. 예정 궤도는 확인 슬라이더와 함께 지도에 표시됩니다. -![선회 확인](../../../assets/fly/orbit.jpg) + ![선회 확인](../../../assets/fly/orbit.jpg) -- 중심 마커를 선택하고 끌어서 궤도 위치를 이동합니다. -- 외부 원의 점을 선택하고 끌어 궤도 반경을 변경합니다. + - 중심 마커를 선택하고 끌어서 궤도 위치를 이동합니다. + - 외부 원의 점을 선택하고 끌어 궤도 반경을 변경합니다. -3. 준비가 되면 슬라이더를 끌어서 작업을 시작합니다(또는 **X** 아이콘을 눌러 취소). +2. 준비가 되면 슬라이더를 끌어서 작업을 시작합니다(또는 **X** 아이콘을 눌러 취소). ### 일시 중지 -이륙, 착륙, RTL, 임무 실행 및 위치 궤도를 포함한 대부분의 작업을 일시 중지할 수 있습니다. 일시 정지 시 기체의 동작은 기체 유형에 따라 달라집니다. 일반적으로 멀티콥터는 호버링을 하고, 고정익은 선회 비행을합니다. +이륙, 착륙, RTL, 임무 실행 및 위치 궤도를 포함한 대부분의 작업을 일시 중지할 수 있습니다. +일시 정지 시 기체의 동작은 기체 유형에 따라 달라집니다. 일반적으로 멀티콥터는 호버링을 하고, 고정익은 선회 비행을합니다. -::: tip +:::info _위치 이동_ 작업은 일시 중지가 불가능 합니다. ::: 일시 중지하려면: -1. *비행 도구*에서 **일시중지** 버튼을 클릭합니다. +1. _비행 도구_에서 **일시중지** 버튼을 클릭합니다. 2. 선택적으로 오른쪽 수직 슬라이더를 사용하여 새 고도를 설정합니다. 3. 슬라이더를 사용하여 일시 중지를 확인합니다. @@ -244,112 +304,129 @@ _위치 이동_ 작업은 일시 중지가 불가능 합니다. ### 미션 -#### 미션 시작 {#start_mission} +#### 미션 시작 {#start\_mission} 기체는 착륙후 미션를 시작할 수 있습니다(미션 시작 확인 슬라이더는 대부분 기본적으로 표시됩니다). 착륙후 임무를 시작하려면: -1. *비행 도구*에서 **액션** 버튼을 클릭합니다. -2. 대화 상자에서 _미션 시작_ 작업을 선택합니다. +1. _비행 도구_에서 **액션** 버튼을 클릭합니다. -![미션 액션 시작](../../../assets/fly/start_mission_action.jpg) +2. 대화 상자에서 _미션 시작_ 작업을 선택합니다. - (확인 슬라이더를 표시하기 위하여) + ![미션 액션 시작](../../../assets/fly/start_mission_action.jpg) + (확인 슬라이더를 표시하기 위하여) 3. 확인 슬라이더가 나타나면 드래그하여 미션을 시작합니다. -![미션 시작](../../../assets/fly/start_mission.jpg) + ![미션 시작](../../../assets/fly/start_mission.jpg) -#### 미션 지속 {#continue_mission} +#### 미션 지속 {#continue\_mission} -비행 중일 때 _다음_ 웨이포인트에서 미션을 *지속*할 수 있습니다(이륙 후에 _미션 지속_ 확인 슬라이더가 기본적으로 표시되는 경우가 많습니다). +비행 중일 때 _다음_ 웨이포인트에서 미션을 _지속_할 수 있습니다(이륙 후에 _미션 지속_ 확인 슬라이더가 기본적으로 표시되는 경우가 많습니다). -::: info -미션 지속과 [미션 재개](#resume_mission)는 차이가 있습니다. 지속은 일시 중지되었거나 이륙했기 때문에, 이륙 미션 명령을 놓친 미션를 다시 시작시에 사용합니다. 미션 재개는 착륙지 복귀를 사용하였거나 미션 중간 착륙시 사용합니다(예: 배터리 교체). 그런 다음 다음 미션 항목을 지속할 수 있습니다(즉, 미션에서 지속하는 것이 아니라 미션에 있었던 위치로 이동합니다). +:::info +미션 지속과 [미션 재개](#resume_mission)는 차이가 있습니다. +지속은 일시 중지되었거나 이륙했기 때문에, 이륙 미션 명령을 놓친 미션를 다시 시작시에 사용합니다. +미션 재개는 착륙지 복귀를 사용하였거나 미션 중간 착륙시 사용합니다(예: 배터리 교체). 그런 다음 다음 미션 항목을 지속할 수 있습니다(즉, 미션에서 지속하는 것이 아니라 미션에 있었던 위치로 이동합니다). ::: 현재 임무를 계속할 수 있습니다(이미 임무에 참여하지 않는 한!): -1. *비행 도구*에서 **액션** 버튼을 클릭합니다. +1. _비행 도구_에서 **액션** 버튼을 클릭합니다. + 2. 대화 상자에서 _임무 지속_ 작업을 선택합니다. -![임무 계속/고도 변경 작업](../../../assets/fly/continue_mission_change_altitude_action.jpg) + ![임무 계속/고도 변경 작업](../../../assets/fly/continue_mission_change_altitude_action.jpg) 3. 확인 슬라이더를 끌어 임무를 지속하십시오. -![미션 계속](../../../assets/fly/continue_mission.jpg) + ![미션 계속](../../../assets/fly/continue_mission.jpg) -#### 임무 재개 {#resume_mission} +#### 임무 재개 {#resume\_mission} -*임무 재개*는 임무 수행중 [착륙지 복귀/복귀](#rtl)나 [착륙](#land)을 수행 후 임무를 재개합니다 (예를 들어 배터리 교체). +_임무 재개_는 임무 수행중 [착륙지 복귀/복귀](#rtl)나 [착륙](#land)을 수행 후 임무를 재개합니다 (예를 들어 배터리 교체). -::: info -배터리를 교체하는 경우에는 배터리를 분리한 후 기체에서 QGroundControl를 분리하지 **마십시오**. 새 배터리를 교체하면 *QGroundControl*에서 차량을 다시 감지하고 자동으로 연결을 복원합니다. +:::info +배터리를 교체하는 경우에는 배터리를 분리한 후 기체에서 QGroundControl를 분리하지 **마십시오**. +새 배터리를 교체하면 _QGroundControl_에서 차량을 다시 감지하고 자동으로 연결을 복원합니다. ::: 착륙 후에는 _비행 계획 완료_ 대화상자가 표시되며, 이 대화상자에서는 계획을 기체에서 제거하거나, 기체에 그대로 두거나, 또는 통과한 마지막 웨이포인트에서 임무를 재개합니다. ![임무 재개](../../../assets/fly/resume_mission.jpg) -임무 재개를 선택하면 *QGroundControl*에서 임무를 재구성하고 차량에 업로드합니다. 그런 다음 _임무 시작_ 슬라이더를 사용하여 임무를 계속 수행합니다. +임무 재개를 선택하면 _QGroundControl_에서 임무를 재구성하고 차량에 업로드합니다. +그런 다음 _임무 시작_ 슬라이더를 사용하여 임무를 계속 수행합니다. 아래 이미지는 위의 귀환 이후 재건된 임무를 나타냅니다. ![재건 임무 재개](../../../assets/fly/resume_mission_rebuilt.jpg) -::: info -임무는 임무의 다음 단계에 영향을 미치는 마지막 웨이포인트에 여러 항목이 있을 수 있으므로, 기체가 실행한 마지막 미션 항목에서 단순히 재개할 수 없습니다(예: 속도 명령 또는 카메라 제어 명령). 대신 *QGroundControl*은 비행한 마지막 임무 항목부터 시작하여 임무를 재구성하고 자동으로 임무 앞에 관련 명령을 추가합니다. +:::info +임무는 임무의 다음 단계에 영향을 미치는 마지막 웨이포인트에 여러 항목이 있을 수 있으므로, 기체가 실행한 마지막 미션 항목에서 단순히 재개할 수 없습니다(예: 속도 명령 또는 카메라 제어 명령). +대신 _QGroundControl_은 비행한 마지막 임무 항목부터 시작하여 임무를 재구성하고 자동으로 임무 앞에 관련 명령을 추가합니다. ::: -#### 착륙 후 임무 프롬프트 제거 {#resume_mission_prompt} +#### 착륙 후 임무 프롬프트 제거 {#resume\_mission\_prompt} -임무가 완료후 기체가 착륙한 다음 시동이 해제되면 기체의 임무를 제거하라는 메시지가 표시됩니다. 이는 이전의 임무가 의도치 않게 기체에 저장되어, 예기치 않은 동작을 초래하는 문제를 방지합니다. +임무가 완료후 기체가 착륙한 다음 시동이 해제되면 기체의 임무를 제거하라는 메시지가 표시됩니다. +이는 이전의 임무가 의도치 않게 기체에 저장되어, 예기치 않은 동작을 초래하는 문제를 방지합니다. -### 비디오 출력 {#video_switcher} +### 비디오 출력 {#video\_switcher} -비디오 스트리밍이 활성화되면, *QGroundControl*은 지도 왼쪽 하단의 "비디오 전환기 창"에 현재 선택된 기체의 비디오 스트림을 표시합니다. 아무 곳이나 스위처를 눌러 _동영상_ 및 *지도*를 전경으로 전환할 수 있습니다(아래 이미지에서 동영상은 전경에 표시됨). +비디오 스트리밍이 활성화되면, _QGroundControl_은 지도 왼쪽 하단의 "비디오 전환기 창"에 현재 선택된 기체의 비디오 스트림을 표시합니다. +아무 곳이나 스위처를 눌러 _동영상_ 및 _지도_를 전경으로 전환할 수 있습니다(아래 이미지에서 동영상은 전경에 표시됨). ![비디오 스트림 녹화](../../../assets/fly/video_record.jpg) -::: info +:::info 비디오 스트리밍은 [애플리케이션 설정 > 일반 탭 > 비디오](../settings_view/general.md#video)에서 활성화하거나 설정할 수 있습니다. ::: 스위처의 컨트롤을 사용하여, 비디오 디스플레이를 추가로 설정할 수 있습니다. - ![Video Pop](../../../assets/fly/video_pop.jpg) +![Video Pop](../../../assets/fly/video_pop.jpg) - 오른쪽 상단 모서리에 있는 아이콘을 끌어 스위처의 크기를 조정합니다. - 왼쪽 하단의 토글 아이콘을 눌러 스위처를 숨깁니다. -- 왼쪽 상단 모서리에 있는 아이콘을 눌러서 비디오 스위처 창을 분리합니다. (일단 분리되면 운영체제의 다른 창과 마찬가지로 창을 이동하고 크기를 조정할 수 있습니다.) 분리된 창을 닫으면 스위처가 QGroundControl의 비행 화면으로 다시 전환됩니다. +- 왼쪽 상단 모서리에 있는 아이콘을 눌러서 비디오 스위처 창을 분리합니다. + 분리된 창을 닫으면 스위처가 QGroundControl의 비행 화면으로 다시 전환됩니다. ### 동영상 녹화 -카메라와 기체에서 지원하는 경우 *QGroundControl*에서 카메라 자체의 동영상 녹화를 시작하거나 중지할 수 있습니다. *QGroundControl*은 또한 비디오 스트림을 녹화하고 로컬에 저장할 수 있습니다. +카메라와 기체에서 지원하는 경우 _QGroundControl_에서 카메라 자체의 동영상 녹화를 시작하거나 중지할 수 있습니다. _QGroundControl_은 또한 비디오 스트림을 녹화하고 로컬에 저장할 수 있습니다. -::: tip +:::tip 카메라에 저장된 동영상의 품질은 훨씬 높을 수 있지만, 지상국의 녹화 용량은 훨씬 더 클 수 있습니다. ::: #### 비디오 스트림 녹화(GCS에서) -비디오 스트림 녹화는 [비디오 스트림 도구 페이지](#video_instrument_page)에서 제어합니다. 새 비디오 녹화를 시작하려면, 빨간색 원을 누르십시오(원을 누를 때마다 새 비디오 파일이 생성됨). 녹화가 진행되는 동안 원이 빨간색 사각형으로 바뀝니다. +비디오 스트림 녹화는 [비디오 스트림 도구 페이지](#video_instrument_page)에서 제어합니다. +새 비디오 녹화를 시작하려면, 빨간색 원을 누르십시오(원을 누를 때마다 새 비디오 파일이 생성됨). ![비디오 스트림 녹화](../../../assets/fly/video_record.jpg) 비디오 스트림 녹화는 [애플리케이션 설정 > 일반 탭](../settings_view/general.md)에서 설정합니다. -- [동영상 녹화](../settings_view/general.md#video-recording) - 녹화 파일 형식 및 저장 제한을 지정합니다. **참고** 동영상은 기본적으로 Matroska 형식(.mkv)으로 저장됩니다. 이 형식은 오류 발생으로 인한 손상에 대해 상대적으로 강건합니다. +- [동영상 녹화](../settings_view/general.md#video-recording) - 녹화 파일 형식 및 저장 제한을 지정합니다. + + **참고** 동영상은 기본적으로 Matroska 형식(.mkv)으로 저장됩니다. + 이 형식은 오류 발생으로 인한 손상에 대해 상대적으로 강건합니다. + ::: + - [Miscellaneous](../settings_view/general.md#miscellaneous) - 스트리밍된 동영상은 **애플리케이션 로드/저장 경로** 아래에 저장됩니다. -::: tip -저장된 동영상에는 동영상 스트림 자체만 포함됩니다. QGroundControl 애플리케이션을 포함하여 비디오를 녹화하려면 별도의 화면 녹화 프로그램을 사용하여야 합니다. +:::tip +저장된 동영상에는 동영상 스트림 자체만 포함됩니다. +QGroundControl 애플리케이션을 포함하여 비디오를 녹화하려면 별도의 화면 녹화 프로그램을 사용하여야 합니다. ::: #### 카메라 비디오 녹화 -[카메라 기기 페이지](#camera_instrument_page)를 사용하여 _카메라 자체에서_ 동영상 녹화를 시작하거나 중지합니다. 먼저 비디오 모드로 전환한 다음, 빨간색 버튼을 클릭하여 녹화를 시작합니다. +[카메라 기기 페이지](#camera_instrument_page)를 사용하여 _카메라 자체에서_ 동영상 녹화를 시작하거나 중지합니다. +먼저 비디오 모드로 전환한 다음, 빨간색 버튼을 클릭하여 녹화를 시작합니다. ![계기 페이지 - 카메라 MAVLink 설정](../../../assets/fly/instrument_page_camera_mavlink.jpg) diff --git a/docs/ko/qgc-user-guide/fly_view/replay_flight_data.md b/docs/ko/qgc-user-guide/fly_view/replay_flight_data.md index e981571a6f1..4bdfd7cff15 100644 --- a/docs/ko/qgc-user-guide/fly_view/replay_flight_data.md +++ b/docs/ko/qgc-user-guide/fly_view/replay_flight_data.md @@ -1,32 +1,40 @@ # 비행 데이터 재생 -::: warning -이 기능은 주로 **자동 조종 장치 개발자**와 **자동차 제작자**를 위한 것입니다. 데스크톱 빌드(Windows, Linux, Mac OS)에서만 지원됩니다. +:::warning +이 기능은 주로 **자동 조종 장치 개발자**와 **자동차 제작자**를 위한 것입니다. +데스크톱 빌드(Windows, Linux, Mac OS)에서만 지원됩니다. ::: -_비행 데이터 재생_ 기능을 사용하면 사용자가 원격 측정 로그를 재생하여 과거 또는 문제가 있는 비행을 검토할 수 있습니다. 비행을 시작, 일시 중지, 중지, 다시 시작할 수 있습니다. +_비행 데이터 재생_ 기능을 사용하면 사용자가 원격 측정 로그를 재생하여 과거 또는 문제가 있는 비행을 검토할 수 있습니다. +비행을 시작, 일시 중지, 중지, 다시 시작할 수 있습니다. -::: info -*QGroundControl*은 비행 재생을 활성 연결처럼 취급합니다. 재생을 일시 중지/중지하면 지상국에서 "통신 끊김"을 보고하고 연결이 끊기거나 추가 메시지가 표시될 때까지 기다립니다. +:::info +_QGroundControl_은 비행 재생을 활성 연결처럼 취급합니다. +재생을 일시 중지/중지하면 지상국에서 "통신 끊김"을 보고하고 연결이 끊기거나 추가 메시지가 표시될 때까지 기다립니다. ::: 비행을 재생하려면: 1. 활성화된 연결을 모두 끊습니다. -1. **애플리케이션 설정 > 일반 > 플라이 뷰** -1. **텔레메트리 로그 재생 상태 표시줄 표시**를 선택하여 화면 하단의 비행 재생 표시줄을 토글합니다. + +2. **애플리케이션 설정 > 일반 > 플라이 뷰** + +3. **텔레메트리 로그 재생 상태 표시줄 표시**를 선택하여 화면 하단의 비행 재생 표시줄을 토글합니다. ![비행 리플레이 전환](../../../assets/fly/flight_replay/flight_replay_toggle.jpg) -1. 막대에서 **원격 분석 로그 로드** 버튼을 선택하여 _파일 선택_ 대화상자를 표시합니다. +4. 막대에서 **원격 분석 로그 로드** 버튼을 선택하여 _파일 선택_ 대화상자를 표시합니다. - 사용 가능한 원격 분석 로그에서 재생할 로그 파일을 선택합니다. - - *QGroundControl*이 즉시 로그 재생을 시작합니다. -1. 로그가 로드되면 다음을 사용할 수 있습니다. + - _QGroundControl_이 즉시 로그 재생을 시작합니다. + +5. 로그가 로드되면 다음을 사용할 수 있습니다. - **일시중지/재생** 버튼으로 재생을 일시중지하고 다시 시작합니다. - - *슬라이더*를 사용하여 로그의 새 위치로 드래그합니다. + - _슬라이더_를 사용하여 로그의 새 위치로 드래그합니다. - _속도_ 선택기를 사용하여 재생 속도를 선택합니다. -1. 재생을 중지하려면(즉, 재생할 새 파일을 로드하려면) 먼저 비행을 일시 중지한 다음 **연결 해제**를 선택하십시오(표시될 때). 연결을 끊으면 **원격 측정 로그 로드** 버튼이 표시됩니다. -::: tip +6. 재생을 중지하려면(즉, 재생할 새 파일을 로드하려면) 먼저 비행을 일시 중지한 다음 **연결 해제**를 선택하십시오(표시될 때). + 연결을 끊으면 **원격 측정 로그 로드** 버튼이 표시됩니다. + +:::tip [MAVLink Inspector](../analyze_view/mavlink_inspector.md)를 사용하여 실행 중인 리플레이를 더 자세히 검사할 수 있습니다. ::: diff --git a/docs/ko/qgc-user-guide/fly_view/video_overlay.md b/docs/ko/qgc-user-guide/fly_view/video_overlay.md index 014849de7ae..3b928228cfd 100644 --- a/docs/ko/qgc-user-guide/fly_view/video_overlay.md +++ b/docs/ko/qgc-user-guide/fly_view/video_overlay.md @@ -5,20 +5,25 @@ QGroundControl이 비디오 스트림을 파일에 기록할 때 재생하는 ![값 위젯](../../../assets/fly/overlay_widget.png) 선택한 값은 화면 활용을 최적화하기 위해 3개의 열에 배치됩니다.![작동 중 오버레이](../../../assets/fly/overlay_capture.png) +이것이 QGC에 의해 생성된 방식입니다. ## 재생 중 -오버레이는 [SubStation Alpha](https://en.wikipedia.org/wiki/SubStation_Alpha#Players_and_renderers) 자막 형식을 지원하는 모든 플레이어와 함께 사용할 수 있습니다. 대부분의 플레이어는 비디오를 재생하려고 할 때 두 파일을 함께 오픈합니다. 그들은 같은 폴더에 있어야 하고 같은 이름을 가져야 합니다. 이것이 QGC에 의해 생성된 방식입니다. +오버레이는 [SubStation Alpha](https://en.wikipedia.org/wiki/SubStation_Alpha#Players_and_renderers) 자막 형식을 지원하는 모든 플레이어와 함께 사용할 수 있습니다. +대부분의 플레이어는 비디오를 재생하려고 할 때 두 파일을 함께 오픈합니다. 그들은 같은 폴더에 있어야 하고 같은 이름을 가져야 합니다. ## 수동 브레이크를 사용한 영구 비디오 자막 -자막은 [HandBrake](https://handbrake.fr/)를 사용하여 동영상 파일에 영구적으로 추가할 수 있습니다. 이렇게 하면 모든 비디오 플레이어에서 자막이 영구적으로 표시됩니다. +자막은 [HandBrake](https://handbrake.fr/)를 사용하여 동영상 파일에 영구적으로 추가할 수 있습니다. +이렇게 하면 모든 비디오 플레이어에서 자막이 영구적으로 표시됩니다. -**HandBrake**를 열면 기본 인터페이스가 표시됩니다. **열기**를 클릭하고 동영상 파일을 선택합니다. +**HandBrake**를 열면 기본 인터페이스가 표시됩니다. +**열기**를 클릭하고 동영상 파일을 선택합니다. ![비디오 파일을 여는 방법을 보여주는 핸드브레이크 UI](../../../assets/fly/video_overlay/1-open.png) -비디오 파일이 로드된 상태에서 자막 탭으로 전환합니다. **추가**를 클릭하여 자막 파일을 로드합니다. +비디오 파일이 로드된 상태에서 자막 탭으로 전환합니다. +**추가**를 클릭하여 자막 파일을 로드합니다. ![자막 추가 방법을 보여주는 핸드브레이크 UI 스크린샷](../../../assets/fly/video_overlay/2-subtitles.png) diff --git a/docs/ko/qgc-user-guide/getting_started/download_and_install.md b/docs/ko/qgc-user-guide/getting_started/download_and_install.md index 94515d59030..69874b38eb8 100644 --- a/docs/ko/qgc-user-guide/getting_started/download_and_install.md +++ b/docs/ko/qgc-user-guide/getting_started/download_and_install.md @@ -2,58 +2,65 @@ 다양한 운영체제에서 실행 가능한 QGroundControl [최신 안정판](../releases/release_notes.md)를 다운로드할 수 있습니다. -::: tip +:::tip 설치 후 QGroundControl이 정상적으로 실행되지 않으면, [QGC 설정 문제 해결](../troubleshooting/qgc_setup.md)편을 참고하여 문제를 해결할 수 있습니다. ::: ## 시스템 요구 사항 -QGroundControl는 최신 컴퓨터나 모바일 장치에서 실행 가능합니다. 시스템 환경과 사용 가능한 시스템 리소스 상태에 따라 성능이 차이가 날 수 있습니다. 좋은 하드웨어 사양을 사용하면, 더 좋은 성능을 나타내는 것은 당연합니다. 최소 8Gb 메모리, SSD 다스크, Nvidia 또는 AMD 그래픽 및 i5 이상의 CPU가 장착된 컴퓨터를 사용하는 것이 좋습니다. +QGroundControl는 최신 컴퓨터나 모바일 장치에서 실행 가능합니다. 시스템 환경과 사용 가능한 시스템 리소스 상태에 따라 성능이 차이가 날 수 있습니다. +More capable hardware will provide a better experience. +최소 8Gb 메모리, SSD 다스크, Nvidia 또는 AMD 그래픽 및 i5 이상의 CPU가 장착된 컴퓨터를 사용하는 것이 좋습니다. 최신 버전의 운영 체제에서 최적의 사용과 호환성을 발휘할 수 있습니다. ## 윈도우 {#windows} -*QGroundControl*은 64비트 버전 윈도우 운영체제를 지원합니다. +_QGroundControl_은 64비트 버전 윈도우 운영체제를 지원합니다. 1. [QGroundControl-installer.exe](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl-installer.exe)을 다운로드합니다. 2. 다운로드한 설치 파일을 더블 클릭하여 프로그램을 실행합니다. -::: info -윈도우용 설치 프로그램은 **QGroundControl**, **GPU 호환 모드** 및 **GPU 안전 모드**의 3가지 바로 가기를 생성합니다. 시작 문제나 비디오 렌더링 문제가 발생하지 않으면, 첫 번째 바로 가기를 사용하십시오. 자세한 내용은 [QGroundControl 설정 문제 해결 > 윈도우: UI 렌더링/비디오 드라이버 문제](../troubleshooting/qgc_setup.md#opengl_troubleshooting)를 참고하십시오. +:::info +윈도우용 설치 프로그램은 **QGroundControl**, **GPU 호환 모드** 및 **GPU 안전 모드**의 3가지 바로 가기를 생성합니다. +시작 문제나 비디오 렌더링 문제가 발생하지 않으면, 첫 번째 바로 가기를 사용하십시오. +자세한 내용은 [QGroundControl 설정 문제 해결 > 윈도우: UI 렌더링/비디오 드라이버 문제](../troubleshooting/qgc_setup.md#opengl_troubleshooting)를 참고하십시오. ::: -::: info -_QGroundControl_ 4.0 버전 이상의 사전 빌드 버전은 64비트 전용입니다. 32비트 버전은 수동으로 빌드할 수 있습니다(개발팀에서는 지원하지 않음). +:::info +_QGroundControl_ 4.0 버전 이상의 사전 빌드 버전은 64비트 전용입니다. +32비트 버전은 수동으로 빌드할 수 있습니다(개발팀에서는 지원하지 않음). ::: ## Mac OS X {#macOS} -*QGroundControl*은 MacOS 10.11 이상에서 설치할 수 있습니다. +_QGroundControl_은 MacOS 10.11 이상에서 설치할 수 있습니다. + + 1. [QGroundControl.dmg](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.dmg)를 다운로드합니다. 2. 다운로드한 dmg 파일을 더블 클릭하여 마운트하여, _QGroundControl_ 애플리케이션을 _Application_ 폴더로 드래그합니다. - ::: info - QGroundControl 미서명으로 인하여 Catalina에서 문제가 발생합니다. 처음으로 QGroundControl을 실행하려면: - - - QGroundControl 앱 아이콘을 마우스 오른쪽 버튼으로 클릭한 다음에 메뉴에서 열기를 선택합니다. 취소 옵션만 제공됩니다. 취소를 선택합니다. - - QGroundControl 앱 아이콘을 마우스 오른쪽 버튼으로 클릭한 다음에 메뉴에서 열기를 선택합니다. 이번에는 열기 옵션이 표시됩니다. +::: info +QGroundControl continues to not be signed which causes problem on Catalina. To open QGC app for the first time: - ::: +- QGroundControl 앱 아이콘을 마우스 오른쪽 버튼으로 클릭한 다음에 메뉴에서 열기를 선택합니다. 취소 옵션만 제공됩니다. 취소를 선택합니다. +- QGroundControl 앱 아이콘을 마우스 오른쪽 버튼으로 클릭한 다음에 메뉴에서 열기를 선택합니다. 이번에는 열기 옵션이 표시됩니다. + ::: ## 우분투 리눅스 {#ubuntu} -*QGroundControl*은 Ubuntu LTS 20.04 이상의 버전에 설치됩니다. +_QGroundControl_은 Ubuntu LTS 20.04 이상의 버전에 설치됩니다. -우분투에는 직렬 포트나 USB로 직렬 모뎀 관리자가 설치되어 있으나, 이는 ROS 패키지들과 충돌합니다. *QGroundControl*을 설치 전에 모뎀 관리자를 제거하고, 직렬 포트 접근 권한을 부여합니다. 동영상 스트리밍을 지원하려면 *GStreamer*을 설치합니다. +Ubuntu comes with a serial modem manager that interferes with any robotics related use of a serial port (or USB serial). +_QGroundControl_을 설치 전에 모뎀 관리자를 제거하고, 직렬 포트 접근 권한을 부여합니다. +동영상 스트리밍을 지원하려면 _GStreamer_을 설치합니다. -*QGroundControl*을 처음 설치하기 전에: +_QGroundControl_을 처음 설치하기 전에: 1. 쉘 프롬프트에서 다음 명령어들을 실행합니다: - ```sh sudo usermod -a -G dialout $USER sudo apt-get remove modemmanager -y @@ -61,35 +68,36 @@ _QGroundControl_ 4.0 버전 이상의 사전 빌드 버전은 64비트 전용입 sudo apt install libqt5gui5 -y sudo apt install libfuse2 -y ``` - - 2. 사용자 권한을 변경하려면 로그아웃 후 다시 로그인하여야 합니다. -  *QGroundControl*을 설치하려면: +  _QGroundControl_을 설치하려면: 1. [QGroundControl.AppImage](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.AppImage)를 다운로드합니다. -2. 터미널 명령을 사용하여 설치: - sh - chmod +x ./QGroundControl.AppImage - ./QGroundControl.AppImage (or double click) +2. Install (and run) using the terminal commands: + ```sh + 터미널 명령을 사용하여 설치: + sh + chmod +x ./QGroundControl.AppImage + ./QGroundControl.AppImage (or double click) + ``` -::: info 듀얼 어댑터가 있는 Ubuntu 18.04 시스템에는 [동영상 스트리밍 문제](../troubleshooting/qgc_setup.md#dual_vga)가 있습니다. ::: -::: info -_QGroundControl_ 4.0의 사전 빌드된 버전은 Ubuntu 16.04에서 실행 불가능합니다. Ubuntu 16.04에서 이 버전을 실행하려면, [소스에서 비디오 라이브러리를 제거한 다음에 QGroundControl을 빌드](https://dev.qgroundcontrol.com/en/getting_started/)하여야 합니다. +:::info +_QGroundControl_ 4.0의 사전 빌드된 버전은 Ubuntu 16.04에서 실행 불가능합니다. +Ubuntu 16.04에서 이 버전을 실행하려면, [소스에서 비디오 라이브러리를 제거한 다음에 QGroundControl을 빌드](https://dev.qgroundcontrol.com/en/getting_started/)하여야 합니다. ::: ## 안드로이드 {#android} -Google Play 스토어에서 *QGroundControl*을 일시적으로 사용할 수 없습니다. 아래의 링크들에서 수동으로 설치할 수 있습니다. +Google Play 스토어에서 _QGroundControl_을 일시적으로 사용할 수 없습니다. 아래의 링크들에서 수동으로 설치할 수 있습니다. - [Android 32 비트 APK](https://qgroundcontrol.s3-us-west-2.amazonaws.com/latest/QGroundControl32.apk) - [Android 64 비트 APK](https://qgroundcontrol.s3-us-west-2.amazonaws.com/latest/QGroundControl64.apk) -## 구 버전의 안정 배포판 +## Old Stable Releases 구 버전의 안정 배포판은 GitHub를 참고하십시오. diff --git a/docs/ko/qgc-user-guide/getting_started/quick_start.md b/docs/ko/qgc-user-guide/getting_started/quick_start.md index af195dd1df3..e2284189666 100644 --- a/docs/ko/qgc-user-guide/getting_started/quick_start.md +++ b/docs/ko/qgc-user-guide/getting_started/quick_start.md @@ -1,12 +1,12 @@ # QGroundControl 시작하기 -*QGroundControl*를 설치하고 실행하는 방법은 간단합니다. +_QGroundControl_를 설치하고 실행하는 방법은 간단합니다. 1. 애플리케이션을 [다운로드](../getting_started/download_and_install.md)후에 설치합니다. 2. QGroundControl을 실행합니다. 3. 지상국에서 USB나 텔레메트리 또는 WiFi로 기체를 연결합니다. QGroundControl에서 기체를 자동으로 감지하여 연결합니다. -준비과정이 끝났습니다. 비행 준비가 완료되면, *QGroundControl*에는 아래와 같은 [비행화면](../fly_view/fly_view.md)을 표시됩니다. 비행 준비가 되지 않았으면 [설정화면](../setup_view/setup_view.md)이 표시됩니다. +That's it! 비행 준비가 완료되면, _QGroundControl_에는 아래와 같은 [비행화면](../fly_view/fly_view.md)을 표시됩니다. ![](../../../assets/quickstart/fly_view_connected_vehicle.jpg) @@ -17,7 +17,11 @@ QGroundControl에 자주 사용하는 것이 익숙해 질 수 있는 최선의 - [설정](../setup_view/setup_view.md): 기체를 설정하고 튜닝합니다. - [계획](../plan_view/plan_view.md): 자율 비행 미션을 생성합니다. - [비행](../fly_view/fly_view.md): 스트리밍 비디오를 포함하여 비행중 기체를 모니터링합니다. - - [분석] ** 분석 보기에 대한 설명이 누락되었습니다 ** -- 툴바에서 *상태 아이콘*을 클릭하여 연결된 기체의 상태를 확인할 수 있습니다. + - \[분석] \*\* 분석 보기에 대한 설명이 누락되었습니다 \*\* +- 툴바에서 _상태 아이콘_을 클릭하여 연결된 기체의 상태를 확인할 수 있습니다. -QGroundControl은 매우 UI가 매우 직관적이나, 이 문서에서 사용 방법에 대하여 자세하게 설명합니다. +While the UI is fairly intuitive, this documentation can also be referenced to find out more. + +:::info +Make sure QGC has an internet connection when you connect a new vehicle. This will allow it to get the latest parameter and other metadata for the vehicle, along with [translations](../settings_view/general.md#miscellaneous). +::: diff --git a/docs/ko/qgc-user-guide/index.md b/docs/ko/qgc-user-guide/index.md index d81df7a6886..ecfd7514b1f 100644 --- a/docs/ko/qgc-user-guide/index.md +++ b/docs/ko/qgc-user-guide/index.md @@ -1,8 +1,9 @@ # QGroundControl 사용자 안내서 -[![배포](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases) [![토론](https://img.shields.io/badge/discuss-px4-ff69b4.svg)](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-usage) [![토론](https://img.shields.io/badge/discuss-ardupilot-ff69b4.svg)](http://discuss.ardupilot.org/c/ground-control-software/qgroundcontrol) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mavlink/qgroundcontrol?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![슬랙](../../assets/site/slack.svg)](https://join.slack.com/t/px4/shared_invite/zt-si4xo5qs-R4baYFmMjlrT4rQK5yUnaA) +[![배포](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases) [![토론](https://img.shields.io/badge/discuss-px4-ff69b4.svg)](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-usage) [![토론](https://img.shields.io/badge/discuss-ardupilot-ff69b4.svg)](http://discuss.ardupilot.org/c/ground-control-software/qgroundcontrol) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mavlink/qgroundcontrol?utm_source=badge\&utm_medium=badge\&utm_campaign=pr-badge\&utm_content=badge) [![슬랙](../../assets/site/slack.svg)](https://join.slack.com/t/px4/shared_invite/zt-si4xo5qs-R4baYFmMjlrT4rQK5yUnaA) -*QGroundControl*을 이용하여 PX4나 ArduPilot 구동 차량을 설정하고 운행할 수 있습니다. 초보자를 위한 쉽고 간편한 기능 뿐만 아니라 숙련자를 위한 고급 기능들도 제공합니다. +_QGroundControl_을 이용하여 PX4나 ArduPilot 구동 차량을 설정하고 운행할 수 있습니다. +초보자를 위한 쉽고 간편한 기능 뿐만 아니라 숙련자를 위한 고급 기능들도 제공합니다. **주요 기능:** @@ -11,15 +12,16 @@ - 자율 비행을 위한 미션 계획 - 기체 위치, 비행 트랙, 웨이포인트 및 기체 계기를 표출하는 지도 디스플레이 - 기기 디스플레이 오버레이를 이용한 비디오 스트리밍 -- 다양한 기체 관리 방법들을 제공 +- Support for managing multiple vehicles. - QGroundControl은 Windows, OS X, Linux 플랫폼, iOS 및 Android 장치에서 실행됩니다. ![](../../assets/quickstart/connected_vehicle.jpg) -::: info -이 설명서는 작업 중인 버전입니다. 정확한 정보를 제공하기 위하여 노력하였습니다. 그럼에도 불구하고, 누락되거나 잘못된 부분이 있을 수 있습니다. +:::info +이 설명서는 작업 중인 버전입니다. +정확한 정보를 제공하기 위하여 노력하였습니다. 그럼에도 불구하고, 누락되거나 잘못된 부분이 있을 수 있습니다. ::: -::: tip -*QGroundControl*에 관련된 개발, 아키텍처, 기여 및 번역에 관련한 정보는 [개발자 가이드](https://dev.qgroundcontrol.com/en/)를 참고하십시오. +:::tip +_QGroundControl_에 관련된 개발, 아키텍처, 기여 및 번역에 관련한 정보는 [개발자 가이드](https://dev.qgroundcontrol.com/en/)를 참고하십시오. ::: diff --git a/docs/ko/qgc-user-guide/plan_view/pattern.md b/docs/ko/qgc-user-guide/plan_view/pattern.md index a0c8ea7e5a6..5d6a0223ddb 100644 --- a/docs/ko/qgc-user-guide/plan_view/pattern.md +++ b/docs/ko/qgc-user-guide/plan_view/pattern.md @@ -1,14 +1,13 @@ # 패턴 -_패턴 도구_([계획 화면](../plan_view/plan_view.md) _계획 도구_)를 사용하면 간단한 그래픽 UI를 사용하여 복잡한 비행 패턴을 지정할 수 있습니다. 사용 가능한 패턴 도구는 기체및 플라이트 스택의 유형에 따라 달라질 수 있습니다. +_패턴 도구_([계획 화면](../plan_view/plan_view.md) _계획 도구_)를 사용하면 간단한 그래픽 UI를 사용하여 복잡한 비행 패턴을 지정할 수 있습니다. +The available pattern tools depend on the vehicle (and support for the vehicle-type in the flight stack). ![패턴 도구(계획 도구)](../../../assets/plan/pattern/pattern_tool.jpg) -| 패턴 | 설명 | 차량 | -| ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | ------ | -| [탐사](../plan_view/pattern_survey.md) | 다각형 영역에 그리드 비행 패턴을 작성합니다. | -| 지오태깅 이미지 생성에 적합한 그리드 및 카메라 설정에 대한 사양과 다각형을 지정할 수 있습니다. | 전체 | -| [구조물 스캔](../plan_view/pattern_structure_scan_v2.md) | 수직 표면(다각형 또는 원형) 위의 이미지를 캡처하는 그리드 비행 패턴을 작성합니다. | -| 일반적으로 육안 검사 또는 구조물의 3D 모델을 생성합니다. | 멀티콥터, VTOL | -| [복도 스캔](../plan_view/pattern_corridor_scan.md) | 폴리라인을 따르는 비행 패턴을 생성합니다(예: 도로 측량). | 전체 | -| [고정익 착륙](../plan_view/pattern_fixed_wing_landing.md) | 임무에 고정익의 착륙 패턴을 추가합니다. | 고정익 | +| 패턴 | 설명 | 차량 | +| ---------------------------------------------------- | --------------------------------------------------------------------------------- | ---------- | +| [탐사](../plan_view/pattern_survey.md) | 다각형 영역에 그리드 비행 패턴을 작성합니다. 지오태깅 이미지 생성에 적합한 그리드 및 카메라 설정에 대한 사양과 다각형을 지정할 수 있습니다. | 전체 | +| [구조물 스캔](../plan_view/pattern_structure_scan_v2.md) | 수직 표면(다각형 또는 원형) 위의 이미지를 캡처하는 그리드 비행 패턴을 작성합니다. 일반적으로 육안 검사 또는 구조물의 3D 모델을 생성합니다. | 멀티콥터, VTOL | +| [복도 스캔](../plan_view/pattern_corridor_scan.md) | 폴리라인을 따르는 비행 패턴을 생성합니다(예: 도로 측량). | 전체 | +| [고정익 착륙](../plan_view/pattern_fixed_wing_landing.md) | 임무에 고정익의 착륙 패턴을 추가합니다. | Fixed Wing | diff --git a/docs/ko/qgc-user-guide/plan_view/pattern_corridor_scan.md b/docs/ko/qgc-user-guide/plan_view/pattern_corridor_scan.md index 39a919ae28f..9ad6d10f058 100644 --- a/docs/ko/qgc-user-guide/plan_view/pattern_corridor_scan.md +++ b/docs/ko/qgc-user-guide/plan_view/pattern_corridor_scan.md @@ -1,6 +1,6 @@ # 복도 스캔 (계획 패턴) -복도 스캔은 폴리라인 형태의 비행 패턴을 생성합니다. 도로 측량 등에 사용할 수 있습니다. 대부분의 자동조종장치와 차량 유형에 적용하여 사용할 수 있습니다. +복도 스캔은 폴리라인 형태의 비행 패턴을 생성합니다. 도로 측량 등에 사용할 수 있습니다. It is supported on all autopilots and vehicle types. > **Important** 카메라를 이용한 복도 스캔 계획은 조사 영역의 지상 고도는 발사/홈 위치와 동일하다고 가정합니다. 조사 지역 아래의 지면 고도가 발사/홈 위치보다 높거나 낮으면 이미지의 효과적인 중첩이 계산된 것보다 (각각) 더 적거나 더 많이 발생합니다. 조사 지역 아래의 지상 고도가 발사/홈 위치보다 훨씬 높으면 차량이 나무, 장애물 또는 지상으로 날아가도록 하는 임무를 무심코 계획할 수 있습니다. 지형 추적을 사용하여 발사/홈 고도와 고도 차이가 큰 지형 위의 원하는 고도를 더 가깝게 유지하는 측량을 할 수 있습니다. @@ -12,18 +12,20 @@ 복도 스캔을 생성하려면: -1. [계획 뷰](../plan_view/plan_view.md)에서 *계획 도구*를 엽니다. -2. *계획 도구*에서 *패턴 도구*를 선택한 다음 *복도 스캔*을 선택합니다. +1. [계획 뷰](../plan_view/plan_view.md)에서 _계획 도구_를 엽니다. -![복도 스캔](../../../assets/plan/corridor_scan_menu.jpg) +2. _계획 도구_에서 _패턴 도구_를 선택한 다음 _복도 스캔_을 선택합니다. -그러면 지도에 복도 도형이 추가되고 임무 목록(오른쪽)에 _복도 스캔_ 항목이 추가됩니다. + ![복도 스캔](../../../assets/plan/corridor_scan_menu.jpg) + + 그러면 지도에 복도 도형이 추가되고 임무 목록(오른쪽)에 _복도 스캔_ 항목이 추가됩니다. 3. 지도에서 복도 끝을 스캔의 시작 위치와 끝 위치로 드래그합니다. -4. 선 중앙에 있는 `(+)` 기호를 클릭하여 정점을 추가합니다. 그런 다음, 새 정점을 원하는 복도 경로를 따라 위치로 끌어서 변경할 수 있습니다. +4. 선 중앙에 있는 `(+)` 기호를 클릭하여 정점을 추가합니다. + 그런 다음, 새 정점을 원하는 복도 경로를 따라 위치로 끌어서 변경할 수 있습니다. -복도 스캔에 관련된 설정은 다음 섹션에서 설명합니다. +The corridor scan settings are covered in the next section. ## 설정 @@ -31,7 +33,9 @@ ### 카메라 -카메라 트리거 동작은 카메라/카메라 설정에 따라 변경됩니다. 기존 카메라를 선택하거나 수동으로 설정할 수 있습니다. 사용 가능한 카메라(QGC 3.4) 목록은 아래와 같습니다. +카메라 트리거 동작은 카메라/카메라 설정에 따라 변경됩니다. +기존 카메라를 선택하거나 수동으로 설정할 수 있습니다. +사용 가능한 카메라(QGC 3.4) 목록은 아래와 같습니다. ![복도 스캔 - 카메라 선택](../../../assets/plan/corridor_scan_settings_camera_select.jpg) @@ -73,13 +77,14 @@ - **상대 고도** - 상대 고도를 지정하려면 선택합니다. 이것은 [지형 추적](#terrain_following)을 사용하지 않는 수동 그리드에만 지원됩니다. - **진입점 회전** - 버튼을 클릭하여 복도 스캔의 시작점과 끝점을 변경합니다. -### 지형 추적 {#terrain_following} +### 지형 추적 {#terrain\_following} -기본적으로 기체는 고정 고도에서 복도 경로를 따라 비행합니다. *지형 추적*을 활성화시에는 기체는 지면에 대하여 일정한 고도를 유지합니다. +기본적으로 기체는 고정 고도에서 복도 경로를 따라 비행합니다. +Enabling _Terrain Following_ makes the vehicle maintain a constant height relative to ground. ![복도 스캔 - 지형 추적 설정](../../../assets/plan/corridor_scan_settings_terrain.jpg) -::: info +:::info 지형 추적은 _AirMap_ 서버에서 쿼리한 지형 높이를 사용합니다. ::: diff --git a/docs/ko/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md b/docs/ko/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md index c1bf75b9d40..3226ad39ae0 100644 --- a/docs/ko/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md +++ b/docs/ko/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md @@ -1,10 +1,12 @@ # 고정익 착륙 패턴(계획 패턴) -_고정익 착륙 패턴_ 도구를 사용하여 임무에 고정익 착륙 패턴을 추가할 수 있습니다. ArduPilot과 PX4 모두에서 지원됩니다. +_고정익 착륙 패턴_ 도구를 사용하여 임무에 고정익 착륙 패턴을 추가할 수 있습니다. +ArduPilot과 PX4 모두에서 지원됩니다. ![고정익 착륙 패턴](../../../assets/plan/pattern/fixed_wing_landing_pattern.jpg) -패턴의 첫 번째 지점은 특정 고도를 가진 배회 지점이고 두 번째 지점은 착륙 지점입니다. 기체는 목표 고도에 도달할 때까지 첫 번째 지점에서 배회한 다음, 착륙 시퀀스를 순서대로 지정된 착륙 지점으로 비행합니다. +패턴의 첫 번째 지점은 특정 고도를 가진 배회 지점이고 두 번째 지점은 착륙 지점입니다. +기체는 목표 고도에 도달할 때까지 첫 번째 지점에서 배회한 다음, 착륙 시퀀스를 순서대로 지정된 착륙 지점으로 비행합니다. 배회 및 착륙 지점을 모두 새 위치로 드래그할 수 있으며, 관련 임무 항목에서 여러가지를 설정할 수 있습니다. @@ -12,16 +14,18 @@ _고정익 착륙 패턴_ 도구를 사용하여 임무에 고정익 착륙 패 착륙 패턴을 생성하려면: -1. [계획 뷰](../plan_view/plan_view.md)에서 *계획 도구*를 오픈합니다. -2. *계획 도구*에서 *패턴 도구*를 선택한 다음 *고정익 착륙 패턴*을 선택합니다. +1. [계획 뷰](../plan_view/plan_view.md)에서 _계획 도구_를 오픈합니다. -![고정익 착륙 패턴](../../../assets/plan/pattern/fixed_wing_landing_pattern_menu.jpg) +2. _계획 도구_에서 _패턴 도구_를 선택한 다음 _고정익 착륙 패턴_을 선택합니다. -그러면 임무 목록(오른쪽)에 _착륙 패턴_ 항목이 추가됩니다. + ![고정익 착륙 패턴](../../../assets/plan/pattern/fixed_wing_landing_pattern_menu.jpg) -![고정익 착륙 패턴](../../../assets/plan/pattern/fixed_wing_landing_pattern_mission_item_initial.jpg) + 그러면 임무 목록(오른쪽)에 _착륙 패턴_ 항목이 추가됩니다. -3. 지도를 클릭하여 배회 지점과 착륙 지점을 모두 생성합니다. 지도에서 이동할 수 있습니다. + ![고정익 착륙 패턴](../../../assets/plan/pattern/fixed_wing_landing_pattern_mission_item_initial.jpg) + +3. 지도를 클릭하여 배회 지점과 착륙 지점을 모두 생성합니다. + 지도에서 이동할 수 있습니다. 추가 설정은 다음 섹션에서 설명합니다. @@ -68,6 +72,6 @@ _착륙 지점_ 설정은 착륙 위치와 경로를 설정합니다. 이 두 위치가 차량의 플레어 제약을 위반하는 경우(예: 하강 각도가 너무 가파름) 기체에 잘못된 임무를 업로드한 후 오류가 발생합니다. -::: info +:::info PX4에서 플레어 제약 조건을 위반하면 업로드 시에는, 지상국에 오류 메시지가 전송되고 자동 조종 장치는 임무 시작을 거부합니다(무결성 검사에 실패했기 때문에). ::: diff --git a/docs/ko/qgc-user-guide/plan_view/pattern_presets.md b/docs/ko/qgc-user-guide/plan_view/pattern_presets.md index d9921f6e49b..48fab94a31e 100644 --- a/docs/ko/qgc-user-guide/plan_view/pattern_presets.md +++ b/docs/ko/qgc-user-guide/plan_view/pattern_presets.md @@ -2,7 +2,7 @@ 일반적인 설정을 명명된 사전 설정으로 저장할 수 있습니다. -::: info +:::info 현재는 탐색 패턴에서만 지원됩니다. 다른 패턴에 대한 지원은 개발 중입니다. ::: @@ -27,7 +27,7 @@ ## 사전 설정 조회 -사전 설정의 정확한 설정을 보려면, 모든 설정을 표시하는 **사용자 지정(모든 설정 지정)**으로 다시 전환합니다. 그런 다음 완료후, 명명된 사전 설정을 사용하도록 다시 전환할 수 있습니다. +사전 설정의 정확한 설정을 보려면, 모든 설정을 표시하는 \*\*사용자 지정(모든 설정 지정)\*\*으로 다시 전환합니다. 그런 다음 완료후, 명명된 사전 설정을 사용하도록 다시 전환할 수 있습니다. ## 계획 파일의 사전 설정 diff --git a/docs/ko/qgc-user-guide/plan_view/pattern_structure_scan_v2.md b/docs/ko/qgc-user-guide/plan_view/pattern_structure_scan_v2.md index fbebd1c2e7b..4c94e66de4b 100644 --- a/docs/ko/qgc-user-guide/plan_view/pattern_structure_scan_v2.md +++ b/docs/ko/qgc-user-guide/plan_view/pattern_structure_scan_v2.md @@ -1,28 +1,32 @@ # 구조물 스캔 (계획 패턴) -*구조물 스캔*은 임의의 다각형(또는 원형) 지면 공간이 있는 구조물 주변의 _수직 표면_(예: 벽) 위의 이미지를 캡처하는 그리드 비행 패턴을 생성합니다. 구조물 스캔은 일반적으로 육안 검사 또는 구조의 3D 모델을 생성합니다. +_구조물 스캔_은 임의의 다각형(또는 원형) 지면 공간이 있는 구조물 주변의 _수직 표면_(예: 벽) 위의 이미지를 캡처하는 그리드 비행 패턴을 생성합니다. +구조물 스캔은 일반적으로 육안 검사 또는 구조의 3D 모델을 생성합니다. -*구조물 스캔*은 계획 보기 **패턴 > 구조 스캔** 도구를 사용하여 미션에 삽입할 수 있습니다. +_구조물 스캔_은 계획 보기 **패턴 > 구조 스캔** 도구를 사용하여 미션에 삽입할 수 있습니다. -::: info -새 버전의 *구조물 스캔*은 이전 *구조물 스캔*과 호환되지 않습니다. 다시 생성하여야 합니다. +:::info +The new version of _Structure Scan_ can't read older _Structure Scan_ plans. 다시 생성하여야 합니다. ::: -::: warning -이 기능은 아직 ArduPilot 펌웨어에서 지원되지 않습니다. PX4에서만 지원됩니다. +:::warning +이 기능은 아직 ArduPilot 펌웨어에서 지원되지 않습니다. +PX4에서만 지원됩니다. ::: ## 개요 -아래 이미지는 구조물 스캔의 스크린샷을 나타냅니다. 녹색 다각형은 구조물의 지면 발자국을 표시하는 데 사용되며, 주변의 흰색 선은 차량의 비행 경로를 표시합니다. 비행 경로의 녹색 번호 원은 스캔 진입/종료 지점(스캔이 시작되는 지점)을 나타냅니다. +아래 이미지는 구조물 스캔의 스크린샷을 나타냅니다. +녹색 다각형은 구조물의 지면 발자국을 표시하는 데 사용되며, 주변의 흰색 선은 차량의 비행 경로를 표시합니다. +비행 경로의 녹색 번호 원은 스캔 진입/종료 지점(스캔이 시작되는 지점)을 나타냅니다. ![구조물 스캔](../../../assets/plan/structure_scan_v2/structure_scan.jpg) -스캔은 구조물을 레이어로 균등하게 나눕니다. 차량은 구조물로부터 특정 고도 및 *스캔 거리*에서 구조물 주위를 계속 날아간 다음 전체 표면이 스캔될 때까지 각 레이어에서 프로세스를 반복합니다. +차량은 구조물로부터 특정 고도 및 _스캔 거리_에서 구조물 주위를 계속 날아간 다음 전체 표면이 스캔될 때까지 각 레이어에서 프로세스를 반복합니다. ![레이어 JPG](../../../assets/plan/structure_scan_v2/layers.jpg) -사용자는 *스캔 바닥 고도*를 설정하여 구조물 바닥의 장애물을 피하고 *외부/출구 고도*를 설정하여 차량이 스캔을 오가는 동안 장애물을 피할 수 있습니다. +사용자는 _스캔 바닥 고도_를 설정하여 구조물 바닥의 장애물을 피하고 _외부/출구 고도_를 설정하여 차량이 스캔을 오가는 동안 장애물을 피할 수 있습니다. ## 스캔 생성 @@ -32,31 +36,32 @@ ![스캔 JPG 생성](../../../assets/plan/structure_scan_v2/create_scan.jpg) -2. 이렇게 하면 지도에 간단한 정사각형 구조물 스캔이 생성됩니다. +1. 이렇게 하면 지도에 간단한 정사각형 구조물 스캔이 생성됩니다. -![초기 폴리곤](../../../assets/plan/structure_scan_v2/initial_polygon_scan.jpg) + ![초기 폴리곤](../../../assets/plan/structure_scan_v2/initial_polygon_scan.jpg) -녹색으로 표시된 영역은 구조물을 둘러싸도록 수정하여야 합니다. + 녹색으로 표시된 영역은 구조물을 둘러싸도록 수정하여야 합니다. -- 지도의 불투명한 정점을 구조물의 가장자리로 드래그합니다(위의 자주색 원으로 표시된 예). -- 구조물 공간이 단순한 정사각형 이상인 경우 정점 사이의 반투명 원을 클릭하여 새 정점을 생성할 수 있습니다. + - 지도의 불투명한 정점을 구조물의 가장자리로 드래그합니다(위의 자주색 원으로 표시된 예). + - 구조물 공간이 단순한 정사각형 이상인 경우 정점 사이의 반투명 원을 클릭하여 새 정점을 생성할 수 있습니다. -3. 중앙의 "정점"(빨간색으로 표시)을 클릭하고 팝업 메뉴에서 *원*을 선택하여 원형 발자국으로 변경할 수 있습니다. +2. 중앙의 "정점"(빨간색으로 표시)을 클릭하고 팝업 메뉴에서 _원_을 선택하여 원형 발자국으로 변경할 수 있습니다. -![원형 스캔](../../../assets/plan/structure_scan_v2/circle_scan.jpg). + ![원형 스캔](../../../assets/plan/structure_scan_v2/circle_scan.jpg). -- 팝업 메뉴에서 폴리곤 풋프린트로 다시 전환하고 스캔의 반경 및/또는 위치를 변경할 수 있습니다. -- 중심 정점을 드래그하여 원의 중심점을 배치합니다. + - 팝업 메뉴에서 폴리곤 풋프린트로 다시 전환하고 스캔의 반경 및/또는 위치를 변경할 수 있습니다. + - 중심 정점을 드래그하여 원의 중심점을 배치합니다. -4. 나머지 구성은 보기의 오른쪽에 있는 _구조물 스캔_ 편집기를 사용하여 처리합니다. 먼저 수동 스캔을 수행할지, 특정 카메라를 사용한 스캔 또는 사용자 정의 카메라 정의를 사용한 스캔을 수행할 지를 선택합니다. +3. 나머지 구성은 보기의 오른쪽에 있는 _구조물 스캔_ 편집기를 사용하여 처리합니다. + 먼저 수동 스캔을 수행할지, 특정 카메라를 사용한 스캔 또는 사용자 정의 카메라 정의를 사용한 스캔을 수행할 지를 선택합니다. ::: info 모드 간의 주요 차이점은 사전 정의된 카메라가 이미 유효 레이어 높이와 트리거 거리를 계산하도록 설정되어 있는 것입니다. ::: -다양한 모드에 대한 옵션이 아래와 같습니다. + 다양한 모드에 대한 옵션이 아래와 같습니다. -![구조물 스캔 에디터](../../../assets/plan/structure_scan_v2/editor_options.jpg) + ![구조물 스캔 에디터](../../../assets/plan/structure_scan_v2/editor_options.jpg) 사용자는 아래의 항목들을 설정할 수 있습니다. @@ -66,18 +71,22 @@ - **고도 진입/진출** 이 설정을 사용하면 마지막/다음 웨이포인트와 스캔할 구조물 사이의 장애물을 회피할 수 있습니다. - 차량은 이 고도의 _출입구_ 지점으로 비행한 다음 초기 레이어로 하강하여 스캔을 시작합니다. - 차량은 스캔을 완료한 후 이 고도까지 상승한 후 다음 웨이포인트로 이동합니다. -- **Scan Bottom Alt:** 이 설정을 사용하여 구조물 바닥 주변의 장애물을 회피합니다. 이렇게 하면 구조물의 바닥이 지면보다 높기 때문에 첫 번째 스캔의 고도가 조정됩니다(가장 낮은 레이어 비행 경로의 높이는 스캔 통계에 *하부 레이어 고도*으로 표시됨). +- **Scan Bottom Alt:** 이 설정을 사용하여 구조물 바닥 주변의 장애물을 회피합니다. + 이렇게 하면 구조물의 바닥이 지면보다 높기 때문에 첫 번째 스캔의 고도가 조정됩니다(가장 낮은 레이어 비행 경로의 높이는 스캔 통계에 _하부 레이어 고도_으로 표시됨). - **진입점 회전:** 시작/종료 지점을 비행 경로의 다음 정점/위치로 이동합니다. -나머지 설정은 *카메라 모드*에 따라 다릅니다. +나머지 설정은 _카메라 모드_에 따라 다릅니다. - _수동 모드_ 다음을 지정할 수 있습니다. - - **레이어 높이:** 각 레이어의 높이입니다. - - **트리거 거리:** 각 카메라 트리거 사이의 거리입니다. 카메라는 레이어 경로를 비행하는 동안에만 트리거됩니다. 한 레이어에서 다음 레이어로 전환하는 동안 이미지를 트리거하지 않습니다. + - **트리거 거리:** 각 카메라 트리거 사이의 거리입니다. + 카메라는 레이어 경로를 비행하는 동안에만 트리거됩니다. + 한 레이어에서 다음 레이어로 전환하는 동안 이미지를 트리거하지 않습니다. - **짐벌 피치** - 스캔에 사용할 짐벌 피치입니다. -- _알려진/사전 정의된 카메라_ 필요한 이미지 중첩에서 레이어 높이와 이미지 트리거를 자동으로 계산하고 스캔 거리를 절충하고 이미지 해상도를 요구할 수 있습니다. 또한, 이미지 캡처시 카메라가 표면을 직접 가리키도록 합니다(즉, 접선이 아닌 직각으로). 설정은 다음과 같습니다: +- _알려진/사전 정의된 카메라_ 필요한 이미지 중첩에서 레이어 높이와 이미지 트리거를 자동으로 계산하고 스캔 거리를 절충하고 이미지 해상도를 요구할 수 있습니다. + 또한, 이미지 캡처시 카메라가 표면을 직접 가리키도록 합니다(즉, 접선이 아닌 직각으로). + 설정은 다음과 같습니다: - **카메라 방향:** 세로 또는 가로 - _중첩_: diff --git a/docs/ko/qgc-user-guide/plan_view/pattern_survey.md b/docs/ko/qgc-user-guide/plan_view/pattern_survey.md index 0a9a82d3398..855291dede0 100644 --- a/docs/ko/qgc-user-guide/plan_view/pattern_survey.md +++ b/docs/ko/qgc-user-guide/plan_view/pattern_survey.md @@ -1,11 +1,14 @@ # 탐사 (패턴 계획) -탐사 기능으로 다각형 영역에 그리드 비행 패턴을 생성할 수 있습니다. 임의의 다각형, 그리드의 각도 및 기타 속성, 지오태깅된 이미지 생성에 적합한 카메라 설정을 지정할 수 있습니다. +탐사 기능으로 다각형 영역에 그리드 비행 패턴을 생성할 수 있습니다. +임의의 다각형, 그리드의 각도 및 기타 속성, 지오태깅된 이미지 생성에 적합한 카메라 설정을 지정할 수 있습니다. ::: warning -조사 지역에 고도 변화가 심한 경우 [지형 추적](#terrain)을 활성화하는 것이 좋습니다. +If the survey area has significant elevation variation then consider enabling [Terrain Following](#terrain). -카메라 사양을 사용하여 측량을 계획할 때 측량 영역 아래의 지면은 평평한 것으로 가정합니다. 즉, 이륙 홈 위치와 동일한 고도에 있습니다. 측량 아래의 지면 고도가 홈 위치보다 높거나 낮으면, 이미지의 효과적인 중첩이 계산된 것보다 (각각) 더 적거나 많을 것입니다. 조사 지역 아래의 지상 고도가 홈 위치보다 _상당히_ 높으면 차량이 지상 장애물로 날아가도록 하는 잘못된 임무 경로를 계획할 수 있습니다. +카메라 사양을 사용하여 측량을 계획할 때 측량 영역 아래의 지면은 평평한 것으로 가정합니다. +측량 아래의 지면 고도가 홈 위치보다 높거나 낮으면, 이미지의 효과적인 중첩이 계산된 것보다 (각각) 더 적거나 많을 것입니다. +조사 지역 아래의 지상 고도가 홈 위치보다 _상당히_ 높으면 차량이 지상 장애물로 날아가도록 하는 잘못된 임무 경로를 계획할 수 있습니다. 지형 추적을 사용하면 측량이 지형 위의 원하는 고도와 더 가깝게 일치하도록 하고 지면 수준에 너무 가까운 임무를 계획할 가능성을 줄입니다. ::: @@ -16,30 +19,34 @@ 탐사를 생성하려면: -1. [계획 뷰](../plan_view/plan_view.md)에서 *계획 도구*를 엽니다. -2. *계획 도구*에서 *패턴 도구*를 선택한 다음 *탐사*를 선택합니다. +1. [계획 뷰](../plan_view/plan_view.md)에서 _계획 도구_를 엽니다. -![탐사 메뉴](../../../assets/plan/survey/survey_menu.jpg) +2. _계획 도구_에서 _패턴 도구_를 선택한 다음 _탐사_를 선택합니다. -그러면 지도에 설문조사 그리드가 추가되고 임무 목록(오른쪽)에 _설문조사_ 항목이 추가됩니다. + ![탐사 메뉴](../../../assets/plan/survey/survey_menu.jpg) + + 그러면 지도에 설문조사 그리드가 추가되고 임무 목록(오른쪽)에 _설문조사_ 항목이 추가됩니다. 3. 지도에서 정점을 끌어 다각형의 모양을 변경합니다. -4. 기존 정점 사이의 `(+)` 기호를 클릭하여 새 정점을 만듭니다. 그런 다음 새 정점을 새 위치로 끌어서 수정할 수 있습니다. +4. 기존 정점 사이의 `(+)` 기호를 클릭하여 새 정점을 만듭니다. + 그런 다음 새 정점을 새 위치로 끌어서 수정할 수 있습니다. -탐사에 관련된 설정은 다음 섹션에서 설명합니다. +The survey settings are covered in the next section. ## 설정 -설문조사는 연결된 미션 항목(*플랜 보기*의 오른쪽에 있는 미션 항목 목록)에서 추가하여 설정할 수 있습니다. +설문조사는 연결된 미션 항목(_플랜 보기_의 오른쪽에 있는 미션 항목 목록)에서 추가하여 설정할 수 있습니다. ### 카메라 -카메라 트리거 동작은 카메라/카메라 설정에 따라 차이가 납니다. 기존 카메라, 사용자 지정 카메라를 선택하거나 수동으로 설정을 입력할 수 있습니다. 사용 가능한 카메라(QGC 3.4) 목록은 아래와 같습니다. +카메라 트리거 동작은 카메라/카메라 설정에 따라 차이가 납니다. +기존 카메라, 사용자 지정 카메라를 선택하거나 수동으로 설정을 입력할 수 있습니다. +사용 가능한 카메라(QGC 3.4) 목록은 아래와 같습니다. ![탐사 - 카메라 선택](../../../assets/plan/survey/survey_camera_select.jpg) -#### 알려진 카메라 {#known_camera} +#### 알려진 카메라 {#known\_camera} 드롭다운 옵션에서 알려진 카메라를 선택하면 카메라 기능을 기반으로 격자 패턴이 생성됩니다. @@ -48,12 +55,13 @@ 설정 옵션을 사용하여 설문조사에 대한 기본 설정을 조정할 수 있습니다. - **가로/세로** - 차량의 "정상" 방향을 기준으로 한 카메라 방향입니다. -- **겹침** - 각 이미지 캡처 간에 겹칩니다. 그리드 라인을 따라 비행하거나 그리드 라인을 가로 질러 비행할 때 별도로 설정할 수 있습니다. +- **겹침** - 각 이미지 캡처 간에 겹칩니다. + 그리드 라인을 따라 비행하거나 그리드 라인을 가로 질러 비행할 때 별도로 설정할 수 있습니다. - 하나를 선택하십시오: - **고도** - 조사 고도(지상 해상도가 이 고도에 대해 계산/표시됨). - **지상 해상도** - 각 이미지의 지상 해상도(해상도를 계산하고 표시하는 데 필요한 고도). -#### 카메라 최적화 {#custom_camera} +#### 카메라 최적화 {#custom\_camera} 사용자 정의 카메라 옵션을 선택하면 알려진 카메라와 유사한 방식으로 새 카메라에 대한 설정을 지정할 수 있습니다. @@ -79,7 +87,7 @@ - **트리거 거리** - 각 카메라 샷 사이의 지상 거리입니다. - **간격** - 복도를 가로지르는 인접한 그리드(비행 경로) 선 사이의 거리입니다. -### 횡단 +### Transects _횡단_ 섹션은 사용된 카메라와 독립적인 그리드를 설정합니다. @@ -87,21 +95,24 @@ _횡단_ 섹션은 사용된 카메라와 독립적인 그리드를 설정합니 설정 옵션은 다음과 같습니다: -- **각도** - 북쪽을 기준으로 한 그리드 선의 각도입니다. ![탐사 - 각도](../../../assets/plan/survey/survey_transects_angle.jpg) +- **각도** - 북쪽을 기준으로 한 그리드 선의 각도입니다. + ![탐사 - 각도](../../../assets/plan/survey/survey_transects_angle.jpg) - **회전 거리** - 차량 회전을 위해 조사 영역 외부에 추가할 추가 거리의 양입니다. - **진입점 회전** - 버튼을 눌러 설문조사의 시작점과 끝점을 변경합니다. - **마우스를 가져가서 이미지 캡처** - 마우스를 가져가서 이미지를 캡처합니다(멀티콥터만 해당). -- **90도 오프셋으로 비행** - 전체 임무를 90도 오프셋으로 되돌립니다. ![탐사 - 비행 오프셋](../../../assets/plan/survey/survey_transects_offset.jpg) +- **90도 오프셋으로 비행** - 전체 임무를 90도 오프셋으로 되돌립니다. + ![탐사 - 비행 오프셋](../../../assets/plan/survey/survey_transects_offset.jpg) - **회전 중인 이미지** - 회전시 이미지를 촬영합니다. - **상대 고도** - 홈을 기준으로 지정된 고도를 지정하려면 선택합니다(선택하지 않은 경우 AMSL임). ### 지형 -기본적으로 비행 차량은 고정 고도에서 측량 경로를 따릅니다. *지형 추적*을 활성화하면 차량이 지면에 대해 일정한 고도를 유지합니다. +기본적으로 비행 차량은 고정 고도에서 측량 경로를 따릅니다. +Enabling _Terrain Following_ makes the vehicle maintain a constant height relative to ground. ![탐사 - 지형 추적 설정](../../../assets/plan/survey/survey_terrain.jpg) -::: info +:::info 지형 추적은 _AirMap_ 서버에서 쿼리한 지형 높이를 사용합니다. ::: diff --git a/docs/ko/qgc-user-guide/plan_view/plan_geofence.md b/docs/ko/qgc-user-guide/plan_view/plan_geofence.md index ca644fb8454..4f5d8efcf8c 100644 --- a/docs/ko/qgc-user-guide/plan_view/plan_geofence.md +++ b/docs/ko/qgc-user-guide/plan_view/plan_geofence.md @@ -1,11 +1,13 @@ # 계획 뷰 - 지오펜스 -GeoFences를 사용하면 비행이 가능한 가상 영역 또는 비행이 _허용되지 않는_ 가상 영역을 만들 수 있습니다. 또한 허용된 지역을 벗어나 비행하는 경우 취해야 할 조치를 설정할 수 있습니다. +GeoFences를 사용하면 비행이 가능한 가상 영역 또는 비행이 _허용되지 않는_ 가상 영역을 만들 수 있습니다. +또한 허용된 지역을 벗어나 비행하는 경우 취해야 할 조치를 설정할 수 있습니다. ![지오펜스 개요](../../../assets/plan/geofence/geofence_overview.jpg) -::: info -**ArduPilot 사용자:** GeoFence 지원은 Rover 3.6 및 Copter 3.7 이상에서만 지원됩니다. 또한 일일 빌드 또는 Stable 3.6버전을 사용하여야 합니다(한 번 사용 가능). 연결된 차량에서 지원하지 않는 경우에는 *QGroundControl*은 GeoFence 옵션을 표시하지 않습니다. +:::info +**ArduPilot 사용자:** GeoFence 지원은 Rover 3.6 및 Copter 3.7 이상에서만 지원됩니다. 또한 일일 빌드 또는 Stable 3.6버전을 사용하여야 합니다(한 번 사용 가능). +연결된 차량에서 지원하지 않는 경우에는 _QGroundControl_은 GeoFence 옵션을 표시하지 않습니다. ::: ## 지오펜스 생성 @@ -13,14 +15,18 @@ GeoFences를 사용하면 비행이 가능한 가상 영역 또는 비행이 _ 지오펜스를 생성하려면: 1. 계획 뷰로 이동 + 2. 임무 명령 목록 위의 _지오펜스_ 라디오 버튼을 선택합니다. ![지오펜스 선택 라디오 버튼](../../../assets/plan/geofence/geofence_select.jpg) -3. **원형 울타리** 또는 **폴리곤 울타리** 버튼을 각각 눌러 원형 또는 다각형 영역을 삽입합니다. 새로운 지역이 지도와 버튼 아래의 관련 울타리 목록에 추가됩니다. - ::: tip - 버튼을 여러 번 눌러 여러 영역을 만들 수 있으므로 복잡한 지오펜스 정의를 생성할 수 있습니다. - ::: +3. **원형 울타리** 또는 **폴리곤 울타리** 버튼을 각각 눌러 원형 또는 다각형 영역을 삽입합니다. + 새로운 지역이 지도와 버튼 아래의 관련 울타리 목록에 추가됩니다. + +:::tip +::: tip +버튼을 여러 번 눌러 여러 영역을 만들 수 있으므로 복잡한 지오펜스 정의를 생성할 수 있습니다. +::: - 원형 영역: @@ -29,15 +35,21 @@ GeoFences를 사용하면 비행이 가능한 가상 영역 또는 비행이 _ - 지도의 중앙 점을 드래그하여 지역을 이동 - 원의 가장자리에 있는 점을 드래그하여 원의 크기를 조정합니다(또는 펜스 패널에서 반경 값을 변경할 수 있음). -- 다각형 영역: +- ::: + + 다각형 영역: ![폴리곤 지오펜스](../../../assets/plan/geofence/geofence_polygon.jpg) + - 채워진 점을 드래그하여 정점 이동 - 채워진 정점 사이의 선에서 "채워지지 않은" 점을 클릭하여 새 정점을 만듭니다. - 1. 기본적으로 새 지역은 _포함_ 영역으로 생성됩니다(차량은 지역 내에 있어야 함). 울타리 패널에서 연결된 _포함_ 확인란을 선택 취소하여 차량이 이동할 수 없는 제외 구역으로 변경합니다. + +1. 기본적으로 새 지역은 _포함_ 영역으로 생성됩니다(차량은 지역 내에 있어야 함). + 울타리 패널에서 연결된 _포함_ 확인란을 선택 취소하여 차량이 이동할 수 없는 제외 구역으로 변경합니다. ## 지오펜스 편집/삭제 -GeoFence 패널에서 _편집_ 라디오 버튼을 선택하여 편집할 지오펜스 영역을 선택할 수 있습니다. 그런 다음 이전 섹션에서 설명한 대로 지도에서 지역을 편집할 수 있습니다. +GeoFence 패널에서 _편집_ 라디오 버튼을 선택하여 편집할 지오펜스 영역을 선택할 수 있습니다. +그런 다음 이전 섹션에서 설명한 대로 지도에서 지역을 편집할 수 있습니다. 지역은 연결된 **Del** 버튼을 눌러 삭제할 수 있습니다. diff --git a/docs/ko/qgc-user-guide/plan_view/plan_rally_points.md b/docs/ko/qgc-user-guide/plan_view/plan_rally_points.md index 296bb6518d3..9cd41028366 100644 --- a/docs/ko/qgc-user-guide/plan_view/plan_rally_points.md +++ b/docs/ko/qgc-user-guide/plan_view/plan_rally_points.md @@ -1,9 +1,13 @@ # 계획 뷰 - 랠리 포인트 -랠리 포인트는 대체 착륙 또는 배회 장소입니다. 일반적으로 리턴/RTL 모드에서 홈 위치보다 더 안전하거나 더 편리한(예: 더 가까운) 목적지를 지정합니다. - -::: info -랠리 포인트는 Rover 3.6 및 Copter 3.7(또는 그 이상)의 ArduPilot에서만 지원됩니다. PX4 지원은 PX4 v1.10에 계획되어 있습니다. 또한 일일 빌드 또는 Stable 3.6 버전을 사용하여야 합니다(한 번 사용 가능). 연결된 차량에서 지원하지 않는 경우 *QGroundControl*은 랠리 포인트 옵션을 표시하지 않습니다. +랠리 포인트는 대체 착륙 또는 배회 장소입니다. +일반적으로 리턴/RTL 모드에서 홈 위치보다 더 안전하거나 더 편리한(예: 더 가까운) 목적지를 지정합니다. + +:::info +랠리 포인트는 Rover 3.6 및 Copter 3.7(또는 그 이상)의 ArduPilot에서만 지원됩니다. +PX4 지원은 PX4 v1.10에 계획되어 있습니다. +또한 일일 빌드 또는 Stable 3.6 버전을 사용하여야 합니다(한 번 사용 가능). +연결된 차량에서 지원하지 않는 경우 _QGroundControl_은 랠리 포인트 옵션을 표시하지 않습니다. ::: ![랠리 포인트](../../../assets/plan/rally/rally_points_overview.jpg) @@ -19,7 +23,7 @@ - 현재 활성화된 마커는 다른 색상(녹색)을 가지며 _집합 포인트_ 패널을 사용하여 편집할 수 있습니다. 4. 지도에서 랠리 포인트를 선택하여 활성화합니다. - 지도에서 드래그하거나 패널에서 위치를 편집하여 활성 랠리 포인트를 이동합니다. - - _집회 지점_ 패널에서 메뉴 옵션을 선택하여 활성 집결 지점을 삭제합니다. ![랠리 포인트 삭제](../../../assets/plan/rally/rally_points_delete.jpg) + - ![랠리 포인트 삭제](../../../assets/plan/rally/rally_points_delete.jpg) ## 랠리 포인트 업로드 diff --git a/docs/ko/qgc-user-guide/plan_view/plan_view.md b/docs/ko/qgc-user-guide/plan_view/plan_view.md index 227a57d3509..d466c61ceaf 100644 --- a/docs/ko/qgc-user-guide/plan_view/plan_view.md +++ b/docs/ko/qgc-user-guide/plan_view/plan_view.md @@ -1,19 +1,20 @@ # 계획 뷰 -*계획 뷰*에서는 차량에 대한 *자율 임무*를 계획하고 차량에 업로드합니다. 미션이 [계획](#plan_mission)되어 차량으로 전송되면 [비행 뷰](../fly_view/fly_view.md)로 전환하여 미션을 실행합니다. +_계획 뷰_에서는 차량에 대한 _자율 임무_를 계획하고 차량에 업로드합니다. 미션이 [계획](#plan_mission)되어 차량으로 전송되면 [비행 뷰](../fly_view/fly_view.md)로 전환하여 미션을 실행합니다. 펌웨어에서 지원하는 경우 [지오 펜스](plan_geofence.md)와 [랠리 포인트](plan_rally_points.md)를 설정할 수 있습니다. ![계획 뷰 ](../../../assets/plan/plan_view_overview.jpg) -## UI 개요 {#ui_overview} +## UI 개요 {#ui\_overview} -[위의 스크린샷](#plan_screenshot)은 [Planned Home](#planned_home) 위치(H)에서 이륙으로 시작하는 간단한 임무 계획을 보여줍니다. 3개의 웨이포인트를 통과한 다음 마지막 웨이포인트(즉, 웨이포인트 3)에 착륙합니다. +[위의 스크린샷](#plan_screenshot)은 [Planned Home](#planned_home) 위치(H)에서 이륙으로 시작하는 간단한 임무 계획을 보여줍니다. UI의 주요 요소는 다음과 같습니다. -- **지도:** [계획된 집](#planned_home)을 포함하여 현재 임무에 대한 번호가 매겨진 표시기를 표시합니다. 표시기를 클릭하여 선택하거나(편집용) 드래그하여 위치를 변경합니다. +- **지도:** [계획된 집](#planned_home)을 포함하여 현재 임무에 대한 번호가 매겨진 표시기를 표시합니다. + 표시기를 클릭하여 선택하거나(편집용) 드래그하여 위치를 변경합니다. - **계획 툴바:** 이전 웨이포인트와 관련된 현재 선택된 웨이포인트의 상태 정보와 전체 임무에 대한 통계(예: 임무를 위한 수평 거리 및 시간). - `최대 원격 거리`는 [계획된 홈](#planned_home)과 가장 먼 웨이포인트의 거리입니다. - 차량에 연결하면 **업로드** 버튼도 표시되며, 차량에 계획을 업로드할 수 있습니다. @@ -23,52 +24,57 @@ UI의 주요 요소는 다음과 같습니다. 현재 선택된 웨이포인트와 관련된 정보와 전체 미션에 대한 통계를 보여줍니다. -## 임무 계획 {#plan_mission} +## 임무 계획 {#plan\_mission} 매우 높은 수준에서 임무를 생성하는 단계는 다음과 같습니다. -1. *계획 뷰*로 변경합니다. +1. _계획 뷰_로 변경합니다. 2. 임무에 웨이포인트 또는 명령을 추가하고 필요에 따라 편집합니다. 3. 차량에 임무를 업로드합니다. -4. *비행 뷰*로 변경하여 임무 비행을 실히합니다. +4. _비행 뷰_로 변경하여 임무 비행을 실히합니다. 다음 섹션에서는 보기의 일부 세부 정보에 대해 설명합니다. -## 지정된 홈 위치 {#planned_home} +## 지정된 홈 위치 {#planned\_home} -*계획 뷰*에 표시된 *계획된 홈*은 임무 계획시 대략적인 시작 지점을 설정합니다(예: 차량이 QGC에 연결되지 않은 경우). QGC에서 임무 시간을 추정하고 웨이포인트 라인을 그립니다. +_계획 뷰_에 표시된 _계획된 홈_은 임무 계획시 대략적인 시작 지점을 설정합니다(예: 차량이 QGC에 연결되지 않은 경우). +QGC에서 임무 시간을 추정하고 웨이포인트 라인을 그립니다. ![지정된 홈 위치](../../../assets/plan/mission/mission_settings_planned_home.jpg) -계획된 홈 위치를 이륙 지점 근처로 끌어서 이동하여야 합니다. 계획된 홈 위치의 고도는 [미션 설정](#mission_settings) 패널에서 설정합니다. +계획된 홈 위치를 이륙 지점 근처로 끌어서 이동하여야 합니다. +계획된 홈 위치의 고도는 [미션 설정](#mission_settings) 패널에서 설정합니다. - + -::: tip +:::tip 비행 뷰는 시동시에 차량 펌웨어에 의해 설정된 _실제_ 홈 위치를 표시합니다(차량이 리턴/RTL 모드에서 복귀하는 위치). ::: -## 계획 도구 {#plan_tools} +## 계획 도구 {#plan\_tools} 계획 도구는 개별 웨이포인트 추가, 복잡한 형상에 대한 쉬운 임무 생성, 임무 업로드/다운로드/저장/복원 및 지도를 탐색합니다. 주요 도구는 아래와 같습니다. -::: tip +:::info **지도 중심 이동**, **확대**, **축소** 도구는 사용자가 _계획 보기_ 지도를 탐색을 편리하게 합니다(차량에 전송되는 임무 명령에는 영향을 미치지 않음). ::: ### 경유지 추가 -**경유지 추가** 도구를 클릭하여 활성화합니다. 활성 상태에서 지도를 클릭하면 클릭한 위치에 새 임무의 경유지가 추가됩니다. 도구는 다시 선택할 때까지 활성 상태를 유지합니다. 경유지를 추가한 후에는 경유지를 선택하고 끌어서 위치를 변경할 수 있습니다. +**경유지 추가** 도구를 클릭하여 활성화합니다. 활성 상태에서 지도를 클릭하면 클릭한 위치에 새 임무의 경유지가 추가됩니다. +도구는 다시 선택할 때까지 활성 상태를 유지합니다. +경유지를 추가한 후에는 경유지를 선택하고 끌어서 위치를 변경할 수 있습니다. ### 파일 (동기화) {#file} -*파일 도구*는 지상국과 차량 간에 임무를 이동하고 파일에서 저장/복원하는 데 사용됩니다. 도구에 `!`가 표시된면 차량에 임무 변경 내역이 완전하게 전송되지 않았음을 나타냅니다. +_파일 도구_는 지상국과 차량 간에 임무를 이동하고 파일에서 저장/복원하는 데 사용됩니다. +도구에 `!`가 표시된면 차량에 임무 변경 내역이 완전하게 전송되지 않았음을 나타냅니다. -::: info +:::info 비행에 임무를 차량에 업로드하여야 합니다. ::: -*파일 도구*는 다음과 같은 기능을 제공합니다. +_파일 도구_는 다음과 같은 기능을 제공합니다. - 업로드(차량으로 전송) - 다운로드(차량에서 적재) @@ -80,29 +86,35 @@ UI의 주요 요소는 다음과 같습니다. [패턴](Pattern.md) 도구는 [설문조사](../plan_view/pattern_survey.md) 및 [구조 스캔](../plan_view/pattern_structure_scan_v2.md)을 포함하여 복잡한 형상을 비행하기 위한 임무 생성을 단순화합니다. -## 임무 명령 목록 {#mission_command_list} +## 임무 명령 목록 {#mission\_command\_list} -현재 임무에 대한 임무 명령은 보기의 오른쪽에 나열됩니다. 상단에는 임무 편집, GeoFence 및 집회 지점 간을 전환하는 옵션 세트가 있습니다. 목록 내에서 개별 임무 항목을 선택하여 값을 편집할 수 있습니다. +현재 임무에 대한 임무 명령은 보기의 오른쪽에 나열됩니다. +상단에는 임무 편집, GeoFence 및 집회 지점 간을 전환하는 옵션 세트가 있습니다. +목록 내에서 개별 임무 항목을 선택하여 값을 편집할 수 있습니다. ![임무 명령 목록](../../../assets/plan/mission/mission_command_list.jpg) -### 임무 명령 편집자 {#mission_command_editors} +### 임무 명령 편집자 {#mission\_command\_editors} 목록에서 임무 명령을 클릭하면 편집기가 표시됩니다(여기에서 명령 속성을 설정/변경할 수 있음). -명령 이름을 클릭하여 명령의 **유형**을 변경할 수 있습니다(예: _경유지_). 그러면 아래와 같은 _임무 명령 선택_ 대화 상자가 표시됩니다. 기본적으로 이것은 "기본 명령"만 표시하지만 **범주** 드롭다운 메뉴를 사용하여 더 많이 표시할 수 있습니다(예: 모든 옵션을 보려면 **모든 명령** 선택). +명령 이름을 클릭하여 명령의 **유형**을 변경할 수 있습니다(예: _경유지_). +그러면 아래와 같은 _임무 명령 선택_ 대화 상자가 표시됩니다. +기본적으로 이것은 "기본 명령"만 표시하지만 **범주** 드롭다운 메뉴를 사용하여 더 많이 표시할 수 있습니다(예: 모든 옵션을 보려면 **모든 명령** 선택). - + -각 명령 이름의 오른쪽에는 _삽입_ 및 *삭제*와 같은 추가 옵션에 액세스하기 위해 클릭할 수 있는 메뉴가 있습니다. +각 명령 이름의 오른쪽에는 _삽입_ 및 _삭제_와 같은 추가 옵션에 액세스하기 위해 클릭할 수 있는 메뉴가 있습니다. -::: info -사용 가능한 명령 목록은 펌웨어 및 차량 유형에 따라 차이가 납니다. 예로는 경유지, 이미지 캡처 시작, 항목으로 이동(임무 반복) 및 기타 명령이 포함될 수 있습니다. +:::info +사용 가능한 명령 목록은 펌웨어 및 차량 유형에 따라 차이가 납니다. +예로는 경유지, 이미지 캡처 시작, 항목으로 이동(임무 반복) 및 기타 명령이 포함될 수 있습니다. ::: -### 임무 설정 {#mission_settings} +### 임무 설정 {#mission\_settings} -_임무 시작_ 패널은 [임무 명령 목록](#mission_command_list)에 나타나는 첫 번째 항목입니다. 임무 시작 또는 종료에 영향을 줄 수 있는 기본 설정 번호를 지정하는 데 사용할 수 있습니다. +_임무 시작_ 패널은 [임무 명령 목록](#mission_command_list)에 나타나는 첫 번째 항목입니다. +임무 시작 또는 종료에 영향을 줄 수 있는 기본 설정 번호를 지정하는 데 사용할 수 있습니다. ![임무 명령 목록 - 임무 설정 표시](../../../assets/plan/mission_start.png) @@ -110,9 +122,10 @@ _임무 시작_ 패널은 [임무 명령 목록](#mission_command_list)에 나 #### 임무 기본값 -##### 경로점 고도 +##### Waypoint alt -계획에 추가된 첫 번째 임무 항목의 기본 고도를 설정합니다(이후 항목은 이전 항목의 초기 고도를 가짐). 이것은 또한 계획에 있는 모든 항목의 고도를 동일한 값으로 변경하는 데 사용할 수 있습니다. 계획에 항목이 있을 때 값을 변경하면 메시지가 표시됩니다. +계획에 추가된 첫 번째 임무 항목의 기본 고도를 설정합니다(이후 항목은 이전 항목의 초기 고도를 가짐). +이것은 또한 계획에 있는 모든 항목의 고도를 동일한 값으로 변경하는 데 사용할 수 있습니다. ##### 비행 속도 @@ -126,12 +139,15 @@ _임무 시작_ 패널은 [임무 명령 목록](#mission_command_list)에 나 #### 지정된 홈 위치 -[계획된 홈 위치](#planned_home) 섹션에서는 임무를 계획하는 동안 차량의 홈 위치를 시뮬레이션할 수 있습니다. 이를 통해 이륙부터 임무 완료까지 차량의 경유지 궤적을 조회할 수 있습니다. +[계획된 홈 위치](#planned_home) 섹션에서는 임무를 계획하는 동안 차량의 홈 위치를 시뮬레이션할 수 있습니다. +이를 통해 이륙부터 임무 완료까지 차량의 경유지 궤적을 조회할 수 있습니다. ![임무 설정 계획된 홈 위치 섹션](../../../assets/plan/mission/mission_settings_planned_home_position_section.jpg) -::: info -이것은 _계획된_ 홈 위치일 뿐이며 차량을 출발할 계획인 위치에 놓아야 합니다. 미션 비행에 실질적인 영향은 없습니다. 차량의 실제 홈 위치는 시동시 차량에 의해 설정됩니다. +:::info +이것은 _계획된_ 홈 위치일 뿐이며 차량을 출발할 계획인 위치에 놓아야 합니다. +미션 비행에 실질적인 영향은 없습니다. +차량의 실제 홈 위치는 시동시 차량에 의해 설정됩니다. ::: 이 섹션에서는 **고도** 및 **홈을 지도 중심으로 설정**을 설정할 수 있습니다(지도에서 드래그하여 다른 위치로 이동할 수 있음). @@ -155,26 +171,31 @@ _임무 시작_ 패널은 [임무 명령 목록](#mission_command_list)에 나 차량에 대한 적절한 임무 명령은 펌웨어 및 차량 유형에 따라 차이가 납니다. -*차량에 연결*한 상태에서 임무를 계획하고 있다면 차량에 따라 펌웨어 및 차량 유형이 결정됩니다. 이 섹션에서는 차량에 연결되어 있지 않을 때 차량 펌웨어/유형을 지정할 수 있습니다. +_차량에 연결_한 상태에서 임무를 계획하고 있다면 차량에 따라 펌웨어 및 차량 유형이 결정됩니다. +이 섹션에서는 차량에 연결되어 있지 않을 때 차량 펌웨어/유형을 지정할 수 있습니다. ![임무 설정 차량 섹션](../../../assets/plan/mission/mission_settings_vehicle_info_section.jpg) -임무를 계획할 때 지정할 수 있는 추가 값은 차량 비행 속도입니다. 이 값을 지정하면 차량에 연결되지 않은 상태에서도 총 임무 또는 조사 시간을 대략적으로 계산할 수 있습니다. +임무를 계획할 때 지정할 수 있는 추가 값은 차량 비행 속도입니다. +이 값을 지정하면 차량에 연결되지 않은 상태에서도 총 임무 또는 조사 시간을 대략적으로 계산할 수 있습니다. ## 문제 해결 -### 미션(계획) 업로드/다운로드 실패 {#plan_transfer_fail} +### 미션(계획) 업로드/다운로드 실패 {#plan\_transfer\_fail} -계획 업로드 및 다운로드는 통신 장애로 인하여 실패할 수 있습니다(미션, GeoFence 및 집회 지점에 영향을 미침). 오류가 발생하면 QGC UI에 다음과 유사한 상태 메시지가 표시되어야 합니다. +계획 업로드 및 다운로드는 통신 장애로 인하여 실패할 수 있습니다(미션, GeoFence 및 집회 지점에 영향을 미침). +오류가 발생하면 QGC UI에 다음과 유사한 상태 메시지가 표시되어야 합니다. -> 미션 전송 실패. 전송 재시도. 오류: 임무 쓰기 임무 수에 실패했습니다. 최대 재시도 횟수를 초과하였습니다. +> 미션 전송 실패. 전송 재시도. 오류: 임무 쓰기 임무 수에 실패했습니다. -링크의 손실률은 [설정 보기 > MAVLink](../settings_view/mavlink.md)에서 볼 수 있습니다. 손실률은 낮은 한 자릿수(즉, 최대 2 또는 3)이어야 합니다. +링크의 손실률은 [설정 보기 > MAVLink](../settings_view/mavlink.md)에서 볼 수 있습니다. +손실률은 낮은 한 자릿수(즉, 최대 2 또는 3)이어야 합니다. - 한 자릿수 이상보다 높은 손실률은 간헐적인 고장을 야기할 수 있습니다. - 높은 손실률은 종종 100% 실패로 이어집니다. -문제가 플라이트 스택이나 QGC의 버그로 인해 발생할 가능성은 매우 적습니다. 이 가능성을 분석하기 위해 계획 업로드/다운로드에 대해 [콘솔 로깅](../settings_view/console_logging.md)을 켜고 프로토콜 메시지 트래픽을 검토할 수 있습니다. +문제가 플라이트 스택이나 QGC의 버그로 인해 발생할 가능성은 매우 적습니다. +이 가능성을 분석하기 위해 계획 업로드/다운로드에 대해 [콘솔 로깅](../settings_view/console_logging.md)을 켜고 프로토콜 메시지 트래픽을 검토할 수 있습니다. ## 추가 정보 diff --git a/docs/ko/qgc-user-guide/releases/daily_build_new_features.md b/docs/ko/qgc-user-guide/releases/daily_build_new_features.md index 034864eb08d..d29c39d24ea 100644 --- a/docs/ko/qgc-user-guide/releases/daily_build_new_features.md +++ b/docs/ko/qgc-user-guide/releases/daily_build_new_features.md @@ -1,5 +1,7 @@ # 일일 빌드 주요 변경 사항 -이 주제에는 마지막 [안정적인 릴리스](../releases/release_notes.md) 이후 *QGroundControl*에 추가된 새 기능의 높은 수준의 _완벽하지 않은_ 목록이 포함되어 있습니다. 이러한 기능은 [일일 빌드](../releases/daily_builds.md)에서 사용할 수 있습니다. 볼 수 있는 [변경 로그](https://github.com/mavlink/qgroundcontrol/blob/master/ChangeLog.md)도 있습니다. +이 주제에는 마지막 [안정적인 릴리스](../releases/release_notes.md) 이후 _QGroundControl_에 추가된 새 기능의 높은 수준의 _완벽하지 않은_ 목록이 포함되어 있습니다. +이러한 기능은 [일일 빌드](../releases/daily_builds.md)에서 사용할 수 있습니다. +볼 수 있는 [변경 로그](https://github.com/mavlink/qgroundcontrol/blob/master/ChangeLog.md)도 있습니다. - TBD diff --git a/docs/ko/qgc-user-guide/releases/daily_builds.md b/docs/ko/qgc-user-guide/releases/daily_builds.md index ee927bdab7e..ebdc68187f4 100644 --- a/docs/ko/qgc-user-guide/releases/daily_builds.md +++ b/docs/ko/qgc-user-guide/releases/daily_builds.md @@ -1,28 +1,32 @@ # 일일 빌드 -*QGroundControl*의 일일 빌드에는 [새로운 기능](../releases/daily_build_new_features.md)들을 제공합니다. +_QGroundControl_의 일일 빌드에는 [새로운 기능](../releases/daily_build_new_features.md)들을 제공합니다. :::warning -일일 빌드는 안정적인 빌드보다 테스트가 부족합니다. 위험을 감수하여야 사용할 수 있습니다. +일일 빌드는 안정적인 빌드보다 테스트가 부족합니다. +Use at your own risk! ::: 아래 링크에서 다운로드할 수 있습니다([다운로드 및 설치](../getting_started/download_and_install.md)에 설명된 대로 설치). - [윈도우](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl-installer.exe) + - [OS X](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl.dmg) ::: info - QGroundControl 미서명 문제로 인하여 Catalina에서 문제가 발생합니다. QGroundCcontrol을 실행하려면: + QGroundControl 미서명 문제로 인하여 Catalina에서 문제가 발생합니다. To open QGC app for the first time: - QGroundControl 앱 아이콘을 마우스 오른쪽 버튼으로 클릭하고 메뉴에서 열기를 선택합니다. 취소 옵션만 제공됩니다. 취소를 선택합니다. + - QGroundControl 앱 아이콘을 마우스 오른쪽 버튼으로 클릭하고, 메뉴에서 열기를 선택합니다. 취소 옵션만 제공됩니다. 취소를 선택합니다. + - QGroundControl 앱 아이콘을 마우스 오른쪽 버튼으로 클릭하고 메뉴에서 열기를 선택합니다. 이번에는 열기 옵션이 표시됩니다. - - QGroundControl 앱 아이콘을 마우스 오른쪽 버튼으로 클릭하고, 메뉴에서 열기를 선택합니다. 이번에는 열기 옵션이 표시됩니다. - ::: + ::: - [리눅스](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl.AppImage) -- [안드로이드](https://play.google.com/store/apps/details?id=org.mavlink.qgroundcontrolbeta) - Google Play: *QGroundControl(일일 테스트 빌드)*로 나열됩니다. + +- [안드로이드](https://play.google.com/store/apps/details?id=org.mavlink.qgroundcontrolbeta) - Google Play: \*QGroundControl(일일 테스트 빌드)\*로 나열됩니다. + - iOS에서는 현재 사용 불가합니다. -::: info +:::info QGroundControl Continous Delivery 파이프라인에서 Google Play 스토어에 업로드하는 데 문제가 발생할 수 있습니다. [QGroundControl32.apk](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl32.apk) 및 [QGroundControl64.apk](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl64.apk)에서 직접 다운로드할 수 있는 안드로이드 기기용 일일 빌드 APK를 찾을 수 있습니다. ::: diff --git a/docs/ko/qgc-user-guide/releases/index.md b/docs/ko/qgc-user-guide/releases/index.md index dca9656852e..dec0acc68b7 100644 --- a/docs/ko/qgc-user-guide/releases/index.md +++ b/docs/ko/qgc-user-guide/releases/index.md @@ -1,3 +1,3 @@ -# 배포 +# Releases -배포 및 일일 빌드에 대하여 설명합니다. +This section contains information about releases and daily builds. diff --git a/docs/ko/qgc-user-guide/releases/privacy_policy.md b/docs/ko/qgc-user-guide/releases/privacy_policy.md index 4bb128ba27a..f550f05d41d 100644 --- a/docs/ko/qgc-user-guide/releases/privacy_policy.md +++ b/docs/ko/qgc-user-guide/releases/privacy_policy.md @@ -1,6 +1,6 @@ # 개인정보 취급 방침 -*QGroundControl*은 개인 및/또는 민감한 사용자 데이터에 대한 액세스를 요구할 수 있습니다. 이 데이터는 _QGroundControl_ 외부에서 사용되지 않습니다. +_QGroundControl_은 개인 및/또는 민감한 사용자 데이터에 대한 액세스를 요구할 수 있습니다. 이 데이터는 _QGroundControl_ 외부에서 사용되지 않습니다. 아래 목록은 일부 데이터가 사용되는 방식을 설명합니다. diff --git a/docs/ko/qgc-user-guide/releases/release_notes.md b/docs/ko/qgc-user-guide/releases/release_notes.md index 4db956518d5..9da69f4a881 100644 --- a/docs/ko/qgc-user-guide/releases/release_notes.md +++ b/docs/ko/qgc-user-guide/releases/release_notes.md @@ -1,14 +1,15 @@ -# 배포 요약 +# Release Notes -*QGroundControl*의 지금까지의 배포판들의 정보들을 설명합니다. +This topic contains the cumulative release notes for _QGroundControl_. -::: info -안정적인 빌드 메이저 및 마이너 번호는 다음과 같습니다. _패치_ 배포 번호는 표시되어 있지 않으나, [Github 배포 페이지](https://github.com/mavlink/qgroundcontrol/releases)에서 나와 있습니다. +:::info +안정적인 빌드 메이저 및 마이너 번호는 다음과 같습니다. +_패치_ 배포 번호는 표시되어 있지 않으나, [Github 배포 페이지](https://github.com/mavlink/qgroundcontrol/releases)에서 나와 있습니다. ::: ## 안정 버전 4.0(현재) -::: info +:::info QGroundControl의 설정 형식은 이번 배포판에서 변경되었습니다. 즉, 모든 QGroundControl의 설정이 기본값으로 재설정됩니다. ::: @@ -53,14 +54,16 @@ QGroundControl의 설정 형식은 이번 배포판에서 변경되었습니다. ## 안정 버전 3.5 -이 섹션에는 버전 3.5에서 *QGroundControl*에 추가된 새 기능의 상위 수준 및 _전체_ 목록이 포함되어 있습니다. +이 섹션에는 버전 3.5에서 _QGroundControl_에 추가된 새 기능의 상위 수준 및 _전체_ 목록이 포함되어 있습니다. - **전체** - QGC에 Airmap 통합을 추가하였습니다. OSX 빌드 전용. - - 범프 설정 버전(현재 8). 이렇게 하면 모든 설정들이 기본값으로 재설정됩니다. + - 범프 설정 버전(현재 8). + 이렇게 하면 모든 설정들이 기본값으로 재설정됩니다. - 중국어, 터키어 및 부분적인 독일어 번역이 추가되었습니다. - Taisync 2.4GHz ViUlinx 디지털 HD 무선 네트웍 지원이 추가되었습니다. - - 여러 구성 요소에서 매개변수 로드를 수정합니다. 이것은 특히 WiFi 연결에 큰 변화가 일어났습니다. + - 여러 구성 요소에서 매개변수 로드를 수정합니다. + 이것은 특히 WiFi 연결에 큰 변화가 일어났습니다. - **ArduPilot** ChibiOS 펌웨어 연결 및 플래시 지원. - **설정** - **RTK** 설정/일반에서 고정 RTK 기반 스테이션 위치 지정에 대한 지원을 추가합니다. @@ -69,25 +72,29 @@ QGroundControl의 설정 형식은 이번 배포판에서 변경되었습니다. - 사용 가능한 경우 GCS 방향 표시 - **계획** - **폴리곤** SHP 파일에서 폴리곤 불러오기를 지원합니다. - - **고정익 착륙 패턴** 정지 사진 및 동영상 지원이 추가되었습니다. RTL을 수행하면 카메라가 중지되도록 기본값은 켜짐입니다. + - **고정익 착륙 패턴** 정지 사진 및 동영상 지원이 추가되었습니다. + RTL을 수행하면 카메라가 중지되도록 기본값은 켜짐입니다. - **위치 편집 대화상자** 폴리곤 정점에서 사용할 수 있습니다. - **비행** - - **카메라 페이지** 새로운 MAVLink 카메라 메시지에 대한 지원이 업데이트되었습니다. 카메라 선택, 카메라 모드, 사진/동영상 시작/중지, 스토리지 관리 등등 + - **카메라 페이지** 새로운 MAVLink 카메라 메시지에 대한 지원이 업데이트되었습니다. + 카메라 선택, 카메라 모드, 사진/동영상 시작/중지, 스토리지 관리 등등 - **궤도** 회전 방향 변경 지원. - **계기판** - - 새로운 estimatorStatus Vehicle FactGroup에 ESTIMATOR_STATUS 값을 추가하였습니다. 이제 계기판에 표시할 수 있습니다. + - 새로운 estimatorStatus Vehicle FactGroup에 ESTIMATOR\_STATUS 값을 추가하였습니다. + 이제 계기판에 표시할 수 있습니다. - 계기판에서 표시할 수 있도록 GCS까지의 거리를 설정합니다. - - 기준점 방향을 계기판에서 표시할 수 있도록 합니다. + - Make Heading to Home available for display from instrument panel. ## 안정 버전 3.4 -이 섹션에는 버전 3.4에서 *QGroundControl*에 추가된 새 기능의 상위 수준 및 _전체_ 목록이 포함되어 있습니다. 각 안정적인 릴리스에서 다수의 버그들이 수정되었습니다. +이 섹션에는 버전 3.4에서 _QGroundControl_에 추가된 새 기능의 상위 수준 및 _전체_ 목록이 포함되어 있습니다. 각 안정적인 릴리스에서 다수의 버그들이 수정되었습니다. - **설정** - **오프라인 지도** - Center Tool을 사용하면 위도/경도 또는 UTM 좌표로 지도 위치를 지정할 수 있습니다. 생성하는 오프라인 지도 영역을 편리하게 수정할 수 있습니다. - 오프라인 사용을 위해 지형 높이를 미리 다운로드합니다. - **Help** QGC 사용자 가이드 및 포럼에 대한 링크를 제공합니다. + - **설정** - **펌웨어** PX4 또는 ArduPilot Flow 펌웨어를 플래시하는 기능. - PX4 프로 펌웨어 @@ -96,33 +103,49 @@ QGroundControl의 설정 형식은 이번 배포판에서 변경되었습니다. - ArduPilot 펌웨어 - **전원/안전** 새로운 다중 배터리 설정을 지원합니다. - **Trad Heli** 새로운 설정 페이지. + - **계획** + - **파일 로드/저장** 표준 파일 로드/저장/다른 이름으로 저장 사용자 모델과 일치하는 계획 파일 로드를 위한 새 모델입니다. + - **KML 로드** 동기화 메뉴에서 직접 KML 파일을 로드하는 기능. 필요한 경우 KML에서 생성하려는 패턴 유형을 묻는 메시지가 표시됩니다. + - **탐사** 불규칙한 모양의 다각형에 대한 지원이 개선되었습니다. + - **[복도 스캔](../plan_view/pattern_corridor_scan.md)** - 폴리라인 형태의 비행 패턴을 생성합니다. 예를 들어, 도로 조사에 사용할 수 있습니다. + - **[고정익 착륙 패턴](../plan_view/pattern_fixed_wing_landing.md)** - 평면도에 시각적으로 표시되는 착륙 영역. - 착륙 위치/방향은 차량 위치/방향에서 복사할 수 있습니다. - - **지형** + + - **비행** + - 미션 아이템의 높이는 지형 위의 높이로 지정할 수 있습니다. - - 측량 및 복도 스캔은 지형을 따라 비행 계획을 생성할 수 있습니다. **Note** 이 기능은 [ArduPilot 지형 추적](http://ardupilot.org/copter/docs/common-terrain-following.html) 기능을 지원하지 않습니다. + - 측량 및 복도 스캔은 지형을 따라 비행 계획을 생성할 수 있습니다. + + **Note** 이 기능은 [ArduPilot 지형 추적](http://ardupilot.org/copter/docs/common-terrain-following.html) 기능을 지원하지 않습니다. + ::: + - **위치 편집** 차량 위치에서 항목 위치를 설정합니다. + - **비행** - **비행 전 체크리스트** 설정에서 이 기능을 켤 수 있습니다. 비행 전에 따라야 할 일반적인 체크리스트를 제공합니다. 3.5 일일 빌드에서 더 많은 기능이 제공할 예정입니다. - **계기판** - 많은 새로운 값을 표시할 수 있습니다. - - 많은 새로운 값을 표시할 수 있습니다. 새로운 MavLink 카메라 사양을 지원하는 카메라가 필요합니다. + - New Camera page which provides full camera control. 새로운 MavLink 카메라 사양을 지원하는 카메라가 필요합니다. - **ArduPlane** QuadPlane 지원을 포함하여 안내 명령에 대한 지원이 향상되었습니다. - - **높은 대기 시간 링크** 위성 연결과 같은 대기 시간이 긴 링크를 지원합니다. 비용을 줄이기 위하여 이러한 링크에서 QGroundControl에서 기체 트래픽을 제한합니다. HIGH_LATENCY MavLink 메시지를 지원합니다. 듀얼 링크 설정으로, 높은 대기 시간에서 일반 링크로의 장애 복구를 지원합니다. + - **높은 대기 시간 링크** 위성 연결과 같은 대기 시간이 긴 링크를 지원합니다. + 비용을 줄이기 위하여 이러한 링크에서 QGroundControl에서 기체 트래픽을 제한합니다. + HIGH\_LATENCY MavLink 메시지를 지원합니다. + 듀얼 링크 설정으로, 높은 대기 시간에서 일반 링크로의 장애 복구를 지원합니다. ## 안정 버전 3.3 -::: tip +:::tip 버전 3.3에 대한 자세한 출시 정보는 [여기](../releases/stable_v3.3_long.md)에서 확인할 수 있습니다. ::: -이 섹션에는 버전 3.3에서 *QGroundControl*에 추가된 새 기능의 상위 수준 및 _전체_ 목록이 포함되어 있습니다. 각 안정적인 릴리스에서 다수의 버그들이 수정되었습니다. +이 섹션에는 버전 3.3에서 _QGroundControl_에 추가된 새 기능의 상위 수준 및 _전체_ 목록이 포함되어 있습니다. Not to mention the large number of bug fixes of this release. - **설정** - 로컬 NMEA GPS 장치 지원. @@ -135,7 +158,7 @@ QGroundControl의 설정 형식은 이번 배포판에서 변경되었습니다. - **고정익 착륙 패턴** - 거리 또는 활공 경사 낙하율로 배회지에서 착륙 지점까지의 거리를 조정할 수 있습니다. - PX4 GeoFence 및 Rally Point 지원. - 낮은 임무 항목 고도 표시의 지형 고도 표시 -- **비행** +- **지형** - 비디오 녹화를 시작/중지합니다. - 여러 기체에 연결된 경우 기체 아이콘이 더 잘 표시됩니다. - 다중 기체 보기는 모든 기체에 적용되는 명령을 지원합니다. @@ -146,11 +169,11 @@ QGroundControl의 설정 형식은 이번 배포판에서 변경되었습니다. ## 안정 버전 3.2 -::: tip +:::tip 버전 3.2에 대한 자세한 출시 정보는 [여기](../releases/stable_v3.2_long.md)에서 확인할 수 있습니다. ::: -이 섹션에는 버전 3.2에서 *QGroundControl*에 추가된 새 기능의 상위 수준 및 _전체_ 목록이 포함되어 있습니다. +이 섹션에는 버전 3.2에서 _QGroundControl_에 추가된 새 기능의 상위 수준 및 _전체_ 목록이 포함되어 있습니다. - **설정** @@ -189,12 +212,12 @@ QGroundControl의 설정 형식은 이번 배포판에서 변경되었습니다. - **안내 작업** - 왼쪽에 새로운 작업 도구 모음이 있습니다. 지원: - 이륙 - 착륙 - - 출발지 복귀 + - RTL - 일시 중지 - 미션 시작 - 임무 재개 - 배터리 교체 후 - 고도 변경 - - 착륙 중단 + - Land Abort - 경로점 설정 - 위치 이동 - **차량 착륙 후 임무 제거** - 착륙 후 차량에서 임무를 제거하라는 메시지가 표시됩니다. @@ -207,7 +230,6 @@ QGroundControl의 설정 형식은 이번 배포판에서 변경되었습니다. - **Mavlink 콘솔** - NSH 셸 액세스 - **타사 맞춤형 QGroundControl 지원** - - 표준 QGroundControl는 여러가지 펌웨어 유형과 여러가지 기체 유형을 지원합니다. 이제 QGroundControl에서 지원이 제공되어 타사에서 사용자 지정 차량을 대상으로 하는 자체 사용자 지정 버전의 QGroundControl를 만들 수 있습니다. 그런 다음, 기체와과 함께 자체 버전의 QGroundControl를 출시할 수 있습니다. ## 안정 버전 3.1 @@ -221,7 +243,7 @@ QGroundControl의 설정 형식은 이번 배포판에서 변경되었습니다. - 더 빠른 액세스를 위해 입력 시 매개변수 편집기를 검색합니다. - 이제 매개변수에서 단위 변환을 지원합니다. - 로그 파일의 GeoTag 이미지(PX4만 해당) -- 계기판의 시스템 상태 +- System health in instrument panel - MAVLink 2.0 지원(아직 서명 없음) 주요 버그 수정 diff --git a/docs/ko/qgc-user-guide/releases/stable_v3.2_long.md b/docs/ko/qgc-user-guide/releases/stable_v3.2_long.md index 3075584ba50..d22dd5c06a9 100644 --- a/docs/ko/qgc-user-guide/releases/stable_v3.2_long.md +++ b/docs/ko/qgc-user-guide/releases/stable_v3.2_long.md @@ -1,18 +1,21 @@ # QGroundControl v3.2 릴리스 노트(추가) -이 섹션에는 버전 3.2에서 *QGroundControl*에 추가된 새 기능의 상위 수준 및 _전체_ 목록이 포함되어 있습니다. +이 섹션에는 버전 3.2에서 _QGroundControl_에 추가된 새 기능의 상위 수준 및 _전체_ 목록이 포함되어 있습니다. ## 설정 ### 원격 측정 로그 자동 저장 -*비행 후 텔레메트리 로그 저장*을 켠 경우 더 이상 차량이 시동 정지 시마다 로그를 저장 위치를 묻는 메시지가 표시되지 않습니다. 로그는 [애플리케이션 로드/저장 경로](../settings_view/general.md#load_save_path)에 자동으로 저장됩니다. +_비행 후 텔레메트리 로그 저장_을 켠 경우 더 이상 차량이 시동 정지 시마다 로그를 저장 위치를 묻는 메시지가 표시되지 않습니다. +로그는 [애플리케이션 로드/저장 경로](../settings_view/general.md#load_save_path)에 자동으로 저장됩니다. 자세한 내용은 [설정 > 일반(기타)](../settings_view/general.md#autosave_log)을 참고하십시오. ### 계획 자동 로드 -이 설정이 켜져 있으면, *QGroundControl*에 차량 연결시 계획을 자동으로 업로드합니다. 계획 파일의 이름은 **AutoLoad#.plan**이어야 하며, 여기서 `#`은 차량 Id로 대체됩니다. 계획 파일은 [응용 프로그램 로드/저장 경로](../settings_view/general.md#load_save_path)에 위치하여야 합니다. +이 설정이 켜져 있으면, _QGroundControl_에 차량 연결시 계획을 자동으로 업로드합니다. +계획 파일의 이름은 **AutoLoad#.plan**이어야 하며, 여기서 `#`은 차량 Id로 대체됩니다. +계획 파일은 [응용 프로그램 로드/저장 경로](../settings_view/general.md#load_save_path)에 위치하여야 합니다. 자세한 내용은 [설정 > 일반(기타)](../settings_view/general.md#autoload_missions)을 참고하십시오. @@ -24,7 +27,7 @@ ### RTK GPS -이제 연결된 RTK GPS와 함께 사용할 _정확도 조사_ 및 *최소 관찰 기간*을 지정할 수 있습니다. +이제 연결된 RTK GPS와 함께 사용할 _정확도 조사_ 및 _최소 관찰 기간_을 지정할 수 있습니다. 자세한 내용은 [설정 > 일반(RTK GPS)](../settings_view/general.md#rtk_gps)을 참고하십시오. @@ -38,11 +41,11 @@ 이제 라디오 설정 페이지의 트림 복사 버튼에서 지원됩니다. -## 계획 화면 {#plan_view} +## 계획 화면 {#plan\_view} ### 계획 파일 -이전 버전의 *QGroundControl*은 미션, 지오펜스 및 집회 지점을 별도의 파일(**.mission**, **.fence**, **.rally**)에 저장하였습니다 . QGroundControl은 이제 비행 계획과 관련된 모든 정보를 파일 확장자를 **.plan**인 *계획 파일*을 사용합니다. +이전 버전의 _QGroundControl_은 미션, 지오펜스 및 집회 지점을 별도의 파일(**.mission**, **.fence**, **.rally**)에 저장하였습니다 . QGroundControl은 이제 비행 계획과 관련된 모든 정보를 파일 확장자를 **.plan**인 _계획 파일_을 사용합니다. 형식에 대한 정보는 [계획 파일 형식](https://dev.qgroundcontrol.com/en/file_formats/plan.html)(QGroundControl 개발자 안내서)을 참고하십시오. @@ -50,21 +53,24 @@ ![계획 툴바](../../../assets/plan/plan_toolbar.jpg) -[계획 화면](../plan_view/plan_view.md) 상단에 새로운 *계획 도구 모음*이 표시됩니다. 현재 선택된 웨이포인트와 관련된 정보와 전체 미션에 대한 통계를 나타냅니다. +[계획 화면](../plan_view/plan_view.md) 상단에 새로운 _계획 도구 모음_이 표시됩니다. +현재 선택된 웨이포인트와 관련된 정보와 전체 미션에 대한 통계를 나타냅니다. 차량에 연결하면 **업로드** 버튼도 표시되며, 차량에 계획을 업로드할 수 있습니다. ### 임무 설정 -[미션 설정](../plan_view/plan_view.md#mission_settings) 패널을 사용하면 전체 미션에 적용되는 값을 지정하거나 미션 시작 시 바로 제어하려는 설정을 지정할 수 있습니다. 화면 오른쪽 미션 목록의 첫 번째 아이템입니다. +[미션 설정](../plan_view/plan_view.md#mission_settings) 패널을 사용하면 전체 미션에 적용되는 값을 지정하거나 미션 시작 시 바로 제어하려는 설정을 지정할 수 있습니다. +화면 오른쪽 미션 목록의 첫 번째 아이템입니다. - + #### 임무 기본값 -##### 경로점 고도 +##### Waypoint alt -새로 추가된 임무 항목의 기본 고도를 지정합니다. 임무를 로드한 상태에서 이 값을 업데이트하면, 모든 경로점들을 새로운 고도값으로 업데이트하는 메시지가 표시됩니다. +새로 추가된 임무 항목의 기본 고도를 지정합니다. +임무를 로드한 상태에서 이 값을 업데이트하면, 모든 경로점들을 새로운 고도값으로 업데이트하는 메시지가 표시됩니다. ##### 비행 속도 @@ -72,11 +78,11 @@ ##### 임무 종료 후 출발지 복귀 -최종 미션 아이템 이후에 차량이 출발지복귀를 설정합니다. +Check this if you want your vehicle to RTL after the final mission item. #### 카메라 선택 - + 카메라 섹션에서는 수행할 카메라 동작을 지정하고 짐벌을 제어하며 카메라를 사진 또는 비디오 모드로 설정합니다. @@ -89,9 +95,9 @@ - 동영상 녹화 시작 - 동영상 녹화 중지 -#### 기체 정보 섹션 +#### Vehicle Info section - + 임무 계획시, QGroundControl에서 기체에 적합한 임무 명령을 표시하려면 실행 중인 펌웨어와 기체 유형을 알아야 합니다. @@ -101,26 +107,26 @@ #### 지정된 홈 위치 - + 계획된 홈 위치를 사용하면, 임무를 계획하는 동안 기체의 홈 위치를 시뮬레이션할 수 있습니다. 이 방법을 통해 이륙에서 임무 완료까지 차량의 경로점들의 궤적을 조회할 수 있습니다. 이것은 "계획된" 홈 위치일 뿐이며 기체가 출발할 계획인 위치에 배치하여야 합니다. 미션 비행에 실질적인 영향은 없습니다. 차량의 실제 홈 위치는 시동시 결정됩니다. ### 새로운 경로점 기능 - + - 이제 각 경로점의 방향과 비행 속도를 조정할 수 있습니다. - 각 경로점에서 카메라 변경에 사용할 수 있는 카메라 섹션이 있습니다. 카메라 섹션에 대한 설명은 위의 미션 설정에서 읽을 수 있습니다. ### 비주얼 짐벌 방향 - + 경로점에서 짐벌 편요각 변경을 지정하면, 평면도와 조감도는 짐벌 방향을 시각적으로 나타냅니다. ### 패턴 도구 -새로운 *패턴 도구*가 있습니다. 아래의 패턴들을 사용할 수 있습니다: +새로운 _패턴 도구_가 있습니다. 아래의 패턴들을 사용할 수 있습니다: - 고정익 착륙 (신규) - 탐사(신규 기능) @@ -129,9 +135,12 @@ ![고정익 착륙 패턴](../../../assets/plan/pattern/fixed_wing_landing_pattern.jpg) -이것은 미션에 고정익 착륙 패턴을 추가합니다. 패턴의 첫 번째 지점은 기체가 특정 고도로 배회하도록 명령하는 배회 지점입니다. 해당 고도에 도달하면 기체는 착륙 시퀀스를 시작하고 지정된 착륙 지점으로 비행합니다. +이것은 미션에 고정익 착륙 패턴을 추가합니다. +패턴의 첫 번째 지점은 기체가 특정 고도로 배회하도록 명령하는 배회 지점입니다. +해당 고도에 도달하면 기체는 착륙 시퀀스를 시작하고 지정된 착륙 지점으로 비행합니다. -배회 지점과 착륙 지점 모두 드래그하여 수정할 수 있습니다. 또한, 패턴과 관련된 모든 다양한 값들을 수정할 수 있습니다. +배회 지점과 착륙 지점 모두 드래그하여 수정할 수 있습니다. +또한, 패턴과 관련된 모든 다양한 값들을 수정할 수 있습니다. 자세한 내용은 [고정 날개 착륙 패턴](../plan_view/pattern_fixed_wing_landing.md)을 참고하십시오. @@ -150,7 +159,7 @@ - 다각형 정점을 제거하려면, 해당 정점에 대한 드래그 핸들을 클릭하면 됩니다. - 두 개의 기존 정점 사이에 새 정점을 추가하려면, **+** 핸들을 클릭합니다. -## 비행 화면 +## Fly View ### RTK GPS @@ -164,24 +173,35 @@ - 이륙 - 착륙 -- 출발지 복귀 +- RTL - 일시 중지 - 액션 - 미션 시작 - 임무 재개 - 고도 변경 - - 착륙 중단 + - Land Abort - 지도와 직접 상호 작용 - 경로점 설정 - 위치 이동 #### 미션 재개 -미션 재개 가이드 액션은 배터리 교체를 위하여, 미션 내에서 출발지 복귀 후 미션을 재개합니다. 차량이 출발지 복귀후 착륙하고 배터리를 분리한 후 QGroundControl 연결를 중단하지 **마십시오**. 새 배터리를 장착하면, QGroundControl에서 기체를 다시 감지하고 자동으로 연결을 복원합니다. 이러한 일이 발생하면, 미션 재개 확인 슬라이더가 표시됩니다. 임무를 재개하려면, 이를 확인하고 지난 웨이포인트에서 임무를 재개합니다. 임무가 재개되면, 다시 시작하기 전에 재개된 임무를 검토할 수 있는 또 다른 임무 재개 슬라이드가 표시됩니다. 미션을 계속하려면 이 미션 재개 슬라이더를 확인하십시오. +미션 재개 가이드 액션은 배터리 교체를 위하여, 미션 내에서 출발지 복귀 후 미션을 재개합니다. +차량이 출발지 복귀후 착륙하고 배터리를 분리한 후 QGroundControl 연결를 중단하지 **마십시오**. +새 배터리를 장착하면, QGroundControl에서 기체를 다시 감지하고 자동으로 연결을 복원합니다. +Once this happens you will be prompted with a Resume Mission confirmation slider. +임무를 재개하려면, 이를 확인하고 지난 웨이포인트에서 임무를 재개합니다. +임무가 재개되면, 다시 시작하기 전에 재개된 임무를 검토할 수 있는 또 다른 임무 재개 슬라이드가 표시됩니다. +미션을 계속하려면 이 미션 재개 슬라이더를 확인하십시오. ###### 미션 재개 작동 방식 -임무를 재개하려면, 기체가 실행한 마지막 임무 항목에서 단순히 임무를 계속할 수 없습니다. 그 이유는 미션에서 해당 항목 이전에 중요한 변경 속도 명령이나 카메라 제어 명령을 건너뛸 수 있기 때문입니다. 이를 건너뛰면, 나머지 미션이 제대로 실행되지 않습니다. 재개 임무가 올바르게 작동을 위하여 QGroundControl은 비행 마지막 임무 항목에서 거꾸로 임무를 재구축하고 임무 전면에 관련 명령을 자동으로 추가합니다. 이렇게 하면 재개 시점 이전의 미션 상태가 복원됩니다. 다음 임무 명령은 스캔된 명령입니다. +임무를 재개하려면, 기체가 실행한 마지막 임무 항목에서 단순히 임무를 계속할 수 없습니다. +그 이유는 미션에서 해당 항목 이전에 중요한 변경 속도 명령이나 카메라 제어 명령을 건너뛸 수 있기 때문입니다. +이를 건너뛰면, 나머지 미션이 제대로 실행되지 않습니다. +재개 임무가 올바르게 작동을 위하여 QGroundControl은 비행 마지막 임무 항목에서 거꾸로 임무를 재구축하고 임무 전면에 관련 명령을 자동으로 추가합니다. +이렇게 하면 재개 시점 이전의 미션 상태가 복원됩니다. +다음 임무 명령은 스캔된 명령입니다. - `MAV_CMD_DO_CONTROL_VIDEO` - `MAV_CMD_DO_SET_ROI` @@ -200,7 +220,8 @@ ### 기체 착륙 후 임무 제거 -임무가 완료후, 기체가 착륙하고 무장 해제되면 기체의 임무를 제거하라는 메시지가 표시됩니다. 이는 오래된 임무가 의도치 않게 기체에 남겨져, 예기치 않은 동작을 일으키는 문제를 방지합니다. +임무가 완료후, 기체가 착륙하고 무장 해제되면 기체의 임무를 제거하라는 메시지가 표시됩니다. +이는 오래된 임무가 의도치 않게 기체에 남겨져, 예기치 않은 동작을 일으키는 문제를 방지합니다. ### 계기판 @@ -208,23 +229,25 @@ #### 비행 시간 -이제 계기판에 비행 시간을 표시할 수 있습니다. 신규 사용자의 경우 기본적으로 비행 시간이 표시됩니다. 이미 계기판 값을 수정한 기존 사용자의 경우, 이를 사용하려면 직접 추가하여야 합니다. +이제 계기판에 비행 시간을 표시할 수 있습니다. +신규 사용자의 경우 기본적으로 비행 시간이 표시됩니다. +이미 계기판 값을 수정한 기존 사용자의 경우, 이를 사용하려면 직접 추가하여야 합니다. ## [분석 화면](../analyze_view/index.md) -- [로그 다운로드](../analyze_view/log_download.md)가 메뉴에서 *분석 화면*으로 이동하였습니다. +- [로그 다운로드](../analyze_view/log_download.md)가 메뉴에서 _분석 화면_으로 이동하였습니다. - PX4 Pro 펌웨어에 대한 새로운 [GeoTag 이미지](../analyze_view/geotag_images.md) 지원 -- 기체에서 실행되는 *nsh 쉘*에 대한 액세스를 제공하는 새로운 [MAVLink 콘솔](../analyze_view/mavlink_console.md). +- 기체에서 실행되는 _nsh 쉘_에 대한 액세스를 제공하는 새로운 [MAVLink 콘솔](../analyze_view/mavlink_console.md). -## 다중 기체 화면 +## Multi-Vehicle View 여러 기체들이 QGroundControl에 연결된 경우 사용할 수 있는 새로운 화면을 제공합니다. 두 대 이상의 기체가 연결된 경우에만 표시됩니다. 이 경우 계획 화면의 오른쪽 상단에 추가 라디오 버튼 세트가 표시됩니다. - + 계기판을 다중 기체 목록으로 바꾸려면 **다중 기체** 라디오 버튼을 클릭합니다. - + 위의 예는 세 대의 기체를 나타냅니다. 숫자는 차량 ID입니다. 큰 글꼴은 현재 비행 모드입니다. 비행 모드 이름을 클릭하여 다른 비행 모드로 변경할 수 있습니다. 오른쪽에는 각 차량용 계기의 작은 버전이 있습니다. 제어판에서 기체의 다음 작업을 수행하도록 명령할 수 있습니다. @@ -233,9 +256,9 @@ - 출발지 복귀 - 임무에서 수동 제어로 돌아와 기체의 제어권을 확보합니다. -### 다중 기체 문제 - 고유 기체 ID +### Multi-Vehicle Gotchas - Unique vehicle ids -QGroundControl에 연결된 각 기체는 고유한 ID가 있어야 합니다. 그렇지 않으면, QGroundControl에서는 동일한 기체로 판별합니다. 이것의 증상은 한 기체를 다음 기체의 위치를 지정하려고 할 때 이리저리 흔들리는 평면 화면입니다. PX4 Pro 펌웨어의 경우 이것은 `MAV_SYS_ID` 매개변수입니다. ArduPilot 펌웨어의 경우 `SYSID_THISMAV` 매개 변수 +QGroundControl에 연결된 각 기체는 고유한 ID가 있어야 합니다. 그렇지 않으면, QGroundControl에서는 동일한 기체로 판별합니다. The symptom of this is the Plan view jerking around as it tries to position itself to one vehicle and then the next. PX4 Pro 펌웨어의 경우 이것은 `MAV_SYS_ID` 매개변수입니다. ArduPilot 펌웨어의 경우 `SYSID_THISMAV` 매개 변수 ## 타사 맞춤형 QGroundControl 지원 diff --git a/docs/ko/qgc-user-guide/releases/stable_v3.3_long.md b/docs/ko/qgc-user-guide/releases/stable_v3.3_long.md index f80c17198a1..e4bea0f89ca 100644 --- a/docs/ko/qgc-user-guide/releases/stable_v3.3_long.md +++ b/docs/ko/qgc-user-guide/releases/stable_v3.3_long.md @@ -1,6 +1,6 @@ # QGroundControl v3.3 릴리스 노트(추가) -이 섹션에는 버전 3.3에서 *QGroundControl*에 추가된 새 기능의 상위 수준 및 _전체_ 목록이 포함되어 있습니다. +이 섹션에는 버전 3.3에서 _QGroundControl_에 추가된 새 기능의 상위 수준 및 _전체_ 목록이 포함되어 있습니다. ## 상세 참고 사항 @@ -10,7 +10,8 @@ ![NMEA GPS 장치 지원](../../../assets/settings/general/NMEADevice.jpg) -일반 페이지에서 이러한 장치 연결을 지정할 수 있습니다. GPS 정보는 지상국 위치 측정에 사용됩니다. +일반 페이지에서 이러한 장치 연결을 지정할 수 있습니다. +GPS 정보는 지상국 위치 측정에 사용됩니다. 자세한 내용은 [설정 > 일반(다음 장치에 자동 연결)](../settings_view/general.md#auto_connect)을 참고하십시오. @@ -18,15 +19,19 @@ ![비디오 녹화](../../../assets/settings/video_recording.jpg) -비디오는 QGroundControl 파일 저장 경로의 비디오 디렉토리에 저장됩니다. 비디오 파일들의 최대 저장 용량을 지정할 수 있습니다. 해당 크기를 초과하면 가장 오래된 비디오 파일을 삭제합니다. 비디오 녹화는 플라이 뷰의 비디오 위젯에서 켜고 끌 수 있습니다. +비디오는 QGroundControl 파일 저장 경로의 비디오 디렉토리에 저장됩니다. +비디오 파일들의 최대 저장 용량을 지정할 수 있습니다. +해당 크기를 초과하면 가장 오래된 비디오 파일을 삭제합니다. +비디오 녹화는 플라이 뷰의 비디오 위젯에서 켜고 끌 수 있습니다. 자세한 내용은 [설정 > 일반(동영상/동영상 녹화)](../settings_view/general.md#video)을 참고하십시오. -### 계획 화면 {#plan_view} +### 계획 화면 {#plan\_view} #### 구조 스캔 -구조 스캔은 수직 표면(다각형 또는 원형) 위의 이미지를 캡처하는 격자 비행 패턴을 만들 수 있습니다. 일반적으로 육안 검사나 구조물의 3D 모델을 생성합니다. +구조 스캔은 수직 표면(다각형 또는 원형) 위의 이미지를 캡처하는 격자 비행 패턴을 만들 수 있습니다. +일반적으로 육안 검사나 구조물의 3D 모델을 생성합니다. 자세한 내용은 [여기](../plan_view/pattern_structure_scan_v2.md)를 참고하십시오. @@ -64,7 +69,7 @@ QGroundControl은 새로운 MAVLink GeoFence 및 Rally Point 사양과 프로토 -### 비행 화면 +### Fly View #### 비디오 녹화를 시작/중지 @@ -72,11 +77,11 @@ QGroundControl은 새로운 MAVLink GeoFence 및 Rally Point 사양과 프로토 #### 다중 기체 표시기 -여러 기체에 연결되어 있는 경우, 기체 아이콘 아래에 기체 ID가 표시됩니다. 활성 기체는 불투명하고 비활성 기체는 반투명합니다. +여러 기체에 연결되어 있는 경우, 기체 아이콘 아래에 기체 ID가 표시됩니다. The active vehicle will be opaque and the inactive vehicles will be semi-transparent. ![](../../../assets/fly/multi_vehicle_indicators.jpg) -#### 다중 기체 화면은 일괄 명령을 지원합니다. +#### Multi-Vehicle View supports batch commands 다중 기체 목록은 이제 모든 기체에 적용되는 명령을 지원합니다. diff --git a/docs/ko/qgc-user-guide/releases/stable_v4.0_additional.md b/docs/ko/qgc-user-guide/releases/stable_v4.0_additional.md index 65947195ead..194b75d8c45 100644 --- a/docs/ko/qgc-user-guide/releases/stable_v4.0_additional.md +++ b/docs/ko/qgc-user-guide/releases/stable_v4.0_additional.md @@ -1,8 +1,9 @@ # QGroundControl v4.0 릴리스 노트(추가) -이 항목에는 QGroundControl 4.0에 대한 추가 참고 사항이 포함되어 있습니다. 이것들은 앞으로 몇 달 안에 주요 문서에 통합되어야 합니다(이 문서는 삭제됨). +이 항목에는 QGroundControl 4.0에 대한 추가 참고 사항이 포함되어 있습니다. +이것들은 앞으로 몇 달 안에 주요 문서에 통합되어야 합니다(이 문서는 삭제됨). -- [패턴 사전 설정](../plan_view/pattern_presets.md) - 패턴 항목(측량, 복도 스캔, ...)에 대한 설정을 명명된 사전 설정에 저장할 수 있습니다. 그런 다음 새 패턴을 만들 때 이 사전 설정을 계속 사용할 수 있습니다. +- [패턴 사전 설정](../plan_view/pattern_presets.md) - 패턴 항목(측량, 복도 스캔, ...)에 대한 설정을 명명된 사전 설정에 저장할 수 있습니다. into a named preset. 그런 다음 새 패턴을 만들 때 이 사전 설정을 계속 사용할 수 있습니다. - ArduPilot: - 콥터 - PID 튜닝 지원![PID 튜닝 ](../../../assets/daily_build_changes/arducopter_pid_tuning.jpg) - 콥터 - 추가 기본 튜닝 옵션![튜닝 기초](../../../assets/daily_build_changes/arducopter_basic_tuning.jpg) diff --git a/docs/ko/qgc-user-guide/settings_view/console_logging.md b/docs/ko/qgc-user-guide/settings_view/console_logging.md index 591c5dcc567..d256dc9cd62 100644 --- a/docs/ko/qgc-user-guide/settings_view/console_logging.md +++ b/docs/ko/qgc-user-guide/settings_view/console_logging.md @@ -1,49 +1,50 @@ # 콘솔 로그 설정 -*콘솔*은 _QGroundControl_ 문제를 진단하는 데 유용한 도구입니다. **설정 화면 > 콘솔**에서 설정할 수 있습니다. +_콘솔_은 _QGroundControl_ 문제를 진단하는 데 유용한 도구입니다. **설정 화면 > 콘솔**에서 설정할 수 있습니다. ![콘솔 로그](../../../assets/support/console.jpg) -**로깅 설정** 버튼을 클릭하여 *QGroundControl*에 의해 표시되는 로깅 정보를 활성화 또는 비활성화합니다. +**로깅 설정** 버튼을 클릭하여 _QGroundControl_에 의해 표시되는 로깅 정보를 활성화 또는 비활성화합니다. ## 콜솔 로그 옵션 -가장 일반적인 로깅 옵션은 다음과 같습니다. +The most commmonly used logging options are listed below. -| 옵션 | 설명 | -| ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | -| `LinkManagerLog`, `MultiVehicleManagerLog` | 디버그 연결 문제 | -| `LinkManagerVerboseLog` | 디버그 직렬 포트 미감지 사용 가능한 직렬 포트의 매우 시끄러운 연속 출력. | -| `FirmwareUpgradeLog` | 펌웨어 플래시 문제를 디버그 | -| `ParameterManagerLog` | 디버그 매개변수 로드 문제 | -| `ParameterManagerDebugCacheFailureLog` | 디버그 매개변수 캐시 crc가 누락 | -| `PlanManagerLog`, `MissionManagerLog`, `GeoFenceManagerLog`, `RallyPointManagerLog` | 디버그 계획 업로드/다운로드 문제 | -| `RadioComponentControllerLog` | 무선 보정 문제를 디버그 | +| 옵션 | 설명 | +| ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `LinkManagerLog`, `MultiVehicleManagerLog` | 디버그 연결 문제 | +| `LinkManagerVerboseLog` | Debug serial ports not being detected. 디버그 직렬 포트 미감지 사용 가능한 직렬 포트의 매우 시끄러운 연속 출력. | +| `FirmwareUpgradeLog` | 펌웨어 플래시 문제를 디버그 | +| `ParameterManagerLog` | 디버그 매개변수 로드 문제 | +| `ParameterManagerDebugCacheFailureLog` | 디버그 매개변수 캐시 crc가 누락 | +| `PlanManagerLog`, `MissionManagerLog`, `GeoFenceManagerLog`, `RallyPointManagerLog` | 디버그 계획 업로드/다운로드 문제 | +| `RadioComponentControllerLog` | 무선 보정 문제를 디버그 | ## 명령줄 로깅 -로깅을 위한 대체 메커니즘은 `--logging` 명령줄 옵션을 사용하는 것입니다. 이는 *QGroundControl*이 충돌하는 상황에서 로그 조회시에 편리합니다. +로깅을 위한 대체 메커니즘은 `--logging` 명령줄 옵션을 사용하는 것입니다. 이는 _QGroundControl_이 충돌하는 상황에서 로그 조회시에 편리합니다. 이 작업을 수행하는 방법과 추적 출력은 운영체제에 따라 조금씩 다릅니다. - 윈도우 - - 명령 프롬프트를 열고 디렉토리를 **qgroundcontrol.exe** 위치로 변경후 실행합니다. + ```bash bash - cd "\Program Files (x86)\qgroundcontrol" - qgroundcontrol --logging:full - - *QGroundControl*이 시작되면 로그 출력이 있는 별도의 콘솔 창을 사용합니다. - + cd "\Program Files (x86)\qgroundcontrol" + qgroundcontrol --logging:full + ``` + - _QGroundControl_이 시작되면 로그 출력이 있는 별도의 콘솔 창을 사용합니다. - OSX - - - 터미널에서 *QGroundControl*을 실행합니다. 터미널 앱은 응용 프로그램/유틸리티에 있습니다. 터미널이 열리면 다음을 입력합니다. + - 터미널에서 _QGroundControl_을 실행합니다. 터미널 앱은 응용 프로그램/유틸리티에 있습니다. 터미널이 열리면 다음을 입력합니다. + ```bash bash - cd /Applications/qgroundcontrol.app/Contents/MacOS/ - ./qgroundcontrol --logging:full + cd /Applications/qgroundcontrol.app/Contents/MacOS/ + ./qgroundcontrol --logging:full + ``` - 로그 추적은 터미널 창으로 출력됩니다. - -- 리눅스 - - - bash - ./qgroundcontrol-start.sh --logging:full +- ## 리눅스 + ```bash + bash + ./qgroundcontrol-start.sh --logging:full + ``` - 로그 추적은 실행 중인 셸에 출력됩니다. diff --git a/docs/ko/qgc-user-guide/settings_view/csv.md b/docs/ko/qgc-user-guide/settings_view/csv.md index 09dfa9e04d8..345b2757dba 100644 --- a/docs/ko/qgc-user-guide/settings_view/csv.md +++ b/docs/ko/qgc-user-guide/settings_view/csv.md @@ -2,8 +2,10 @@ ![CSV 체크박스](../../../assets/settings/general/csv.jpg) -선택하면 CSV(쉼표로 구분된 값) 원격 분석 파일이 일반적인 **.tlog** 원격 분석 파일과 함께 생성됩니다. 파일은 **각 비행 후 로그 저장**이 활성화된 경우에만 생성되고 동일한 기간 동안 기록됩니다. +선택하면 CSV(쉼표로 구분된 값) 원격 분석 파일이 일반적인 **.tlog** 원격 분석 파일과 함께 생성됩니다. +파일은 **각 비행 후 로그 저장**이 활성화된 경우에만 생성되고 동일한 기간 동안 기록됩니다. -이 CSV 파일에는 GPS 위치, 자세, 배터리 상태 등과 같은 빠른 분석에 사용할 수 있는 가장 관련성이 높은 차량 원격 측정 데이터가 포함되어 있습니다. 1Hz로 채워지며 원격 분석 로그만큼 상세하지 않지만 작업하기가 훨씬 쉽고 데이터를 추출하는 속도가 빠릅니다. +이 CSV 파일에는 GPS 위치, 자세, 배터리 상태 등과 같은 빠른 분석에 사용할 수 있는 가장 관련성이 높은 차량 원격 측정 데이터가 포함되어 있습니다. +1Hz로 채워지며 원격 분석 로그만큼 상세하지 않지만 작업하기가 훨씬 쉽고 데이터를 추출하는 속도가 빠릅니다. 파일은 Microsoft Excel, Google Sheets, LibreOffice Calc 또는 OpenOffice Calc를 포함한 일반적인 스프레드시트 소프트웨어로 열 수 있습니다. diff --git a/docs/ko/qgc-user-guide/settings_view/general.md b/docs/ko/qgc-user-guide/settings_view/general.md index 000148b5eb2..b8d782ca080 100644 --- a/docs/ko/qgc-user-guide/settings_view/general.md +++ b/docs/ko/qgc-user-guide/settings_view/general.md @@ -1,9 +1,10 @@ # 일반 설정(설정 화면) -일반 설정(**설정 화면> 일반 설정**)은 애플리케이션의 주요 항목들을 설정합니다. 디스플레이 장치, 자동 연결 장치, 비디오 디스플레이 및 저장 장치, RTK GPS, 브랜드 이미지 및 기타 항목들을 설정합니다. +일반 설정(**설정 화면> 일반 설정**)은 애플리케이션의 주요 항목들을 설정합니다. +디스플레이 장치, 자동 연결 장치, 비디오 디스플레이 및 저장 장치, RTK GPS, 브랜드 이미지 및 기타 항목들을 설정합니다. -::: info -기체가 연결되지 않은 상태에서도 설정할 수 있습니다. 차량 재시동이 필요한 설정은 UI에 표시됩니다. +:::info +Values are settable even if no vehicle is connected. 차량 재시동이 필요한 설정은 UI에 표시됩니다. ::: ![설정 보기 - 전체 일반 탭](../../../assets/settings/general/overview.jpg) @@ -33,63 +34,90 @@ ![표시 언어](../../../assets/settings/general/languages.jpg) + Translations are generally built into the application and selected automatically based on the system language. + + Metadata downloaded from the vehicle (such as parameter descriptions) might have translations as well. + These are downloaded from the internet upon vehicle connection. The translations are then cached locally. + This means an internet connection during vehicle connection is required at least once. + - **색 구성표**: 실내(어두운) | 야외(조명) - **지도 제공자**: Google | 맵박스 | 빙 | 에어맵 | 브이월드 | 에니로 | 스탯카트 + - **지도 유형**: 도로 | 하이브리드 | 위성 + - **스트림 GCS 위치**: 안 함 | 항상 | 팔로우 미 플라이트 모드 시 + - **UI 크기 조정**: UI 크기 비율(글꼴, 아이콘, 버튼 크기, 레이아웃 등에 영향) + - **모든 오디오 출력 음소거**: 모든 오디오 출력을 끕니다. + - **인터넷 연결 확인**: 지도 데이타의 다운로드 실패할 수 있는 환경에서 지도를 사용 가능하도록하려면 선택을 취소합니다(지도 타일 엔진이 인터넷 연결을 지속적으로 재확인하는 것을 중지함). + - **미션 자동 로딩**: 활성화하면 연결 시 차량에 자동으로 미션을 업로드합니다. - 계획 파일의 이름은 **AutoLoad#.plan**이어야 하며, 여기서 `#`은 차량 Id로 대체됩니다. - 계획 파일은 [응용 프로그램 로드/저장 경로](#load_save_path)에 위치하여야 합니다. -- **다음 시작 시 모든 설정 지우기**: *QGroundControl*이 다시 시작될 때 모든 설정을 기본값(이 항목 포함)으로 재설정합니다. -- **배터리 부족 알림**: *QGroundControl*이 배터리 부족 알리는 배터리 수준입니다. + +- **다음 시작 시 모든 설정 지우기**: _QGroundControl_이 다시 시작될 때 모든 설정을 기본값(이 항목 포함)으로 재설정합니다. + +- **배터리 부족 알림**: _QGroundControl_이 배터리 부족 알리는 배터리 수준입니다. + - **애플리케이션 로드/저장 경로**: 매개변수, 원격 측정 로그 및 임무 계획을 포함하여 애플리케이션 파일을 로드 및 저장하는 기본 위치입니다. -## 데이터 지속성 {#data_persistence} +## 데이터 지속성 {#data\_persistence} ![데이터 복원 설정](../../../assets/settings/general/data_persistence.jpg) 설정 항목들은 다음과 같습니다: -- **모든 데이터 지속성 사용 안함**: 로그, 지도 타일 등 데이터가 저장되거나 캐시되지 않도록 확인합니다. 이 설정은 [원격 분석 로그 섹션](#telemetry_logs)을 비활성화합니다. +- **모든 데이터 지속성 사용 안함**: 로그, 지도 타일 등 데이터가 저장되거나 캐시되지 않도록 확인합니다. -## 기체의 텔레메트리 로그 {#telemetry_logs} +## 기체의 텔레메트리 로그 {#telemetry\_logs} ![기체 설정의 텔레메트리 로그](../../../assets/settings/general/telemetry_logs.jpg) -설정 항목들은 다음과 같습니다: +설정 항목들은 다음과 같습니다. - **비행 후 로그 저장** : 원격 측정 로그(`.tlog`)는 비행 후 _응용 프로그램 로드/저장 경로_([위](#load_save_path))에 자동으로 저장됩니다. -- **차량 비시동시 로그 저장**: 차량이 *QGroundControl*에 연결시 기록을 저장합니다. 차량 연결이 끊어지면 기록을 중지합니다. +- **차량 비시동시 로그 저장**: 차량이 _QGroundControl_에 연결시 기록을 저장합니다. + 차량 연결이 끊어지면 기록을 중지합니다. - [**CSV 로깅**](csv.md): 원격 측정 데이터의 하위 집합을 CSV 파일에 기록합니다. -## 비행 화면 {#fly_view} +## 비행 화면 {#fly\_view} ![비행 화면 설정](../../../assets/settings/general/fly_view.jpg) 설정 항목들은 다음과 같습니다: - **실행 전 체크리스트 사용**: 빗행도구 모음에서 실행 전 체크리스트를 활성화합니다. + - **실행 전 체크리스트 적용**: 체크리스트 완료는 무장을 위한 전제 조건입니다. + - **차량 중앙에 지도 유지**: 지도가 현재 선택된 차량의 중앙에 위치하도록 합니다. + - **텔레메트리 로그 재생 상태 표시줄 표시**: [비행 데이터 재생](../fly_view/replay_flight_data.md)에 대한 상태 표시줄을 표시합니다. + - **가상 조이스틱**: [가상 조이스틱](../settings_view/virtual_joystick.md) 활성화(PX4만 해당) + - **수직 계기판 사용**: 계기판을 수평이 아닌 수직으로 정렬합니다(기본값). + - **나침반에 추가 방향 표시기 표시**: 나침반에 추가 표시기를 표시합니다. + - _파란색 화살표_: 지면 위의 코스입니다. + - _백악관_: 집으로 돌아가는 방향. + - _녹색 선_: 다음 웨이포인트 방향. - **Lock Compass Nose-Up**: 나침반 장미를 회전하려면 선택합니다(기본값은 나침반 표시기 내부에서 기체을 회전입니다). - **안내식 최소 고도**: 안내식 작업 고도 슬라이더의 최소값입니다. + - **안내식 최대 고도**: 안내식 작업 고도 슬라이더의 최소값입니다. + - **이동 위치 최대 거리**: 이동 위치가 현재 차량 위치에서 설정될 수 있는 최대 거리(안내 모드에서). -## 계획 화면 {#plan_view} +## 계획 화면 {#plan\_view} ![계획 화면 설정](../../../assets/settings/general/plan_view.jpg) @@ -97,13 +125,13 @@ - **기본 임무 고도**: 임무 시작 패널 및 첫 번째 웨이포인트의 기본 고도입니다. -## 다음 장치에 자동으로 연결 {#auto_connect} +## 다음 장치에 자동으로 연결 {#auto\_connect} -이 섹션은 *QGroundControl*이 자동으로 연결할 기기 세트를 정의합니다. +이 섹션은 _QGroundControl_이 자동으로 연결할 기기 세트를 정의합니다. ![기기 자동 연결 설정](../../../assets/settings/general/autoconnect_devices.jpg) -설정 항목들은 다음과 같습니다. +설정 항목들은 다음과 같습니다: - Pixhawk: Pixhawk 시리즈 기기에 자동 연결 - **SiK 라디오:** SiK(텔레메트리) 라디오에 자동 연결 @@ -113,13 +141,17 @@ - **RTK GPS:** RTK GPS 기기에 자동 연결 - **NMEA GPS 장치:** 외부 GPS 장치에 자동 연결하여 지상국 위치를 획득합니다([아래 참조](#nmea_gps)). -### 지상국 위치(NMEA GPS 장치) {#nmea_gps} +### 지상국 위치(NMEA GPS 장치) {#nmea\_gps} -*QGroundControl*은 자동으로 내부 GPS를 사용하여 자주색 `Q` 아이콘으로 지도에 자신의 위치를 표시합니다(GPS가 방향을 제공하는 경우 이는 아이콘으로도 표시됩니다. 또한 GPS를 *팔로우 미 모드*의 위치 소스로 사용할 수 있습니다. 현재 [PX4 멀티콥터에서만](https://docs.px4.io/en/flight_modes/follow_me.html) 지원됩니다. +_QGroundControl_은 자동으로 내부 GPS를 사용하여 자주색 `Q` 아이콘으로 지도에 자신의 위치를 표시합니다(GPS가 방향을 제공하는 경우 이는 아이콘으로도 표시됩니다. +현재 [PX4 멀티콥터에서만](https://docs.px4.io/en/flight_modes/follow_me.html) 지원됩니다. -직렬 또는 UDP 포트를 통하여 외부 GPS 장치에 연결하도록 QGroundControl을 설정할 수 있습니다. GPS 장치는 일반적으로 ASCII NMEA 형식을 지원합니다. +직렬 또는 UDP 포트를 통하여 외부 GPS 장치에 연결하도록 QGroundControl을 설정할 수 있습니다. +GPS 장치는 일반적으로 ASCII NMEA 형식을 지원합니다. -> **도움말** 지상국에 내부 GPS 지원 기능이 있는 경우에도 고품질 외부 GPS 시스템이 유용할 수 있습니다. +:::tip +**도움말** 지상국에 내부 GPS 지원 기능이 있는 경우에도 고품질 외부 GPS 시스템이 유용할 수 있습니다. +::: _NMEA GPS 장치_ 드롭다운 선택기를 사용하여 GPS 장치 및 기타 옵션을 수동으로 선택합니다. @@ -131,7 +163,7 @@ _NMEA GPS 장치_ 드롭다운 선택기를 사용하여 GPS 장치 및 기타 - **NMEA GPS Baudrate**: 직렬 포트 전송 속도 ::: tip - 직렬 GPS 문제를 해결하려면 RTK GPS [자동 연결](#auto_connect)을 비활성화하고 *QGroundControl*을 닫고 GPS를 다시 연결한 다음 QGroundControl을 실행합니다. + 직렬 GPS 문제를 해결하려면 RTK GPS [자동 연결](#auto_connect)을 비활성화하고 _QGroundControl_을 닫고 GPS를 다시 연결한 다음 QGroundControl을 실행합니다. ::: - 네트워크 연결: @@ -141,18 +173,22 @@ _NMEA GPS 장치_ 드롭다운 선택기를 사용하여 GPS 장치 및 기타 - **NMEA GPS 장치:** _UDP 포트_. - **NMEA 스트림 UDP 포트**: QGC가 NMEA 데이터를 수신할 UDP 포트(QGC는 포트를 서버로 바인딩) -## RTK GPS {#rtk_gps} +## RTK GPS {#rtk\_gps} 이 섹션에서는 RTK GPS "측량" 설정을 지정하고, 측량 작업의 결과를 저장 및 재사용하거나, 베이스 스테이션에 대해 알려진 다른 위치를 직접 입력할 수 있습니다. ![RTK GPS 설정](../../../assets/settings/general/rtk_gps.jpg) -::: info -_설문조사_ 프로세스는 기지국 위치의 정확한 추정치를 얻기 위해 RTK GPS 시스템에 필요한 시작 절차입니다. 이 프로세스는 시간이 지남에 따라 측정을 수행하여 위치 정확도를 높입니다. 설문조사가 완료되려면 두 가지 설정 조건이 모두 충족되어야 합니다. 자세한 내용은 [RTK GPS](https://docs.px4.io/en/advanced_features/rtk-gps.html)(PX4 문서) 및 [GPS- 작동 방식](http://ardupilot.org/copter/docs/common-gps-how-it-works.html#rtk-corrections)(ArduPilot 문서)을 참고하십시오. +:::info +_설문조사_ 프로세스는 기지국 위치의 정확한 추정치를 얻기 위해 RTK GPS 시스템에 필요한 시작 절차입니다. +이 프로세스는 시간이 지남에 따라 측정을 수행하여 위치 정확도를 높입니다. +설문조사가 완료되려면 두 가지 설정 조건이 모두 충족되어야 합니다. +자세한 내용은 [RTK GPS](https://docs.px4.io/en/advanced_features/rtk-gps.html)(PX4 문서) 및 [GPS- 작동 방식](http://ardupilot.org/copter/docs/common-gps-how-it-works.html#rtk-corrections)(ArduPilot 문서)을 참고하십시오. ::: -::: tip -기본 위치를 저장하고 재사용하려면(서베이 인은 시간이 많이 소요됩니다!) 설문 조사를 한 번 수행하려면 *지정된 기본 위치 사용*을 선택하고 **을 누르십시오. 현재 기준 위치를 저장**하여 마지막 설문조사의 값을 복사합니다. 그러면, 값이 변경시까지 QGC 재부팅시에도 유지됩니다. +:::tip +기본 위치를 저장하고 재사용하려면(서베이 인은 시간이 많이 소요됩니다!) 현재 기준 위치를 저장\*\*하여 마지막 설문조사의 값을 복사합니다. +그러면, 값이 변경시까지 QGC 재부팅시에도 유지됩니다. ::: 설정 항목들은 다음과 같습니다: @@ -167,7 +203,7 @@ _설문조사_ 프로세스는 기지국 위치의 정확한 추정치를 얻기 - **기지 위치 정확도:** 기지국 위치 정보의 정확도. - **현재 베이스 위치 저장**(버튼): 마지막 Survey-In 작업의 설정을 위의 _지정된 베이스 위치 사용_ 필드에 복사하려면 누릅니다. -## ADSB 서버 {#adsb_server} +## ADSB 서버 {#adsb\_server} ![ADSB 서버 설정](../../../assets/settings/general/adbs_server.jpg) @@ -180,26 +216,44 @@ _설문조사_ 프로세스는 기지국 위치의 정확한 추정치를 얻기 QGroundControl는 원격 또는 로컬 서버(지정된 IP 주소/포트)에서 SBS 형식의 ADSB 메시지를 사용하고 탐지된 기체를 비행화면의 지도에 표시할 수 있습니다. ::: tip -주변 기체에서 ADSB 정보를 얻는 한 가지 방법은 [dump1090](https://github.com/antirez/dump1090)을 사용하여 연결된 RTL-SDR 동글에서 QGC로 데이터를 제공하는 것입니다. 과정은 다음과 같습니다: 1. RTL-SDR 동글(및 안테나)을 가져와 지상국 컴퓨터에 연결합니다(사용 중인 OS에 대해 호환되는 드라이버를 찾아야 할 수도 있음). 1. OS에 *dump1090*을 설치합니다(사전 빌드 또는 소스에서 빌드). 1. `dump1090 --net`을 실행하여 TCP localhost 포트 30003(127.0.0.1:30003)에서 감지된 차량에 대한 메시지 브로드캐스트를 시작합니다. 1. 위의 QGroundControl 설정에 서버(`127.0.0.1`)와 포트(`30003`) 주소를 입력합니다. 1. 지도에서 지역 차량을 보려면 QGroundControl을 다시 시작하세요. +One way to get ADSB information from nearby vehicles is to use [dump1090](https://github.com/antirez/dump1090) to serve the data from a connected RTL-SDR dongle to QGC. + +과정은 다음과 같습니다: 1. + +1. RTL-SDR 동글(및 안테나)을 가져와 지상국 컴퓨터에 연결합니다(사용 중인 OS에 대해 호환되는 드라이버를 찾아야 할 수도 있음). +2. OS에 _dump1090_을 설치합니다(사전 빌드 또는 소스에서 빌드). +3. `dump1090 --net`을 실행하여 TCP localhost 포트 30003(127.0.0.1:30003)에서 감지된 차량에 대한 메시지 브로드캐스트를 시작합니다. +4. 위의 QGroundControl 설정에 서버(`127.0.0.1`)와 포트(`30003`) 주소를 입력합니다. +5. 지도에서 지역 차량을 보려면 QGroundControl을 다시 시작하세요. + ::: ## 비디오 {#video} -_비디오_ 섹션은 *비행 화면*에 표시될 비디오의 소스 및 연결 설정을 정의합니다. +_비디오_ 섹션은 _비행 화면_에 표시될 비디오의 소스 및 연결 설정을 정의합니다. ![비디오 설정](../../../assets/settings/general/video_udp.jpg) 설정 항목들은 다음과 같습니다: - **비디오 소스**: 비디오 스트림 비활성화됨 | RTSP 비디오 스트림 | UDP h.264 비디오 스트림 | UDP h.265 비디오 스트림 | TCP-MPEG2 비디오 스트림 | MPEG-TS(h.264) 비디오 스트림 | 통합 카메라 > **참고** 비디오 소스가 지정되지 않으면 다른 비디오 또는 _비디오 녹화_ 설정이 표시되지 않습니다(위에서 UDP 소스가 선택되었을 때의 설정을 볼 수 있음). + + ::: info + If no video source is specified then no other video or _video recording_ settings will be displayed (above we see the settings when UDP source is selected). + ::: + - **URL/포트**: 연결 유형별 스트림 주소(포트 또는 URL일 수 있음). + - **Aspect Ratio**: 비디오 위젯에서 비디오 크기 조정을 위한 종횡비(크기 조정을 무시하려면 0.0으로 설정) + - **Disabled When Disarmed**: 기체 비시동시 비디오 전송을 비활성화합니다. + - **낮은 대기 시간 모드**: 짧은 대기 시간 모드를 사용하면 동영상 스트림 대기 시간이 줄어들지만 프레임 손실과 끊김 현상이 발생할 수 있습니다(특히 네트워크 연결이 불량한 경우). ## 비디오 녹화 -_동영상 녹화_ 섹션은 파일 형식과 동영상 저장을 위해 할당된 최대 파일 저장 공간을 지정하는 데 사용됩니다. 비디오는 [애플리케이션 로드/저장 경로](#load_save_path)의 하위 디렉토리("비디오")에 저장됩니다. +_동영상 녹화_ 섹션은 파일 형식과 동영상 저장을 위해 할당된 최대 파일 저장 공간을 지정하는 데 사용됩니다. +비디오는 [애플리케이션 로드/저장 경로](#load_save_path)의 하위 디렉토리("비디오")에 저장됩니다. ![비디오 - 자동 삭제 없음](../../../assets/settings/general/video_recording.jpg) @@ -213,9 +267,10 @@ _동영상 녹화_ 섹션은 파일 형식과 동영상 저장을 위해 할당 ## 브랜드 이미지 -이 설정은 실내/실외 색 구성표에 사용되는 *브랜드 이미지*를 지정합니다. +이 설정은 실내/실외 색 구성표에 사용되는 _브랜드 이미지_를 지정합니다. -도구 모음의 오른쪽 상단 모서리에 있는 연결된 자동 조종 장치의 아이콘 대신 브랜드 이미지가 표시됩니다. 회사 로고/브랜딩이 포함된 화면/동영상 캡처를 사용자가 쉽게 생성할 수 있습니다. +도구 모음의 오른쪽 상단 모서리에 있는 연결된 자동 조종 장치의 아이콘 대신 브랜드 이미지가 표시됩니다. +회사 로고/브랜딩이 포함된 화면/동영상 캡처를 사용자가 쉽게 생성할 수 있습니다. ![브랜드 이미지](../../../assets/settings/general/brand_image.jpg) diff --git a/docs/ko/qgc-user-guide/settings_view/mavlink.md b/docs/ko/qgc-user-guide/settings_view/mavlink.md index 10220975638..4c787dba784 100644 --- a/docs/ko/qgc-user-guide/settings_view/mavlink.md +++ b/docs/ko/qgc-user-guide/settings_view/mavlink.md @@ -1,67 +1,81 @@ # MAVLink 설정 -MAVLink 설정(**설정 화면> MAVLink**)에서 MAVLink 통신과 관련된 옵션을 설정하고 정보를 조회합니다. 여기에는 *QGroundControl*에 대한 MAVLink 시스템 ID 설정 및 링크 품질 보기가 포함됩니다. +MAVLink 설정(**설정 화면> MAVLink**)에서 MAVLink 통신과 관련된 옵션을 설정하고 정보를 조회합니다. +여기에는 _QGroundControl_에 대한 MAVLink 시스템 ID 설정 및 링크 품질 보기가 포함됩니다. -또한 이 화면에서 *플라이트 리뷰에 로그 업로드 자동화*를 포함하여 [MAVLink 2 로그 스트리밍](#logging)(PX4만 해당)을 관리할 수 있습니다! +또한 이 화면에서 _플라이트 리뷰에 로그 업로드 자동화_를 포함하여 [MAVLink 2 로그 스트리밍](#logging)(PX4만 해당)을 관리할 수 있습니다! ![MAVLink 설정 화면](../../../assets/settings/mavlink/overview.png) -## 지상국 {#ground_station} +## 지상국 {#ground\_station} -이 섹션은 *QGroundControl*의 MAVLink 속성과 동작을 설정합니다. +이 섹션은 _QGroundControl_의 MAVLink 속성과 동작을 설정합니다. ![지상국](../../../assets/settings/mavlink/ground_station.png) -- **MAVLink 시스템 ID:** MAVLink 네트워크에서 *QGroundControl*의 시스템 ID(기본값: 255). 차량에는 일반적으로 1부터 ID가 할당됩니다. 네트워크에 여러 지상국 또는 MAVLink 애플리케이션이 있는 경우 다른 ID를 지정해야 할 수 있습니다. -- **Emit heartbeat:** 일반 MAVLink HEARTBEAT 메시지의 방출을 비활성화합니다(기본값: True). 일반적으로 이 기능을 끄면 안 됩니다. +- **MAVLink 시스템 ID:** MAVLink 네트워크에서 _QGroundControl_의 시스템 ID(기본값: 255). + 차량에는 일반적으로 1부터 ID가 할당됩니다. + 네트워크에 여러 지상국 또는 MAVLink 애플리케이션이 있는 경우 다른 ID를 지정해야 할 수 있습니다. +- **Emit heartbeat:** 일반 MAVLink HEARTBEAT 메시지의 방출을 비활성화합니다(기본값: True). + 일반적으로 이 기능을 끄면 안 됩니다. - **동일한 프로토콜 버전의 MAV만 허용:** MAVLink 1 또는 MAVLink 2 차량에만 연결하려면 true로 설정합니다(기본값: True). -- **MAVLink 전달 활성화:** 연결된 차량에서 다른 UDP 엔드포인트로 MAVLink 메시지를 전달하려면 *QGroundControl*을 활성화합니다(기본값: False). QGroundControl에서 지정된 호스트로 단방향으로 전달합니다. 지정된 호스트에서 수신된 모든 MAVLink 메시지는 무시됩니다. +- **MAVLink 전달 활성화:** 연결된 차량에서 다른 UDP 엔드포인트로 MAVLink 메시지를 전달하려면 _QGroundControl_을 활성화합니다(기본값: False). + Note that this forwarding is one-way: from QGC to the specified host. + 지정된 호스트에서 수신된 모든 MAVLink 메시지는 무시됩니다. -## 연결 상태 {#link_status} +## 연결 상태 {#link\_status} -이것은 통신 링크를 통한 MAVLink 메시지 전송의 상태를 보여줍니다. **손실률**이 높으면 매개변수 다운로드 또는 미션 업로드 및 다운로드와 같은 프로토콜 오류가 발생할 수 있습니다. +이것은 통신 링크를 통한 MAVLink 메시지 전송의 상태를 보여줍니다. +**손실률**이 높으면 매개변수 다운로드 또는 미션 업로드 및 다운로드와 같은 프로토콜 오류가 발생할 수 있습니다. ![연결 상태](../../../assets/settings/mavlink/link_status.jpg) ## MAVLink 2 로깅(PX4만 해당) {#logging} -_MAVLink 2 Logging_ 설정(PX4만 해당)은 PX4에서 *QGroundControl*으로의 실시간 로그 스트리밍과 [Flight Review](https://logs.px4.io)로의 로그 업로드를 설정합니다. +_MAVLink 2 Logging_ 설정(PX4만 해당)은 PX4에서 _QGroundControl_으로의 실시간 로그 스트리밍과 [Flight Review](https://logs.px4.io)로의 로그 업로드를 설정합니다. -::: warning -MAVLink 2 Logging은 차량에 대한 지속적인 고속 MAVLink 연결이 필요하기 때문에 "기본" 설정에서 사용할 수 없습니다(WiFI를 통해 작동할 수 _ 있지만\*\* 원격 측정 링크에서는 작동하지 않습니다_. +:::warning +MAVLink 2 Logging은 차량에 대한 지속적인 고속 MAVLink 연결이 필요하기 때문에 "기본" 설정에서 사용할 수 없습니다(WiFI를 통해 작동할 수 \_ 있지만\*\* 원격 측정 링크에서는 작동하지 않습니다\_. ::: -::: tip -이론상 로그 스트리밍을 사용하면 데이터를 실시간으로 분석할 수 있습니다. 작성 당시 실시간 분석은 아직 구현되지 않았습니다. +:::tip +이론상 로그 스트리밍을 사용하면 데이터를 실시간으로 분석할 수 있습니다. +작성 당시 실시간 분석은 아직 구현되지 않았습니다. ::: -로그 형식은 SD 카드 로그와 동일하지만([Analyze View > Log Download](../analyze_view/log_download.md)를 사용하여 다운로드), 로그 시작/중지 시간이 \*QGroundControl<에 의해 제어되기 때문에 실제 로그된 데이터는 약간 다를 수 있습니다. 손실 채널을 통해 스트리밍할 때 일부 드롭아웃이 발생할 수 있기 때문입니다. +로그 형식은 SD 카드 로그와 동일하지만([Analyze View > Log Download](../analyze_view/log_download.md)를 사용하여 다운로드), 로그 시작/중지 시간이 \*QGroundControl<에 의해 제어되기 때문에 실제 로그된 데이터는 약간 다를 수 있습니다. _MAVLink 2 로깅_ 섹션에서는 로깅을 수동으로 시작 및 중지하고 로그 자동 캡처를 활성화할 수 있습니다. ![MAVLink 2 로깅](../../../assets/settings/mavlink/mavlink2_logging.jpg) -_MAVLink 2 로그 업로드_ 섹션에서는 [비행 검토](https://logs.px4.io)에 대한 MAVLink 로그 업로드를 설정할 수 있습니다. 그렇지 않으면, 사이트에 직접 입력해야 하는 모든 필드를 지정할 수 있으며 로그를 자동으로 업로드할지 수동으로 업로드를 선택할 수 있습니다. +_MAVLink 2 로그 업로드_ 섹션에서는 [비행 검토](https://logs.px4.io)에 대한 MAVLink 로그 업로드를 설정할 수 있습니다. +그렇지 않으면, 사이트에 직접 입력해야 하는 모든 필드를 지정할 수 있으며 로그를 자동으로 업로드할지 수동으로 업로드를 선택할 수 있습니다. ![MAVLink 2 로그 업로드](../../../assets/settings/mavlink/mavlink2_log_uploads.jpg) -항목들은 다음과 같습니다: +The fields are: -- **로그 업로드용 이메일 주소:** *항공편 검토*에서 이 주소로 업로드 링크를 이메일로 전송합니다. 그렇지 않으면, 업로드 후 비공개 로그에 액세스할 방법이 없기 때문에 이것은 중요합니다. +- **로그 업로드용 이메일 주소:** _항공편 검토_에서 이 주소로 업로드 링크를 이메일로 전송합니다. + 그렇지 않으면, 업로드 후 비공개 로그에 액세스할 방법이 없기 때문에 이것은 중요합니다. - **기본 설명:** 로그에 사용되는 항공편의 설명/이름. -- **기본 업로드 URL:** 로그/로그 메타데이터 업로드를 위한 URL입니다. 기본적으로 _항공편 검토_ URL로 설정됩니다. -- **동영상 URL:** (선택 사항) 로그와 연결된 비행 동영상의 URL입니다. 이는 분석을 용이하게 하기 위해 항공편 검토 페이지에 포함될 수 있습니다. +- **기본 업로드 URL:** 로그/로그 메타데이터 업로드를 위한 URL입니다. + 기본적으로 _항공편 검토_ URL로 설정됩니다. +- **동영상 URL:** (선택 사항) 로그와 연결된 비행 동영상의 URL입니다. + 이는 분석을 용이하게 하기 위해 항공편 검토 페이지에 포함될 수 있습니다. - **풍속:** (여러 항공편에서) 디버깅 및 필터링을 지원하는 데 사용됩니다. 허용되는 값: _Calm_ | _브리즈_ | _강풍_ | _폭풍_. - **비행 등급:** 디버깅 및 필터링을 지원하는 데 사용됩니다(여러 항공편에서). 허용되는 값: _크래시(파일럿 오류)_ | _크래시(소프트웨어 또는 하드웨어 문제)_ | _불만족_ | _좋음_ | _훌륭합니다_. - **추가 피드백:** (선택 사항). 비행 또는 행동에 대한 자세한 설명을 입력합니다. -- **이 로그를 공개적으로 사용할 수 있도록 설정:** 설정하면 로그가 *항공편 검토*에서 표시되고 검색할 수 있습니다. 설정하지 않으면, 업로드 시 이메일로 전송된 링크를 통해서만 사용할 수 있습니다. +- **이 로그를 공개적으로 사용할 수 있도록 설정:** 설정하면 로그가 _항공편 검토_에서 표시되고 검색할 수 있습니다. + 설정하지 않으면, 업로드 시 이메일로 전송된 링크를 통해서만 사용할 수 있습니다. - **자동 로그 업로드 사용:** 설정하면 완료 시 로그가 자동으로 업로드됩니다. - **업로드 후 로그 파일 삭제:** 설정하면 업로드 후 로그가 자동으로 삭제됩니다. -_저장된 로그 파일_ 섹션은 로그 업로드를 수동으로 관리하는 데 사용됩니다. 확인란과 버튼을 사용하여 로그를 선택하고 삭제하거나 업로드합니다. +_저장된 로그 파일_ 섹션은 로그 업로드를 수동으로 관리하는 데 사용됩니다. +확인란과 버튼을 사용하여 로그를 선택하고 삭제하거나 업로드합니다. -::: tip -위의 *MAVLink 2 로그 업로드*에서 매개변수를 변경하여 업로드된 로그에 대해 별도의 설명을 지정할 수 있습니다. +:::tip +위의 _MAVLink 2 로그 업로드_에서 매개변수를 변경하여 업로드된 로그에 대해 별도의 설명을 지정할 수 있습니다. ::: ![저장된 로그 파일](../../../assets/settings/mavlink/saved_log_files.jpg) diff --git a/docs/ko/qgc-user-guide/settings_view/settings_view.md b/docs/ko/qgc-user-guide/settings_view/settings_view.md index e34a4178ec3..9808dc17610 100644 --- a/docs/ko/qgc-user-guide/settings_view/settings_view.md +++ b/docs/ko/qgc-user-guide/settings_view/settings_view.md @@ -1,6 +1,6 @@ # 어플리케이션 설정 화면 -*설정 화면*은 일반 기체들의 _QGroundControl_ 애플리케이션을 설정합니다. 이 값을 변경하기 위하여 기체를 연결할 필요는 없습니다. +_설정 화면_은 일반 기체들의 _QGroundControl_ 애플리케이션을 설정합니다. 이 값을 변경하기 위하여 기체를 연결할 필요는 없습니다. 왼쪽 사이드바에 있는 버튼을 클릭하여 다양한 설정 옵션들을 전환할 수 있습니다. diff --git a/docs/ko/qgc-user-guide/settings_view/virtual_joystick.md b/docs/ko/qgc-user-guide/settings_view/virtual_joystick.md index 8df57496ec8..e38966177da 100644 --- a/docs/ko/qgc-user-guide/settings_view/virtual_joystick.md +++ b/docs/ko/qgc-user-guide/settings_view/virtual_joystick.md @@ -1,10 +1,10 @@ # 가상 조이스틱 -*QGroundControl*을 사용하면 화면의 가상 썸스틱으로 기체를 제어할 수 있습니다. 비행 화면에서 아래와 같이 표시됩니다. +_QGroundControl_을 사용하면 화면의 가상 썸스틱으로 기체를 제어할 수 있습니다. 비행 화면에서 아래와 같이 표시됩니다. ![QGroundControl 기본 설정 > 가상 조이스틱 활성화](../../../assets/settings/joystick_virtual_joystick_displayed.jpg) -::: info +:::info Thumbstick 컨트롤은 RC 송신기를 사용하는 것처럼 반응하지 않습니다(정보가 MAVLink를 통하여 전송되기 때문에). 또 다른 대안은 [USB 조이스틱 및 게임패드](../setup_view/joystick.md)를 사용하는 것입니다. ::: diff --git a/docs/ko/qgc-user-guide/setup_view/airframe.md b/docs/ko/qgc-user-guide/setup_view/airframe.md index 8de0388253b..3681704bacf 100644 --- a/docs/ko/qgc-user-guide/setup_view/airframe.md +++ b/docs/ko/qgc-user-guide/setup_view/airframe.md @@ -1,6 +1,7 @@ -# 기체 설정 +# Airframe Setup -차량의 기본 기체를 설정하는 방법을 설명합니다. 보기와 절차들은 비행 컨트롤러의 펌웨어에 따라 조금씩 차이가 날 수 있습니다. +This page allows you to configure the main airframe selection associated with your vehicle. +보기와 절차들은 비행 컨트롤러의 펌웨어에 따라 조금씩 차이가 날 수 있습니다. - [기체 (ArduPilot)](../setup_view/airframe_ardupilot.md) - [기체 (PX4)](../setup_view/airframe_px4.md) diff --git a/docs/ko/qgc-user-guide/setup_view/airframe_ardupilot.md b/docs/ko/qgc-user-guide/setup_view/airframe_ardupilot.md index 00e24890b39..c1202a1747d 100644 --- a/docs/ko/qgc-user-guide/setup_view/airframe_ardupilot.md +++ b/docs/ko/qgc-user-guide/setup_view/airframe_ardupilot.md @@ -1,20 +1,20 @@ # 기체 설정(ArduPilot) -기체 설정에서는 적합한 기체 프레임을 선택합니다. +기체에 대한 최상위 _프레임 클래스_를 선택하십시오. -::: info +:::info 기체 설정은 _ArduCopter_ 및 _ArduSub_ 차량에만 사용할 수 있습니다(_ArduPilot_ Rover 또는 Plane 차량에는 표시되지 않습니다). ::: ## ArduCopter 기체 설정 -멀티콥터에서 기체를 선택하려면: +To select the airframe in Copter: 1. 상단 툴바에서 **톱니바퀴** 아이콘(기체 설정)을 선택한 다음 사이드 바에서 **기체 프레임**을 먼저 선택하십시오. ![기체 설정](../../../assets/setup/airframe/arducopter.jpg) -2. 기체에 대한 최상위 *프레임 클래스*를 선택하십시오. +2. Select the broad _Frame Class_ for your vehicle: ![기체 타입](../../../assets/setup/airframe/arducopter_class.jpg) @@ -22,7 +22,7 @@ 클래스 변경 사항을 적용하려면 차량을 재부팅하여야 합니다. ::: -3. 기체애 대한 특정 *프레임 유형*을 선택하십시오. +3. 기체애 대한 특정 _프레임 유형_을 선택하십시오. ![기체 타입](../../../assets/setup/airframe/arducopter_type.jpg) @@ -36,5 +36,6 @@ Sub의 프레임 유형을 선택하려면: ![기체 타입 선택](../../../assets/setup/airframe_ardusub.jpg) -- 또한, **차량 기본 매개변수 로드**를 클릭하여 ArduSub에 대한 기본 매개변수 세트를 로드할 수 있습니다. - ![차량 매개변수 로드](../../../assets/setup/airframe_ardusub_parameters.jpg) + - 또한, **차량 기본 매개변수 로드**를 클릭하여 ArduSub에 대한 기본 매개변수 세트를 로드할 수 있습니다. + + ![차량 매개변수 로드](../../../assets/setup/airframe_ardusub_parameters.jpg) diff --git a/docs/ko/qgc-user-guide/setup_view/airframe_px4.md b/docs/ko/qgc-user-guide/setup_view/airframe_px4.md index 5cf05c30a8d..5fd1db90e34 100644 --- a/docs/ko/qgc-user-guide/setup_view/airframe_px4.md +++ b/docs/ko/qgc-user-guide/setup_view/airframe_px4.md @@ -2,16 +2,18 @@ PX4에서 기체를 선택하려면: -1. *QGroundControl*을 실행후, 기체를 연결합니다. -2. **QGroundControl 아이콘 > 차량 설정 > 기체**(사이드바)를 선택하여 *기체 설정*을 오픈합니다. +1. Start _QGroundControl_ and connect the vehicle. + +2. **QGroundControl 아이콘 > 차량 설정 > 기체**(사이드바)를 선택하여 _기체 설정_을 오픈합니다. + 3. 기체와 일치하는 광범위한 차량 그룹/유형을 선택한 다음, 그룹 내의 드롭다운에서 차량에 가장 적합한 기체를 선택하십시오. ![기체 옵션](../../../assets/setup/airframe_px4/airframe_px4.jpg) - 위의 예는 _Hexarotor X_ 그룹에서 선택된 *Generic Hexarotor X 프레임들*을 나타냅니다. + 위의 예는 _Hexarotor X_ 그룹에서 선택된 _Generic Hexarotor X 프레임들_을 나타냅니다. 4. 화면 오른쪽 상단의 **적용 및 다시 시작** 버튼을 클릭합니다. 5. 다음 프롬프트에서 **적용**을 클릭하여 설정을 저장하고 기체를 다시 시작합니다. - + diff --git a/docs/ko/qgc-user-guide/setup_view/camera.md b/docs/ko/qgc-user-guide/setup_view/camera.md index 5827f23b5b0..0096fd1e02d 100644 --- a/docs/ko/qgc-user-guide/setup_view/camera.md +++ b/docs/ko/qgc-user-guide/setup_view/camera.md @@ -12,6 +12,7 @@ PX4 펌웨어 또는 ArduPilot 펌웨어에 따라 페이지의 세부 정보가 자세한 내용은 [카메라](http://docs.px4.io/master/en/peripherals/camera.html)(PX4 사용 설명서)를 참고하십시오. -::: info -카메라 모듈이 펌웨어에 자동으로 포함되지 않기 때문에 FMUv2 기반 비행 콘트롤러 (예 : 3DR Pixhawk)의 경우 기본적으로 카메라 설정 섹션을 사용할 수 없습니다. 자세한 내용은 [여기](http://docs.px4.io/master/en/advanced_config/parameters.html#parameter-not-in-firmware)를 참고하십시오. +:::info +카메라 모듈이 펌웨어에 자동으로 포함되지 않기 때문에 FMUv2 기반 비행 콘트롤러 (예 : 3DR Pixhawk)의 경우 기본적으로 카메라 설정 섹션을 사용할 수 없습니다. +자세한 내용은 [여기](http://docs.px4.io/master/en/advanced_config/parameters.html#parameter-not-in-firmware)를 참고하십시오. ::: diff --git a/docs/ko/qgc-user-guide/setup_view/firmware.md b/docs/ko/qgc-user-guide/setup_view/firmware.md index aca34afef69..79a4272b2f6 100644 --- a/docs/ko/qgc-user-guide/setup_view/firmware.md +++ b/docs/ko/qgc-user-guide/setup_view/firmware.md @@ -2,19 +2,20 @@ _QGroundControl_ **데스크탑** 버전을 이용하여 Pixhawk 비행 컨트롤러에 [PX4 Pro](http://px4.io/) 또는 [ArduPilot](http://ardupilot.com) 펌웨어를 설치할 수 있습니다. QGroundControl은 선택한 자동조종장치의 최신 안정적인 버전을 기본적으로 설치하며, 베타 버전, 일일 빌드 버전 또는 사용자 지정 버전의 펌웨어를 설치할 수 있습니다. -*QGroundControl*은 SiK 라디오 및 PX4 Flow 기기용 펌웨어도 설치할 수 있습니다. +_QGroundControl_은 SiK 라디오 및 PX4 Flow 기기용 펌웨어도 설치할 수 있습니다. -> **Caution** 펌웨어 업로드는 현재 *QGroundControl*의 태블릿이나 스마트폰 버전에서는 사용할 수 없습니다. +> **Caution** 펌웨어 업로드는 현재 _QGroundControl_의 태블릿이나 스마트폰 버전에서는 사용할 수 없습니다. ## 펌웨어 업데이트를 위한 장치 연결 -> **Caution** 펌웨어를 설치 전에 기체에 모든 USB (직접 또는 원격 측정 라디오) 연결은 *해제*하여야 합니다. 기체에 배터리를 연결하지 _않아야_ 합니다. +> **Caution** 펌웨어를 설치 전에 기체에 모든 USB (직접 또는 원격 측정 라디오) 연결은 _해제_하여야 합니다. 기체에 배터리를 연결하지 _않아야_ 합니다. 1. 상단 툴바에서 **기어** 아이콘 (_기체 설정_) 을 선택한 다음 사이드 바에서 **펌웨어**를 선택하십시오. - ![펌웨어 분리](../../../assets/setup/firmware/firmware_disconnected.jpg) +![펌웨어 분리](../../../assets/setup/firmware/firmware_disconnected.jpg) + +1. USB를 통해 장치(Pixhawk, SiK Radio, PX4 Flow)를 컴퓨터에 직접 연결합니다. -2. USB를 통해 장치(Pixhawk, SiK Radio, PX4 Flow)를 컴퓨터에 직접 연결합니다. ::: info 컴퓨터에서 전원이 공급되는 USB 포트에 직접 연결합니다(USB 허브를 사용하여 연결하지 마십시오). ::: @@ -27,7 +28,7 @@ _QGroundControl_ **데스크탑** 버전을 이용하여 Pixhawk 비행 컨트 ![PX4 선택](../../../assets/setup/firmware/firmware_select_default_px4.jpg) - *ArduPilot*을 선택하면 특정 펌웨어와 차량 유형도 선택하여야 합니다(아래의 그림 참조). + _ArduPilot_을 선택하면 특정 펌웨어와 차량 유형도 선택하여야 합니다(아래의 그림 참조). ![ArduPilot 선택](../../../assets/setup/firmware/firmware_selection_ardupilot.jpg) @@ -39,8 +40,10 @@ _QGroundControl_ **데스크탑** 버전을 이용하여 Pixhawk 비행 컨트 1. 업데이트를 시작하려면 **OK** 버튼을 클릭합니다. - 펌웨어가 업그레이드(펌웨어 다운로드, 이전 펌웨어 삭제 등)를 진행합니다. 각 단계 화면을 표출하고, 전체 진행률이 표시줄에 출력됩니다. + 펌웨어가 업그레이드(펌웨어 다운로드, 이전 펌웨어 삭제 등)를 진행합니다. + 각 단계 화면을 표출하고, 전체 진행률이 표시줄에 출력됩니다. ![펌웨어 업그레이드 완료](../../../assets/setup/firmware/firmware_upgrade_complete.jpg) -펌웨어의 업로드가 완료되면, 장치가 재부팅되고 다시 연결됩니다. 다음으로 [기체 프레임](../setup_view/airframe.md)을 지정하여야 합니다(그리고 센서, 라디오 등). +펌웨어의 업로드가 완료되면, 장치가 재부팅되고 다시 연결됩니다. +다음으로 [기체 프레임](../setup_view/airframe.md)을 지정하여야 합니다(그리고 센서, 라디오 등). diff --git a/docs/ko/qgc-user-guide/setup_view/flight_modes.md b/docs/ko/qgc-user-guide/setup_view/flight_modes.md index 46f78bc2039..fee3b498cb3 100644 --- a/docs/ko/qgc-user-guide/setup_view/flight_modes.md +++ b/docs/ko/qgc-user-guide/setup_view/flight_modes.md @@ -1,8 +1,9 @@ # 비행 모드 설정 -_비행 모드_ 섹션을 사용하면 비행 모드를 무선 채널에 매핑할 수 있으며, 따라서 무선 제어 송신기의 스위치에 매핑할 수 있습니다. 비행 모드 설정 방법과 사용 가능한 비행 모드는 PX4와 ArduPilot이 동일하지 않습니다. (ArduCopter와 ArduPlane 간에도 약간의 차이가 있습니다). +_비행 모드_ 섹션을 사용하면 비행 모드를 무선 채널에 매핑할 수 있으며, 따라서 무선 제어 송신기의 스위치에 매핑할 수 있습니다. +비행 모드 설정 방법과 사용 가능한 비행 모드는 PX4와 ArduPilot이 동일하지 않습니다. -::: info +:::info 비행 모드를 설정하려면 이미 [무전기를 구성](../setup_view/radio.md)하고 [송신기를 설정](#transmitter-setup)하여야 합니다(아래 그림 참조). ::: @@ -15,15 +16,17 @@ _비행 모드_ 섹션을 사용하면 비행 모드를 무선 채널에 매핑 ## 송신기 설정 -비행 모드를 설정하려면, 먼저 모드 스위치의 물리적 위치를 단일 채널로 인코딩하도록 *송신기*를 설정합니다. +비행 모드를 설정하려면, 먼저 모드 스위치의 물리적 위치를 단일 채널로 인코딩하도록 _송신기_를 설정합니다. -PX4와 ArduPilot 모두에서 최대 6개의 다른 비행 모드를 송신기의 단일 채널에 할당할 수 있습니다. 6개의 비행 모드를 나타내기 위해 송신기의 2-및 3-위치 스위치의 위치를 사용하는 것이 일반적입니다. 그런 다음 각 스위치 조합은 단일 채널에서 전송될 특정 PWM 값으로 인코딩됩니다. +6개의 비행 모드를 나타내기 위해 송신기의 2-및 3-위치 스위치의 위치를 사용하는 것이 일반적입니다. +그런 다음 각 스위치 조합은 단일 채널에서 전송될 특정 PWM 값으로 인코딩됩니다. -::: info +:::info 단일 채널은 PX4 및 ArduPlane에서 선택할 수 있지만, 멀티콥터에서는 채널 5로 고정되어 있습니다. ::: -이 과정은 송신기에 따라 차이가 납니다. 아래에 여러 가지 설정 예가 있습니다. +이 과정은 송신기에 따라 차이가 납니다. +아래에 여러 가지 설정 예가 있습니다. ### Taranis @@ -31,24 +34,28 @@ PX4와 ArduPilot 모두에서 최대 6개의 다른 비행 모드를 송신기 #### 단일 채널에 3방향 스위치 매핑 -2개 또는 3개의 모드 중 선택만 지원해야 하는 경우에는 3방향 스위치 하나만으로 모드를 위치에 매핑할 수 있습니다. 아래에서는 Taranis 3-way "SD"스위치를 채널 5에 매핑하는 방법을 나타냅니다. +2개 또는 3개의 모드 중 선택만 지원해야 하는 경우에는 3방향 스위치 하나만으로 모드를 위치에 매핑할 수 있습니다. +아래에서는 Taranis 3-way "SD"스위치를 채널 5에 매핑하는 방법을 나타냅니다. Taranis UI **MIXER** 페이지를 열고 아래와 같이 **CH5**까지 아래로 스크롤합니다. ![Taranis - 전환 채널 매핑](../../../assets/setup/flight_modes/taranis_single_channel_mode_selection_1.png) -**ENT(ER)**를 눌러 **CH5** 구성을 편집한 다음 **소스**를 _SD_ 버튼으로 변경합니다. +\*\*ENT(ER)\*\*를 눌러 **CH5** 구성을 편집한 다음 **소스**를 _SD_ 버튼으로 변경합니다. ![Taranis - 채널 설정](../../../assets/setup/flight_modes/taranis_single_channel_mode_selection_2.png) -준비과정이 끝났습니다. 채널 5는 이제 3개의 다른 **SD** 스위치 위치에 대해 3개의 다른 PWM 값을 출력합니다. +That's it! +채널 5는 이제 3개의 다른 **SD** 스위치 위치에 대해 3개의 다른 PWM 값을 출력합니다. #### 단일 채널에 여러 스위치 매핑 -대부분의 송신기에는 6방향 스위치가 없으므로 사용 가능한 스위치 위치(최대 6개)보다 더 많은 모드를 지원할 수 있어야 하는 경우 여러 스위치를 사용하여 표시하여야 합니다. 일반적으로, 2위치 및 3위치 스위치의 위치를 단일 채널로 인코딩하여 수행되므로 각 스위치 위치 조합이 다른 PWM 값을 생성합니다. +대부분의 송신기에는 6방향 스위치가 없으므로 사용 가능한 스위치 위치(최대 6개)보다 더 많은 모드를 지원할 수 있어야 하는 경우 여러 스위치를 사용하여 표시하여야 합니다. +일반적으로, 2위치 및 3위치 스위치의 위치를 단일 채널로 인코딩하여 수행되므로 각 스위치 위치 조합이 다른 PWM 값을 생성합니다. -FrSky Taranis에서 이 프로세스는 두 개의 실제 스위치 위치의 각 조합에 "논리적 스위치"를 할당하는 것을 포함합니다. 그런 다음 각 논리적 스위치는 동일한 채널에서 다른 PWM 값에 할당됩니다. +FrSky Taranis에서 이 프로세스는 두 개의 실제 스위치 위치의 각 조합에 "논리적 스위치"를 할당하는 것을 포함합니다. +그런 다음 각 논리적 스위치는 동일한 채널에서 다른 PWM 값에 할당됩니다. -이 비디오는 _FrSky Taranis_ 송신기를 사용한 수행과정을 나타냅니다: https://youtu.be/TFEjEQZqdVA +이 비디오는 _FrSky Taranis_ 송신기를 사용한 수행과정을 나타냅니다: https\://youtu.be/TFEjEQZqdVA diff --git a/docs/ko/qgc-user-guide/setup_view/flight_modes_ardupilot.md b/docs/ko/qgc-user-guide/setup_view/flight_modes_ardupilot.md index af8b9c14ceb..057d3b29bc3 100644 --- a/docs/ko/qgc-user-guide/setup_view/flight_modes_ardupilot.md +++ b/docs/ko/qgc-user-guide/setup_view/flight_modes_ardupilot.md @@ -3,8 +3,10 @@ _비행 모드_ 섹션에서는 RC 송신기의 특정 스위치/스위치 위치에 의해 트리거되는 비행 모드 및 기타 작업을 설정할 수 있습니다. ::: info -비행 모드를 설정하려면 비행 모드를 설정하기 위해 [무전기를 구성](../setup_view/radio.md)해야 합니다. - [RC 송신기 설정](../setup_view/FlightModes.md#transmitter-setup)(비행 모드 & 송신기 설정) -::: +In order to set up flight modes you must already have + +> - 비행 모드를 설정하려면 비행 모드를 설정하기 위해 [무전기를 구성](../setup_view/radio.md)해야 합니다. +> - - [RC 송신기 설정](../setup_view/FlightModes.md#transmitter-setup)(비행 모드 & 송신기 설정) 이 섹션에 액세스하려면, 상단 툴바에서 **기어** 아이콘(차량 설정)을 선택한 다음 사이드바에서 **비행 모드**를 선택하세요. @@ -12,12 +14,15 @@ _비행 모드_ 섹션에서는 RC 송신기의 특정 스위치/스위치 위 ## 비행 모드 설정 -ArduPilot에서 최대 6개의 다른 비행 모드를 송신기의 단일 채널에 할당할 수 있습니다(채널은 평면에서 선택 가능하지만 멀티콥터에서는 채널 5로 고정됨). 또한 ArduCopter를 사용하면 채널 7-12에 대한 추가 *채널 옵션*을 설정할 수 있습니다. 이를 통하여 스위치에 기능을 설정합니다(예: 카메라를 켜거나 실행으로 돌아가기). +ArduPilot에서 최대 6개의 다른 비행 모드를 송신기의 단일 채널에 할당할 수 있습니다(채널은 평면에서 선택 가능하지만 멀티콥터에서는 채널 5로 고정됨). +또한 ArduCopter를 사용하면 채널 7-12에 대한 추가 _채널 옵션_을 설정할 수 있습니다. +이를 통하여 스위치에 기능을 설정합니다(예: 카메라를 켜거나 실행으로 돌아가기). 비행 모드를 설정 방법: 1. RC 송신기를 켭니다. -1. 상단 툴바에서 **기어** 아이콘(차량 설정)을 선택한 다음 사이드바에서 **비행 모드**를 선택합니다. + +2. 상단 툴바에서 **기어** 아이콘(차량 설정)을 선택한 다음 사이드바에서 **비행 모드**를 선택합니다. ![비행 모드 설정 - ArduCopter](../../../assets/setup/flight_modes/ardupilot_copter.jpg) @@ -25,21 +30,23 @@ ArduPilot에서 최대 6개의 다른 비행 모드를 송신기의 단일 채 위 이미지는 ArduCopter의 비행 모드 설정 스크린샷입니다. ::: -1. 드롭다운에서 최대 6개의 비행 모드를 선택합니다. -1. **ArduCopter만 해당:** 채널 7-12에 대해 추가 *채널 옵션*을 선택합니다. -1. **ArduPlane만 해당:** 드롭다운에서 모드 채널을 선택합니다. +3. 드롭다운에서 최대 6개의 비행 모드를 선택합니다. + +4. **ArduCopter만 해당:** 채널 7-12에 대해 추가 _채널 옵션_을 선택합니다. + +5. **ArduPlane만 해당:** 드롭다운에서 모드 채널을 선택합니다. ![비행 모드 설정 - ArduPlane](../../../assets/setup/flight_modes/ardupilot_plane.jpg) -1. 송신기의 각 모드 스위치를 차례로 선택하여 모드가 올바른 송신기 스위치에 매핑되는지 테스트하고, 선택한 비행 모드 활성화 여부를 확인합니다(활성 모드의 경우 *QGroundControl*에서 텍스트가 노란색으로 변경됩니다). +6. 송신기의 각 모드 스위치를 차례로 선택하여 모드가 올바른 송신기 스위치에 매핑되는지 테스트하고, 선택한 비행 모드 활성화 여부를 확인합니다(활성 모드의 경우 _QGroundControl_에서 텍스트가 노란색으로 변경됩니다). 모든 값은 변경시에 자동으로 저장됩니다. -::: info -위의 ArduCopter 스크린샷은 채널 7 스위치에 RTL의 추가 옵션이 있는 3위치 비행 모드 스위치의 일반적인 설정을 보여줍니다. 또한 2개의 스위치와 송신기의 믹싱을 사용하여 6가지 비행 모드를 설정할 수 있습니다. 방법에 대한 자습서를 보려면 이 [페이지](http://ardupilot.org/copter/docs/common-rc-transmitter-flight-mode-configuration.html#common-rc-transmitter-flight-mode-configuration)의 중앙 섹션으로 스크롤하십시오. +위의 ArduCopter 스크린샷은 채널 7 스위치에 RTL의 추가 옵션이 있는 3위치 비행 모드 스위치의 일반적인 설정을 보여줍니다. +또한 2개의 스위치와 송신기의 믹싱을 사용하여 6가지 비행 모드를 설정할 수 있습니다. 방법에 대한 자습서를 보려면 이 [페이지](http://ardupilot.org/copter/docs/common-rc-transmitter-flight-mode-configuration.html#common-rc-transmitter-flight-mode-configuration)의 중앙 섹션으로 스크롤하십시오. ::: -## 참고: +## See Also - [ArduCopter 비행 모드](http://ardupilot.org/copter/docs/flight-modes.html) - [ArduPlane 비행 모드](http://ardupilot.org/plane/docs/flight-modes.html) diff --git a/docs/ko/qgc-user-guide/setup_view/flight_modes_px4.md b/docs/ko/qgc-user-guide/setup_view/flight_modes_px4.md index 4c86be7bf19..ca3b9e5b9de 100644 --- a/docs/ko/qgc-user-guide/setup_view/flight_modes_px4.md +++ b/docs/ko/qgc-user-guide/setup_view/flight_modes_px4.md @@ -3,8 +3,10 @@ _비행 모드_ 섹션에서는 RC 송신기의 특정 스위치/스위치 위치에 의해 트리거되는 비행 모드 및 기타 작업을 설정할 수 있습니다. ::: info -비행 모드를 설정하려면 비행 모드를 설정하기 위해 [무전기를 구성](../setup_view/radio.md)해야 합니다. - [RC 송신기 설정](../setup_view/FlightModes.md#transmitter-setup)(비행 모드 & 송신기 설정) -::: +In order to set up flight modes you must already have + +- 비행 모드를 설정하려면 비행 모드를 설정하기 위해 [무전기를 구성](../setup_view/radio.md)해야 합니다. +- - [RC 송신기 설정](../setup_view/FlightModes.md#transmitter-setup)(비행 모드 & 송신기 설정) 이 섹션에 액세스하려면, 상단 툴바에서 **기어** 아이콘(차량 설정)을 선택한 다음 사이드바에서 **비행 모드**를 선택하세요. @@ -12,26 +14,35 @@ _비행 모드_ 섹션에서는 RC 송신기의 특정 스위치/스위치 위 ## 비행 모드 설정 -화면에서 "모드" 채널을 지정하고 채널에서 전송된 값을 기반으로 활성화될 최대 6개의 비행 모드를 선택할 수 있습니다. 또한 소수의 채널을 할당하여 랜딩 기어 배치 또는 비상 정지(킬 스위치)와 같은 특정 작업을 트리거할 수 있습니다. +화면에서 "모드" 채널을 지정하고 채널에서 전송된 값을 기반으로 활성화될 최대 6개의 비행 모드를 선택할 수 있습니다. +또한 소수의 채널을 할당하여 랜딩 기어 배치 또는 비상 정지(킬 스위치)와 같은 특정 작업을 트리거할 수 있습니다. 단계는 다음과 같습니다: 1. RC 송신기를 켭니다. -1. 상단 툴바에서 **기어** 아이콘(차량 설정)을 선택한 다음 사이드바에서 **비행 모드**를 선택합니다. + +2. 상단 툴바에서 **기어** 아이콘(차량 설정)을 선택한 다음 사이드바에서 **비행 모드**를 선택합니다. ![비행 모드 단일 채널](../../../assets/setup/flight_modes/px4_single_channel.jpg) -1. _비행 모드 설정_ 설정 +3. _비행 모드 설정_ 설정 + - 송신기 **모드 채널**을 선택합니다(위의 채널 5로 표시됨). - - 채널에 인코딩된 스위치 위치에 대해 최대 6개의 **비행 모드**를 선택합니다. > **참고** 위치 모드, 리턴 모드 및 미션 모드가 [권장됩니다](https://docs.px4.io/master/en/config/flight_mode.html#what-flight-modes-and-switches-should-i-set). -1. _스위치 설정_ 설정 + - 채널에 인코딩된 스위치 위치에 대해 최대 6개의 **비행 모드**를 선택합니다. + + > **참고** 위치 모드, 리턴 모드 및 미션 모드가 [권장됩니다](https://docs.px4.io/master/en/config/flight_mode.html#what-flight-modes-and-switches-should-i-set). + > ::: + +4. _스위치 설정_ 설정 + - _킬 스위치_, 랜딩 기어 등 특정 작업에 매핑하려는 채널을 선택합니다(트랜스미터에 예비 스위치와 채널이 있는 경우). -1. 모드가 올바른 송신기 스위치에 매핑되었는 지 테스트합니다. - - *채널 모니터*를 확인하여 각 스위치가 예상 채널을 이동하는 지 확인합니다. - - 송신기의 각 모드 스위치를 차례로 선택하고 원하는 비행 모드가 활성화되어 있는 지 확인합니다(활성 모드의 경우 *QGroundControl*에서 텍스트가 노란색으로 변경됩니다). + +5. 모드가 올바른 송신기 스위치에 매핑되었는 지 테스트합니다. + - _채널 모니터_를 확인하여 각 스위치가 예상 채널을 이동하는 지 확인합니다. + - 송신기의 각 모드 스위치를 차례로 선택하고 원하는 비행 모드가 활성화되어 있는 지 확인합니다(활성 모드의 경우 _QGroundControl_에서 텍스트가 노란색으로 변경됩니다). 모든 값은 변경시에 자동으로 저장됩니다. -## 참고: +## See Also - [PX4 비행 모드 ](https://docs.px4.io/en/flight_modes/) diff --git a/docs/ko/qgc-user-guide/setup_view/joystick.md b/docs/ko/qgc-user-guide/setup_view/joystick.md index 7c64b6ad3c5..6c48cf3650d 100644 --- a/docs/ko/qgc-user-guide/setup_view/joystick.md +++ b/docs/ko/qgc-user-guide/setup_view/joystick.md @@ -1,25 +1,27 @@ # 조이스틱 설정 -*QGroundControl*은 RC 송신기 대신 조이스틱이나 게임패드로 기체를 조종할 수 있습니다. +_QGroundControl_은 RC 송신기 대신 조이스틱이나 게임패드로 기체를 조종할 수 있습니다. -::: info +:::info 조이스틱(또는 [가상 썸스틱](../settings_view/virtual_joystick.md))으로 비행하려면 조이스틱 정보가 MAVLink로 전송되기 때문에 기체가 조이스틱에 반응하기 위하여 안정적인 고대역폭 원격 측정 채널이 필요합니다. ::: -::: info -조이스틱과 게임패드 지원은 이기종 플랫폼 [SDL2](http://www.libsdl.org/index.php) 라이브러리를 사용하여 활성화됩니다. 특정 컨트롤러와의 호환성은 SDL에 따라 다릅니다(해당 API에 의해 노출되는 모든 버튼은 _QGroundControl_ UI를 통하여 표시됨). [일반적인 조이스틱과 게임패드](#supported-joysticks)들은 호환됩니다. +:::info +조이스틱과 게임패드 지원은 이기종 플랫폼 [SDL2](http://www.libsdl.org/index.php) 라이브러리를 사용하여 활성화됩니다. +특정 컨트롤러와의 호환성은 SDL에 따라 다릅니다(해당 API에 의해 노출되는 모든 버튼은 _QGroundControl_ UI를 통하여 표시됨). +[일반적인 조이스틱과 게임패드](#supported-joysticks)들은 호환됩니다. ::: -::: info -조이스틱은 보정 프로세스의 마지막 단계로 *활성화*됩니다. +:::info +조이스틱은 보정 프로세스의 마지막 단계로 _활성화_됩니다. ::: ## PX4 조이스틱 활성화 -PX4에서 조이스틱 지원을 활성화하려면 매개변수 [`COM_RC_IN_MODE`](h[ttp://localhost:8080/px4_user_guide/en](https://docs.px4.io/en/main/advanced_config/parameter_reference.html#COM_RC_IN_MODE)을 `10`이면 *조이스틱*이 설정 옵션으로 제공되지 않습니다. +PX4에서 조이스틱 지원을 활성화하려면 매개변수 \[`COM_RC_IN_MODE`]\(h[ttp://localhost:8080/px4\_user\_guide/en](https://docs.px4.io/en/main/advanced_config/parameter_reference.html#COM_RC_IN_MODE)을 `10`이면 _조이스틱_이 설정 옵션으로 제공되지 않습니다. -이것은 PX4 SITL 빌드에서 기본적으로 활성화됩니다. 매개변수의 검색 및 설정 방법은 [매개변수](../setup_view/parameters.md)를 참고하십시오. +This is enabled by default for PX4 SITL builds (see the [Parameters](../setup_view/parameters.md) topic for information on how to find and set a particular parameter). ## Ardupilot 조이스틱 지원 @@ -29,9 +31,12 @@ ArduPilot 기체에서 지원됩니다. 매개변수 설정은 필요하지 않 조이스틱을 설정하려면: -1. *QGroundControl*을 실행후, 기체를 연결합니다. +1. Start _QGroundControl_ and connect to a vehicle. + 2. USB 포트에 조이스틱이나 게임패드를 연결합니다. -3. 상단 도구 모음에서 **톱니 바퀴** 아이콘(기체 설정)을 선택한 다음 가장자리 표시줄에서 **조이스틱**을 선택하십시오. 아래의 화면이 표시됩니다. + +3. 상단 도구 모음에서 **톱니 바퀴** 아이콘(기체 설정)을 선택한 다음 가장자리 표시줄에서 **조이스틱**을 선택하십시오. + 아래의 화면이 표시됩니다. ![조이스틱 설정 - PlayStation](../../../assets/setup/joystick_sony_playstation.jpg) @@ -41,26 +46,31 @@ ArduPilot 기체에서 지원됩니다. 매개변수 설정은 필요하지 않 ![조이스틱 설정 - 보정](../../../assets/setup/joystick_calibration.jpg) - 조이스틱은 보정 프로세스의 마지막 단계에서 *활성화*됩니다. + 조이스틱은 보정 프로세스의 마지막 단계에서 _활성화_됩니다. 6. 버튼과 스틱이 의도한 대로 작동하는지 테스트하고 **일반** 탭의 축과 버튼 모니터에서 결과를 확인합니다. 7. 각 조이스틱 버튼으로 활성화되는 비행 모드와 차량의 기능을 선택합니다.![조이스틱 설정 - 버튼](../../../assets/setup/joystick_buttons.jpg) + ![조이스틱 설정 - 고급 설정](../../../assets/setup/joystick_advanced.jpg) -## 고급 설정 +## Advanced Options -**고급** 탭에서 몇 가지 추가 옵션을 사용할 수 있습니다. 이러한 옵션은 특이하고 비정상적인 설정, 감도 증가 및 시끄러운 조이스틱 처리에 유용합니다. +**고급** 탭에서 몇 가지 추가 옵션을 사용할 수 있습니다. +이러한 옵션은 특이하고 비정상적인 설정, 감도 증가 및 시끄러운 조이스틱 처리에 유용합니다. ### 스로틀 옵션 ![조이스틱 설정 - 스로틀 모드](../../../assets/setup/joystick_throttle_modes.jpg) -- **조이스틱의 중앙을 스로틀 0으로 설정**: [MANUAL_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL)에서 중앙 또는 아래로 향한 스틱은 0을 전송하고, 위로 올린 스틱은 1000을 전송합니다. - - **스프링 로드 스로틀 스무딩**: 이 모드에서는 스로틀 자체가 아니라 스로틀이 증감하는 속도를 제어합니다. 이것은 사용자가 원하는 스로틀을 잡고 스틱을 놓을 수 있으므로, 스로틀 스틱에 스프링이 장착된 설정에 유용합니다. -- **풀다운 스틱은 제로 스로틀**: 이 모드에서 스틱을 내리면 [MANUAL_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL)에서 0, 중앙에 500, 올리면 1000이 전송됩니다. -- **음수 추력 허용**: **중앙 스틱이 0 스로틀** 모드에 있을 때 사용자가 스틱을 내려 음수 값을 전송할 수 있습니다. 내려진 스틱은 [MANUAL_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL)에서 -1000을 전송하고, 중앙에 있는 스틱은 0을 전송하고, 올려진 스틱은 1000을 전송합니다. 이 모드는 [Rover](http://ardupilot.org/rover/index.html)와 같이 음의 추력을 지원하는 차량에만 사용할 수 있습니다. +- **조이스틱의 중앙을 스로틀 0으로 설정**: [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL)에서 중앙 또는 아래로 향한 스틱은 0을 전송하고, 위로 올린 스틱은 1000을 전송합니다. + - **스프링 로드 스로틀 스무딩**: 이 모드에서는 스로틀 자체가 아니라 스로틀이 증감하는 속도를 제어합니다. + 이것은 사용자가 원하는 스로틀을 잡고 스틱을 놓을 수 있으므로, 스로틀 스틱에 스프링이 장착된 설정에 유용합니다. +- **풀다운 스틱은 제로 스로틀**: 이 모드에서 스틱을 내리면 [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL)에서 0, 중앙에 500, 올리면 1000이 전송됩니다. +- **음수 추력 허용**: **중앙 스틱이 0 스로틀** 모드에 있을 때 사용자가 스틱을 내려 음수 값을 전송할 수 있습니다. + 내려진 스틱은 [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL)에서 -1000을 전송하고, 중앙에 있는 스틱은 0을 전송하고, 올려진 스틱은 1000을 전송합니다. + 이 모드는 [Rover](http://ardupilot.org/rover/index.html)와 같이 음의 추력을 지원하는 차량에만 사용할 수 있습니다. -### 엑스포 +### Expo 엑스포 슬라이더를 사용하면 스틱을 중앙에서 덜 민감하게 만들어 이 영역에서 더 세밀하게 제어할 수 있습니다. @@ -74,9 +84,10 @@ ArduPilot 기체에서 지원됩니다. 매개변수 설정은 필요하지 않 ### 고급 설정 -고급 설정은 일반 사용자에게는 권장되지 않습니다. 잘못 사용하면 예상치 못한 결과를 초래할 수 있습니다. +고급 설정은 일반 사용자에게는 권장되지 않습니다. +잘못 사용하면 예상치 못한 결과를 초래할 수 있습니다. -![조이스틱 설정 - 고급 설정](../../../assets/setup/joystick_advanced.jpg) +고급 설정 다음과 같은 설정을 사용할 수 있습니다: @@ -84,27 +95,34 @@ ArduPilot 기체에서 지원됩니다. 매개변수 설정은 필요하지 않 - **조이스틱 모드**: 조이스틱이 실제로 제어하는 것과 차량에 전송되는 MAVLink 메시지를 변경합니다. - - **일반**: 일반 RC 라디오를 사용하는 것처럼 사용자가 제어하며, MAVLink [MANUAL_CONTROL](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL) 메시지를 사용합니다. - - **자세**: 사용자가 차량의 자세를 제어하며 MAVLink [SET_ATTITUDE_TARGET](https://mavlink.io/en/messages/common.html#SET_ATTITUDE_TARGET) 메시지를 사용합니다. - - **위치**: 사용자가 기체의 위치를 제어합니다. MAVLink [SET_POSITION_TARGET_LOCAL_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) 메시지에는 **위치**에 대한 비트마스크만을 사용합니다. - - **힘**: 사용자가 차량에 가해지는 힘을 제어합니다. MAVLink [SET_POSITION_TARGET_LOCAL_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) 메시지는 **force** 전용 비트마스크를 사용합니다. - - **속도**: 사용자가 차량에 가해지는 힘을 제어하며, **속도**에 대한 비트마스크가 있는 MAVLink [SET_POSITION_TARGET_LOCAL_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) 메시지를 사용합니다. + - **일반**: 일반 RC 라디오를 사용하는 것처럼 사용자가 제어하며, MAVLink [MANUAL\_CONTROL](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL) 메시지를 사용합니다. + - **자세**: 사용자가 차량의 자세를 제어하며 MAVLink [SET\_ATTITUDE\_TARGET](https://mavlink.io/en/messages/common.html#SET_ATTITUDE_TARGET) 메시지를 사용합니다. + - MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) 메시지에는 **위치**에 대한 비트마스크만을 사용합니다. + - MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) 메시지는 **force** 전용 비트마스크를 사용합니다. + - **속도**: 사용자가 차량에 가해지는 힘을 제어하며, **속도**에 대한 비트마스크가 있는 MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) 메시지를 사용합니다. - **축 주파수**: 조이스틱이 유휴 상태일 때(입력이 변경되지 않음) 조이스틱 명령이 5Hz로 차량에 전송됩니다. 조이스틱이 사용 중일 때(입력 값이 변경됨) 조이스틱 명령은 이 설정에 의한 (더 높은) 주파수가 기체에 전송됩니다. 기본값은 25Hz입니다. - **버튼 주파수**: 반복되는 버튼 동작이 전송되는 주파수를 제어합니다. -- **원 수정 사용**: RC 컨트롤러 스틱은 정사각형을 나타내는 반면 조이스틱은 일반적으로 원을 나타냅니다. 이 옵션이 활성화되면 사각형이 조이스틱 이동 영역 내부에 새겨져 RC 컨트롤러와 비슷해집니다(그래서 네 모서리 모두에 도달할 수 있음). 효과적인 스틱 이동이 감소하므로 비용이 감소합니다. +- **원 수정 사용**: RC 컨트롤러 스틱은 정사각형을 나타내는 반면 조이스틱은 일반적으로 원을 나타냅니다. + 이 옵션이 활성화되면 사각형이 조이스틱 이동 영역 내부에 새겨져 RC 컨트롤러와 비슷해집니다(그래서 네 모서리 모두에 도달할 수 있음). 효과적인 스틱 이동이 감소하므로 비용이 감소합니다. - - **비활성화:** **비활성화**시에는 조이스틱 위치가 변경되지 않고 차량으로 전송됩니다(조이스틱 장치에서 읽는 방식). 일부 조이스틱에서 (롤, 피치) 값은 정사각형 내부에 새겨진 원의 공간으로 제한됩니다. 이 그림에서 지점 B는 전체 피치 앞으로 및 전체 롤 오른쪽을 명령하지만 리테이너가 원형이기 때문에 조이스틱이 지점 B에 도달할 수 없습니다. 이는 전체 롤 및 피치 편향을 동시에 달성할 수 없음을 의미합니다. + - **비활성화:** **비활성화**시에는 조이스틱 위치가 변경되지 않고 차량으로 전송됩니다(조이스틱 장치에서 읽는 방식). + 일부 조이스틱에서 (롤, 피치) 값은 정사각형 내부에 새겨진 원의 공간으로 제한됩니다. + 이 그림에서 지점 B는 전체 피치 앞으로 및 전체 롤 오른쪽을 명령하지만 리테이너가 원형이기 때문에 조이스틱이 지점 B에 도달할 수 없습니다. + 이는 전체 롤 및 피치 편향을 동시에 달성할 수 없음을 의미합니다. - ![](../../../assets/setup/joystick_circle_correction.jpg) + ![](../../../assets/setup/joystick_circle_correction.jpg) - - **활성화:** 조이스틱 값은 명령의 전체 범위를 보장하기 위해 소프트웨어에서 조정됩니다. 그러나 그림에서 회색으로 강조 표시된 영역이 더 이상 사용되지 않기 때문에 사용 가능한 이동 영역 및 해상도가 감소합니다. + - **활성화:** 조이스틱 값은 명령의 전체 범위를 보장하기 위해 소프트웨어에서 조정됩니다. + 그러나 그림에서 회색으로 강조 표시된 영역이 더 이상 사용되지 않기 때문에 사용 가능한 이동 영역 및 해상도가 감소합니다. - ![원 수정 활성화됨](../../../assets/setup/joystick_circle_correction2.jpg) + ![원 수정 활성화됨](../../../assets/setup/joystick_circle_correction2.jpg) -- **불감대:** 불감대를 사용하면 스틱이 중립 위치 근처에 있을 때 입력 변경 사항을 무시할 수 있습니다. 이것은 명령으로 해석될 수 있는 민감한 스틱의 소음이나 작은 진동을 피하는 데 도움이 되며, 스틱이 중앙으로 잘 돌아오지 않을 때 작은 오프셋을 제거할 수 있습니다. [보정](#configure)의 첫 번째 단계에서 조정하거나 해당 축 모니터에서 수직으로 드래그하여 조정할 수 있습니다. +- **불감대:** 불감대를 사용하면 스틱이 중립 위치 근처에 있을 때 입력 변경 사항을 무시할 수 있습니다. + 이것은 명령으로 해석될 수 있는 민감한 스틱의 소음이나 작은 진동을 피하는 데 도움이 되며, 스틱이 중앙으로 잘 돌아오지 않을 때 작은 오프셋을 제거할 수 있습니다. + [보정](#configure)의 첫 번째 단계에서 조정하거나 해당 축 모니터에서 수직으로 드래그하여 조정할 수 있습니다. ## 지원되는 조이스틱 @@ -112,11 +130,14 @@ ArduPilot 기체에서 지원됩니다. 매개변수 설정은 필요하지 않 ### 소니 플레이스테이션 3/4 컨트롤러 -이 두 조이스틱을 모두 사용하는 것이 좋습니다. "즉시" 잘 작동하며 비행 모드에 매핑할 수 있는 버튼들이 있습니다. +이 두 조이스틱을 모두 사용하는 것이 좋습니다. +"즉시" 잘 작동하며 비행 모드에 매핑할 수 있는 버튼들이 있습니다. #### Sony PS4 - DualShock 4 컨트롤러 V2(무선 설정) -이 컨트롤러는 USB 및 Bluetooth 무선 연결을 모두 지원합니다. 유선 USB 연결은 일반적으로 즉시 사용할 수 있습니다. 무선 연결에는 몇 가지 설정이 필요합니다. +이 컨트롤러는 USB 및 Bluetooth 무선 연결을 모두 지원합니다. +유선 USB 연결은 일반적으로 즉시 사용할 수 있습니다. +무선 연결에는 몇 가지 설정이 필요합니다. ##### 리눅스 우분투 설정 @@ -124,20 +145,32 @@ ArduPilot 기체에서 지원됩니다. 매개변수 설정은 필요하지 않 과정은 다음과 같습니다: -1. _jstest-gtk_ 설치: `sudo apt install jstest-gtk` -2. _ds4drv_ 설치: `sudo pip install ds4drv` +1. _QGroundControl_을 실행후, 기체를 연결합니다. + ``` + _jstest-gtk_ 설치: `sudo apt install jstest-gtk` + ``` +2. 매개변수의 검색 및 설정 방법은 [매개변수](../setup_view/parameters.md)를 참고하십시오. + ``` + _ds4drv_ 설치: `sudo pip install ds4drv` + ``` 3. ds4drv 실행 `sudo ds4drv` -4. 컨트롤러 LED가 빠르게 깜박이기 시작할 때까지 **공유** 버튼을 누른 다음 **PS** 버튼을 길게 누릅니다. 그다음에는 *ds4drv*가 새 기기를 감지하여야 합니다. + ``` + 엑스포 + ``` +4. 컨트롤러 LED가 빠르게 깜박이기 시작할 때까지 **공유** 버튼을 누른 다음 **PS** 버튼을 길게 누릅니다. + 그다음에는 _ds4drv_가 새 기기를 감지하여야 합니다. 5. 마지막으로 _jstest-gtk_ 유틸리티를 실행하여 컨트롤러 설정을 확인합니다. ### FrSky 타라니스 XD9 플러스 -_FrSky Taranis XD9 plus_ 리모컨도 조이스틱으로 연결할 수 있습니다. 뒷면의 USB 포트로 연결합니다. +_FrSky Taranis XD9 plus_ 리모컨도 조이스틱으로 연결할 수 있습니다. +뒷면의 USB 포트로 연결합니다. Taranis는 버튼 옵션을 사용하는 것을 허용되지 않습니다(정확히 말하면 옵션을 설정할 수 있지만, 송신기의 버튼을 토글하여도 작동하지 않습니다). -::: info -Taranis는 공개적으로 작업 중인 개방형 시스템입니다. 작성 시점에 조이스틱으로 효과적으로 작동할 수 있는 펌웨어나 설정이 있을 수 있습니다. +:::info +Taranis는 공개적으로 작업 중인 개방형 시스템입니다. +작성 시점에 조이스틱으로 효과적으로 작동할 수 있는 펌웨어나 설정이 있을 수 있습니다. ::: ### 로지텍 게임패드 F310 @@ -146,7 +179,8 @@ Logitech Gamepad F310은 MacOS "Sierra"에서 USB를 통해 테스트되었습 ### 로지텍 익스트림 3D 프로 -[Logitech Extreme 3D Pro](http://gaming.logitech.com/en-ch/product/extreme-3d-pro-joystick) 조이스틱은 모든 플랫폼(Linux, Windows, Mac OSX)에서 테스트되었습니다. 이것은 또한 비틀 수 있는 단일 스틱 컨트롤러입니다. 주 스틱 축은 피치 및 롤에 사용되는 반면 트위스트 동작은 요에 사용됩니다. 스로틀은 별도의 휠에 매핑됩니다. +[Logitech Extreme 3D Pro](http://gaming.logitech.com/en-ch/product/extreme-3d-pro-joystick) 조이스틱은 모든 플랫폼(Linux, Windows, Mac OSX)에서 테스트되었습니다. +이것은 또한 비틀 수 있는 단일 스틱 컨트롤러입니다. 주 스틱 축은 피치 및 롤에 사용되는 반면 트위스트 동작은 요에 사용됩니다. 스로틀은 별도의 휠에 매핑됩니다. ### 로지텍 F710 게임패드 @@ -156,9 +190,11 @@ Logitech Gamepad F310은 MacOS "Sierra"에서 USB를 통해 테스트되었습 #### Mac OS Leopard / Lion 설정 -F710은 Leopard / Lion에서 감지되지만, 자동으로 설정되지 않습니다. 작동하는 구성을 얻으려면 F710이 *Rumblepad2*로 인식되어야 합니다. +F710은 Leopard / Lion에서 감지되지만, 자동으로 설정되지 않습니다. +작동하는 구성을 얻으려면 F710이 _Rumblepad2_로 인식되어야 합니다. -먼저 **Apple > 이 Mac에 관하여 > 추가 정보 > 시스템 보고서 > USB**에서 인식 방법을 확인합니다. "Logitech Cordless RumblePad 2"로 감지되면 더 이상 수행할 필요는 없습니다. +먼저 **Apple > 이 Mac에 관하여 > 추가 정보 > 시스템 보고서 > USB**에서 인식 방법을 확인합니다. +"Logitech Cordless RumblePad 2"로 감지되면 더 이상 수행할 필요는 없습니다. "Logitech Wireless 710"으로 감지되면 다음 단계를 수행하십시오. diff --git a/docs/ko/qgc-user-guide/setup_view/motors.md b/docs/ko/qgc-user-guide/setup_view/motors.md index fb74e266069..52758b5bbc8 100644 --- a/docs/ko/qgc-user-guide/setup_view/motors.md +++ b/docs/ko/qgc-user-guide/setup_view/motors.md @@ -2,8 +2,9 @@ 모터 설정은 개별 모터와 서보를 테스트합니다(예: 모터가 올바른 방향으로 회전 여부 확인). -::: tip -이 지침은 PX4 및 ArduPilot의 대부분의 기체 유형에 적용됩니다. 기체별 설명서는 하위 주제로 제공됩니다(예: [모터 설정(ArduSub)](../setup_view/motors_ardusub.md)). +:::tip +이 지침은 PX4 및 ArduPilot의 대부분의 기체 유형에 적용됩니다. +기체별 설명서는 하위 주제로 제공됩니다(예: [모터 설정(ArduSub)](../setup_view/motors_ardusub.md)). ::: ![모터 테스트](../../../assets/setup/Motors.png) @@ -12,9 +13,15 @@ 모터를 테스트하려면: -1. 프로펠러를 분리하십시오. > **경고** 모터를 작동하기 전에 프로펠러를 제거하여야 합니다! +1. 프로펠러를 분리하십시오. + + > **경고** 모터를 작동하기 전에 프로펠러를 제거하여야 합니다! + > ::: + 2. (_PX4 전용_) 안전 스위치 활성화(장착된 경우) + 3. 스위치를 밀어 모터 슬라이더를 활성화합니다(레이블: _프로펠러 제거 - 모터 슬라이더 활성화_). + 4. 개별 슬라이더를 조정하여 모터를 회전시키고, 올바른 방향으로 회전하는 지 확인합니다. ::: info diff --git a/docs/ko/qgc-user-guide/setup_view/motors_ardusub.md b/docs/ko/qgc-user-guide/setup_view/motors_ardusub.md index 2e83bde36fe..dd0edcae293 100644 --- a/docs/ko/qgc-user-guide/setup_view/motors_ardusub.md +++ b/docs/ko/qgc-user-guide/setup_view/motors_ardusub.md @@ -2,23 +2,26 @@ ArduSub가 제대로 작동하려면 모터가 올바르게 설정되어야 합니다. -ROV를 방금 조립했다면 먼저 **수동 테스트** 섹션에서 추진기가 올바른 출력에 연결되었는 지 확인하십시오. 각 슬라이더를 드래그하여 표시된 프레임에 따라 *올바른 모터*가 회전하는 지 확인합니다. +ROV를 방금 조립했다면 먼저 **수동 테스트** 섹션에서 추진기가 올바른 출력에 연결되었는 지 확인하십시오. +각 슬라이더를 드래그하여 표시된 프레임에 따라 _올바른 모터_가 회전하는 지 확인합니다. 추진기가 적절한 출력에 연결되면, [자동 방향 감지](#automatic)(ArduSub 4.0에서 권장) 또는 [수동 테스트](#manual)로 _정확한 방향_(정방향/역방향)을 확인할 수 있습니다. -::: info +:::info [수동 테스트](#manual)는 ArduSub 3.5까지 지원되며, ArduSub 4.0은 [수동 테스트](#manual)와 [자동 방향 감지](#automatic)를 모두 지원합니다. ::: ## 수동 테스트 {#manual} -ArduSub 모터 설정에서 각각의 모터를 테스트할 수 있습니다. 슬라이더를 사용하면 각 모터를 정방향 또는 역방향 모드로 회전할 수 있으며, 슬라이더 아래의 확인란을 사용하면 개별 추진기의 작동을 반대로 할 수 있습니다. +ArduSub 모터 설정에서 각각의 모터를 테스트할 수 있습니다. +슬라이더를 사용하면 각 모터를 정방향 또는 역방향 모드로 회전할 수 있으며, 슬라이더 아래의 확인란을 사용하면 개별 추진기의 작동을 반대로 할 수 있습니다. -오른쪽 이미지는 각 추진기의 위치, 방향 및 현재 사용 중인 프레임을 보여줍니다. 프레임 선택이 차량과 일치하지 않으면, 먼저 [프레임](../setup_view/airframe_ardupilot.md#ardusub) 탭에서 올바른 프레임을 선택하십시오. +오른쪽 이미지는 각 추진기의 위치, 방향 및 현재 사용 중인 프레임을 보여줍니다. +프레임 선택이 차량과 일치하지 않으면, 먼저 [프레임](../setup_view/airframe_ardupilot.md#ardusub) 탭에서 올바른 프레임을 선택하십시오. 모터를 수동으로 설정하고 테스트하려면 페이지의 지침을 읽고 따르십시오. -::: warning +:::warning 스위치를 밀어 차량을 무장시키고 테스트를 활성화하기 전에 모터와 프로펠러에 장애물이 없는 지 확인하십시오! ::: @@ -26,12 +29,15 @@ ArduSub 모터 설정에서 각각의 모터를 테스트할 수 있습니다. ## 자동 방향 감지 {#automatic} -Ardusub 4.0 이상 버전에서는 모터 방향의 자동 감지를 지원합니다. 이것은 각 모터에 펄스를 적용하고 프레임이 예상대로 반응하는 지 확인하고 필요한 경우 모터를 반대로 하여 작동합니다. 이 과정은 약 1분 정도 걸립니다. +Ardusub 4.0 이상 버전에서는 모터 방향의 자동 감지를 지원합니다. +이것은 각 모터에 펄스를 적용하고 프레임이 예상대로 반응하는 지 확인하고 필요한 경우 모터를 반대로 하여 작동합니다. +이 과정은 약 1분 정도 걸립니다. -자동 모터 방향 감지를 수행하려면 **차량 설정->모터** 탭으로 이동하여 **자동 감지 방향** 버튼을 클릭하고 기다립니다. 프로세스에 대한 추가 출력은 실행될 때 버튼 옆에 표시됩니다. +자동 모터 방향 감지를 수행하려면 **차량 설정->모터** 탭으로 이동하여 **자동 감지 방향** 버튼을 클릭하고 기다립니다. +프로세스에 대한 추가 출력은 실행될 때 버튼 옆에 표시됩니다. -::: warning -이 절차를 수행하려면 프레임 보기에 표시된 대로 모터가 *올바른 출력*에 연결되어 있어야 합니다! +:::warning +이 절차를 수행하려면 프레임 보기에 표시된 대로 모터가 _올바른 출력_에 연결되어 있어야 합니다! ::: ![Ardusub 모터 자동 설정](../../../assets/setup/motors-sub-auto.jpg) diff --git a/docs/ko/qgc-user-guide/setup_view/parameters.md b/docs/ko/qgc-user-guide/setup_view/parameters.md index 30143223a96..824fef148a4 100644 --- a/docs/ko/qgc-user-guide/setup_view/parameters.md +++ b/docs/ko/qgc-user-guide/setup_view/parameters.md @@ -4,7 +4,7 @@ _매개변수_ 화면은 기체와 관련된 매개변수를 검색하고 수정 ![매개변수 화면](../../../assets/setup/parameters_px4.jpg) -::: info +:::info PX4 Pro와 ArduPilot은 매개변수들은 서로 다르지만, 모두 설정가능합니다. ::: @@ -12,7 +12,7 @@ PX4 Pro와 ArduPilot은 매개변수들은 서로 다르지만, 모두 설정가 매개변수는 그룹화되어 있습니다. 왼쪽에 있는 버튼을 클릭하여 보려는 매개변수 그룹을 선택합니다(위의 이미지에서 _Battery Calibration_ 그룹이 선택됨). -_검색_ 필드에 용어를 입력하여 매개변수를 *검색*합니다. 그러면, 입력된 하위 문자열이 포함된 모든 매개변수 이름 및 설명 목록이 표시됩니다(검색을 재설정하려면 **지우기**를 누르십시오). +_검색_ 필드에 용어를 입력하여 매개변수를 _검색_합니다. 그러면, 입력된 하위 문자열이 포함된 모든 매개변수 이름 및 설명 목록이 표시됩니다(검색을 재설정하려면 **지우기**를 누르십시오). ![매개변수 검색](../../../assets/setup/parameters_search.jpg) @@ -22,7 +22,7 @@ _검색_ 필드에 용어를 입력하여 매개변수를 *검색*합니다. 그 ![파라미터 값 변경](../../../assets/setup/parameters_changing.png) -::: info +:::info **저장** 버튼을 클릭하면 매개변수는 기체에 업로드됩니다. 매개변수에 따라 변경된 내용을 적용하기 위해서 비행 컨트롤러 재부팅이 필요할 수 있습니다. ::: diff --git a/docs/ko/qgc-user-guide/setup_view/power.md b/docs/ko/qgc-user-guide/setup_view/power.md index 3a4541c483c..d6d32120122 100644 --- a/docs/ko/qgc-user-guide/setup_view/power.md +++ b/docs/ko/qgc-user-guide/setup_view/power.md @@ -1,6 +1,6 @@ # 전원 설정 -*전원 설정*은 배터리 매개변수를 설정과 프로펠러 고급 설정을 제공합니다. +_전원 설정_은 배터리 매개변수를 설정과 프로펠러 고급 설정을 제공합니다. ![배터리 보정](../../../assets/setup/px4_power.jpg) @@ -8,18 +8,18 @@ 데이터 시트에서 배터리 전력 모듈에 대한 다음의 데이터를 입력합니다: 셀 수, 셀당 최대 전압, 셀당 빈 전압. 전압 분배기 및 볼트당 암페어 정보도 입력하면 더욱 좋습니다. -*QGroundControl*을 사용하여 측정에서 적절한 전압 분배기 및 볼트당 암페어 값을 계산할 수 있습니다. +_QGroundControl_을 사용하여 측정에서 적절한 전압 분배기 및 볼트당 암페어 값을 계산할 수 있습니다. 1. 멀티미터를 사용하여 배터리의 전압을 측정합니다. -2. _전압 분배기_ 필드 옆에 있는 **계산**을 클릭합니다. 표시된 프롬프트에서: - 1. 측정 전압을 입력합니다. - 2. 새 전압 분배기 값을 생성하려면 **계산**을 클릭합니다. - 3. **닫기**를 클릭하여 값을 기본 양식에 저장합니다. -3. 배터리의 전류를 측정합니다. -4. _볼트당 암페어_ 필드 옆에 있는 **계산**을 클릭합니다. 표시된 프롬프트에서: - 1. 측정한 전류를 입력합니다. - 2. **계산**을 클릭하여 새로운 *볼트당 암페어*를 계산합니다. - 3. **닫기**를 클릭하여 값을 기본 양식에 저장합니다. +2. _볼트당 암페어_ 필드 옆에 있는 **계산**을 클릭합니다. 표시된 프롬프트에서: +3. 측정 전압을 입력합니다. +4. 새 전압 분배기 값을 생성하려면 **계산**을 클릭합니다. +5. **닫기**를 클릭하여 값을 기본 양식에 저장합니다. +6. 배터리의 전류를 측정합니다. +7. _전압 분배기_ 필드 옆에 있는 **계산**을 클릭합니다. 표시된 프롬프트에서: +8. 측정한 전류를 입력합니다. +9. **계산**을 클릭하여 새로운 _볼트당 암페어_를 계산합니다. +10. **닫기**를 클릭하여 값을 기본 양식에 저장합니다. ## 고급 전원 설정 @@ -29,7 +29,7 @@ 배터리는 높은 스로틀에서 더 낮은 전압을 나타냅니다. 유휴 스로틀과 최대 스로틀 간의 볼트 차이를 배터리 셀 수로 나눈 값을 입력합니다. 확실하지 않은 경우 기본값을 사용하여야 합니다! -::: warning +:::warning 값이 너무 높으면 배터리가 과방전되어 손상될 수 있습니다. ::: @@ -38,12 +38,15 @@ ESC 최대/최소 PWM 값을 보정하려면: 1. 프로펠러를 분리하십시오. -2. 반드시 USB를 사용하여 기체를 QGroundControl에 연결합니다. +2. Connect the vehicle to QGC via USB (only). 3. **보정** 버튼을 클릭합니다. -> **경고** 프로펠러가 장착된 상태로 ESC 보정을 하지 마십시오. -> -> ESC 캘리브레이션 중에는 모터가 회전하지 않아야 합니다. 그러나, ESC가 보정 시퀀스를 적절하게 지원하거나 감지하지 않으면 모터를 최대 속도로 실행하여 PWM 입력에 응답합니다. +::: warning +Never attempt ESC calibration with props on. + +ESC 캘리브레이션 중에는 모터가 회전하지 않아야 합니다. +그러나, ESC가 보정 시퀀스를 적절하게 지원하거나 감지하지 않으면 모터를 최대 속도로 실행하여 PWM 입력에 응답합니다. +::: ## 기타 설정 diff --git a/docs/ko/qgc-user-guide/setup_view/radio.md b/docs/ko/qgc-user-guide/setup_view/radio.md index 79cf339a033..a2b5df2b867 100644 --- a/docs/ko/qgc-user-guide/setup_view/radio.md +++ b/docs/ko/qgc-user-guide/setup_view/radio.md @@ -4,18 +4,20 @@ 주요 보정 프로세스는 PX4 및 ArduPilot에서 동일합니다(여러 추가 비행 컨트롤러 관련 설정/도구는 [아래에 자세히 설명되어 있음](#additional-radio-setup)). -::: info -무선 조종기를 보정하려면, 수신기와 송신기를 먼저 바인딩하여야 합니다. 송신기와 수신기를 바인딩 프로세스는 하드웨어에 따라 조금씩 차이가 날 수 있습니다 (자세한 지침은 설명서 참조). +:::info +무선 시스템을 보정을 하기 위하여 우선 수신기와 송신기를 바인딩하여야 합니다. 송신기와 수신기를 바인딩 프로세스는 하드웨어에 따라 조금씩 차이가 날 수 있습니다 (자세한 지침은 설명서 참조). ::: -## 보정 절차 +## Performing the Calibration -보정 프로세스는 간단합니다. 화면 오른쪽 상단의 트랜스미터 다이어그램에 표시된 특정 패턴으로 스틱을 움직여야 합니다. 지침에 따라 보정을 완료합니다. +화면 오른쪽 상단의 트랜스미터 다이어그램에 표시된 특정 패턴으로 스틱을 움직여야 합니다. 지침에 따라 보정을 완료합니다. -무선 조종기 보정 절차 +To calibrate the radio: 1. 상단 도구 모음에서 **톱니 바퀴** 아이콘(기체 설정)을 선택한 다음 가장자리 표시줄에서 **무선 조종기**를 선택하십시오. + 2. RC 송신기를 켭니다. + 3. **확인**을 눌러 보정작업을 시작합니다. ![무선 조종기 설정 - 시작하기 전에](../../../assets/setup/radio_start_setup.jpg) @@ -24,13 +26,13 @@ 위 이미지는 PX4 Pro용입니다. 보정/상단 섹션은 두 펌웨어 모두 동일하지만 _추가 라디오 설정_ 섹션은 다릅니다. ::: -4. 트랜스미터와 일치하는 _송신기 모드_ 라디오 버튼을 설정합니다 (이렇게하면 *QGroundControl*이 교정 중에 따라야 할 올바른 스틱 위치를 표시함). +4. 트랜스미터와 일치하는 _송신기 모드_ 라디오 버튼을 설정합니다 (이렇게하면 _QGroundControl_이 교정 중에 따라야 할 올바른 스틱 위치를 표시함). ![ 무선 조종기 설정-스틱 이동](../../../assets/setup/radio_sticks_throttle.jpg) 5. 스틱을 텍스트(및 송신기 이미지)에 표시된 위치로 이동합니다. 스틱이 제자리에 있으면 **다음**을 누르십시오. 모든 위치에 대하여 반복하십시오. -6. 메시지가 표시되면 다른 모든 스위치와 다이얼을 전체 범위로 이동합니다 (*채널 모니터*에서 움직이는 것을 관찰 할 수 있습니다). +6. 메시지가 표시되면 다른 모든 스위치와 다이얼을 전체 범위로 이동합니다 (_채널 모니터_에서 움직이는 것을 관찰 할 수 있습니다). 7. **다음**를 클릭하여 설정을 저장합니다. @@ -40,18 +42,20 @@ _무선 설정_ 화면 하단에는 펌웨어 관련 _추가 무선 설정_ 섹션이 있습니다. 각 자동조종장치의 옵션은 다음과 같습니다. -| PX4 | ArduPilot | -| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | +| PX4 | ArduPilot | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | | | | ### 스펙트럼 바인드(ArduPilot/PX4) -무선 시스템을 보정을 하기 위하여 우선 수신기와 송신기를 바인딩하여야 합니다. _Spektrum_ 수신기가있는 경우 아래와 같이 *QGroundControl*을 사용하여 *바인드 모드*로 설정할 수 있습니다. 차량의 수신기에 쉽게 물리적으로 접근할 수 있습니다.) +무선 조종기를 보정하려면, 수신기와 송신기를 먼저 바인딩하여야 합니다. _Spektrum_ 수신기가있는 경우 아래와 같이 _QGroundControl_을 사용하여 _바인드 모드_로 설정할 수 있습니다. Spektrum 송신기/수신기 바인딩 절차 1. **Spektrum Bind** 버튼을 선택합니다 + 2. 수신기의 라디오 버튼을 선택하십시오. + 3. **Ok** 버튼을 누릅니다 ![Spektrum 바인딩](../../../assets/setup/radio_additional_setup_spectrum_bind_select_channels.jpg) @@ -62,10 +66,12 @@ Spektrum 송신기/수신기 바인딩 절차 이 설정은 자동 조종 장치 내에서 자동으로 적용될 수 있도록 무선 송신기에서 수동 트림 설정을 복사합니다. 이 작업이 끝나면 수동으로 설정한 트림을 제거하여야 합니다. -트림 복사 절차 +To copy the trims: 1. **트림 복사**를 선택합니다. + 2. 스틱을 중앙에 놓고 스로틀을 끝까지 내립니다. + 3. **Ok** 버튼을 누릅니다. ![트림 복사](../../../assets/setup/radio_additional_radio_setup_copy_trims_px4.jpg) @@ -89,11 +95,11 @@ AUX 패스스루 채널을 사용하려면: 튜닝 채널을 사용하면 송신기 튜닝 노브를 매개변수에 매핑할 수 있습니다 (트랜스미터에서 매개변수를 동적으로 수정할 수 있음). -::: tip +:::tip 이 기능은 수동으로 기내 튜닝을 활성화하기 위하여 제공됩니다. ::: -매개 변수 튜닝에 사용되는 채널은 _라디오_ 설정 (여기!)에서 할당되며 각 튜닝 채널에서 관련 매개변수로의 매핑은 *매개변수 편집기*에서 정의됩니다. +매개 변수 튜닝에 사용되는 채널은 _라디오_ 설정 (여기!)에서 할당되며 각 튜닝 채널에서 관련 매개변수로의 매핑은 _매개변수 편집기_에서 정의됩니다. 채널 튜닝 절차: @@ -105,8 +111,11 @@ AUX 패스스루 채널을 사용하려면: PARAM 튜닝 채널을 매개변수에 매핑하려면: 1. **매개 변수** 사이드 바를 오픈합니다. -2. 송신기에 매핑 할 매개 변수를 선택합니다 (이렇게하면 *매개 변수 편집기*가 열립니다). + +2. 송신기에 매핑 할 매개 변수를 선택합니다 (이렇게하면 _매개 변수 편집기_가 열립니다). + 3. **고급 설정** 확인란을 선택합니다. + 4. **RC를 Param으로 설정 ...** 버튼을 클릭합니다 (아래에 표시된 전경 대화 상자가 팝업됩니다). ![매개 변수에 튜닝 채널 매핑](../../../assets/setup/parameters_radio_channel_mapping_px4.jpg) @@ -114,8 +123,9 @@ PARAM 튜닝 채널을 매개변수에 매핑하려면: 5. _Parameter Tuning ID_ 선택 목록에서 매핑 할 튜닝 채널 (1, 2 또는 3)을 선택합니다. 6. 대화 상자를 닫으려면 **OK** 버튼을 클릭합니다. -7. **저장**을 눌러 모든 변경 사항을 저장하고 *매개 변수 편집기*를 닫습니다. -::: tip +7. **저장**을 눌러 모든 변경 사항을 저장하고 _매개 변수 편집기_를 닫습니다. + +:::tip _Parameters_ 화면의 오른쪽 상단에있는 메뉴 **Tools> Clear RC to Param**을 선택하여 모든 매개변수/튜닝 채널 매핑을 삭제할 수 있습니다. ::: diff --git a/docs/ko/qgc-user-guide/setup_view/safety.md b/docs/ko/qgc-user-guide/setup_view/safety.md index 1f053f17856..518f175353d 100644 --- a/docs/ko/qgc-user-guide/setup_view/safety.md +++ b/docs/ko/qgc-user-guide/setup_view/safety.md @@ -8,6 +8,6 @@ PX4 안전설정은 아래와 같습니다. ![안전 설정 - PX4](../../../assets/setup/px4_safety.jpg) -::: info +:::info 추가 PX4 안전 설정은 [안전 설정](https://docs.px4.io/en/config/safety.html)을 참고하십시오. ::: diff --git a/docs/ko/qgc-user-guide/setup_view/safety_ardupilot.md b/docs/ko/qgc-user-guide/setup_view/safety_ardupilot.md index 15a4247cc2d..de43a5de344 100644 --- a/docs/ko/qgc-user-guide/setup_view/safety_ardupilot.md +++ b/docs/ko/qgc-user-guide/setup_view/safety_ardupilot.md @@ -1,13 +1,13 @@ # 안전 설정 (ArduPilot) -*안전 설정*에서는 (기체별) 비상 안전 설정을 설정합니다. +The _Safety Setup_ page allows you to configure (vehicle specific) failsafe settings. -::: tip -설정 페이지에서는 가장 중요한 안전 옵션을 설정합니다. 다른 안전 장치 설정은 각 차량 유형에 대한 안전 장치 설명서에 설명된 [매개변수](../setup_view/parameters.md)를 통하여 설정할 수 있습니다. +:::tip +다른 안전 장치 설정은 각 차량 유형에 대한 안전 장치 설명서에 설명된 [매개변수](../setup_view/parameters.md)를 통하여 설정할 수 있습니다. ::: -::: info -*QGroundControl*은 ArduPilot에서 폴리곤 펜스 또는 랠리 포인트를 지원하지 않습니다. +:::tip +_QGroundControl_은 ArduPilot에서 폴리곤 펜스 또는 랠리 포인트를 지원하지 않습니다. ::: ## 콥터 @@ -16,15 +16,17 @@ ![안전 설정 - 콥터(Ardupilot)](../../../assets/setup/safety/safety_arducopter.jpg) -::: info +:::info 추가 안전 설정 및 정보는 [안전장치](http://ardupilot.org/copter/docs/failsafe-landing-page.html)를 참고하십시오. ::: -### 배터리 안전장치 {#battery_failsafe_copter} +### 배터리 안전장치 {#battery\_failsafe\_copter} -이 패널은 [배터리 안전장치](http://ardupilot.org/copter/docs/failsafe-battery.html) 매개변수를 설정합니다. 전압 및 남은 용량에 대해 낮거나 중요한 임계값을 설정하고 안전 장치 값이 위반되는 경우 조치를 정의할 수 있습니다. 임계값을 0으로 설정하여 비활성화할 수 있습니다. +이 패널은 [배터리 안전장치](http://ardupilot.org/copter/docs/failsafe-battery.html) 매개변수를 설정합니다. +전압 및 남은 용량에 대해 낮거나 중요한 임계값을 설정하고 안전 장치 값이 위반되는 경우 조치를 정의할 수 있습니다. +임계값을 0으로 설정하여 비활성화할 수 있습니다. -::: tip +:::tip 두 번째 배터리가 있는 경우([전원 설정](../setup_view/power.md)에서 활성화됨) 두 번째 패널이 동일한 설정으로 표시됩니다. ::: @@ -32,14 +34,14 @@ 설정 옵션은 다음과 같습니다: -- **Low action**([BATT_FS_LOW_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-low-act-low-battery-failsafe-action)) - 없음, Land, RTL, SmartRTL, SmartRTL 또는 Land, Terminate 중 하나를 선택합니다. -- **Critical action**([BATT_FS_CRT_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-crt-act-critical-battery-failsafe-action)) - 없음, Land, RTL, SmartRTL, SmartRTL 또는 Land, Terminate 중 하나를 선택합니다. -- **Low voltage threshold**([BATT_LOW_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-low-volt-low-battery-voltage)) - *낮은 동작*을 트리거하는 배터리 전압입니다. -- **Critical voltage threshold<**([BATT_CRT_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-crt-volt-critical-battery-voltage))- *중요 작업*을 트리거하는 배터리 전압입니다. -- **Low mAh threshold**([BATT_LOW_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-low-mah-low-battery-capacity)) - *낮은 작업*을 트리거하는 배터리 용량입니다. -- **Critical mAh threshold**([BATT_CRT_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-crt-mah-battery-critical-capacity)) - *중요한 작업*을 트리거하는 배터리 용량입니다. +- **Low action**([BATT\_FS\_LOW\_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-low-act-low-battery-failsafe-action)) - 없음, Land, RTL, SmartRTL, SmartRTL 또는 Land, Terminate 중 하나를 선택합니다. +- **Critical action**([BATT\_FS\_CRT\_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-crt-act-critical-battery-failsafe-action)) - 없음, Land, RTL, SmartRTL, SmartRTL 또는 Land, Terminate 중 하나를 선택합니다. +- **Low voltage threshold**([BATT\_LOW\_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-low-volt-low-battery-voltage)) - _낮은 동작_을 트리거하는 배터리 전압입니다. +- **Critical voltage threshold<**([BATT\_CRT\_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-crt-volt-critical-battery-voltage))- _중요 작업_을 트리거하는 배터리 전압입니다. +- **Low mAh threshold**([BATT\_LOW\_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-low-mah-low-battery-capacity)) - _낮은 작업_을 트리거하는 배터리 용량입니다. +- **Critical mAh threshold**([BATT\_CRT\_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-crt-mah-battery-critical-capacity)) - _중요한 작업_을 트리거하는 배터리 용량입니다. -### 일반적인 안전장치 트리거 {#failsafe_triggers_copter} +### 일반적인 안전장치 트리거 {#failsafe\_triggers\_copter} 이 패널은 [GCS 안전장치](http://ardupilot.org/copter/docs/gcs-failsafe.html)를 활성화하고 스로틀 안전장치를 설정합니다. @@ -49,25 +51,26 @@ - **Ground Station failsafe** - 비활성화, 항상 RTL 활성화, 자동 모드에서 미션 계속 활성화, 항상 SmartRTL 또는 RTL 활성화, 항상 SmartRTL 또는 Land 활성화. - **Throttle failsafe** - 비활성화됨, 항상 RTL, 자동 모드에서 미션 계속, 항상 착륙. -- **PWM Threshold**([FS_THR_VALUE](http://ardupilot.org/copter/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - 스로틀 페일세이프가 트리거되는 PWM 값입니다. +- **PWM Threshold**([FS\_THR\_VALUE](http://ardupilot.org/copter/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - 스로틀 페일세이프가 트리거되는 PWM 값입니다. -### 지오펜스 {#geofence_copter} +### 지오펜스 {#geofence\_copter} -이 패널은 원통형 [Simple Geofence](http://ardupilot.org/copter/docs/ac2_simple_geofence.html)에 대한 매개변수를 설정합니다. 울타리 반경 또는 높이 활성화 여부, 위반 최대값 및 위반 시 조치를 설정할 수 있습니다. +이 패널은 원통형 [Simple Geofence](http://ardupilot.org/copter/docs/ac2_simple_geofence.html)에 대한 매개변수를 설정합니다. +울타리 반경 또는 높이 활성화 여부, 위반 최대값 및 위반 시 조치를 설정할 수 있습니다. ![안전 설정 - 지오펜스(콥터)](../../../assets/setup/safety/safety_arducopter_geofence.jpg) 설정 옵션은 다음과 같습니다: -- **Circle GeoFence enabled**([FENCE_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - 원형 지오펜스를 활성화합니다. -- **Altitude GeoFence enabled**([FENCE_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - 고도 지오펜스를 활성화합니다. -- 울타리 작업([FENCE_ACTION](http://ardupilot.org/copter/docs/parameters.html#fence-action-fence-action)) 다음 중 하나: +- **Circle GeoFence enabled**([FENCE\_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE\_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - 원형 지오펜스를 활성화합니다. +- **Altitude GeoFence enabled**([FENCE\_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE\_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - 고도 지오펜스를 활성화합니다. +- 울타리 작업([FENCE\_ACTION](http://ardupilot.org/copter/docs/parameters.html#fence-action-fence-action)) 다음 중 하나: - **보고만** - 울타리 위반을 보고합니다. - **RTL 또는 Land** - 출발지 복귀 또는 펜스 경계 착륙 -- **최대 반경**([FENCE_RADIUS](http://ardupilot.org/copter/docs/parameters.html#fence-radius-circular-fence-radius)) - 부서졌을 때 RTL을 유발하는 원형 울타리 반경. -- **최대 고도**([FENCE_ALT_MAX](http://ardupilot.org/copter/docs/parameters.html#fence-alt-max-fence-maximum-altitude))- 고도 지오펜스를 트리거하는 최대 고도를 표시합니다. +- **최대 반경**([FENCE\_RADIUS](http://ardupilot.org/copter/docs/parameters.html#fence-radius-circular-fence-radius)) - 부서졌을 때 RTL을 유발하는 원형 울타리 반경. +- **최대 고도**([FENCE\_ALT\_MAX](http://ardupilot.org/copter/docs/parameters.html#fence-alt-max-fence-maximum-altitude))- 고도 지오펜스를 트리거하는 최대 고도를 표시합니다. -### 출발지 복귀 {#rtl_copter} +### 출발지 복귀 {#rtl\_copter} 이 패널은 [RTL 모드](http://ardupilot.org/copter/docs/rtl-mode.html)의 기능을 설정합니다. @@ -75,15 +78,15 @@ 설정 옵션은 다음과 같습니다: -- RTL 복귀 고도 선택([RTL_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): +- RTL 복귀 고도 선택([RTL\_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): - **현재 고도에서 복귀** - 현재 고도에서 복귀합니다. - **지정된 고도에서 복귀** - 현재 고도 미만인 경우 지정된 고도로 상승하여 복귀합니다. -- **집 위 배회**([RTL_LOIT_TIME](http://ardupilot.org/copter/docs/parameters.html#rtl-loit-time-rtl-loiter-time)) - 착륙 전 배회 시간을 설정합니다. +- **집 위 배회**([RTL\_LOIT\_TIME](http://ardupilot.org/copter/docs/parameters.html#rtl-loit-time-rtl-loiter-time)) - 착륙 전 배회 시간을 설정합니다. - 다음 중 하나 - - **하강 속도가 있는 착지**([LAND_SPEED](http://ardupilot.org/copter/docs/parameters.html#land-speed-land-speed)) - 최종 하강 속도를 선택합니다. - - **최종 배회 고도**([RTL_ALT_FINAL](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-final-rtl-final-altitude)) - RTL 또는 임무 후 착륙을 위한 최종 고도를 선택하고 설정합니다(착륙하려면 0으로 설정). + - **하강 속도가 있는 착지**([LAND\_SPEED](http://ardupilot.org/copter/docs/parameters.html#land-speed-land-speed)) - 최종 하강 속도를 선택합니다. + - **최종 배회 고도**([RTL\_ALT\_FINAL](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-final-rtl-final-altitude)) - RTL 또는 임무 후 착륙을 위한 최종 고도를 선택하고 설정합니다(착륙하려면 0으로 설정). -### 시동 검사 {#arming_checks_copter} +### 시동 검사 {#arming\_checks\_copter} 이 패널은 어떤 [사전 ARM 안전 검사](http://ardupilot.org/copter/docs/prearm_safety_check.html) 활성 여부를 설정합니다. @@ -91,7 +94,7 @@ 설정 옵션은 다음과 같습니다: -- **수행할 무장 점검**([ARMING_CHECK](http://ardupilot.org/copter/docs/parameters.html#arming-check-arm-checks-to-peform-bitmask)) - 모든 적절한 점검: 기압계, 나침반, GPS 잠금, INS, 매개변수, RC 채널, 보드 전압, 배터리 잔량, 대기 속도, 사용 가능한 로깅 , 하드웨어 안전 스위치, GPS 구성, 시스템. +- **수행할 무장 점검**([ARMING\_CHECK](http://ardupilot.org/copter/docs/parameters.html#arming-check-arm-checks-to-peform-bitmask)) - 모든 적절한 점검: 기압계, 나침반, GPS 잠금, INS, 매개변수, RC 채널, 보드 전압, 배터리 잔량, 대기 속도, 사용 가능한 로깅 , 하드웨어 안전 스위치, GPS 구성, 시스템. ## 비행기 @@ -99,17 +102,17 @@ ![안전 설정 - 비행기(Ardupilot)](../../../assets/setup/safety/safety_arduplane.jpg) -::: info +:::info 추가 안전 설정 및 정보는 [비행기 안전 장치 기능](http://ardupilot.org/plane/docs/apms-failsafe-function.html) 및 [고급 안전 장치 설정](http://ardupilot.org/plane/docs/advanced-failsafe-configuration.html)을 참고하십시오. ::: -### 배터리 안전장치 {#battery_failsafe_plane} +### 배터리 안전장치 {#battery\_failsafe\_plane} 비행기 배터리 안전 장치는 [낮음](http://ardupilot.org/plane/docs/parameters.html#batt-fs-low-act-low-battery-failsafe-action) 및 [치명적](http://ardupilot.org/plane/docs/parameters.html#batt-fs-crt-act-critical-battery-failsafe-action) 작업(없음, RTL, 착륙, 종료)에 대해 다른 옵션이 있다는 점을 제외하고 헬리콥터와 동일합니다. 자세한 내용은 [배터리 안전장치](#battery_failsafe_copter)(콥터)를 참고하십시오. -### 안전장치 트리거 {#failsafe_triggers_plane} +### 안전장치 트리거 {#failsafe\_triggers\_plane} 이 패널은 [GCS 안전장치](http://ardupilot.org/plane/docs/advanced-failsafe-configuration.html#ground-station-communications-loss)를 활성화하고 스로틀 안전장치를 설정합니다. @@ -117,10 +120,10 @@ 설정 옵션은 다음과 같습니다: -- **스로틀 PWM 임계치**([THR_FS_VALUE](http://ardupilot.org/plane/docs/parameters.html#thr-fs-value-throttle-failsafe-value)) - 스로틀 페일세이프가 트리거되는 PWM 값입니다. -- **GCS 비상안전장치**([FS_GCS_ENABL](http://ardupilot.org/plane/docs/parameters.html#fs-gcs-enabl-gcs-failsafe-enable)) - GCS 비상안전장치를 활성화합니다. +- **스로틀 PWM 임계치**([THR\_FS\_VALUE](http://ardupilot.org/plane/docs/parameters.html#thr-fs-value-throttle-failsafe-value)) - 스로틀 페일세이프가 트리거되는 PWM 값입니다. +- **GCS 비상안전장치**([FS\_GCS\_ENABL](http://ardupilot.org/plane/docs/parameters.html#fs-gcs-enabl-gcs-failsafe-enable)) - GCS 비상안전장치를 활성화합니다. -### 출발지 복귀 {#rtl_plane} +### 출발지 복귀 {#rtl\_plane} 이 패널은 [RTL 모드](http://ardupilot.org/copter/docs/rtl-mode.html)의 기능을 설정합니다. @@ -128,11 +131,11 @@ 설정 옵션은 다음과 같습니다: -- RTL 복귀 고도 선택([RTL_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): +- RTL 복귀 고도 선택([RTL\_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): - **현재 고도에서 복귀** - 현재 고도에서 복귀합니다. - **지정된 고도에서 복귀** - 현재 고도 미만인 경우 지정된 고도로 상승하여 복귀합니다. -### 시동 검사 {#arming_checks_plane} +### 시동 검사 {#arming\_checks\_plane} [시동 점검](#arming_checks_copter)은 헬리콥터와 동일합니다. @@ -142,15 +145,15 @@ ![안전 설정 - 로버(Ardupilot)](../../../assets/setup/safety/safety_ardurover.jpg) -::: info +:::info 추가 안전 설정 및 정보는 [비상안전장치](http://ardupilot.org/rover/docs/rover-failsafes.html)를 참고하십시오. ::: -### 배터리 비상안전장치 {#battery_failsafe_rover} +### 배터리 비상안전장치 {#battery\_failsafe\_rover} 로버 배터리 비상안전장치는 [콥터](#battery_failsafe_copter)와 동일합니다. -### 비상안전장치 트리거 {#failsafe_triggers_rover} +### 비상안전장치 트리거 {#failsafe\_triggers\_rover} 이 패널은 로버 [비상안전장치](http://ardupilot.org/rover/docs/rover-failsafes.html)를 활성화합니다. @@ -158,26 +161,26 @@ 설정 옵션은 다음과 같습니다: -- **지상국 비상안전장치**([FS_GCS_ENABL](http://ardupilot.org/rover/docs/parameters.html#fs-gcs-enable-gcs-failsafe-enable)) - GCS 비상안전장치를 활성화합니다. -- **안전 장치 조절**([FS_THR_ENABLE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-enable-throttle-failsafe-enable)) - 안전 장치 조절을 활성화 또는 비활성화합니다(값은 아래 _PWM 임계값_). -- **PWM Threshold**([FS_THR_VALUE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - 스로틀 페일세이프가 트리거되는 PWM 값입니다. -- **Failsafe Crash Check**([FS_CRASH_CHECK](http://ardupilot.org/rover/docs/parameters.html#fs-crash-check-crash-check-action)) - 충돌 발생 시 수행할 작업: Disabled, Hold, HoldAndDisarm +- **지상국 비상안전장치**([FS\_GCS\_ENABL](http://ardupilot.org/rover/docs/parameters.html#fs-gcs-enable-gcs-failsafe-enable)) - GCS 비상안전장치를 활성화합니다. +- **안전 장치 조절**([FS\_THR\_ENABLE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-enable-throttle-failsafe-enable)) - 안전 장치 조절을 활성화 또는 비활성화합니다(값은 아래 _PWM 임계값_). +- **PWM Threshold**([FS\_THR\_VALUE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - 스로틀 페일세이프가 트리거되는 PWM 값입니다. +- **Failsafe Crash Check**([FS\_CRASH\_CHECK](http://ardupilot.org/rover/docs/parameters.html#fs-crash-check-crash-check-action)) - 충돌 발생 시 수행할 작업: Disabled, Hold, HoldAndDisarm -### 시동 검사 {#arming_checks_rover} +### 시동 검사 {#arming\_checks\_rover} [시동 점검](#arming_checks_copter)은 헬리콥터와 동일합니다. -## 잠수정 +## Sub 잠수정의 안전 페이지는 아래와 같습니다. ![안전 설정 - 잠수정(Ardupilot)](../../../assets/setup/safety/safety_ardusub.jpg) -::: info +:::info 추가 안전 설정 및 정보는 [비상안전장치](https://www.ardusub.com/operators-manual/failsafes.html)를 참고하십시오. ::: -### 비상안전장치 동작 {#failsafe_actions_sub} +### 비상안전장치 동작 {#failsafe\_actions\_sub} 설정 옵션은 다음과 같습니다: @@ -191,6 +194,6 @@ - **내부 온도** - 비활성화, 경고만 중 하나를 선택합니다. - **내부 압력** - 비활성화, 경고만 중 하나를 선택합니다. -### 시동 검사 {#arming_checks_sub} +### 시동 검사 {#arming\_checks\_sub} [시동 점검](#arming_checks_copter)은 헬리콥터와 동일합니다. diff --git a/docs/ko/qgc-user-guide/setup_view/sensors.md b/docs/ko/qgc-user-guide/setup_view/sensors.md index 2897e0af0eb..cbf9b596341 100644 --- a/docs/ko/qgc-user-guide/setup_view/sensors.md +++ b/docs/ko/qgc-user-guide/setup_view/sensors.md @@ -2,7 +2,9 @@ _센서 설정_ 섹션에서는 차량의 나침반, 자이로스코프, 가속도계 및 기타 센서를 설정하고 보정할 수 있습니다(사용 가능한 센서는 자동 조종 장치 펌웨어 및 차량 유형에 따라 다름). -사용 가능한 센서는 사이드바 옆에 버튼 목록으로 표시됩니다. 녹색으로 표시된 센서는 이미 보정된 반면 빨간색으로 표시된 센서는 비행 전에 보정이 필요합니다. 조명이 없는 센서는 보정하지 않도록 선택할 수 있는 기본값이 있는 간단한 설정입니다. +사용 가능한 센서는 사이드바 옆에 버튼 목록으로 표시됩니다. +녹색으로 표시된 센서는 이미 보정된 반면 빨간색으로 표시된 센서는 비행 전에 보정이 필요합니다. +조명이 없는 센서는 보정하지 않도록 선택할 수 있는 기본값이 있는 간단한 설정입니다. 각 센서의 버튼을 클릭하여 보정 시퀀스를 시작합니다. diff --git a/docs/ko/qgc-user-guide/setup_view/sensors_ardupilot.md b/docs/ko/qgc-user-guide/setup_view/sensors_ardupilot.md index cabaa2df20e..28f2fab6279 100644 --- a/docs/ko/qgc-user-guide/setup_view/sensors_ardupilot.md +++ b/docs/ko/qgc-user-guide/setup_view/sensors_ardupilot.md @@ -2,7 +2,9 @@ _센서 설정_ 섹션에서는 차량의 나침반, 자이로스코프, 가속도계 및 기타 센서를 구성하고 보정할 수 있습니다(사용 가능한 센서는 차량 유형에 따라 다름). -사용 가능한 센서는 사이드바 옆에 버튼 목록으로 표시됩니다. 녹색으로 표시된 센서는 이미 보정된 반면 빨간색으로 표시된 센서는 비행 전에 보정이 필요합니다. 조명이 없는 센서는 보정하지 않도록 선택할 수 있는 기본값이 있는 간단한 설정입니다. +사용 가능한 센서는 사이드바 옆에 버튼 목록으로 표시됩니다. +녹색으로 표시된 센서는 이미 보정된 반면 빨간색으로 표시된 센서는 비행 전에 보정이 필요합니다. +조명이 없는 센서는 보정하지 않도록 선택할 수 있는 기본값이 있는 간단한 설정입니다. 각 센서의 버튼을 클릭하여 보정 시퀀스를 시작합니다. @@ -14,15 +16,24 @@ _센서 설정_ 섹션에서는 차량의 나침반, 자이로스코프, 가속 보정 절차는 다음과 같습니다: -1. **가속도계** 버튼을 클릭합니다. ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_ardupilot.jpg) **참고** 위의 [비행 컨트롤러 방향](#flight_controller_orientation)을 미리 설정하여야 합니다. 미리 설정하지 않았다면, 여기에서 설정하십시오. +1. **가속도계** 버튼을 클릭합니다. + 지자기센서는 전류와 자기간섭을 측정하므로, 배터리 전류 측정이 설정되어 있어야 올바르게 작동합니다. + + 헬리콥터의 경우 이 자세가 부양 자세입니다. + 미리 설정하지 않았다면, 여기에서 설정하십시오. + ::: + 2. 보정을 시작하려면 **확인** 버튼을 클릭합니다. -3. 중앙 디스플레이의 지침에 따라 기체를 배치하십시오. 각 위치를 캡처하려면 **다음** 버튼을 클릭하세요. ![가속도계 보정](../../../assets/setup/sensor/accelerometer_positions_ardupilot.jpg) + +3. 중앙 디스플레이의 지침에 따라 기체를 배치하십시오. + 각 위치를 캡처하려면 **다음** 버튼을 클릭하세요. + ![가속도계 보정](../../../assets/setup/sensor/accelerometer_positions_ardupilot.jpg) ## 나침반 {#compass} ArduPilot은 보다 정확한 보정을 가능한 온보드 보정 기능을 사용합니다. -::: info +:::info 이전 ArduPilot 펌웨어는 [PX4와 동일한 프로세스](../setup_view/sensors_px4.md#compass)를 사용하여 보정합니다. ::: @@ -32,15 +43,24 @@ ArduPilot은 보다 정확한 보정을 가능한 온보드 보정 기능을 사 이것은 각 나침반에 대한 보정 품질을 보여줍니다. 이 값을 사용하여 성능이 좋지 않은 나침반의 사용 여부를 결정합니다. -## 수평 보정 {#level_horizon} +## 수평 보정 {#level\_horizon} + +가속도계 보정 후, 수평선(HUD에 표시됨)이 수평이 아닌 경우 차량의 수평 수평을 보정할 수 있습니다. +정보를 캡처하는 동안 기체를 수평 방향으로 배치하라는 메시지가 표시됩니다. -가속도계 보정 후, 수평선(HUD에 표시됨)이 수평이 아닌 경우 차량의 수평 수평을 보정할 수 있습니다. 정보를 캡처하는 동안 기체를 수평 방향으로 배치하라는 메시지가 표시됩니다. +1. **수평 보정** 버튼을 클릭합니다. + ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) **참고** 위의 [비행 컨트롤러 방향](#flight_controller_orientation)을 미리 설정하여야 합니다. + + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_ardupilot.jpg) **참고** 위의 [비행 컨트롤러 방향](#flight_controller_orientation)을 미리 설정하여야 합니다. + 미리 설정하지 않았다면, 여기에서 설정하십시오. + ::: -1. **수평 보정** 버튼을 클릭합니다. ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) **참고** 위의 [비행 컨트롤러 방향](#flight_controller_orientation)을 미리 설정하여야 합니다. 미리 설정하지 않았다면, 여기에서 설정하십시오. 2. 기체를 방향을 유지한 채로 평평한 바닥에 두십시오: - - 고정익의 경우 이 자세가 수평 비행 자세입니다 (비행기는 날개가 약간 올라가는 경향이 있습니다!). - - 헬리콥터의 경우 이 자세가 부양 자세입니다. -3. 보정을 시작하려면 **확인** 버튼을 클릭합니다. + +- 고정익의 경우 이 자세가 수평 비행 자세입니다 (비행기는 날개가 약간 올라가는 경향이 있습니다!). +- For copters this is the hover position. + +1. 보정을 시작하려면 **확인** 버튼을 클릭합니다. ## 압력/기압계 {#pressure} @@ -58,23 +78,24 @@ ArduPilot은 보다 정확한 보정을 가능한 온보드 보정 기능을 사 ## CompassMot(선택 사항) -CompassMot 보정은 선택 사항입니다! 내부 나침반만 있는 기체와 모터, 전선 등의 간섭이 심한 경우에 권장됩니다. 지자기센서는 전류와 자기간섭을 측정하므로, 배터리 전류 측정이 설정되어 있어야 올바르게 작동합니다. +CompassMot 보정은 선택 사항입니다! 내부 나침반만 있는 기체와 모터, 전선 등의 간섭이 심한 경우에 권장됩니다. +CompassMot only works well if you have a battery current monitor because the magnetic interference is linear with current drawn. **CompassMot** 보정을 수행하려면: 1. **CompassMot** 버튼을 클릭합니다. - + 2. 화면의 대화상자를 따라 진행합니다. ![CompassMot 보정](../../../assets/setup/sensor_compass_mot.jpg) -## 센서 설정 {#sensor_settings} +## 센서 설정 {#sensor\_settings} _센서 설정_ 섹션에서 나침반 방향과 활성화된 나침반을 지정할 수 있습니다. -::: tip +:::tip 비행 컨트롤러와 나침반이 차량에 똑바로 장착되어 있고 정면을 향하고 있는 경우 이 섹션을 건너뛸 수 있습니다(기본 방향 - `ROTATION_NONE`). ::: @@ -94,5 +115,6 @@ _센서 설정_ 섹션에서 나침반 방향과 활성화된 나침반을 지 2. **자동조종장치 방향**을 선택합니다. -3. **나침반 1(기본/외부) > 방향**에서 *방향*을 선택하거나 **나침반2(보조, 외부) > 나침반 사용**을 선택하여 대신 내부 나침반). +3. **나침반 1(기본/외부) > 방향**에서 _방향_을 선택하거나 **나침반2(보조, 외부) > 나침반 사용**을 선택하여 대신 내부 나침반). + 4. **OK** 버튼을 클릭합니다. diff --git a/docs/ko/qgc-user-guide/setup_view/sensors_px4.md b/docs/ko/qgc-user-guide/setup_view/sensors_px4.md index 32caf49a13d..9f60724abea 100644 --- a/docs/ko/qgc-user-guide/setup_view/sensors_px4.md +++ b/docs/ko/qgc-user-guide/setup_view/sensors_px4.md @@ -2,14 +2,17 @@ _센서 설정_ 섹션에서는 차량의 나침반, 자이로스코프, 가속도계 및 기타 센서를 구성하고 보정할 수 있습니다(사용 가능한 센서는 차량 유형에 따라 다름). -사용 가능한 센서는 사이드바 옆에 버튼 목록으로 표시됩니다. 녹색으로 표시된 센서는 이미 보정된 반면 빨간색으로 표시된 센서는 비행 전에 보정이 필요합니다. 조명이 없는 센서는 보정하지 않도록 선택할 수 있는 기본값이 있는 간단한 설정입니다. +사용 가능한 센서는 사이드바 옆에 버튼 목록으로 표시됩니다. +녹색으로 표시된 센서는 이미 보정된 반면 빨간색으로 표시된 센서는 비행 전에 보정이 필요합니다. +조명이 없는 센서는 보정하지 않도록 선택할 수 있는 기본값이 있는 간단한 설정입니다. 각 센서의 버튼을 클릭하여 보정 시퀀스를 시작합니다. ![VTOL 차량용 센서 설정 화면](../../../assets/setup/sensors_px4_vtol.jpg) -::: info -표시된 이미지는 PX4 펌웨어를 실행하는 VTOL 차량입니다. 다른 자동 조종 장치 펌웨어 및 차량은 약간 다른 옵션을 제공합니다. +:::info +표시된 이미지는 PX4 펌웨어를 실행하는 VTOL 차량입니다. +다른 자동 조종 장치 펌웨어 및 차량은 약간 다른 옵션을 제공합니다. ::: ## 나침반 {#compass} @@ -18,12 +21,22 @@ _센서 설정_ 섹션에서는 차량의 나침반, 자이로스코프, 가속 보정 절차는 다음과 같습니다: -1. **나침반** 센서 버튼을 클릭합니다. ![Select Compass calibration PX4](../../../assets/setup/sensor_compass_select_px4.jpg) **참고** 기본 비행 컨트롤러 방향은 `ROTATION_NONE`입니다(비행 컨트롤러와 나침반은 차량에 수직으로 장착되고 전면을 향하게 장착됨). 여기 또는 [방향 설정](#flight_controller_orientation)에서 다른 값을 설정할 수 있습니다. +1. **나침반** 센서 버튼을 클릭합니다. + + ![Select Compass calibration PX4](../../../assets/setup/sensor_compass_select_px4.jpg) **참고** 기본 비행 컨트롤러 방향은 `ROTATION_NONE`입니다(비행 컨트롤러와 나침반은 차량에 수직으로 장착되고 전면을 향하게 장착됨). + 여기 또는 [방향 설정](#flight_controller_orientation)에서 다른 값을 설정할 수 있습니다. + ::: + 2. 보정을 시작하려면 **확인** 버튼을 클릭합니다. -3. 빨간색(불완전)으로 표시된 방향으로 기체를 가만히 정지시킵니다. 메시지가 표시되면(방향 이미지가 노란색으로 변함) 기체를 지정축을 기준으로 한 방향으로 회전시킵니다. 해당 방향으로 보정이 완료되면, 화면의 관련 이미지가 녹색으로 변경됩니다. ![PX4의 나침반 보정 단계](../../../assets/setup/sensor_compass_calibrate_px4.jpg) + +3. 빨간색(불완전)으로 표시된 방향으로 기체를 가만히 정지시킵니다. + 메시지가 표시되면(방향 이미지가 노란색으로 변함) 기체를 지정축을 기준으로 한 방향으로 회전시킵니다. + 해당 방향으로 보정이 완료되면, 화면의 관련 이미지가 녹색으로 변경됩니다. + ![PX4의 나침반 보정 단계](../../../assets/setup/sensor_compass_calibrate_px4.jpg) + 4. 기체의 모든 방향에 대하여 보정 작업을 반복합니다. -모든 위치에서 기체를 회전하면 *QGroundControl*에 *보정 완료*가 표시됩니다(모든 방향 이미지가 녹색으로 표시되고 진행률 표시줄이 완전히 채워짐). 그런 다음 다음 센서로 진행할 수 있습니다. +모든 위치에서 기체를 회전하면 _QGroundControl_에 _보정 완료_가 표시됩니다(모든 방향 이미지가 녹색으로 표시되고 진행률 표시줄이 완전히 채워짐). ## 자이로스코프 {#gyroscope} @@ -31,21 +44,24 @@ _센서 설정_ 섹션에서는 차량의 나침반, 자이로스코프, 가속 보정 절차는 다음과 같습니다: -1. **자이로스코프** 센서 버튼을 클릭합니다. ![자이로스코프 보정 PX4 선택](../../../assets/setup/sensor/gyroscope_calibrate_px4.jpg) -2. 기체을 평탄한 곳에 놓습니다. +1. ![자이로스코프 보정 PX4 선택](../../../assets/setup/sensor/gyroscope_calibrate_px4.jpg) + +2. Place the vehicle on a surface and leave it still. + 3. **확인**을 눌러 보정작업을 시작합니다. 상단의 Progressive Bar에서 진행 상황을 나타냅니다. ![PX4에서 자이로스코프 보정 진행 중](../../../assets/setup/sensor/gyroscope_calibrate_progress_px4.jpg) -4. 완료되면 *QGroundControl*에 *Calibration complete*가 표시되고 진행률 표시줄이 완전히 채워집니다. ![PX4에서 자이로스코프 보정 완료](../../../assets/setup/sensor/gyroscope_calibrate_complete_px4.jpg) +4. 완료되면 _QGroundControl_에 _Calibration complete_가 표시되고 진행률 표시줄이 완전히 채워집니다. + ![PX4에서 자이로스코프 보정 완료](../../../assets/setup/sensor/gyroscope_calibrate_complete_px4.jpg) -::: info -보정 중에 기체를 움직이면 *QGroundControl*이 자동으로 보정을 다시 시작합니다. +:::info +보정 중에 기체를 움직이면 _QGroundControl_이 자동으로 보정을 다시 시작합니다. ::: -그런 다음, 다른 센서의 보정 작업을 진행합니다. +그런 다음 다음 센서로 진행할 수 있습니다. ## 가속도계 {#accelerometer} @@ -53,30 +69,49 @@ _센서 설정_ 섹션에서는 차량의 나침반, 자이로스코프, 가속 보정 절차는 다음과 같습니다: -1. **가속도계** 버튼을 클릭합니다. ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_px4.jpg) **참고** 위의 [비행 컨트롤러 방향](#flight_controller_orientation)을 미리 설정하여야 합니다. 미리 설정하지 않았다면, 여기에서 설정하십시오. +1. **가속도계** 버튼을 클릭합니다. + 항속 센서 보정 절차 + + ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) **참고** 위의 [비행 컨트롤러 방향](#flight_controller_orientation)을 미리 설정하여야 합니다. + 미리 설정하지 않았다면, 여기에서 설정하십시오. + ::: + 2. 보정을 시작하려면 **확인** 버튼을 클릭합니다. -3. 화면에 표시된 *그림*과 같이 기체를 배치합니다. 이것은 나침반 보정과 매우 유사합니다. ![가속도계 보정](../../../assets/setup/sensor/accelerometer_positions_px4.jpg) + +3. Position the vehicle as guided by the _images_ on the screen. 이것은 나침반 보정과 매우 유사합니다. + ![가속도계 보정](../../../assets/setup/sensor/accelerometer_positions_px4.jpg) + 4. 기체의 모든 방향에 대하여 보정 작업을 반복합니다. -모든 위치에서 차량을 회전하면 *QGroundControl*에 *보정 완료*가 표시됩니다. +모든 위치에서 차량을 회전하면 _QGroundControl_에 _보정 완료_가 표시됩니다. 그런 다음, 다른 센서의 보정 작업을 진행합니다. ## 수평 보정 -가속도계 보정 후, 수평선(HUD에 표시됨)이 수평이 아닌 경우 차량의 수평 수평을 보정할 수 있습니다. 정보를 캡처하는 동안 기체를 수평 방향으로 배치하라는 메시지가 표시됩니다. +가속도계 보정 후, 수평선(HUD에 표시됨)이 수평이 아닌 경우 차량의 수평 수평을 보정할 수 있습니다. +정보를 캡처하는 동안 기체를 수평 방향으로 배치하라는 메시지가 표시됩니다. + +1. **자이로스코프** 센서 버튼을 클릭합니다. + **수평 보정** 버튼을 클릭합니다. + + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_px4.jpg) **참고** 위의 [비행 컨트롤러 방향](#flight_controller_orientation)을 미리 설정하여야 합니다. + 미리 설정하지 않았다면, 여기에서 설정하십시오. + ::: -1. **수평 보정** 버튼을 클릭합니다. ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) **참고** 위의 [비행 컨트롤러 방향](#flight_controller_orientation)을 미리 설정하여야 합니다. 미리 설정하지 않았다면, 여기에서 설정하십시오. 2. 기체를 방향을 유지한 채로 평평한 바닥에 두십시오: - - 고정익의 경우 이 자세가 수평 비행 자세입니다 (비행기는 날개가 약간 올라가는 경향이 있습니다!). - - 헬리콥터의 경우 이 자세가 부양 자세입니다. -3. 보정을 시작하려면 **확인** 버튼을 클릭합니다. + +- 고정익의 경우 이 자세가 수평 비행 자세입니다 (비행기는 날개가 약간 올라가는 경향이 있습니다!). +- For copters this is the hover position. + +1. 보정을 시작하려면 **확인** 버튼을 클릭합니다. ## 대기속도 {#airspeed} -항속 보정 오프셋을 결정하기 위하여 항속이 0인 안정적인 기준선을 측정하여야 합니다. 피토 위에 손을 대고 바람을 차단한 채로(실내에서 센서를 보정할 필요가 없는 경우) 입을 사용하여 튜브에 불어 넣습니다 (보정 완료 신호를 보내기 위해). +항속 보정 오프셋을 결정하기 위하여 항속이 0인 안정적인 기준선을 측정하여야 합니다. +피토 위에 손을 대고 바람을 차단한 채로(실내에서 센서를 보정할 필요가 없는 경우) 입을 사용하여 튜브에 불어 넣습니다 (보정 완료 신호를 보내기 위해). -항속 센서 보정 절차 +그런 다음, 다른 센서의 보정 작업을 진행합니다. 1. **대기속도** 센서 버튼을 클릭합니다 @@ -89,30 +124,33 @@ _센서 설정_ 섹션에서는 차량의 나침반, 자이로스코프, 가속 ::: 3. 보정을 시작하려면 **확인** 버튼을 클릭합니다. + 4. 센서에 바람을 불어 넣습니다. + 5. 덮개를 제거하기 전에 2-3 초간 기다립니다(몇 초 후 캘리브레이션이 자동으로 완료됩니다). -## 방향 설정 {#flight_controller_orientation} +## 방향 설정 {#flight\_controller\_orientation} -::: tip +:::tip 비행 컨트롤러와 나침반이 차량에 똑바로 장착되어 있고 정면을 향하고 있는 경우 이 섹션을 건너뛸 수 있습니다(기본 방향 - `ROTATION_NONE`). ::: 자동조종장치/나침반이 다른 방식으로 장착된 경우 해당 방향을 YAW, PITCH 및/또는 ROLL 오프셋으로 지정하여야 합니다(Z, Y 및 X축을 중심으로 시계 방향 회전) - + 예를 들어 아래 이미지는 `ROTATION_NONE`, `ROTATION_YAW_90`,`ROTATION_YAW_180`,`ROTATION_YAW_270` 방향입니다. - + PX4 방향을 설정하려면: 1. **방향 설정** 버튼을 클릭합니다. - + 2. **자동조종장치 방향**을 선택합니다. 3. **외부 나침반 방향**을 선택합니다(이 옵션은 외부 나침반이 있는 경우에만 표시됨). + 4. **OK** 버튼을 클릭합니다. diff --git a/docs/ko/qgc-user-guide/setup_view/setup_view.md b/docs/ko/qgc-user-guide/setup_view/setup_view.md index 16d492c4bff..1be885d2988 100644 --- a/docs/ko/qgc-user-guide/setup_view/setup_view.md +++ b/docs/ko/qgc-user-guide/setup_view/setup_view.md @@ -8,7 +8,7 @@ 화면 왼쪽에는 사용 가능한 설정 옵션 세트가 있습니다. 아직 조정/지정해야 하는 설정이 있는 경우 설정 버튼이 빨간색 아이콘으로 표시됩니다. 이 중 하나라도 빨간색이면 비행해서는 안 됩니다. 위 이미지에서 라디오 설정은 아직 완료되지 않았습니다. -::: info +:::info 표시된 옵션 세트와 각 옵션의 내용은 차량이 PX4 Pro 또는 ArduPilot 펌웨어를 실행하는지 여부에 따라 다를 수 있습니다. 위 이미지는 PX4 Pro 펌웨어를 실행하는 기체에서 가져온 것입니다. ::: diff --git a/docs/ko/qgc-user-guide/setup_view/tuning.md b/docs/ko/qgc-user-guide/setup_view/tuning.md index 413834a9fb8..6430780df24 100644 --- a/docs/ko/qgc-user-guide/setup_view/tuning.md +++ b/docs/ko/qgc-user-guide/setup_view/tuning.md @@ -1,6 +1,7 @@ # 튜닝 설정 -튜닝 페이지에서는 기본 비행 특성을 제어하는 차량을 설정합니다. 자세한 정보는 항공편 스택에 따라 조금씩 차이가 납니다. +튜닝 페이지에서는 기본 비행 특성을 제어하는 차량을 설정합니다. +자세한 정보는 항공편 스택에 따라 조금씩 차이가 납니다. - [튜닝 설정 (ArduPilot)](../setup_view/tuning_ardupilot.md) - [튜닝 (PX4)](../setup_view/tuning_px4.md) diff --git a/docs/ko/qgc-user-guide/setup_view/tuning_arducopter.md b/docs/ko/qgc-user-guide/setup_view/tuning_arducopter.md index 4587e11ea60..b498d1d5c0a 100644 --- a/docs/ko/qgc-user-guide/setup_view/tuning_arducopter.md +++ b/docs/ko/qgc-user-guide/setup_view/tuning_arducopter.md @@ -12,21 +12,36 @@ 자동 튜닝 수행: -- 튜닝할 축을 선택합니다. > **도움말** 모든 축을 한 번에 조정하려면 상당한 시간이 소요되어 배터리가 부족할 수 있습니다. 이를 방지하려면 한 번에 하나의 축만 조종하는 것이 좋습니다. -- 송신기 스위치 중 하나에 자동튜닝을 할당합니다. 이륙하기 전에 스위치가 낮은 위치에 있는 지 확인하십시오. +- 튜닝할 축을 선택합니다. + + > **도움말** 모든 축을 한 번에 조정하려면 상당한 시간이 소요되어 배터리가 부족할 수 있습니다. + > 이를 방지하려면 한 번에 하나의 축만 조종하는 것이 좋습니다. + > ::: + +- 송신기 스위치 중 하나에 자동튜닝을 할당합니다. + 이륙하기 전에 스위치가 낮은 위치에 있는 지 확인하십시오. + - 이륙하여 콥터를 AltHold에 넣습니다. + - 송신기 스위치로 자동튜닝 기능을 켭니다. + - 콥터는 몇 분 동안 지정된 축 주위를 경련합니다. + - 자동 튜닝이 완료되면 헬리콥터는 원래 설정으로 다시 변경됩니다. + - 자동튜닝 스위치를 다시 낮은 위치로 이동한 다음 다시 높음으로 이동하여 새 설정을 테스트합니다. + - 자동 튜닝 스위치를 낮은 위치로 이동하여 이전 설정을 테스트합니다. + - 새 설정을 저장하려면 자동 튜닝 스위치가 높은 위치에 있는 동안 착륙 및 해제하십시오. 참고: -- 자동 튜닝은 AltHold에서 수행되므로 콥터에는 AltHold에서 최소한으로 비행할 수 있는 튜닝이 되어있어야 합니다. 자동 튜닝 스위치를 다시 낮은 위치로 이동하여 언제든지 자동 튜닝을 취소할 수 있습니다. +- 자동 튜닝은 AltHold에서 수행되므로 콥터에는 AltHold에서 최소한으로 비행할 수 있는 튜닝이 되어있어야 합니다. + 자동 튜닝 스위치를 다시 낮은 위치로 이동하여 언제든지 자동 튜닝을 취소할 수 있습니다. - 자동 튜닝 실행중 언제든지 송신기를 사용하여 멀티콥터의 위치를 변경할 수 있습니다. -### 비행중 튜닝 +### In-Flight Tuning -이것은 송신기 다이얼 채널 중 하나를 사용하여 비행 제어 매개변수를 조정할 수 있는 고급 옵션입니다. 드롭다운에서 제어 옵션을 선택하고 다이얼에 할당할 값의 최소/최대를 지정합니다. +이것은 송신기 다이얼 채널 중 하나를 사용하여 비행 제어 매개변수를 조정할 수 있는 고급 옵션입니다. +드롭다운에서 제어 옵션을 선택하고 다이얼에 할당할 값의 최소/최대를 지정합니다. diff --git a/docs/ko/qgc-user-guide/setup_view/tuning_ardusub.md b/docs/ko/qgc-user-guide/setup_view/tuning_ardusub.md index e768db5ebe5..064718c5401 100644 --- a/docs/ko/qgc-user-guide/setup_view/tuning_ardusub.md +++ b/docs/ko/qgc-user-guide/setup_view/tuning_ardusub.md @@ -11,6 +11,7 @@ - **위치 컨트롤러 매개변수**는 3D 공간의 한 지점에서 차량의 위치를 지정하는 컨트롤러의 매개변수입니다. **Z** 매개변수는 깊이 제어가 작동하는 방식을 제어합니다(예: [_깊이 고정_](https://www.ardusub.com/operators-manual/flight-modes.html#depth-hold) 모드). **XY** 매개변수는 [_위치 활성화_](https://www.ardusub.com/operators-manual/flight-modes.html#position-enabled-modes) 모드에서 차량이 수평 위치를 제어하는 방법에 영향을 줍니다. - **웨이포인트 탐색 매개변수**는 **자동** 및 **안내** 모드에서 다음 웨이포인트를 담당하는 컨트롤러의 매개변수입니다. + ::: warning **안내** 및 **자동** 모드는 현재 지원되지 않으며 QGroundControl의 일부 기능이 비활성화됩니다. ::: diff --git a/docs/ko/qgc-user-guide/setup_view/tuning_px4.md b/docs/ko/qgc-user-guide/setup_view/tuning_px4.md index b7c0a8d7042..0ae0f3fc5c4 100644 --- a/docs/ko/qgc-user-guide/setup_view/tuning_px4.md +++ b/docs/ko/qgc-user-guide/setup_view/tuning_px4.md @@ -1,26 +1,31 @@ # 튜닝 (PX4) -한 번 튜닝으로 충분하며, 제조업체에서 튜닝후 기체를 수정한 기체가 아니면 튜닝을 하는 것이 바람직합니다. +Tuning only needs to be done once, and is recommended unless you're using vehicle that has already been tuned by the manufacturer (and not modified since). -[자동 튜닝](#autotune)은 일반적으로 프레임 유형 및 이를 지원하는 콘트롤러(멀티콥터, 고정익 및 하이브리드 VTOL 고정익)에 적용하여야 합니다. 튜닝 UI는 모든 콘트롤러의 수동 튜닝도 지원합니다. +[자동 튜닝](#autotune)은 일반적으로 프레임 유형 및 이를 지원하는 콘트롤러(멀티콥터, 고정익 및 하이브리드 VTOL 고정익)에 적용하여야 합니다. +튜닝 UI는 모든 콘트롤러의 수동 튜닝도 지원합니다. ![튜닝 설정 > 자동 튜닝](../../../assets/setup/tuning/px4_autotune_hero.png) -::: info -[기체 설정](../config/airframe.md) 중에 귀하의 기체와 가장 근접하게 일치하는 프레임을 미리 선택하여야 합니다. 이것은 일반적으로 비행하기에 충분히 잘 조정되며 자동 튜닝을 실행하기에 충분히 잘 _조정될 수_ 있습니다. +:::info +[기체 설정](../config/airframe.md) 중에 귀하의 기체와 가장 근접하게 일치하는 프레임을 미리 선택하여야 합니다. +이것은 일반적으로 비행하기에 충분히 잘 조정되며 자동 튜닝을 실행하기에 충분히 잘 _조정될 수_ 있습니다. ::: ## 자동 튜닝 자동 튜닝은 안정적이고 반응성이 뛰어난 비행을 위한 가장 중요한 컨트롤러인 PX4의 속도 및 자세의 튜닝을 자동화합니다(다른 튜닝은 "선택 사항"에 가깝습니다). -::: info -이 가이드는 자동 튜닝의 기본 사용법을 보여줍니다. 추가 정보 및 설정은 [PX4 자동 튜닝 가이드](http://docs.px4.io/master/en/config/autotune.html)(PX4 사용자 가이드)을 참고하십시오. +:::info +이 가이드는 자동 튜닝의 기본 사용법을 보여줍니다. +추가 정보 및 설정은 [PX4 자동 튜닝 가이드](http://docs.px4.io/master/en/config/autotune.html)(PX4 사용자 가이드)을 참고하십시오. ::: ### 사전 자동 튜닝 테스트 -비행 중에 자동 튜닝이 수행됩니다. 기체 자동 튜닝을 실행하기 전에 비행할 수 있고 적절하게 안정화되어야 합니다. 이 테스트는 기체의 위치 제어 모드에서 안전하게 비행할 수 있는 지 확인합니다. +비행 중에 자동 튜닝이 수행됩니다. +기체 자동 튜닝을 실행하기 전에 비행할 수 있고 적절하게 안정화되어야 합니다. +이 테스트는 기체의 위치 제어 모드에서 안전하게 비행할 수 있는 지 확인합니다. 기체 자동 튜닝을 하여도 안정적인 지 확인하는 방법: @@ -28,9 +33,12 @@ 2. 이륙 및 시험 준비 - **멀티콥터:** **고도 모드** 또는 안정화 모드에서 이륙하여 지상 1m에서 호버링합니다. - **고정익 모드:** **위치 모드** 또는 **고도 모드**에서 순항 속도로 이륙하고 비행합니다. -3. RC 송신기 롤 스틱을 사용하여 기체를 몇 도만 기울여 다음 기동을 수행하십시오. _좌회전 오른쪽 롤 중심_ (전체 기동은 약 3초가 소요됩니다). 차량은 2번의 진동 내에서 안정되어야 합니다. -4. 각 시도에서 더 큰 진폭으로 기울이면서 기동을 반복합니다. 기체가 ~20도에서 2번의 진동 내에서 안정화될 수 있으면 다음 단계로 이동합니다. -5. 피치 축에서 동일한 동작을 반복합니다. 위의 A에서 작은 각도로 시작하여 기체의 틸트를 증가시키기 전에 2개의 진동 내에서 스스로 움직일 수 있는 지 확인하십시오. +3. _좌회전 오른쪽 롤 중심_ (전체 기동은 약 3초가 소요됩니다). + 차량은 2번의 진동 내에서 안정되어야 합니다. +4. 각 시도에서 더 큰 진폭으로 기울이면서 기동을 반복합니다. + 기체가 \~20도에서 2번의 진동 내에서 안정화될 수 있으면 다음 단계로 이동합니다. +5. 피치 축에서 동일한 동작을 반복합니다. + 위의 A에서 작은 각도로 시작하여 기체의 틸트를 증가시키기 전에 2개의 진동 내에서 스스로 움직일 수 있는 지 확인하십시오. 드론이 2번의 진동 내에서 스스로 안정화될 수 있으면 자동 튜닝 절차의 준비가 완료된 것입니다. @@ -38,62 +46,88 @@ ### 자동 튜닝 절차 -자동 튜닝은 **충분한 공간이 있는 안전한 지역**에서 진행하여야 합니다. 약 40초(19~68초)가 걸립니다. 최상의 결과를 얻으려면 날씨가 좋고 바람이 적을 때 테스트 하는 것이 좋습니다. +자동 튜닝은 **충분한 공간이 있는 안전한 지역**에서 진행하여야 합니다. +약 40초(19\~68초)가 걸립니다. +최상의 결과를 얻으려면 날씨가 좋고 바람이 적을 때 테스트 하는 것이 좋습니다. -::: info +:::info RC 컨트롤러로 자동 튜닝 프로세스를 중단할 준비를 하십시오. ::: 테스트 단계는 다음과 같습니다: 1. 위의 [사전 튜닝 테스트](#pre-tuning-test)를 수행합니다. -2. RC를 사용하여 이륙하고 테스트 준비: - - **멀티콥터:** **고도 모드**에서 조종기를 사용하여 이륙합니다. 안전한 거리와 지상에서 몇 미터(4~20m)에서 기체를 호버링하십시오. - - **고정익 모드의 VTOL:** 순항 속도로 비행하면 **홀드 모드**를 활성화합니다. 이렇게 하면 비행기가 일정한 고도와 속도로 원을 그리며 비행합니다. +2. RC를 사용하여 이륙하고 테스트 준비: + - **멀티콥터:** **고도 모드**에서 조종기를 사용하여 이륙합니다. + 안전한 거리와 지상에서 몇 미터(4\~20m)에서 기체를 호버링하십시오. + - **고정익 모드의 VTOL:** 순항 속도로 비행하면 **홀드 모드**를 활성화합니다. + 이렇게 하면 비행기가 일정한 고도와 속도로 원을 그리며 비행합니다. 3. QGroundControl에서 메뉴(**기체 PID 튜닝**)를 클릭합니다. ![튜닝 설정 > 자동 튜닝 활성화됨](../../../assets/setup/tuning/px4_autotune.png) -4. _Rate Controller_ 또는 _Attitude Controller_ 탭을 선택합니다. **자동 튜닝 활성화** 버튼이 활성화되어 있는 지 확인합니다(이렇게 하면 **자동 튜닝** 버튼이 표시되고 수동 튜닝 선택기가 제거됨). +4. _Rate Controller_ 또는 _Attitude Controller_ 탭을 선택합니다. + **자동 튜닝 활성화** 버튼이 활성화되어 있는 지 확인합니다(이렇게 하면 **자동 튜닝** 버튼이 표시되고 수동 튜닝 선택기가 제거됨). + +5. 조이스틱의 움직임을 멈추고 **자동 조정** 버튼을 클릭합니다. + 경고 팝업을 읽고 **확인**을 클릭하여 튜닝을 시작합니다. + +6. 드론은 먼저 빠른 롤 동작을 수행한 후 피치 및 요 동작을 수행합니다. + 진행률은 _자동 조정_ 버튼 옆의 진행률 표시줄에 표시됩니다. -5. 조이스틱의 움직임을 멈추고 **자동 조정** 버튼을 클릭합니다. 경고 팝업을 읽고 **확인**을 클릭하여 튜닝을 시작합니다. -6. 드론은 먼저 빠른 롤 동작을 수행한 후 피치 및 요 동작을 수행합니다. 진행률은 _자동 조정_ 버튼 옆의 진행률 표시줄에 표시됩니다. 7. 튜닝을 적용하려면: - - **고정익:** 조정이 즉시 자동으로 적용되고 비행 중에 테스트됩니다(기본값). 그런 다음, PX4는 4초 테스트를 실행하고 문제가 감지되면 새 튜닝 작업을 이전 상태로 되돌립니다. - - **멀티콥터:** 새로운 조정 매개변수를 적용하기 위하여 수동으로 착륙하고 시동을 해제합니다. 조심스럽게 이륙하고 기체의 안정성을 수동으로 테스트하십시오. + - **고정익:** 조정이 즉시 자동으로 적용되고 비행 중에 테스트됩니다(기본값). + 그런 다음, PX4는 4초 테스트를 실행하고 문제가 감지되면 새 튜닝 작업을 이전 상태로 되돌립니다. + - **멀티콥터:** 새로운 조정 매개변수를 적용하기 위하여 수동으로 착륙하고 시동을 해제합니다. + 조심스럽게 이륙하고 기체의 안정성을 수동으로 테스트하십시오. + 8. 강한 진동이 발생하면 즉시 착지하고 [PX4 사용자 가이드 > 자동 튜닝 > 문제 해결](http://docs.px4.io/master/en/config/autotune.html#troubleshooting)의 지침을 따르십시오. -프로세스의 비디오는 다음과 같습니다: +
+ + +{% youtube %}https://youtu.be/5xswOhhqrIQ{% endyoutube %} --> + +프로세스의 비디오는 다음과 같습니다: -## 수동 테스트 +## Manual Tuning 수동 튜닝은 비행 중에 이루어지므로 기체는 미리 비행에 적합하게 튜닝되어 있어야 합니다(일반적으로 적절한 기본 기체를 선택한 경우). -아래 지침은 수동 튜닝 UI를 사용하는 방법을 설명합니다. PID 값을 변경할 때 사용할 스텝 크기의 종류에 대한 자세한 힌트를 제공하는 [PX4 수동 PID 튜닝 가이드](http://docs.px4.io/master/en/config/autotune.html#see-also)와 함께 읽고/사용하도록 설계되었습니다. +아래 지침은 수동 튜닝 UI를 사용하는 방법을 설명합니다. +PID 값을 변경할 때 사용할 스텝 크기의 종류에 대한 자세한 힌트를 제공하는 [PX4 수동 PID 튜닝 가이드](http://docs.px4.io/master/en/config/autotune.html#see-also)와 함께 읽고/사용하도록 설계되었습니다. 개요: 1. RC를 사용하여 이륙하고 테스트 준비: - - **멀티콥터:** **고도 모드**에서 조종기를 사용하여 이륙합니다. 안전한 거리와 지상에서 몇 미터(4~20m)에서 기체를 호버링하십시오. - - **고정익:** 순항 속도로 비행하면 **유지 모드**를 활성화합니다. 이렇게 하면 비행기가 일정한 고도와 속도로 원을 그리며 비행합니다. + - **멀티콥터:** **고도 모드**에서 조종기를 사용하여 이륙합니다. + 안전한 거리와 지상에서 몇 미터(4\~20m)에서 기체를 호버링하십시오. + - **고정익:** 순항 속도로 비행하면 **유지 모드**를 활성화합니다. + 이렇게 하면 비행기가 일정한 고도와 속도로 원을 그리며 비행합니다. + 2. QGroundControl에서 메뉴(**차량 설정 PID 조정**)를 클릭합니다. -3. _Rate Controller_ 탭을 선택하십시오. **자동 튜닝 사용** 버튼이 꺼져 있는 지 확인합니다. + +3. _Rate Controller_ 탭을 선택하십시오. + **자동 튜닝 사용** 버튼이 꺼져 있는 지 확인합니다. ![PX4 튜닝 - 수동 - 속도 컨트롤러](../../../assets/setup/tuning/px4_copter_manual_rate.png) -4. 조정할 *조정 축*을 선택합니다: **롤**, **피치** 또는 **요**(각 축은 개별적으로 조정됨). +4. 조정할 _조정 축_을 선택합니다: **롤**, **피치** 또는 **요**(각 축은 개별적으로 조정됨). 5. 차트의 추적을 관찰하면서 비행합니다. - 슬라이더를 사용하여 그래프에 표시되는 추적을 개선하려면 _조정 값_(매개변수)을 조정합니다. - 값은 자동으로 저장되지만 **클립보드에 저장** 및 **클립보드에서 복원** 버튼을 사용하여 마지막으로 성공한 설정을 저장할 수 있습니다. - 제공된 버튼을 사용하여 차트를 **지우기**/**중지**할 수도 있습니다. + 6. 다른 축을 튜닝합니다. -7. 다른 컨트롤러로 전환하고 프로세스를 반복합니다. 튜닝 페이지의 캡쳐 화면은 아래와 같습니다. + +7. 다른 컨트롤러로 전환하고 프로세스를 반복합니다. + 튜닝 페이지의 캡쳐 화면은 아래와 같습니다. ![PX4 튜닝 - 수동 - 자세 컨트롤러](../../../assets/setup/tuning/px4_copter_manual_attitude.png) ![PX4 튜닝 - 수동 - 속도 컨트롤러](../../../assets/setup/tuning/px4_copter_manual_velocity.png) ![PX4 튜닝 - 수동 - 위치 컨트롤러](../../../assets/setup/tuning/px4_copter_manual_velocity.png) diff --git a/docs/ko/qgc-user-guide/support/support.md b/docs/ko/qgc-user-guide/support/support.md index feae7afccf6..725fd6822b2 100644 --- a/docs/ko/qgc-user-guide/support/support.md +++ b/docs/ko/qgc-user-guide/support/support.md @@ -1,23 +1,24 @@ # 지원 -이 사용자 가이드는 *QGroundControl*에 대한 주요 지원 제공자를 위한 것입니다. 올바르지 않거나 누락된 정보를 발견하면 [문제](https://github.com/mavlink/qgc-user-guide/issues)를 신고하여 주십시오. +이 사용자 가이드는 _QGroundControl_에 대한 주요 지원 제공자를 위한 것입니다. +올바르지 않거나 누락된 정보를 발견하면 [문제](https://github.com/mavlink/qgc-user-guide/issues)를 신고하여 주십시오. -_QGroundControl_ 사용 방법에 대한 *질문*은 관련 플라이트 스택에 대한 토론 포럼에서 제기하여야 합니다. +_QGroundControl_ 사용 방법에 대한 _질문_은 관련 플라이트 스택에 대한 토론 포럼에서 제기하여야 합니다. - [PX4 Pro Flight Stack](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-usage)(discuss.px4.io). - [ArduPilot Flight Stack](http://discuss.ardupilot.org/c/ground-control-software/qgroundcontrol) (discuss.ardupilot.org). -이 포럼은 또한 *QGroundControl*에 대한 버그, 문제 및 원하는 기능에 대한 토론을 시작하기에 가장 적합합니다. 거기에서 추가 해결을 위하여 GitHub 문제에 정보를 입력할 수 있습니다. +이 포럼은 또한 _QGroundControl_에 대한 버그, 문제 및 원하는 기능에 대한 토론을 시작하기에 가장 적합합니다. 거기에서 추가 해결을 위하여 GitHub 문제에 정보를 입력할 수 있습니다. -### 개발자 채팅 {#developer_chat} +### 개발자 채팅 {#developer\_chat} -_QGroundControl_ 개발자(및 많은 일반/깊은 관련 사용자)는 [#QGroundControl Slack 채널](https://px4.slack.com/)에서 찾을 수 있습니다. [여기에서 채널에 액세스하려면 등록](http://slack.px4.io/)하십시오. +_QGroundControl_ 개발자(및 많은 일반/깊은 관련 사용자)는 [#QGroundControl Slack 채널](https://px4.slack.com/)에서 찾을 수 있습니다. ## GitHub 이슈 -문제는 *QGroundControl*에 대한 버그와 이후 버전에 대한 기능 요청을 추적하는 데 사용됩니다. 현재 문제 목록은 [GitHub 여기](https://github.com/mavlink/qgroundcontrol/issues)에서 찾을 수 있습니다. +문제는 _QGroundControl_에 대한 버그와 이후 버전에 대한 기능 요청을 추적하는 데 사용됩니다. 현재 문제 목록은 [GitHub 여기](https://github.com/mavlink/qgroundcontrol/issues)에서 찾을 수 있습니다. -::: info +:::info 버그 또는 기능 요청에 대한 GitHub 문제를 생성하기 **전에** 지원 포럼을 사용하여 개발자에게 문의하십시오. ::: @@ -27,11 +28,11 @@ _QGroundControl_ 개발자(및 많은 일반/깊은 관련 사용자)는 [#QGrou ##### Windows 빌드에서 충돌 보고 -QGroundControl이 충돌하면 충돌 덤프 파일이 Users LocalAppData 디렉터리에 저장됩니다. 해당 디렉토리로 이동하려면 시작/실행 명령을 사용하십시오. WinKey+R 단축키를 이용하여 이 창을 열수 있습니다. 아래와 같이 입력합니다. `%localappdata%` 열기에 대해 확인을 클릭합니다. 크래시 덤프는 `QGCCrashDumps` 해당 디렉토리의 폴더에 저장됩니다. 새 **.dmp** 파일을 찾을 수 있습니다. 문제 보고시 GitHub 문제에 해당 파일에 대한 링크를 추가하십시오. +QGroundControl이 충돌하면 충돌 덤프 파일이 Users LocalAppData 디렉터리에 저장됩니다. 해당 디렉토리로 이동하려면 시작/실행 명령을 사용하십시오. WinKey+R 단축키를 이용하여 이 창을 열수 있습니다. `%localappdata%` 열기에 대해 확인을 클릭합니다. 크래시 덤프는 `QGCCrashDumps` 해당 디렉토리의 폴더에 저장됩니다. 새 **.dmp** 파일을 찾을 수 있습니다. 문제 보고시 GitHub 문제에 해당 파일에 대한 링크를 추가하십시오. ##### Windows 빌드에서 보고 중단 -Windows에서 *QGroundControl 프로그램이 응답하지 않습니다*라는 메시지가 표시되면 다음 단계를 사용하여 중단을 보고합니다. +Windows에서 _QGroundControl 프로그램이 응답하지 않습니다_라는 메시지가 표시되면 다음 단계를 사용하여 중단을 보고합니다. 1. _작업 관리자_ 오픈(작업 표시줄을 마우스 오른쪽 버튼으로 클릭하고 **작업 관리자** 선택) 합니다. 2. 프로세스 탭과 로컬 **qgroundcontrol.exe**로 전환합니다. @@ -49,7 +50,7 @@ Windows에서 *QGroundControl 프로그램이 응답하지 않습니다*라는 ### 콘솔 로깅 -*콘솔 로그*는 _QGroundControl_ 문제 진단에 유용합니다. 자세한 내용은 [콘솔 로깅](../settings_view/console_logging.md)를 참고하십시오. +_콘솔 로그_는 _QGroundControl_ 문제 진단에 유용합니다. 자세한 내용은 [콘솔 로깅](../settings_view/console_logging.md)를 참고하십시오. ## 이 문서 개선 작업을 도와주십시오. diff --git a/docs/ko/qgc-user-guide/toolbar/toolbar.md b/docs/ko/qgc-user-guide/toolbar/toolbar.md index 724d8d05918..0178fc1626c 100644 --- a/docs/ko/qgc-user-guide/toolbar/toolbar.md +++ b/docs/ko/qgc-user-guide/toolbar/toolbar.md @@ -1,10 +1,11 @@ # 메인 툴바 -메인 툴바를 이용하여 기체의 자세한 상태 정보를 제공하는 다양한 어플라케이션 화면들을 접근할 수 있습니다. "계획 화면("비행 화면"으로 다시 이동하는 아이콘이 있음)을 제외한 모든 화면에서 툴바를 제공합니다. +메인 툴바를 이용하여 기체의 자세한 상태 정보를 제공하는 다양한 어플라케이션 화면들을 접근할 수 있습니다. +The toolbar is the same in all views except for "PlanView" (which has a single icon to take you back to "Fly" view). ## 화면 선택 아이콘 -아래의 아이콘들을 사용하여 주요 *화면*들을 전환합니다. 기체가 연결되지 않아도 사용 가능합니다. +아래의 아이콘들을 사용하여 주요 _화면_들을 전환합니다. These are displayed even if no vehicle is connected. ![설정 화면 아이콘](../../../assets/toolbar/toolbar_view_select_settings.jpg) **[설정](../settings_view/settings_view.md)**
_QGroundControl_ 애플리케이션을 설정합니다. @@ -18,7 +19,8 @@ ## 상태 아이콘 -*QGroundControl*은 기체가 연결되면 상태 아이콘을 표시합니다. 기체의 상위 레벨 상태를 표시하며, 클릭하여 더 자세한 정보를 조회합니다. +_QGroundControl_은 기체가 연결되면 상태 아이콘을 표시합니다. +기체의 상위 레벨 상태를 표시하며, 클릭하여 더 자세한 정보를 조회합니다. ![](../../../assets/toolbar/toolbar_status_message.jpg) ![수율](../../../assets/toolbar/toolbar_status_critical.jpg) **기체 메시지**
클릭하면 기체의 메시지 목록이 표시됩니다. 중요한 메시지가 있는 경우에는 버전이 오른쪽에 표시됩니다. @@ -30,6 +32,6 @@ ![](../../../assets/toolbar/toolbar_status_battery.jpg) **배터리**
배터리의 잔량을 나타냅니다. -![](../../../assets/toolbar/toolbar_status_flight_mode.jpg) **비행 모드**
클릭하여, 현재 비행모드를 변경할 수 있습니다. +![](../../../assets/toolbar/toolbar_status_flight_mode.jpg) **비행 모드**
클릭하여, 현재 비행모드를 변경할 수 있습니다. Click to change flight mode. ![](../../../assets/toolbar/toolbar_status_rtk_gps.jpg) **RTK GPS 신호 상태**
RTK GPS 신호 프로세스의 진행 상황을 나타냅니다. diff --git a/docs/ko/qgc-user-guide/troubleshooting/index.md b/docs/ko/qgc-user-guide/troubleshooting/index.md index 918a66154a9..e620ea09f19 100644 --- a/docs/ko/qgc-user-guide/troubleshooting/index.md +++ b/docs/ko/qgc-user-guide/troubleshooting/index.md @@ -3,6 +3,6 @@ 문제 해결 정보는 두 섹션으로 제공됩니다. - [QGroundControl 설정](../troubleshooting/qgc_setup.md) - _QGroundControl_ 설치 및 설정 문제 해결. -- [QGroundControl 사용](../troubleshooting/qgc_usage.md) - 기체 연동시 *QGroundControl*을 **사용**상의 문제를 해결합니다. +- [QGroundControl 사용](../troubleshooting/qgc_usage.md) - 기체 연동시 _QGroundControl_을 **사용**상의 문제를 해결합니다. 여전히 해결되지 않은 질문이 있으면, [지원](../support/support.md) 페이지에서 도움을 받는 방법에 대한 자세한 정보를 확인하십시오. diff --git a/docs/ko/qgc-user-guide/troubleshooting/parameter_download.md b/docs/ko/qgc-user-guide/troubleshooting/parameter_download.md index 6f3ab57eeda..c14a2b0e7f2 100644 --- a/docs/ko/qgc-user-guide/troubleshooting/parameter_download.md +++ b/docs/ko/qgc-user-guide/troubleshooting/parameter_download.md @@ -1,9 +1,15 @@ # 매개변수 다운로드 실패 -대부분의 매개변수 다운로드 실패 현상은 노이즈가 많고 손실률이 높은 통신 네트워크에서 발생합니다. 매개변수 프로토콜에는 이러한 경우에 대한 재시도 기능이 있으나, 결국 실패합니다. 이 시점에서 QGroundControl에서 전체 세트 또는 매개변수를 검색할 수 없다는 오류가 표시됩니다. +대부분의 매개변수 다운로드 실패 현상은 노이즈가 많고 손실률이 높은 통신 네트워크에서 발생합니다. +매개변수 프로토콜에는 이러한 경우에 대한 재시도 기능이 있으나, 결국 실패합니다. +이 시점에서 QGroundControl에서 전체 세트 또는 매개변수를 검색할 수 없다는 오류가 표시됩니다. -이 상태에서도 기체의 비행은 가능하지만, 권장되는 방식은 아닙니다. 그리고, 기체 설정 페이지를 사용할 수 없습니다. +이 상태에서도 기체의 비행은 가능하지만, 권장되는 방식은 아닙니다. +그리고, 기체 설정 페이지를 사용할 수 없습니다. -[설정 보기 > MAVLink](../settings_view/mavlink.md) 페이지에서 네트워크 손실률을 확인할 수 있습니다. 높은 한 자릿수 손실률조차도 계획 프로토콜의 간헐적 실패로 이어질 수 있습니다. 손실률이 높으면 100% 실패로 이어질 수 있습니다. +[설정 보기 > MAVLink](../settings_view/mavlink.md) 페이지에서 네트워크 손실률을 확인할 수 있습니다. +높은 한 자릿수 손실률조차도 계획 프로토콜의 간헐적 실패로 이어질 수 있습니다. +손실률이 높으면 100% 실패로 이어질 수 있습니다. -더 많은 펌웨어나 QGroundControl 버그가 존재할 수 있습니다. 프로토콜의 앞뒤 메시지 트래픽에 대한 세부정보를 보려면 매개변수 프로토콜에 대해 [콘솔 로깅](../settings_view/console_logging.md)을 켤 수 있습니다. +더 많은 펌웨어나 QGroundControl 버그가 존재할 수 있습니다. +프로토콜의 앞뒤 메시지 트래픽에 대한 세부정보를 보려면 매개변수 프로토콜에 대해 [콘솔 로깅](../settings_view/console_logging.md)을 켤 수 있습니다. diff --git a/docs/ko/qgc-user-guide/troubleshooting/qgc_setup.md b/docs/ko/qgc-user-guide/troubleshooting/qgc_setup.md index 3aadf4e6ba2..45a5ebf0ef1 100644 --- a/docs/ko/qgc-user-guide/troubleshooting/qgc_setup.md +++ b/docs/ko/qgc-user-guide/troubleshooting/qgc_setup.md @@ -1,55 +1,60 @@ # QGroundControl 설정 문제 해결 -호스트 컴퓨터에서 *QGroundControl*의 설정 및 설치와 관련된 문제 해결 방법을 설명합니다. +호스트 컴퓨터에서 _QGroundControl_의 설정 및 설치와 관련된 문제 해결 방법을 설명합니다. -::: tip -*QGroundControl*을 **사용**하여 기체 연동시 발생하는 문제는 [QGroundControl 기체 연동 문제](../troubleshooting/qgc_usage.md)에서 설명합니다. +:::tip +_QGroundControl_을 **사용**하여 기체 연동시 발생하는 문제는 [QGroundControl 기체 연동 문제](../troubleshooting/qgc_usage.md)에서 설명합니다. ::: ## 64비트 윈도우: 예기치 않은 언어의 오디오 -Windows 64비트 시스템에서 *QGroundControl*은 때때로 **제어판 > 음성**의 _텍스트 음성 변환_ 설정과 일치하지 않는 언어로 오디오/메시지를 재생할 수 있습니다(예: 영어 기계에서 독일어로 말하는 오디오). +Windows 64비트 시스템에서 _QGroundControl_은 때때로 **제어판 > 음성**의 _텍스트 음성 변환_ 설정과 일치하지 않는 언어로 오디오/메시지를 재생할 수 있습니다(예: 영어 기계에서 독일어로 말하는 오디오). -이러한 현상은 64비트 Windows가 64비트 음성만 표시하는 반면에, *QGroundControl*은 32비트 응용 프로그램(Windows)이므로 32비트 음성만 실행하기 때문에 발생할 수 있습니다. +이러한 현상은 64비트 Windows가 64비트 음성만 표시하는 반면에, _QGroundControl_은 32비트 응용 프로그램(Windows)이므로 32비트 음성만 실행하기 때문에 발생할 수 있습니다. -해결책은 시스템에 원하는 *32비트 음성*을 설정하는 것입니다. +해결책은 시스템에 원하는 _32비트 음성_을 설정하는 것입니다. 1. 제어판 응용 프로그램을 실행합니다: **C:\Windows\SysWOW64\Speech\SpeechUX\sapi.cpl**. -2. 원하는 *음성 선택*을 한 다음 대화상자 하단의 **확인**을 클릭합니다. ![Windows 32비트 TTS(텍스트 음성 변환) 제어판](../../../assets/support/windows_text_to_speech.png) +2. 원하는 _음성 선택_을 한 다음 대화상자 하단의 **확인**을 클릭합니다. + ![Windows 32비트 TTS(텍스트 음성 변환) 제어판](../../../assets/support/windows_text_to_speech.png) -::: info +:::info Windows 음성 API에 대한 추가 정보는 [여기](https://www.webbie.org.uk/blog/microsoft-speech/)를 참고하십시오. ::: -## Windows: UI 렌더링/비디오 드라이버 문제 {#opengl_troubleshooting} +## Windows: UI 렌더링/비디오 드라이버 문제 {#opengl\_troubleshooting} -Windows에서 UI 렌더링 문제 또는 비디오 드라이버 충돌이 발생하는 경우에는 "비정상적" OpenGL 드라이버가 원인일 수 있습니다. *QGroundControl*은 "안전한" 동영상 모드에서 *QGroundControl*을 시작하는 데 사용할 수 있는 3가지 단축키를 제공합니다(순서대로 시도). +Windows에서 UI 렌더링 문제 또는 비디오 드라이버 충돌이 발생하는 경우에는 "비정상적" OpenGL 드라이버가 원인일 수 있습니다. _QGroundControl_은 "안전한" 동영상 모드에서 _QGroundControl_을 시작하는 데 사용할 수 있는 3가지 단축키를 제공합니다(순서대로 시도). - **QGroundControl:** QGroundControl은 OpenGL 그래픽 드라이버를 직접 사용합니다. - **GPU 호환성 모드:** QGC는 DirectX 위에 OpenGL을 구현하는 ANGLE 드라이버를 사용합니다. - **GPU 안전 모드:** QGroundControl은 UI에 소프트웨어 래스터라이저를 사용합니다(매우 느림). -## Windows: WiFi 기체 연결 불량 {#waiting_for_connection} +## Windows: WiFi 기체 연결 불량 {#waiting\_for\_connection} -Wi-Fi를 통해 기체 연결시 *QGroundControl*이 영구적으로 유지되는 경우(예: _기체 연결 대기_), 가능한 원인은 IP 트래픽이 방화벽 소프트웨어에 의해 차단되기 때문일 수 있습니다. +Wi-Fi를 통해 기체 연결시 _QGroundControl_이 영구적으로 유지되는 경우(예: _기체 연결 대기_), 가능한 원인은 IP 트래픽이 방화벽 소프트웨어에 의해 차단되기 때문일 수 있습니다. ![연결을 기다리는 중](../../../assets/support/waiting_for_connection.jpg) 해결책은 방화벽을 통해 _QGroundControl_ 앱을 허용하는 것입니다. -::: info +:::info 연결을 허용하기 위해 네트워크 프로필을 공개에서 비공개로 간단히 전환할 수 있지만, PC가 네트워크에 노출되므로 주의하십시오. ::: -*Windows Defender*를 사용하는 경우: +_Windows Defender_를 사용하는 경우: -- **시작** 표시줄에서 다음을 입력/선택합니다. _방화벽 & 네트워크 보호_(시스템 설정). +- **시작** 표시줄에서 다음을 입력/선택합니다. - 스크롤하여 _방화벽을 통해 앱 허용_ 옵션을 선택합니다. -- *QGroundControl*을 선택하고 _액세스_ 선택기를 **허용**으로 변경합니다. **Tip** 프로그램은 파일 이름이 아닌 설명의 알파벳 순서로 나열됩니다. **O** 아래에서 QGroundControl을 찾을 수 있습니다. _QGroundControl 개발 팀에서 제공하는 오픈 소스 지상 관제 앱_ +- _QGroundControl_을 선택하고 _액세스_ 선택기를 **허용**으로 변경합니다. -## Ubuntu: 비디오 스트리밍 실패(Gstreamer 누락) {#missing_gstreamer} + **Tip** 프로그램은 파일 이름이 아닌 설명의 알파벳 순서로 나열됩니다. + _QGroundControl 개발 팀에서 제공하는 오픈 소스 지상 관제 앱_ -Ubuntu에서 비디오 스트림을 보려면 _Gstreamer_ 구성요소를 설치하여야 합니다. 이것들이 설치되어 있지 않으면, *QGroundControl*이 gstreamer 노드를 생성할 수 없고 다음과 같은 에러가 발생합니다. +## Ubuntu: 비디오 스트리밍 실패(Gstreamer 누락) {#missing\_gstreamer} + +Ubuntu에서 비디오 스트림을 보려면 _Gstreamer_ 구성요소를 설치하여야 합니다. +이것들이 설치되어 있지 않으면, _QGroundControl_이 gstreamer 노드를 생성할 수 없고 다음과 같은 에러가 발생합니다. ```sh VideoReceiver::start()가 실패했습니다. gst_element_factory_make('avdec_h264') 오류 @@ -57,25 +62,28 @@ VideoReceiver::start()가 실패했습니다. gst_element_factory_make('avdec_h2 [Ubuntu용 다운로드/설치 지침](../getting_started/download_and_install.md#ubuntu)에는 _GStreamer_ 설정 정보가 포함되어 있습니다. -## Ubuntu 18.04: 듀얼 비디오 어댑터 시스템에서 비디오 스트리밍 실패 {#dual_vga} +## Ubuntu 18.04: 듀얼 비디오 어댑터 시스템에서 비디오 스트리밍 실패 {#dual\_vga} ![Ubuntu 18.04의 비디오](../../../assets/support/troubleshooting_dual_vga_driver.jpg) -Ubuntu 18.04의 GSteamer 버전에는 Intel 및 NVidia 비디오 디스플레이 어댑터가 모두 있는 시스템에서 VA API 기반 디코더(예: vaapih264dec 등)를 사용시 비디오가 표시되지 않는 버그가 있습니다. +Ubuntu 18.04의 GSteamer 버전에는 Intel 및 NVidia 비디오 디스플레이 어댑터가 모두 있는 시스템에서 VA API 기반 디코더(예: vaapih264dec 등)를 사용시 비디오가 표시되지 않는 버그가 있습니다. on systems that have both Intel and NVidia video display adapters. -::: info +:::info 더 일반적인 문제는 Intel 및 NVidia VGA가 있는 Ubuntu 18.04에서 발생하는 것으로 알려져 있지만, 모든 Linux 시스템 및 기타 유형의 (이중) VGA에서 발생할 수 있습니다. ::: 이 경우 _QGroundControl_ 실행하는 가장 쉬운 방법은 다음 명령어를 사용하여 시작하는 것입니다. - LIBVA_DRIVER_NAME=fakedriver ./QGroundControl +``` +LIBVA_DRIVER_NAME=fakedriver ./QGroundControl +``` -다른 대안은 VGA 중 하나를 비활성화하거나 VA API 구성 요소를 제거하거나 GStreamer 1.16으로 업그레이드하는 것입니다(Ubuntu 18.04에서는 이를 수행하는 쉬운 방법이 없습니다. 찾으면 레시피를 제공하여 주십시오!) +다른 대안은 VGA 중 하나를 비활성화하거나 VA API 구성 요소를 제거하거나 GStreamer 1.16으로 업그레이드하는 것입니다(Ubuntu 18.04에서는 이를 수행하는 쉬운 방법이 없습니다. -## Ubuntu 16.04: GLIBC_2.27을 찾을 수 없음 {#glibc_2_27} +## Ubuntu 16.04: GLIBC\_2.27을 찾을 수 없음 {#glibc\_2\_27} -사전 빌드된 QGroundControl 4.0(이상)용 AppImages는 Ubuntu 18.04 LTS(이상)에서만 실행 가능합니다. Ubuntu 16.04에서는 실행되지 않습니다. +사전 빌드된 QGroundControl 4.0(이상)용 AppImages는 Ubuntu 18.04 LTS(이상)에서만 실행 가능합니다. +Ubuntu 16.04에서는 실행되지 않습니다. 실행시 다음과 같은 에러가 발생합니다. diff --git a/docs/ko/qgc-user-guide/troubleshooting/qgc_usage.md b/docs/ko/qgc-user-guide/troubleshooting/qgc_usage.md index dcbe62da9e1..a6d5a7b9d55 100644 --- a/docs/ko/qgc-user-guide/troubleshooting/qgc_usage.md +++ b/docs/ko/qgc-user-guide/troubleshooting/qgc_usage.md @@ -1,12 +1,12 @@ # QGroundControl 사용 문제 해결 -차량과 *QGroundControl*을 **연동**에 관련된 일반적인 문제들을 설명합니다. +차량과 _QGroundControl_을 **연동**에 관련된 일반적인 문제들을 설명합니다. - [연결 문제](../troubleshooting/vehicle_connection.md) - [매개변수 다운로드 실패](../troubleshooting/parameter_download.md) - [계획 업로드 및 다운로드 실패](../troubleshooting/plan_upload_download.md) - [미션 재실행 실패](../troubleshooting/resume_mission.md) -::: tip -호스트 컴퓨터에서 **설치/실행**과 관련된 문제 *QGroundControl*은 [QGC 설정 문제 해결](../troubleshooting/qgc_setup.md)을 참고하십시오. +:::tip +호스트 컴퓨터에서 **설치/실행**과 관련된 문제 _QGroundControl_은 [QGC 설정 문제 해결](../troubleshooting/qgc_setup.md)을 참고하십시오. ::: diff --git a/docs/ko/qgc-user-guide/troubleshooting/resume_mission.md b/docs/ko/qgc-user-guide/troubleshooting/resume_mission.md index 6736808b4c7..51228a3f9ef 100644 --- a/docs/ko/qgc-user-guide/troubleshooting/resume_mission.md +++ b/docs/ko/qgc-user-guide/troubleshooting/resume_mission.md @@ -5,29 +5,41 @@ 가장 문제가 되는 두 가지 주요 문제는 다음과 같습니다. - _임무 재개_ 대화상자가 표시되지 않고 임무 시작 슬라이더만 남습니다. -- *임무 재개*에서 생성된 새 임무는 웨이포인트 재생성과 카메라 명령과 관련하여 정확하지 않습니다. +- _임무 재개_에서 생성된 새 임무는 웨이포인트 재생성과 카메라 명령과 관련하여 정확하지 않습니다. -::: warning -_QGroundControl_ 개발 팀이 이러한 문제를 디버그하려면 *임무 재개*에 입력된 모든 github 문제에 다음 정보가 **제공되어야 합니다**. +:::warning +_QGroundControl_ 개발 팀이 이러한 문제를 디버그하려면 _임무 재개_에 입력된 모든 github 문제에 다음 정보가 **제공되어야 합니다**. ::: -## 임무 재개 대화창 또는 생성을 위한 일반적인 단계 {#common_steps} +## 임무 재개 대화창 또는 생성을 위한 일반적인 단계 {#common\_steps} 두 가지 유형의 문제를 디버깅하려면 다음 단계가 필요합니다. 1. QGroundControl 다시 시작 + 2. `GuidedActionsControllerLog` 로그 옵션으로 [콘솔 로깅](../settings_view/console_logging.md)을 켭니다. + 3. [원격 분석 로깅](../settings_view/general.md#miscellaneous)을 활성화합니다(**설정 > 일반**). + 4. 미션을 시작합니다. -5. 배터리 교체가 필요할 때까지 비행합니다. **Tip** 또는 미션 중간부터 수동으로 출발지를 복귀하여 문제를 재현할 수 있습니다(항상 문제가 재현되지는 않음). -6. 기체가 착륙후 시동이 정지되면 _임무 재개_ 대화창이 나타납니다. **Note** 그렇지 않은 경우는 QGroundControl에 버그가 있을 수 있습니다. + +5. 배터리 교체가 필요할 때까지 비행합니다. + + **Tip** 또는 미션 중간부터 수동으로 출발지를 복귀하여 문제를 재현할 수 있습니다(항상 문제가 재현되지는 않음). + ::: + +6. Once the vehicle lands and disarms you should get the _Resume Mission_ dialog. + + ::: info + If not there is a possible bug in QGC. + ::: ### 임무 재개 대화 문제 _임무 재개 대화창_ 문제의 경우 [위의 일반적인 단계](#common_steps)를 따른 후 다음을 수행하십시오. -7. *콘솔 로그*를 파일에 저장합니다. -8. _콘솔 로그_, _원격 분석 로그_ 및 *계획 파일*을 문제에서 연결할 수 있는 위치에 배치합니다. +7. _콘솔 로그_를 파일에 저장합니다. +8. _콘솔 로그_, _원격 분석 로그_ 및 _계획 파일_을 문제에서 연결할 수 있는 위치에 배치합니다. 9. 세 파일 모두에 대한 세부 정보와 네트워크를 사용하여 문제를 만듭니다. ## 임무 재개 생성 문제 @@ -38,7 +50,7 @@ _임무 재개 생성_ 문제의 경우 [위의 일반적인 단계](#common_ste 8. 새로운 미션이 생성되어야 합니다. 9. [계획 화면](../plan_view/plan_view.md)으로 이동합니다. 10. _파일/동기화_ 메뉴에서 **다운로드**를 선택합니다. -11. *수정된 계획*을 파일에 저장합니다. -12. *콘솔 로그*를 파일에 저장합니다. +11. _수정된 계획_을 파일에 저장합니다. +12. _콘솔 로그_를 파일에 저장합니다. 13. _Console Log_, _Telemetry Log_, _Original Plan_ 파일 배치 및 _수정된 계획_ 파일을 문제에서 연결할 수 있는 위치에 두십시오. 14. 4개의 모든 파일에 대한 세부 정보와 링크를 사용하여 이슈를 생성합니다. diff --git a/docs/ko/qgc-user-guide/troubleshooting/vehicle_connection.md b/docs/ko/qgc-user-guide/troubleshooting/vehicle_connection.md index b50d9bae2ad..1646cc2ce5c 100644 --- a/docs/ko/qgc-user-guide/troubleshooting/vehicle_connection.md +++ b/docs/ko/qgc-user-guide/troubleshooting/vehicle_connection.md @@ -2,13 +2,19 @@ ## UI에 기체가 표시되지 않음 -QGroundControl은 네트워크이 접속된 기체를 자동으로 연결됩니다(USB 또는 WiFi 등 사용). QGroundControl UI에 네트워크에 접속한 기체가 표시되지 않는 경우 [콘솔 로깅](../settings_view/console_logging.md)을 사용하여 문제를 디버깅할 수 있습니다. +QGroundControl은 네트워크이 접속된 기체를 자동으로 연결됩니다(USB 또는 WiFi 등 사용). +QGroundControl UI에 네트워크에 접속한 기체가 표시되지 않는 경우 [콘솔 로깅](../settings_view/console_logging.md)을 사용하여 문제를 디버깅할 수 있습니다. 문제를 디버그하려면 다음 절차를 따라 해결하십시오. -- 연결되지 않은 기체의 네트워크에서 시작합니다. 예를 들어, USB 연결을 연결하거나 OS에서 WiFi 링크를 설정하지 마십시오. -- QGroundControl에서 `LinkManagerLog` [콘솔 로깅](../settings_view/console_logging.md)을 켭니다. 이것은 QGroundControl에서 연결하는 링크에 대한 출력을 기록합니다. -- 기체의 네트워크를 설정합니다. +- Start with the hardware vehicle link not connected. + 예를 들어, USB 연결을 연결하거나 OS에서 WiFi 링크를 설정하지 마십시오. + +- QGroundControl에서 `LinkManagerLog` [콘솔 로깅](../settings_view/console_logging.md)을 켭니다. + 이것은 QGroundControl에서 연결하는 링크에 대한 출력을 기록합니다. + +- Establish the hardware vehicle communication link. + - 콘솔 로그 출력은 다음과 같이 표시되어야 합니다. ``` @@ -22,10 +28,13 @@ QGroundControl은 네트워크이 접속된 기체를 자동으로 연결됩니 - 처음 몇 줄은 QGroundControl에서 네트워크를 설정하고 마지막으로 자동 연결을 설정하였음을 나타냅니다. -이 항목이 표시되지 않으면 QGroundControl에서 네트워크를 인식하지 못하는 것입니다. 하드웨어가 OS 수준에서 인식되는지 확인하려면 다음을 수행하십시오. +이 항목이 표시되지 않으면 QGroundControl에서 네트워크를 인식하지 못하는 것입니다. +하드웨어가 OS 수준에서 인식되는지 확인하려면 다음을 수행하십시오. -- 연결되지 않은 기체의 네트워크에서 시작합니다. 예를 들어, USB 연결을 연결하거나 OS에서 WiFi 링크를 설정하지 마십시오. -- QGroundControl에서 `LinkManagerVerboseLog` [콘솔 로깅](../settings_view/console_logging.md)을 켭니다. 이것은 QGroundControl에서 인식하는 모든 직렬 하드웨어 연결에 대한 출력을 기록합니다. +- Start with the hardware vehicle link not connected. + 예를 들어, USB 연결을 연결하거나 OS에서 WiFi 링크를 설정하지 마십시오. +- QGroundControl에서 `LinkManagerVerboseLog` [콘솔 로깅](../settings_view/console_logging.md)을 켭니다. + 이것은 QGroundControl에서 인식하는 모든 직렬 하드웨어 연결에 대한 출력을 기록합니다. - 장치에서 직렬 포트의 지속적인 출력을 볼 수 있습니다. - USB 통신 장치를 연결합니다. - 콘솔 출력에 새 장치가 표시되어야 합니다. 예: @@ -45,9 +54,14 @@ QGroundControl은 네트워크이 접속된 기체를 자동으로 연결됩니 ## 오류: 기체의 응답이 없음 -이는 QGroundControl에서 기체를 네트워크으로 연결할 수 있었지만, 네트워크에서 앞뒤로 이동하는 원격 측정이 없음을 나타냅니다. 이는 불행히도 다음과 같은 여러 문제를 나타낼 수 있습니다. +이는 QGroundControl에서 기체를 네트워크으로 연결할 수 있었지만, 네트워크에서 앞뒤로 이동하는 원격 측정이 없음을 나타냅니다. +이는 불행히도 다음과 같은 여러 문제를 나타낼 수 있습니다. - 하드웨어 통신 설정 문제 - 펌웨어 문제 -마지막으로 QGroundControl에서 기체가 아닌 컴퓨터에 연결된 장치에 자동으로 연결을 시도하는 경우 발생할 수 있습니다. 위의 단계를 사용하고 QGroundControl에 연결을 시도하는 장치 정보를 기록하여 이 경우를 식별할 수 있습니다. 자동 연결이 작동하도록 하기 위하여 자동 연결을 시도하는 장치에서 사용하는 필터는 다소 광범위하고 정확하지 않을 수 있습니다. 이런 일이 발생하면, 일반 설정에서 자동 연결을 끄고 기체의 네트워크에 수동으로 연결하여야 합니다. 컴퓨터에서 문제를 일으키는 장치를 제거할 수도 있지만, 항상 가능한 것은 아닙니다. +마지막으로 QGroundControl에서 기체가 아닌 컴퓨터에 연결된 장치에 자동으로 연결을 시도하는 경우 발생할 수 있습니다. +위의 단계를 사용하고 QGroundControl에 연결을 시도하는 장치 정보를 기록하여 이 경우를 식별할 수 있습니다. +자동 연결이 작동하도록 하기 위하여 자동 연결을 시도하는 장치에서 사용하는 필터는 다소 광범위하고 정확하지 않을 수 있습니다. +이런 일이 발생하면, 일반 설정에서 자동 연결을 끄고 기체의 네트워크에 수동으로 연결하여야 합니다. +컴퓨터에서 문제를 일으키는 장치를 제거할 수도 있지만, 항상 가능한 것은 아닙니다. diff --git a/docs/ru/SUMMARY.md b/docs/ru/SUMMARY.md new file mode 100644 index 00000000000..ec1e00b8b9a --- /dev/null +++ b/docs/ru/SUMMARY.md @@ -0,0 +1,122 @@ +# Sidebar + +- [Overview](qgc-user-guide/index.md) + - [Quick Start](qgc-user-guide/getting_started/quick_start.md) + - [Download and Install](qgc-user-guide/getting_started/download_and_install.md) + - [Toolbar/Menu](qgc-user-guide/toolbar/toolbar.md) + - [Support](qgc-user-guide/support/support.md) + +- [Fly](qgc-user-guide/fly_view/fly_view.md) + - [Replay Flight Data](qgc-user-guide/fly_view/replay_flight_data.md) + - [Video Overlay](qgc-user-guide/fly_view/video_overlay.md) + +- [Plan](qgc-user-guide/plan_view/plan_view.md) + - [GeoFence](qgc-user-guide/plan_view/plan_geofence.md) + - [Rally Points](qgc-user-guide/plan_view/plan_rally_points.md) + - [Pattern](qgc-user-guide/plan_view/pattern.md) + - [Survey](qgc-user-guide/plan_view/pattern_survey.md) + - [Structure Scan](qgc-user-guide/plan_view/pattern_structure_scan_v2.md) + - [Corridor Scan](qgc-user-guide/plan_view/pattern_corridor_scan.md) + - [Fixed Wing Landing Pattern](qgc-user-guide/plan_view/pattern_fixed_wing_landing.md) + - [Pattern Presets](qgc-user-guide/plan_view/pattern_presets.md) + +- [Vehicle Setup](qgc-user-guide/setup_view/setup_view.md) + - [Firmware](qgc-user-guide/setup_view/firmware.md) + - [Airframe](qgc-user-guide/setup_view/airframe.md) + - [Airframe (ArduPilot)](qgc-user-guide/setup_view/airframe_ardupilot.md) + - [Airframe (PX4)](qgc-user-guide/setup_view/airframe_px4.md) + - [Radio](qgc-user-guide/setup_view/radio.md) + - [Sensors](qgc-user-guide/setup_view/sensors.md) + - [Sensors (ArduPilot)](qgc-user-guide/setup_view/sensors_ardupilot.md) + - [Sensors (PX4)](qgc-user-guide/setup_view/sensors_px4.md) + - [Flight Modes](qgc-user-guide/setup_view/flight_modes.md) + - [ArduPilot Flight Modes Setup](qgc-user-guide/setup_view/flight_modes_ardupilot.md) + - [PX4 Flight Modes Setup](qgc-user-guide/setup_view/flight_modes_px4.md) + - [Power](qgc-user-guide/setup_view/power.md) + - [Motors](qgc-user-guide/setup_view/motors.md) + - [Motors (ArduSub)](qgc-user-guide/setup_view/motors_ardusub.md) + - [Safety](qgc-user-guide/setup_view/safety.md) + - [Safety (ArduPilot)](qgc-user-guide/setup_view/safety_ardupilot.md) + - [Tuning](qgc-user-guide/setup_view/tuning.md) + - [Tuning (ArduPilot)](qgc-user-guide/setup_view/tuning_ardupilot.md) + - [ArduCopter Tuning](qgc-user-guide/setup_view/tuning_arducopter.md) + - [ArduSub Tuning](qgc-user-guide/setup_view/tuning_ardusub.md) + - [Tuning (PX4)](qgc-user-guide/setup_view/tuning_px4.md) + - [Camera](qgc-user-guide/setup_view/camera.md) + - [Joystick](qgc-user-guide/setup_view/joystick.md) + - [Parameters](qgc-user-guide/setup_view/parameters.md) + +- [Application Settings](qgc-user-guide/settings_view/settings_view.md) + - [General](qgc-user-guide/settings_view/general.md) + - [CSV Logging](qgc-user-guide/settings_view/csv.md) + - [Offline Maps](qgc-user-guide/settings_view/offline_maps.md) + - [MAVLink](qgc-user-guide/settings_view/mavlink.md) + - [Console Logging](qgc-user-guide/settings_view/console_logging.md) + - [Virtual Joystick (PX4)](qgc-user-guide/settings_view/virtual_joystick.md) + +- [Analyze](qgc-user-guide/analyze_view/index.md) + - [Log Download](qgc-user-guide/analyze_view/log_download.md) + - [GeoTag Images (PX4)](qgc-user-guide/analyze_view/geotag_images.md) + - [MAVLink Console (PX4)](qgc-user-guide/analyze_view/mavlink_console.md) + - [MAVLink Inspector](qgc-user-guide/analyze_view/mavlink_inspector.md) + +- [Releases](qgc-user-guide/releases/index.md) + - [Release Notes](qgc-user-guide/releases/release_notes.md) + - [v4.0 (Additional Notes)](qgc-user-guide/releases/stable_v4.0_additional.md) + - [v3.3 (Detailed)](qgc-user-guide/releases/stable_v3.3_long.md) + - [v3.2 (Detailed)](qgc-user-guide/releases/stable_v3.2_long.md) + - [Daily Builds](qgc-user-guide/releases/daily_builds.md) + - [Daily Build New Features](qgc-user-guide/releases/daily_build_new_features.md) + - [Privacy Policy](qgc-user-guide/releases/privacy_policy.md) + +- [Troubleshooting](qgc-user-guide/troubleshooting/index.md) + + - [Setup Problems](qgc-user-guide/troubleshooting/qgc_setup.md) + - [Usage Problems](qgc-user-guide/troubleshooting/qgc_usage.md) + - [Connection problems](qgc-user-guide/troubleshooting/vehicle_connection.md) + - [Parameter Download failures](qgc-user-guide/troubleshooting/parameter_download.md) + - [Plan Upload/Download failures](qgc-user-guide/troubleshooting/plan_upload_download.md) + - [Resume Mission failures](qgc-user-guide/troubleshooting/resume_mission.md) + +- [Developer's Guide](qgc-dev-guide/index.md) + - [Getting Started with source & builds](qgc-dev-guide/getting_started/index.md) + - [Build using Containers](qgc-dev-guide/getting_started/container.md) + - [Using QGC on CentOS](qgc-dev-guide/getting_started/cent_os.md) + - [QGC Release/Branching Process](qgc-dev-guide/release_branching_process.md) + - [Communication Flow](qgc-dev-guide/communication_flow.md) + - [Plugin Architecture](qgc-dev-guide/firmware_plugin.md) + - [Class Hierarchy](qgc-dev-guide/classes/index.md) + - [User Interface Design](qgc-dev-guide/user_interface_design/index.md) + - [Multi-Device Design Pattern](qgc-dev-guide/user_interface_design/multi_device_pattern.md) + - [Font and Colour Palette](qgc-dev-guide/user_interface_design/font_palette.md) + - [UI Controls](qgc-dev-guide/user_interface_design/controls.md) + - [Fact System](qgc-dev-guide/fact_system.md) + - [Top Level Views](qgc-dev-guide/views/index.md) + - [Settings View](qgc-dev-guide/views/settings.md) + - [Setup View](qgc-dev-guide/views/setup.md) + - [Plan View](qgc-dev-guide/views/plan.md) + - [Dynamic UI for mission item editing](qgc-dev-guide/plan/mission_command_tree.md) + - [Fly View](qgc-dev-guide/views/fly.md) + - [File Formats](qgc-dev-guide/file_formats/index.md) + - [Parameters](qgc-dev-guide/file_formats/parameters.md) + - [Plan](qgc-dev-guide/file_formats/plan.md) + - [MAVLink Logs](qgc-dev-guide/file_formats/mavlink.md) + - [Developer Tools](qgc-dev-guide/tools/index.md) + - [Mock Link](qgc-dev-guide/tools/mock_link.md) + - [Command Line Options](qgc-dev-guide/command_line_options.md) + - [Custom Builds](qgc-dev-guide/custom_build/custom_build.md) + - [Initial Repository Setup For Custom Build](qgc-dev-guide/custom_build/create_repos.md) + - [Custom Build Plugins](qgc-dev-guide/custom_build/plugins.md) + - [Resources Overrides](qgc-dev-guide/custom_build/resource_override.md) + - [Customization](qgc-dev-guide/custom_build/customization.md) + - [First Run Prompts](qgc-dev-guide/custom_build/first_run_prompts.md) + - [Toolbar customization](qgc-dev-guide/custom_build/toolbar.md) + - [Fly View Customization](qgc-dev-guide/custom_build/fly_view.md) + - [Release/Branching Process For Custom Builds](qgc-dev-guide/custom_build/release_branching_process.md) + - [MAVLink](qgc-dev-guide/custom_build/mavlink.md) + - [Code Submission](qgc-dev-guide/contribute/index.md) + - [Developer Call](qgc-dev-guide/contribute/dev_call.md) + - [Coding Style](qgc-dev-guide/contribute/coding_style.md) + - [Unit Tests](qgc-dev-guide/contribute/unit_tests.md) + - [Pull Requests](qgc-dev-guide/contribute/pull_requests.md) + - [Licenses](qgc-dev-guide/contribute/licences.md) diff --git a/docs/ru/docs/en/SUMMARY.md b/docs/ru/docs/en/SUMMARY.md new file mode 100644 index 00000000000..ec1e00b8b9a --- /dev/null +++ b/docs/ru/docs/en/SUMMARY.md @@ -0,0 +1,122 @@ +# Sidebar + +- [Overview](qgc-user-guide/index.md) + - [Quick Start](qgc-user-guide/getting_started/quick_start.md) + - [Download and Install](qgc-user-guide/getting_started/download_and_install.md) + - [Toolbar/Menu](qgc-user-guide/toolbar/toolbar.md) + - [Support](qgc-user-guide/support/support.md) + +- [Fly](qgc-user-guide/fly_view/fly_view.md) + - [Replay Flight Data](qgc-user-guide/fly_view/replay_flight_data.md) + - [Video Overlay](qgc-user-guide/fly_view/video_overlay.md) + +- [Plan](qgc-user-guide/plan_view/plan_view.md) + - [GeoFence](qgc-user-guide/plan_view/plan_geofence.md) + - [Rally Points](qgc-user-guide/plan_view/plan_rally_points.md) + - [Pattern](qgc-user-guide/plan_view/pattern.md) + - [Survey](qgc-user-guide/plan_view/pattern_survey.md) + - [Structure Scan](qgc-user-guide/plan_view/pattern_structure_scan_v2.md) + - [Corridor Scan](qgc-user-guide/plan_view/pattern_corridor_scan.md) + - [Fixed Wing Landing Pattern](qgc-user-guide/plan_view/pattern_fixed_wing_landing.md) + - [Pattern Presets](qgc-user-guide/plan_view/pattern_presets.md) + +- [Vehicle Setup](qgc-user-guide/setup_view/setup_view.md) + - [Firmware](qgc-user-guide/setup_view/firmware.md) + - [Airframe](qgc-user-guide/setup_view/airframe.md) + - [Airframe (ArduPilot)](qgc-user-guide/setup_view/airframe_ardupilot.md) + - [Airframe (PX4)](qgc-user-guide/setup_view/airframe_px4.md) + - [Radio](qgc-user-guide/setup_view/radio.md) + - [Sensors](qgc-user-guide/setup_view/sensors.md) + - [Sensors (ArduPilot)](qgc-user-guide/setup_view/sensors_ardupilot.md) + - [Sensors (PX4)](qgc-user-guide/setup_view/sensors_px4.md) + - [Flight Modes](qgc-user-guide/setup_view/flight_modes.md) + - [ArduPilot Flight Modes Setup](qgc-user-guide/setup_view/flight_modes_ardupilot.md) + - [PX4 Flight Modes Setup](qgc-user-guide/setup_view/flight_modes_px4.md) + - [Power](qgc-user-guide/setup_view/power.md) + - [Motors](qgc-user-guide/setup_view/motors.md) + - [Motors (ArduSub)](qgc-user-guide/setup_view/motors_ardusub.md) + - [Safety](qgc-user-guide/setup_view/safety.md) + - [Safety (ArduPilot)](qgc-user-guide/setup_view/safety_ardupilot.md) + - [Tuning](qgc-user-guide/setup_view/tuning.md) + - [Tuning (ArduPilot)](qgc-user-guide/setup_view/tuning_ardupilot.md) + - [ArduCopter Tuning](qgc-user-guide/setup_view/tuning_arducopter.md) + - [ArduSub Tuning](qgc-user-guide/setup_view/tuning_ardusub.md) + - [Tuning (PX4)](qgc-user-guide/setup_view/tuning_px4.md) + - [Camera](qgc-user-guide/setup_view/camera.md) + - [Joystick](qgc-user-guide/setup_view/joystick.md) + - [Parameters](qgc-user-guide/setup_view/parameters.md) + +- [Application Settings](qgc-user-guide/settings_view/settings_view.md) + - [General](qgc-user-guide/settings_view/general.md) + - [CSV Logging](qgc-user-guide/settings_view/csv.md) + - [Offline Maps](qgc-user-guide/settings_view/offline_maps.md) + - [MAVLink](qgc-user-guide/settings_view/mavlink.md) + - [Console Logging](qgc-user-guide/settings_view/console_logging.md) + - [Virtual Joystick (PX4)](qgc-user-guide/settings_view/virtual_joystick.md) + +- [Analyze](qgc-user-guide/analyze_view/index.md) + - [Log Download](qgc-user-guide/analyze_view/log_download.md) + - [GeoTag Images (PX4)](qgc-user-guide/analyze_view/geotag_images.md) + - [MAVLink Console (PX4)](qgc-user-guide/analyze_view/mavlink_console.md) + - [MAVLink Inspector](qgc-user-guide/analyze_view/mavlink_inspector.md) + +- [Releases](qgc-user-guide/releases/index.md) + - [Release Notes](qgc-user-guide/releases/release_notes.md) + - [v4.0 (Additional Notes)](qgc-user-guide/releases/stable_v4.0_additional.md) + - [v3.3 (Detailed)](qgc-user-guide/releases/stable_v3.3_long.md) + - [v3.2 (Detailed)](qgc-user-guide/releases/stable_v3.2_long.md) + - [Daily Builds](qgc-user-guide/releases/daily_builds.md) + - [Daily Build New Features](qgc-user-guide/releases/daily_build_new_features.md) + - [Privacy Policy](qgc-user-guide/releases/privacy_policy.md) + +- [Troubleshooting](qgc-user-guide/troubleshooting/index.md) + + - [Setup Problems](qgc-user-guide/troubleshooting/qgc_setup.md) + - [Usage Problems](qgc-user-guide/troubleshooting/qgc_usage.md) + - [Connection problems](qgc-user-guide/troubleshooting/vehicle_connection.md) + - [Parameter Download failures](qgc-user-guide/troubleshooting/parameter_download.md) + - [Plan Upload/Download failures](qgc-user-guide/troubleshooting/plan_upload_download.md) + - [Resume Mission failures](qgc-user-guide/troubleshooting/resume_mission.md) + +- [Developer's Guide](qgc-dev-guide/index.md) + - [Getting Started with source & builds](qgc-dev-guide/getting_started/index.md) + - [Build using Containers](qgc-dev-guide/getting_started/container.md) + - [Using QGC on CentOS](qgc-dev-guide/getting_started/cent_os.md) + - [QGC Release/Branching Process](qgc-dev-guide/release_branching_process.md) + - [Communication Flow](qgc-dev-guide/communication_flow.md) + - [Plugin Architecture](qgc-dev-guide/firmware_plugin.md) + - [Class Hierarchy](qgc-dev-guide/classes/index.md) + - [User Interface Design](qgc-dev-guide/user_interface_design/index.md) + - [Multi-Device Design Pattern](qgc-dev-guide/user_interface_design/multi_device_pattern.md) + - [Font and Colour Palette](qgc-dev-guide/user_interface_design/font_palette.md) + - [UI Controls](qgc-dev-guide/user_interface_design/controls.md) + - [Fact System](qgc-dev-guide/fact_system.md) + - [Top Level Views](qgc-dev-guide/views/index.md) + - [Settings View](qgc-dev-guide/views/settings.md) + - [Setup View](qgc-dev-guide/views/setup.md) + - [Plan View](qgc-dev-guide/views/plan.md) + - [Dynamic UI for mission item editing](qgc-dev-guide/plan/mission_command_tree.md) + - [Fly View](qgc-dev-guide/views/fly.md) + - [File Formats](qgc-dev-guide/file_formats/index.md) + - [Parameters](qgc-dev-guide/file_formats/parameters.md) + - [Plan](qgc-dev-guide/file_formats/plan.md) + - [MAVLink Logs](qgc-dev-guide/file_formats/mavlink.md) + - [Developer Tools](qgc-dev-guide/tools/index.md) + - [Mock Link](qgc-dev-guide/tools/mock_link.md) + - [Command Line Options](qgc-dev-guide/command_line_options.md) + - [Custom Builds](qgc-dev-guide/custom_build/custom_build.md) + - [Initial Repository Setup For Custom Build](qgc-dev-guide/custom_build/create_repos.md) + - [Custom Build Plugins](qgc-dev-guide/custom_build/plugins.md) + - [Resources Overrides](qgc-dev-guide/custom_build/resource_override.md) + - [Customization](qgc-dev-guide/custom_build/customization.md) + - [First Run Prompts](qgc-dev-guide/custom_build/first_run_prompts.md) + - [Toolbar customization](qgc-dev-guide/custom_build/toolbar.md) + - [Fly View Customization](qgc-dev-guide/custom_build/fly_view.md) + - [Release/Branching Process For Custom Builds](qgc-dev-guide/custom_build/release_branching_process.md) + - [MAVLink](qgc-dev-guide/custom_build/mavlink.md) + - [Code Submission](qgc-dev-guide/contribute/index.md) + - [Developer Call](qgc-dev-guide/contribute/dev_call.md) + - [Coding Style](qgc-dev-guide/contribute/coding_style.md) + - [Unit Tests](qgc-dev-guide/contribute/unit_tests.md) + - [Pull Requests](qgc-dev-guide/contribute/pull_requests.md) + - [Licenses](qgc-dev-guide/contribute/licences.md) diff --git a/docs/ru/docs/en/index.md b/docs/ru/docs/en/index.md new file mode 100644 index 00000000000..f5ea85cbc0e --- /dev/null +++ b/docs/ru/docs/en/index.md @@ -0,0 +1,27 @@ +--- +layout: home +hero: + name: QGroundControl Guide + tagline: For beginners, experienced users, and developers + actions: + - theme: brand + text: User Guide + link: /en/qgc-user-guide/index.md + - theme: brand + - theme: brand + text: Dev Guide + link: /en/qgc-dev-guide/index.md +features: + - title: Multiple flight stacks + details: Full setup/configuration of ArduPilot and PX4 Pro powered vehicles + - title: Mission planning + details: Autonomous flight with path planning, surveys, safe landing + - title: Flight map + details: Map shows vehicle position, flight track, waypoints and vehicle instruments + - title: Video overlay + details: FPV video streaming and instrument overlays. + - title: Multiple vehicles + details: Manage multiple vehicles and different types of vehicles + - title: Broad OS support + details: Windows, OS X, Linux platforms, iOS and Android devices +--- diff --git a/docs/ru/docs/en/qgc-dev-guide/classes/index.md b/docs/ru/docs/en/qgc-dev-guide/classes/index.md new file mode 100644 index 00000000000..4a60cb304c8 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/classes/index.md @@ -0,0 +1,27 @@ +# Class Hierarchy (high level) + +## LinkManager, LinkInterface + +A "Link" in QGC is a specific type of communication pipe with the vehicle such as a serial port or UDP over WiFi. The base class for all links is LinkInterface. Each link runs on it's own thread and sends bytes to MAVLinkProtocol. + +The `LinkManager` object keeps track of all open links in the system. `LinkManager` also manages automatic connections through serial and UDP links. + +## MAVLinkProtocol + +There is a single `MAVLinkProtocol` object in the system. It's job is to take incoming bytes from a link and translate them into MAVLink messages. MAVLink HEARTBEAT messages are routed to `MultiVehicleManager`. All MAVLink messages are routed to Vehicle's which are associated with the link. + +## MultiVehicleManager + +There is a single `MultiVehicleManager` object within the system. When it receives a HEARTBEAT on a link which has not been previously seen it creates a Vehicle object. `MultiVehicleManager` also keeps tracks of all Vehicles in the system and handles switching from one active vehicle to another and correctly handling a vehicle being removed. + +## Vehicle + +The Vehicle object is the main interface through which the QGC code communicates with the physical vehicle. + +Note: There is also a UAS object associated with each Vehicle which is a deprecated class and is slowly being phased out with all functionality moving to the Vehicle class. No new code should be added here. + +## FirmwarePlugin, FirmwarePluginManager + +The FirmwarePlugin class is the base class for firmware plugins. A firmware plugin contains the firmware specific code, such that the Vehicle object is clean with respect to it supporting a single standard interface to the UI. + +FirmwarePluginManager is a factory class which creates a FirmwarePlugin instance based on the MAV\_AUTOPILOT/MAV\_TYPE combination for the Vehicle. diff --git a/docs/ru/docs/en/qgc-dev-guide/command_line_options.md b/docs/ru/docs/en/qgc-dev-guide/command_line_options.md new file mode 100644 index 00000000000..a66cd53ef4d --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/command_line_options.md @@ -0,0 +1,46 @@ +# Command Line Options + +You can start _QGroundControl_ with command line options. These are used to enable logging, run unit tests, and simulate different host environments for testing. + +## Starting QGroundControl with Options + +You will need to open a command prompt or terminal, change directory to where **qgroundcontrol.exe** is stored, and then run it. This is shown below for each platform (using the `--logging:full` option): + +Windows Command Prompt: + +```bash +cd "\Program Files (x86)\qgroundcontrol" +qgroundcontrol --logging:full +``` + +OSX Terminal app (**Applications/Utilities**): + +```bash +cd /Applications/qgroundcontrol.app/Contents/MacOS/ +./qgroundcontrol --logging:full +``` + +Linux Terminal: + +```bash +./qgroundcontrol-start.sh --logging:full +``` + +## Options + +The options/command line arguments are listed in the table below. + +| Option | Description | +| --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| `--clear-settings` | Clears the app settings (reverts _QGroundControl_ back to default settings). | +| `--logging:full` | Turns on full logging. See [Console Logging](https://docs.qgroundcontrol.com/en/settings_view/console_logging.html#logging-from-the-command-line). | +| `--logging:full,LinkManagerVerboseLog,ParameterLoaderLog` | Turns on full logging and turns off the following listed comma-separated logging options. | +| `--logging:LinkManagerLog,ParameterLoaderLog` | Turns on the specified comma separated logging options | +| `--unittest:name` | (Debug builds only) Runs the specified unit test. Leave off `:name` to run all tests. | +| `--unittest-stress:name` | (Debug builds only) Runs the specified unit test 20 times in a row. Leave off :name to run all tests. | +| `--fake-mobile` | Simulates running on a mobile device. | +| `--test-high-dpi` | Simulates running _QGroundControl_ on a high DPI device. | + +Notes: + +- Unit tests are included in debug builds automatically (as part of _QGroundControl_). _QGroundControl_ runs under the control of the unit test (it does not start normally). diff --git a/docs/ru/docs/en/qgc-dev-guide/communication_flow.md b/docs/ru/docs/en/qgc-dev-guide/communication_flow.md new file mode 100644 index 00000000000..17e838f8250 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/communication_flow.md @@ -0,0 +1,15 @@ +# Communication Flow + +Description of the high level communication flow which takes place during a vehicle auto-connect. + +- LinkManager always has a UDP port open waiting for a vehicle heartbeat +- LinkManager detects a new known device type (Pixhawk, SiK Radio, PX4 Flow) that makes a UDP connection to the computer + - LinkManager creates a new SerialLink between the computer and the device +- Incoming bytes from the Link are sent to MAVLinkProtocol +- MAVLinkProtocol converts the bytes into a MAVLink message +- If the message is a `HEARTBEAT` the MultiVehicleManager is notified +- MultiVehicleManager is notified of the `HEARTBEAT` and creates a new vehicle object based on the information in the `HEARTBEAT` message +- The vehicle object instantiates the plugins that matches the vehicle +- The ParameterLoader associated with the vehicle object sends a `PARAM_REQUEST_LIST` to the connected device to load parameters using the parameter protocol +- Once the parameter load is complete, the MissionManager associated with the vehicle object requests the mission items from the connected device using the mission protocol +- Once parameter load is complete, the VehicleComponents display their UI in the Setup view diff --git a/docs/ru/docs/en/qgc-dev-guide/contribute/coding_style.md b/docs/ru/docs/en/qgc-dev-guide/contribute/coding_style.md new file mode 100644 index 00000000000..3d4d62420c1 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/contribute/coding_style.md @@ -0,0 +1,12 @@ +# Coding Style + +High level style information: + +- Tabs expanded to 4 spaces +- Pascal/CamelCase naming conventions + +The style itself is documents in the following example files: + +- [CodingStyle.cc](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.cc) +- [CodingStyle.h](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.h) +- [CodingStyle.qml](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.qml) diff --git a/docs/ru/docs/en/qgc-dev-guide/contribute/dev_call.md b/docs/ru/docs/en/qgc-dev-guide/contribute/dev_call.md new file mode 100644 index 00000000000..6464fc34d78 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/contribute/dev_call.md @@ -0,0 +1,38 @@ +# Bi-Weekly Dev Call + +The QGroundControl developer team syncs up on technical details and in-depth analysis. There is also a space in the agenda to discuss pull requests, major impacting issues and Q\&A. + +## Who Should attend: + +- Community members +- Core project maintiners +- Component maintainers +- Dronecode members + +:::info +The calls are open for anyone interested to attend, it's a great opportunity to meet the team and contribute to the ongoing development of the project. +::: + +## What gets discussed? + +The main agenda for the call is very simple, and usually remains the same with a few exceptions which are made aware to the community in advance. The calls typically last up to 60 minutes. + +The developer team goes through the issue tracker, including the current queue of Pull Requests, + +## Agenda + +While the agenda below is the norm, we might + +- Community Q\&A (Open mic, you can bring your own topics, we can discuss your PRs/Issues/Questions) +- Update on the project [High Priority Issues](https://github.com/mavlink/qgroundcontrol/projects/2) tracker +- Developer team coordination + +:::info +If you want to guarantee your Pull Request get's discussed on the next developer call, make sure you add the "dev-call" label on GitHub. We expect the author and the assigned reviewer to be on the call. +::: + +## Schedule + +- Time: Bi-Weekly on Tuesdays at 17h00 CET, 12h00 EST, 08h00 PST ([subscribe to the calendar](https://www.dronecode.org/calendar/)) +- The call is hosted on Jitsi the open platform ([QGC Bi-Weekly](https://meet.jit.si/GCS-bi-weekly)) +- the Agenda is published on the [PX4 Discuss - weekly-dev-call](https://discuss.px4.io/c/weekly-dev-call/qgc-developer-call/48) diff --git a/docs/ru/docs/en/qgc-dev-guide/contribute/index.md b/docs/ru/docs/en/qgc-dev-guide/contribute/index.md new file mode 100644 index 00000000000..0fd55b4e573 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/contribute/index.md @@ -0,0 +1,7 @@ +# Code Submission + +This section contains topics about the contributing code, including coding style, testing and the format of pull requests. + +:::info +QGroundControl (QGC) is [dual-licensed as Apache 2.0 and GPLv3](../contribute/licences.md). All contributions have to be made under both licenses. +::: diff --git a/docs/ru/docs/en/qgc-dev-guide/contribute/licences.md b/docs/ru/docs/en/qgc-dev-guide/contribute/licences.md new file mode 100644 index 00000000000..20c157a0d2f --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/contribute/licences.md @@ -0,0 +1,30 @@ +# Licences + +## QGroundControl License + +_QGroundControl_ (QGC) is dual-licensed as Apache 2.0 and GPLv3. All contributions have to be made under both licenses. Users of the codebase are free to use it under either license. + +:::warning +_QGroundControl_ licensing rules out the re-use of any copyleft (e.g. GPL) licensed code. All contributions must be original or from a compatible license (BSD 2/3 clause, MIT, Apache 2.0). +::: + +The dual approach is necessary to be able to offer _QGroundControl_ through the iOS and Android app stores and offers the open source community choice. + +### Apache 2.0 License + +The [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) License is a permissive license which allows QGC to be built and used in any environment, including proprietary applications. It allows QGC to be built for mobile app stores. When building with Apache 2.0 a commercial Qt license is required. + +### GPL v3 License + +The [GPL v3 License](http://www.gnu.org/licenses/gpl-3.0.en.html) is a strong copyleft license. When building QGC under this license the open source version of Qt can be used. Our licensing grants the permission to use a later version of the license, however, contributions have to be made under 3.0. + +## Documentation, Artwork, Images + +The QGroundControl documentation, artwork and images are licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). + +## See Also + +- [qgroundcontrol/COPYING.md](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md) +- [qgroundcontrol/CONTRIBUTING.md](https://github.com/mavlink/qgroundcontrol/blob/master/CONTRIBUTING.md) +- [qgc-user-guide/LICENSE](https://github.com/mavlink/qgc-user-guide/blob/master/LICENSE) +- [qgc-dev-guide/LICENSE](https://github.com/mavlink/qgc-dev-guide/blob/master/LICENSE) diff --git a/docs/ru/docs/en/qgc-dev-guide/contribute/pull_requests.md b/docs/ru/docs/en/qgc-dev-guide/contribute/pull_requests.md new file mode 100644 index 00000000000..fe120dcf7dc --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/contribute/pull_requests.md @@ -0,0 +1,3 @@ +# Pull Requests + +All pull requests go through the QGC CI build system which builds release and debug version. Builds will fail if there are compiler warnings. Also unit tests are run against supported OS debug builds. diff --git a/docs/ru/docs/en/qgc-dev-guide/contribute/unit_tests.md b/docs/ru/docs/en/qgc-dev-guide/contribute/unit_tests.md new file mode 100644 index 00000000000..e8c14fe7b4b --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/contribute/unit_tests.md @@ -0,0 +1,20 @@ +# Unit Tests + +_QGroundControl_ (QGC) contains a set of unit tests that must pass before a pull request will be accepted. The addition of new complex subsystems to QGC should include a corresponding new unit test to test it. + +The full list of unit tests can be found in [UnitTestList.cc](https://github.com/mavlink/qgroundcontrol/blob/master/src/qgcunittest/UnitTestList.cc). + +To run unit tests: + +1. Build in `debug` mode with `UNITTEST_BUILD` definition. +2. Copy the **deploy/qgroundcontrol-start.sh** script in the **debug** directory +3. Run _all_ unit tests from the command line using the `--unittest` command line option. + For Linux this is done as shown: + ``` + qgroundcontrol-start.sh --unittest + ``` +4. Run _individual_ unit tests by specifying the test name as well: `--unittest:RadioConfigTest`. + For Linux this is done as shown: + ``` + qgroundcontrol-start.sh --unittest:RadioConfigTest + ``` diff --git a/docs/ru/docs/en/qgc-dev-guide/custom_build/create_repos.md b/docs/ru/docs/en/qgc-dev-guide/custom_build/create_repos.md new file mode 100644 index 00000000000..c4bce8ee142 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/custom_build/create_repos.md @@ -0,0 +1,15 @@ +# Initial Repository Setup For Custom Build + +The suggested mechanism for working on QGC and a custom build version of QGC is to have two separate repositories. The first repo is your main QGC fork. The second repo is your custom build repo. + +## Main QGC Respository + +This repo is used to work on changes to mainline QGC. When creating your own custom build it is not uncommon to discover that you may need a tweak/addition to the custom build to achieve what you want. By discussing those needed changes firsthand with QGC devs and submitting pulls to make the custom build architecture better you make QGC more powerful for everyone and give back to the community. + +The best way to create this repo is to fork the regular QGC repo to your own GitHub account. + +## Custom Build Repository + +This is where you will do your main custom build development. All changes here should be within the custom directory as opposed to bleeding out into the regular QGC codebase. + +Since you can only fork a repo once, the way to create this repo is to "Create a new repository" in your GitHub account. Do not add any additional files to it like gitignore, readme's and so forth. Once it is created you will be given the option to setup up the Repo. Now you can select to "import code from another repository". Just import the regular QGC repo using the "Import Code" button. diff --git a/docs/ru/docs/en/qgc-dev-guide/custom_build/custom_build.md b/docs/ru/docs/en/qgc-dev-guide/custom_build/custom_build.md new file mode 100644 index 00000000000..ff37e9b1c14 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/custom_build/custom_build.md @@ -0,0 +1,26 @@ +# Custom Builds + +A custom build allows third parties to create their own version of QGC in a way that allows them to easily keep up to date with changes which are being made in regular QGC. QGC has an architecture built into it which allows custom builds to modify and add to the feature set of regular QGC. + +Some possibilities with a custom build + +- Fully brand your build +- Define a single flight stack to avoid carrying over unnecessary code +- Implement your own, autopilot and firmware plugin overrides +- Implement your own camera manager and plugin overrides +- Implement your own QtQuick interface module +- Implement your own toolbar, toolbar indicators and UI navigation +- Implement your own Fly View overlay (and how to hide elements from QGC such as the flight widget) +- Implement your own, custom QtQuick camera control +- Implement your own, custom Pre-flight Checklist +- Define your own resources for all of the above + +One of the downsides of QGC providing both generic support for any vehicle which supports mavlink as well as providing firmware specific support for both PX4 Pro and ArduPilot is complexity of the user interface. Since QGC doesn't know any information about your vehicle ahead of time it requires UI bits which can get in the way if the vehicle you fly only uses PX4 Pro firmware and is a multi-rotor vehicle. If that is a known thing then the UI can be simplified in various places. Also QGC targets both DIY users who are building their own vehicles from scratch as well as commercial users of off the shelf vehicles. Setting up a DIY drone from scratch requires all sort of functionality which is not needed for users of off the shelf vehicles. So for off the shelf vehicle users all the DIY specific stuff is just extra noise they need to look past. Creating a custom build allows you to specify exact details for your vehicle and hide things which are irrelevant thus creating an even simple user experience for your users than regular generic QGC. + +There is a plugin architecture in QGC which allows for this custom build creation. They can be found in QGCCorePlugin.h, FirmwarePlugin.h and AutoPilotPlugin.h associated classes. To create a custom build you create subclasses of the standard plugins overriding the set of methods which are appropriate for you usage. + +There is also a mechanism which allows you to override resources so you can change the smaller visual elements in QGC. + +Also internal to QGC is the concept of an "Advanced Mode". Whereas a standard QGC builds always runs in advanced mode. A custom build always starts out in regular/not advanced mode. There is an easier mechanism in the build to turn on advanced mode which is to click the fly view button 5 times in a row fairly quickly. If you do this in a custom build you will be warned about entering advanced mode. The concept here is to hide things which normal users should not have access to behind advanced mode. For example a commercial vehicle will not need access to most setup pages which are oriented to DIY setup. So a custom build can hide this. The custom example code shows how to do this. + +If you want to understand the possibilities, the first step is to read through those files which document what is possible. Next look through the [`custom-example`](https://github.com/mavlink/qgroundcontrol/tree/master/custom-example) source code including the [README](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/README.md). diff --git a/docs/ru/docs/en/qgc-dev-guide/custom_build/customization.md b/docs/ru/docs/en/qgc-dev-guide/custom_build/customization.md new file mode 100644 index 00000000000..b97b5c63371 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/custom_build/customization.md @@ -0,0 +1,7 @@ +# Customization + +The following topics explain how to customise various views and other parts of the UI. + +- [First Run Prompts](../custom_build/first_run_prompts.md) +- [Toolbar customization](../custom_build/toolbar.md) +- [Fly View Customization](../custom_build/fly_view.md) diff --git a/docs/ru/docs/en/qgc-dev-guide/custom_build/first_run_prompts.md b/docs/ru/docs/en/qgc-dev-guide/custom_build/first_run_prompts.md new file mode 100644 index 00000000000..77d779da1b6 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/custom_build/first_run_prompts.md @@ -0,0 +1,54 @@ +# First Run Prompts + +When QGC is started for the first time it prompts the user to specify some initial settings. At the time of writing this documentation those are: + +- Unit Settings - What units does the user want to use for display. +- Offline Vehicle Settings - Vehicle information for creating Plans while not connected to a vehicle. + +The custom build architecure includes mechanisms for a custom build to both override the display of these prompts and/or create your own first run prompts. + +## First Run Prompt Dialog + +Each first run prompt is a simple dialog which can display ui to the user. Whether the specific dialog has already been show to the user or not is stored in a setting. Here is the code for the upstream first run prompt dialogs: + +- [Units Settings](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirstRunPromptDialogs/UnitsFirstRunPrompt.qml) +- [Offline Vehicle Settings](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirstRunPromptDialogs/OfflineVehicleFirstRunPrompt.qml) + +## Standard First Run Prompt Dialogs + +Each dialog has a unique ID associated with it. When that dialog is shown to the user that ID is registered as having already been displayed so it only happens once (unless you clear settings). The set of first run prompt which are included with upstream QGC are considered the "Standard" set. QGC gets the list of standard prompts to display from the `QGCCorePlugin::firstRunPromptStdIds` call. + +``` + /// Returns the standard list of first run prompt ids for possible display. Actual display is based on the + /// current AppSettings::firstRunPromptIds value. The order of this list also determines the order the prompts + /// will be displayed in. + virtual QList firstRunPromptStdIds(void); +``` + +You can override this method in your custom build if you want to hide some of those. + +## Custom First Run Prompt Dialogs + +Custom builds have the ability to create their own set of additional first run prompts as needed through the use of the following QGCCorePlugin method overrides: + +``` + /// Returns the custom build list of first run prompt ids for possible display. Actual display is based on the + /// current AppSettings::firstRunPromptIds value. The order of this list also determines the order the prompts + /// will be displayed in. + virtual QList firstRunPromptCustomIds(void); +``` + +``` + /// Returns the resource which contains the specified first run prompt for display + Q_INVOKABLE virtual QString firstRunPromptResource(int id); +``` + +Your QGCCorePlugin should override these two methods as well as provide static consts for the ids of your new first run prompts. Look at how the standard set is implemented for how to do this and take the same approach. + +## Order Of Display + +The set of first run prompts shown to the user are in the order returned by the `QGCCorePlugin::firstRunPromptStdIds` and `QGCCorePlugin::firstRunPromptCustomIds` with standard prompts shown before the custom prompts. Only the prompts which have not been previously shown to the user are shown. + +## Always On Prompts + +By setting the `markAsShownOnClose: false` property in your prompt ui implementation you can create a prompt which will show up each time QGC starts. This can be used for things like showing usage tips to your users. If you do this it is best to make sure that this is displayed last. diff --git a/docs/ru/docs/en/qgc-dev-guide/custom_build/fly_view.md b/docs/ru/docs/en/qgc-dev-guide/custom_build/fly_view.md new file mode 100644 index 00000000000..e6b3342817f --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/custom_build/fly_view.md @@ -0,0 +1,42 @@ +# Fly View Customization + +The Fly View is designed in such a way that it can be cusomtized in multiple ways from simple to more complex. It is designed in three separate layers each of which are customizable providing different levels of change. + +## Layers + +- There are three layers to the fly view from top to bottom visually: + - [`FlyView.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyView.qml) This is the base layer of ui and business logic to control map and video switching. + - [`FlyViewWidgetsOverlay.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyViewWidgetLayer.qml) This layer includes all the remaining widgets for the fly view. + - [`FlyViewCustomLayer.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyViewCustomLayer.qml) This is a layer you override using resource override to add your own custom layer. + +### Inset Negotiation using `QGCToolInsets` + +An important aspect of the Fly View is that it needs to understand how much central space it has in the middle of it's map window which is not obstructed by ui widgets which are at the edges of the window. It uses this information to pan the map when the vehicle goes out of view. This need to be done not only for the window edges but also for the widgets themselve such that the map pans before it goes under a widget. + +This is done through the use of the [`QGCToolInsets`](https://github.com/mavlink/qgroundcontrol/blob/master/src/QmlControls/QGCToolInsets.qml) object included in each layer. This objects provides inset information for each window edge informing the system as to how much real estate is taken up by edge based ui. Each layer is given the insets of the layer below it through `parentToolInsets` and then reports back the new insets taking into account the layer below and it's own additions through `toolInsets`. The final results total inset is then given to the map so it can do the right thing. The best way to understand this is to look at both the upstream and custom example code. + +### `FlyView.qml` + +The base layer for the view is also the most complex from ui interactions and business logic. It includes the main display elements of map and video as well as the guided controls. Although you can resource override this layer it is not recommended. And if you do you better really (really) know what you are doing. The reason it is a separate layer is to make the layer above much simpler and easier to customize. + +### `FlyViewWidgetsOverlay.qml` + +This layer contains all the remaining controls of the fly view. You have the ability to hide the controls through use of [`QGCFlyViewOptions`](https://github.com/mavlink/qgroundcontrol/blob/master/src/api/QGCOptions.h). But in order to change the layout of the upstream controls you must use a resource override. If you look at the source you'll see that the controls themselves are well encapsulated such that it should not be that difficult to create your own override which repositions them and/or adds your own ui. While maintaining a connection to the upstream implementaions of the controls. + +### `FlyViewCustomLayer.qml` + +This provides the simplest customization ability to the Fly View. Allowing you the add ui elements which are additive to the existing upstream controls. The upstream code adds no ui elements and is meant to be the basis for your own custom code used as a resource override for this qml. The custom example code provides you with an example of how to do it. + +## Recommendations + +### Simple customization + +The best place to start is using a custom layer override plus turning off ui elements from the widgets layer (if needed). I would recommend trying to stick with only this if at all possible. It provides the greatest abilty to not get screwed by upstream changes in the layers below. + +### Moderate complexity customization + +If you really need to reposition upstream ui elements then your only choice is overriding `FlyViewWidgetsOverlay.qml`. By doing this you are distancing yourself a bit from upstream changes. Although you will still get changes in the upstream controls for free. If there is a whole new control added to the fly view upstream you won't get it until you add it to your own override. + +### Highly complex customization + +The last and least recommended customization mechanism is overriding `FlyView.qml`. By doing this you are distancing yourself even further from getting upstream changes for free. diff --git a/docs/ru/docs/en/qgc-dev-guide/custom_build/mavlink.md b/docs/ru/docs/en/qgc-dev-guide/custom_build/mavlink.md new file mode 100644 index 00000000000..6fa5d685d9f --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/custom_build/mavlink.md @@ -0,0 +1,15 @@ +# MAVLink Customisation + +QGC communicates with flight stacks using [MAVLink](https://mavlink.io/en/), a very lightweight messaging protocol that has been designed for the drone ecosystem. + +QGC includes the [all.xml](https://mavlink.io/en/messages/all.html) dialect by default. The `all.xml` includes all other dialects in the [mavlink/mavlink](https://github.com/mavlink/mavlink/tree/master/message_definitions/v1.0) repository, and allows it to communicate with both PX4 and Ardupilot. +Previous versions of QGC (v4.2.8 and earlier), used the `ArduPilotMega.xml` dialect. + +In order to add support for a new set of messages you should add them to [development.xml](https://mavlink.io/en/messages/development.html), [ArduPilotMega.xml](https://mavlink.io/en/messages/ardupilotmega.html), or [common.xml](https://mavlink.io/en/messages/common.html) (for PX4), or fork _QGroundControl_ and include your own dialect. + +To modify the version of MAVLink used by QGC: + +- Replace the pre-build C library at [/qgroundcontrol/libs/mavlink/include/mavlink](https://github.com/mavlink/qgroundcontrol/tree/master/libs/mavlink/include/mavlink). + - By default this is a submodule importing https\://github.com/mavlink/c\_library\_v2 + - You can change the submodule, or [build your own libraries](https://mavlink.io/en/getting_started/generate_libraries.html) using the MAVLink toolchain. +- You can change the whole dialect used by setting it in [`MAVLINK_CONF`](https://github.com/mavlink/qgroundcontrol/blob/master/QGCExternalLibs.pri#L52) when running _qmake_. diff --git a/docs/ru/docs/en/qgc-dev-guide/custom_build/plugins.md b/docs/ru/docs/en/qgc-dev-guide/custom_build/plugins.md new file mode 100644 index 00000000000..5bbc45c97c4 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/custom_build/plugins.md @@ -0,0 +1,7 @@ +# Custom Build Plugins + +The mechanisms for customizing QGC for a custom build is through the existing `FirmwarePlugin`, `AutoPilotPlugin` and `QGCCorePlugin` architectures. By creating subclasses of these plugins in your custom build you can change the behavior of QGC to suit your needs without needed to modify the upstream code. + +## QGCCorePlugin + +This allows you to modify the parts of QGC which are not directly related to vehicle but are related to the QGC application itself. This includes things like application settings, color palettes, branding and so forth. diff --git a/docs/ru/docs/en/qgc-dev-guide/custom_build/release_branching_process.md b/docs/ru/docs/en/qgc-dev-guide/custom_build/release_branching_process.md new file mode 100644 index 00000000000..41e143a59f1 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/custom_build/release_branching_process.md @@ -0,0 +1,44 @@ +# Release Process for Custom Builds \[WIP Docs] + +One of the trickier aspects of creating your own custom build is the process to keep it up to date with regular QGC. This document describes a suggested process to follow. But in reality you are welcome to use whatever branching and release strategy you want for your custom builds. + +## Upstream QGC release/branching strategy + +The best place to start is understanding the mechanism QGC uses to do it's own releases. We will layer a custom build release process on top of that. You can find standard QGC [release process here](../release_branching_process.md). + +## Custom build/release types + +Regular QGC has two main build types: Stable and Daily. The build type for a custom build is more complex. Throughout this discussion we will use the term "upstream" to refer to the main QGC repo (https\://github.com/mavlink/qgroundcontrol). Also when we talk about a "new" upstream stable release, this means a major/minor release, not a patch release. + +### Synchronized Stable + +This type of release is synchronized with the release of an upstream stable. Once QGC releases stable you then release a version of your custom build which is based on this stable. This build will include all the new features from upstream including the new feature in your own custom code. + +### Out-Of-Band Stable + +This a subsequent release of your custom build after you have released a synchronized stable but prior to upstream releasing a new stable. It only includes new features from your own custom build and include no new features from upstream. Work on this type of release would occur on a branch which is either based on your latest synchronized stable or your last out of band release if it exists. You can release out of band stable releases at any time past your first synchronized stable release. + +### Daily + +Your custom daily builds are built from your `master` branch. It is important to keep your custom master up to date with QGC master. If you lag behind you may be surprised by upstream features which require some effort to integrate with your build. Or you may even require changes to "core" QGC in order to work with your code. +If you don't let QGC development team know soon enough, it may end up being too late to get things changed. + +## Options for your first build + +### Starting with a Synchronized Stable release + +It is suggested that you start with releasing a Synchronized Stable. This isn't necessary but it is the simplest way to get started. To set your self up for a synchronized stable you create your own branch for development which is based on the upstream current stable. + +### Starting with Daily builds + +The reason why you may consider this as your starting point is because you need features which are only in upstream master for your own custom builds. In this case you will have to live with releasing custom Daily builds until the next upstream stable. At which point you would release you first Synchronized Stable. For this setup you use your master branch and keep it in sync with upstream master as you develop. + +## After you release your first Synchronized Stable + +### Patch Releases + +As upstream QGC does patch releases on Stable you should also release your own patch releases based on upstream to keep your stable up to date with latest criticial bug fixes. + +### Out-Of-Band, Daily: One or the other or both? + +At this point you can decide which type of releases you want to follow. You can also decide to possibly do both. You can do smaller new features which don't require new upstream features using out of band releases. And you can do major new feature work as daily/master until the point you can do a new synchronized stable. diff --git a/docs/ru/docs/en/qgc-dev-guide/custom_build/resource_override.md b/docs/ru/docs/en/qgc-dev-guide/custom_build/resource_override.md new file mode 100644 index 00000000000..2c8fa94eba1 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/custom_build/resource_override.md @@ -0,0 +1,24 @@ +# Resource Overrides + +A "resource" in QGC source code terminology is anything found in the [qgroundcontrol.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgroundcontrol.qrc) and [qgcresources.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgcresources.qrc) file. By overriding a resource you can replace it with your own version of it. This could be as simple as a single icon, or as complex as replacing an entire Vehicle Setup page of qml ui code. + +Be aware that using resource overrides does not isolate you from upstream QGC changes like the plugin architecture does. In a sense you are directly modify the upstream QGC resources used by the main code. + +## Exclusion Files + +The first step to overriding a resource is to "exclude" it from the standard portion of the upstream build. This means that you are going to provide that resource in your own custom build resource file(s). There are two files which achieve this: qgroundcontrol.exclusion and [qgcresources.exclusion](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/qgcresources.exclusion). They correspond directly with the \*.qrc counterparts. In order to exclude a resource, copy the resource line from the .qrc file into the appropriate .exclusion file. + +## Custom version of excluded resources + +You must include the custom version of the overriden resouce in you custom build resource file. The resource alias must exactly match the upstream alias. The name and actual location of the resource can be anywhere within your custom directory structure. + +## Generating the new modified versions of standard QGC resource file + +This is done using the `updateqrc.py` python script. It will read the upstream `qgroundcontrol.qrc` and `qgcresources.qrc` file and the corresponding exclusion files and output new versions of these files in your custom directory. These new versions will not have the resources you specified to exclude in them. The build system for custom builds uses these generated files (if they exist) to build with instead of the upstream versions. The generated version of these file should be added to your repo. Also whenever you update the upstream portion of QGC in your custom repo you must re-run `python updateqrc.py` to generate new version of the files since the upstream resources may have changed. + +## Custom Build Example + +You can see an examples of custom build qgcresource overrides in the repo custom build example: + +- [qgcresources.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/qgcresources.exclusion) +- [custom.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/custom.qrc) diff --git a/docs/ru/docs/en/qgc-dev-guide/custom_build/toolbar.md b/docs/ru/docs/en/qgc-dev-guide/custom_build/toolbar.md new file mode 100644 index 00000000000..662cb8db4ae --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/custom_build/toolbar.md @@ -0,0 +1,51 @@ +# Toolbar Customization + +The toolbar can be customized in a number of ways to fit your custom build needs. The toolbar internally is made up of a number of sections from left to right: + +- View Switching +- Indicators + - App Indicators + - Vehicle Indicators + - Vehicle Mode Indicators +- Connection Management +- Branding + +The Indicator section varies based on the view currently displayed: + +- Fly View - Shows all indicators +- Plan View - Show no indicators and has its own custom indicator section for Plan status values +- Other Views - Do not show Vehicle Mode Indicators + +## Customization Possibilities + +### Indicators + +You can add your own indicators for display or remove any of the upstream indicators. The mechanism you use depends on the indicator type. + +#### App Indicators + +These provide information to the user which is not associated with a vehicle. For example RTK status. To manipulate the list of app indicators you use `QGCPlugin::toolbarIndicators`. + +#### Vehicle Indicators + +These are indicators which are associated with information about the vehicle. They are only available when a vehicle is connected. To manipulate the list of vehicle indicators you override `FirmwarePlugin::toolIndicators`. + +#### Vehicle Mode Indicators + +These are indicators which are associated with information about the vehicle. They require additional UI provided by the Fly View to complete their actions. An example is Arming and Disarming. They are only available when a vehicle is connected. To manipulate the list of vehicle mode indicators you override `FirmwarePlugin::modeIndicators`. + +### Modifying the toolbar UI itself + +This is accomplished by using resource overrides on the qml files associated with the toolbar. This provides a high level of customization but also a higher level of complexity. The primary ui for the toolbar is in `MainToolBar.qml`. The main window code in `MainRootWindow.qml` interacts with the toolbar to show different indicator sections based on current view as well as whether the mode indicators show or not also based on current view. + +If you want full control over the toolbar then you can override `MainToolBar.qml` and make your own completely different version. You will need to pay special attention to the interactions of the main toolbar with `MainRootWindow.qml` since you are going to need to replicated those interactions in your own custom version. + +There are two standard indicator ui sections of the toolbar: + +#### `MainToolBarIndicators.qml` + +This is used for all views except Plan. It display all the indicators in a row. Although you can override this file, in reality it doesn't do much other than layout for indicators. + +#### `PlanToolBarIndicators.qml` + +This is used by the Plan view to show the status values. If you want to change that ui you can override this file and provide your own custom version. diff --git a/docs/ru/docs/en/qgc-dev-guide/fact_system.md b/docs/ru/docs/en/qgc-dev-guide/fact_system.md new file mode 100644 index 00000000000..5e7f5242d9c --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/fact_system.md @@ -0,0 +1,33 @@ +# Fact System + +The Fact System provides a set of capabilities which standardizes and simplifies the creation of the QGC user interface. + +## Fact {#fact} + +A Fact represents a single value within the system. + +## FactMetaData + +There is `FactMetaData` associated with each fact. It provides details on the Fact in order to drive automatic user interface generation and validation. + +## Fact Controls + +A Fact Control is a QML user interface control which connects to a Fact and it's `FactMetaData` to provide a control to the user to modify/display the value associated with the Fact. + +## FactGroup + +A _Fact Group_ is a group of [Facts](#fact). +It is used to organise facts and manage user defined facts. + +## Custom Build Support + +User defined facts can be added by overriding `factGroups` function of `FirmwarePlugin` in a custom firmware plugin class. +These functions return a name to fact group map that is used to identify added fact groups. +A custom fact group can be added by extending `FactGroup` class. +FactMetaDatas could be defined using the appopriate `FactGroup` constructor by providing a json file containing necessery information. + +Changing the metadata of existing facts is also possible by overriding `adjustMetaData` of `FirmwarePlugin` class. + +A fact associated with a vehicle (including facts belonging to fact groups returned in `factGroups` function of the vehicles Firmware plugin) can be reached using `getFact("factName")` or `getFact("factGroupName.factName")` + +For additional information please refer to comments in [FirmwarePlugin.h](https://github.com/mavlink/qgroundcontrol/blob/v4.0.8/src/FirmwarePlugin/FirmwarePlugin.h). diff --git a/docs/ru/docs/en/qgc-dev-guide/file_formats/index.md b/docs/ru/docs/en/qgc-dev-guide/file_formats/index.md new file mode 100644 index 00000000000..cf8a409129a --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/file_formats/index.md @@ -0,0 +1,3 @@ +# File Formats + +This section contains topics about the file formats used/supported by _QGroundControl_. diff --git a/docs/ru/docs/en/qgc-dev-guide/file_formats/mavlink.md b/docs/ru/docs/en/qgc-dev-guide/file_formats/mavlink.md new file mode 100644 index 00000000000..8a55c8289af --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/file_formats/mavlink.md @@ -0,0 +1,27 @@ +# MAVLink Log Format + +_QGroundControl_ allows you to generate plain MAVLink packet logs that can be +replayed (with QGroundControl) to watch a mission again for analysis. + +The format is binary: + +- Byte 1-8: Timestamp in microseconds since Unix epoch as unsigned 64 bit integer +- Byte 9-271: MAVLink packet (263 bytes maximum packet length, not all bytes have to be actual data, the packet might be shorter. Includes packet start sign) + +## Debugging + +To check your data, open your written file in a hex editor. You should see after 8 bytes **0x55**. The first 8 bytes should also convert to a valid timestamp, so something either close to zero or around the number **1294571828792000** (which is the current Unix epoch timestamp in microseconds). + +## C++ Sketch for logging MAVLink + +The code fragment below shows how to implement logging using [C++ streams](http://www.cplusplus.com/reference/iostream/istream/) from the C++ standard library. + +```cpp +//write into mavlink logfile +const int len = MAVLINK_MAX_PACKET_LEN+sizeof(uint64_t); +uint8_t buf[len]; +uint64_t time = getSystemTimeUsecs(); +memcpy(buf, (void*)&time, sizeof(uint64_t)); +mavlink_msg_to_send_buffer(buf+sizeof(uint64_t), msg); +mavlinkFile << buf << flush; +``` diff --git a/docs/ru/docs/en/qgc-dev-guide/file_formats/parameters.md b/docs/ru/docs/en/qgc-dev-guide/file_formats/parameters.md new file mode 100644 index 00000000000..60fd66a3638 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/file_formats/parameters.md @@ -0,0 +1,25 @@ +# Parameters File Format + +``` +# Onboard parameters for Vehicle 1 +# +# # Vehicle-Id Component-Id Name Value Type +1 1 ACRO_LOCKING 0 2 +1 1 ACRO_PITCH_RATE 180 4 +1 1 ACRO_ROLL_RATE 180 4 +1 1 ADSB_ENABLE 0 2 +``` + +Above is an example of a parameter file with four parameters. The file can include as many parameters as needed. + +Comments are preceded with a `#`. + +This header: `# MAV ID COMPONENT ID PARAM NAME VALUE` describes the format for each row: + +- `Vehicle-Id` Vehicle id +- `Component-Id` Component id for parameter +- `Name` Parameter name +- `Value` Parameter value +- `Type` Parameter type using MAVLink `MAV_PARAM_TYPE_*` enum values + +A parameter file contains the parameters for a single Vehicle. It can contain parameters for multiple components within that Vehicle. diff --git a/docs/ru/docs/en/qgc-dev-guide/file_formats/plan.md b/docs/ru/docs/en/qgc-dev-guide/file_formats/plan.md new file mode 100644 index 00000000000..914571983f2 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/file_formats/plan.md @@ -0,0 +1,489 @@ +# Plan File Format + +Plan files are stored in JSON file format and contain mission items and (optional) geo-fence and rally-points. +Below you can see the top level format of a Plan file + +:::tip +This is "near-minimal" - a plan must contain at least one mission item. +The plan fence and rally points are also used in modes when no mission is running. +::: + +```json +{ + "fileType": "Plan", + "geoFence": { + "circles": [], + "polygons": [], + "version": 2 + }, + "groundStation": "QGroundControl", + "mission": {}, + "rallyPoints": { + "points": [], + "version": 2 + }, + "version": 1 +} +``` + +The main fields are: + +| Key | Description | +| ------------------------------ | ------------------------------------------------------------------------------ | +| `version` | The version for this file. Current version is 1. | +| `fileType` | Must be `"Plan"`. | +| `groundStation` | The name of the ground station which created this file (here _QGroundControl_) | +| [`mission`](#mission) | The mission associated with this flight plan. | +| [`geoFence`](#geofence) | (Optional) Geofence information for this plan. | +| [`rallyPoints`](#rally_points) | (Optional) Rally/Safe point information for this plan | + +## Mission Object {#mission} + +The structure of the mission object is shown below. +The `items` field contains a comma-separated list of mission items (it must contain at least one mission item, as shown below). +The list may be a mix of both [SimpleItem](#mission_simple_item) and [ComplexItem](#mission_complex_item) objects. + +```json + "mission": { + "cruiseSpeed": 15, + "firmwareType": 12, + "globalPlanAltitudeMode": 1, + "hoverSpeed": 5, + "items": [ + { + "AMSLAltAboveTerrain": null, + "Altitude": 50, + "AltitudeMode": 0, + "autoContinue": true, + "command": 22, + "doJumpId": 1, + "frame": 3, + "params": [ + 15, + 0, + 0, + null, + 47.3985099, + 8.5451002, + 50 + ], + "type": "SimpleItem" + } + ], + "plannedHomePosition": [ + 47.3977419, + 8.545594, + 487.989 + ], + "vehicleType": 2, + "version": 2 + }, +``` + +The following values are required: + +| Key | Description | +| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version for the mission object. Current version is 2. | +| `firmwareType` | The firmware type for which this mission was created. This is one of the [MAV\_AUTOPILOT](https://mavlink.io/en/messages/common.html#MAV_AUTOPILOT) enum values. | +| `globalPlanAltitudeMode` | The global plan-wide altitude mode setting. This is used by plan items that don't specify an `"AltitudeMode"`. | +| `vehicleType` | The vehicle type for which this mission was created. This is one of the [MAV\_TYPE](https://mavlink.io/en/messages/common.html#MAV_TYPE) enum values. | +| `cruiseSpeed` | The default forward speed for Fixed wing or VTOL vehicles (i.e. when moving between waypoints). | +| `hoverSpeed` | The default forward speed for multi-rotor vehicles. | +| `items` | The list of mission item objects associated with the mission . The list may contain either/both [SimpleItem](#mission_simple_item) and [ComplexItem](#mission_complex_item) objects. | +| `plannedHomePosition` | The planned home position is shown on the map and used for mission planning when no vehicle is connected. The array values shown above are (from top): latitude, longitude and AMSL altitude. | + +The format of the simple and complex items is given below. + +### `SimpleItem` - Simple Mission Item {#mission\_simple\_item} + +A simple item represents a single MAVLink [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM) command. + +``` + { + "AMSLAltAboveTerrain": null, + "Altitude": 50, + "AltitudeMode": 0, + "autoContinue": true, + "command": 22, + "doJumpId": 1, + "frame": 3, + "params": [ + 15, + 0, + 0, + null, + 47.3985099, + 8.5451002, + 50 + ], + "type": "SimpleItem" + } +``` + +The field mapping is shown below. + +| Key | Description | +| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | `SimpleItem` for a simple item | +| `AMSLAltAboveTerrain` | Altitude value shown to the user. | +| `Altitude` | | +| `AltitudeMode` | | +| `autoContinue` | [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).autoContinue | +| `command` | The command ([MAV\_CMD](https://mavlink.io/en/messages/common.html#MAV_CMD)) for this mission item - see [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).command. | +| `doJumpId` | The target id for the current mission item in DO\_JUMP commands. These are auto-numbered from 1. | +| `frame` | [MAV\_FRAME](https://mavlink.io/en/messages/common.html#MAV_FRAME) (see [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).frame) | +| `params` | [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).param1,2,3,4,x,y,z (values depends on the particular [MAV\_CMD](https://mavlink.io/en/messages/common.html#MAV_CMD)). | + +### Complex Mission Item {#mission\_complex\_item} + +A complex item is a higher level encapsulation of multiple `MISSION_ITEM` objects treated as a single entity. + +There are currently three types of complex mission items: + +- [Survey](#survey) +- [Corridor Scan](#corridor_scan) +- [Structure Scan](#structure_scan) + +#### Survey - Complex Mission Item {#survey} + +The object definition for a `Survey` complex mission item is given below. + +``` +{ + "TransectStyleComplexItem": { + ... + }, + "angle": 0, + "complexItemType": "survey", + "entryLocation": 0, + "flyAlternateTransects": false, + "polygon": [ + [ + -37.75170619863631, + 144.98414811224316 + ], + ... + [ + -37.75170619863631, + 144.99457681259048 + ] + ], + "type": "ComplexItem", + "version": 4 + }, +``` + +Complex items have these values associated with them: + +| Key | Description | +| ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version number for this `survey` definition. Current version is 3. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `survey` | +| [`TransectStyleComplexItem`](#TransectStyleComplexItem) | The common base definition for Survey and CorridorScan complex items. | +| `angle` | The angle for the transect paths (degrees). | +| `entryLocation` | ? | +| `flyAlternateTransects` | If true, the vehicle will skip every other transect and then come back at the end and fly these alternates. This can be used for fixed wing aircraft when the turnaround would be too acute for the vehicle to make the turn. | +| `polygon` | The polygon array which represents the polygonal survey area. Each point is a latitude, longitude pair for a polygon vertex. | + +#### Corridor Scan {#corridor\_scan} + +The object definition for a `CorridorScan` complex mission item is given below. + +``` + { + "CorridorWidth": 50, + "EntryPoint": 0, + "TransectStyleComplexItem": { + ... + }, + }, + "complexItemType": "CorridorScan", + "polyline": [ + [ + -37.75234887156983, + 144.9893624624168 + ], + ... + [ + -37.75491914850321, + 144.9893624624168 + ] + ], + "type": "ComplexItem", + "version": 2 + }, +``` + +| Key | Description | +| ------------------------------------------------------- | --------------------------------------------------------------------- | +| `version` | The version for this `CorridorScan` definition. Current version is 3. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `CorridorScan` | +| `CorridorWidth` | ? | +| `EntryPoint` | ? | +| [`TransectStyleComplexItem`](#TransectStyleComplexItem) | The common base definition for Survey and CorridorScan complex items. | +| `polyline` | ? | + +#### Structure Scan {#structure\_scan} + +The object definition for a `StructureScan` complex mission item is given below. + +```json + { + "Altitude": 50, + "CameraCalc": { + "AdjustedFootprintFrontal": 25, + "AdjustedFootprintSide": 25, + "CameraName": "Manual (no camera specs)", + "DistanceToSurface": 10, + "DistanceToSurfaceRelative": true, + "version": 1 + }, + "Layers": 1, + "StructureHeight": 25, + "altitudeRelative": true, + "complexItemType": "StructureScan", + "polygon": [ + [ + -37.753184359536355, + 144.98879374063998 + ], + ... + [ + -37.75408368012594, + 144.98879374063998 + ] + ], + "type": "ComplexItem", + "version": 2 + } +``` + +| Key | Description | +| --------------------------- | ---------------------------------------------------------------------- | +| `version` | The version for this `StructureScan` definition. Current version is 2. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `StructureScan` | +| `Altitude` | ? | +| [`CameraCalc`](#CameraCalc) | ? | +| `Layers` | ? | +| `StructureHeight` | ? | +| `altitudeRelative` | `true`: `altitude` is relative to home, `false`: `altitude` is AMSL. | +| `polygon` | ? | + +#### `TransectStyleComplexItem` {#TransectStyleComplexItem} + +`TransectStyleComplexItem` contains the common base definition for [`survey`](#survey) and [`CorridorScan`](#CorridorScan) complex items. + +```json + "TransectStyleComplexItem": { + "CameraCalc": { + ... + }, + "CameraTriggerInTurnAround": true, + "FollowTerrain": false, + "HoverAndCapture": false, + "Items": [ + ... + ], + "Refly90Degrees": false, + "TurnAroundDistance": 10, + "VisualTransectPoints": [ + [ + -37.75161626657736, + 144.98414811224316 + ], + ... + [ + -37.75565155437309, + 144.99438539496475 + ] + ], + "version": 1 + }, +``` + +| Key | Description | +| --------------------------- | --------------------------------------------------------------------------------- | +| `version` | The version for this `TransectStyleComplexItem` definition. Current version is 1. | +| [`CameraCalc`](#CameraCalc) | ? | +| `CameraTriggerInTurnAround` | ? (boolean) | +| `FollowTerrain` | ? (boolean) | +| `HoverAndCapture` | ? (boolean) | +| `Items` | ? | +| `Refly90Degrees` | ? (boolean) | +| `TurnAroundDistance` | The distance to fly past the polygon edge prior to turning for the next transect. | +| `VisualTransectPoints` | ? | + +##### CameraCalc {#CameraCalc} + +The `CameraCalc` contains camera information used for a survey, corridor or structure scan. + +``` + "CameraCalc": { + "AdjustedFootprintFrontal": 272.4, + "AdjustedFootprintSide": 409.2, + "CameraName": "Sony ILCE-QX1", + "DistanceToSurface": 940.6896551724138, + "DistanceToSurfaceRelative": true, + "FixedOrientation": false, + "FocalLength": 16, + "FrontalOverlap": 70, + "ImageDensity": 25, + "ImageHeight": 3632, + "ImageWidth": 5456, + "Landscape": true, + "MinTriggerInterval": 0, + "SensorHeight": 15.4, + "SensorWidth": 23.2, + "SideOverlap": 70, + "ValueSetIsDistance": false, + "version": 1 + }, +``` + +| Key | Description | +| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version for this `CameraCalc` definition. Current version is 1. | +| `AdjustedFootprintFrontal` | ? | +| `AdjustedFootprintSide` | ? | +| `DistanceToSurface` | ? Units? | +| `DistanceToSurfaceRelative` | ? | +| `CameraName` | Name of camera being used (must correspond to one of the cameras known to _QGroundControl_ or: `Manual (no camera specs)` for manual setup, `Custom Camera` for a custom setup. The keys listed after this point are not specified for a "Manual" camera definition. | +| `FixedOrientation` | ? (boolean) | +| `FocalLength` | Focal length of camera lens in millimeters. | +| `FrontalOverlap` | Percentage of frontal image overlap. | +| `ImageDensity` | ? | +| `ImageHeight` | Image height in px | +| `ImageWidth` | Image width in px | +| `Landscape` | `true`: Camera installed in landscape orientation on vehicle, `false`: Camera installed in portrait orientation on vehicle. | +| `MinTriggerInterval` | ? | +| `SensorHeight` | Sensor height in millimeters. | +| `SensorWidth` | Sensor width in millimeters. | +| `SideOverlap` | Percentage of side image overlap. | +| `ValueSetIsDistance` | ? (boolean) | + +## GeoFence {#geofence} + +Geofence information is optional. +The plan can contain an arbitrary number of geofences defined in terms of polygons and circles. + +The minimal definition is shown below. + +```json + "geoFence": { + "circles": [ + ], + "polygons": [ + ], + "version": 2 + }, +``` + +The fields are: + +| Key | Description | +| ------------------------------- | ----------------------------------------------------------------------------- | +| `version` | The version number for the geofence plan format. The documented version is 2. | +| [`circles`](#circle_geofence) | List containing circle geofence definitions (comma separated). | +| [`polygons`](#polygon_geofence) | List containing polygon geofence definitions (comma separated). | + +### Circle Geofence {#circle\_geofence} + +Each circular geofence is defined in a separate item, as shown below (multiple comma-separated items can be defined). +The items define the centre and radius of the circle, and whether or not the specific geofence is activated. + +```json +{ + "circle": { + "center": [47.39756763610029, 8.544649762407738], + "radius": 319.85 + }, + "inclusion": true, + "version": 1 +} +``` + +The fields are: + +| Key | Description | +| ----------- | -------------------------------------------------------------------------------------------------- | +| `version` | The version number for the geofence "circle" plan format. The documented version is 1. | +| `circle` | The definition of the circle. Includes `centre` (latitude, longitude) and `radisu` as shown above. | +| `inclusion` | Whether or not the geofence is enabled (true) or disabled. | + +### Polygon Geofence {#polygon\_geofence} + +Each polygon geofence is defined in a separate item, as shown below (multiple comma-separated items can be defined). +The geofence includes a set of points defined with a clockwise winding (i.e. they must enclose an area). + +```json + { + "inclusion": true, + "polygon": [ + [ + 47.39807773798406, + 8.543834631785785 + ], + [ + 47.39983519888905, + 8.550024648373267 + ], + [ + 47.39641100087146, + 8.54499282423751 + ], + [ + 47.395590322265186, + 8.539435808992085 + ] + ], + "version": 1 + } + ], + "version": 2 + } +``` + +The fields are: + +| Key | Description | +| ----------- | ------------------------------------------------------------------------------------------------------------------------------ | +| `version` | The version number for the geofence "polygon" plan format. The documented version is 2. | +| `polygon` | A list of points for the polygon. Each point contains a latitude and longitude. The points are ordered in a clockwise winding. | +| `inclusion` | Whether or not the geofence is enabled (true) or disabled. | + +## Rally Points {#rally\_points} + +Rally point information is optional. +The plan can contain an arbitrary number of rally points, each of which has a latitude, longitude, and altitude (above home position). + +A definition with two points is shown below. + +```json + + "rallyPoints": { + "points": [ + [ + 47.39760401, + 8.5509154, + 50 + ], + [ + 47.39902017, + 8.54263274, + 50 + ] + ], + "version": 2 + } +``` + +The fields are: + +| Key | Description | +| --------- | -------------------------------------------------------------------------------- | +| `version` | The version number for the rally point plan format. The documented version is 2. | +| `points` | A list of rally points. | diff --git a/docs/ru/docs/en/qgc-dev-guide/firmware_plugin.md b/docs/ru/docs/en/qgc-dev-guide/firmware_plugin.md new file mode 100644 index 00000000000..95d0c3ddc74 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/firmware_plugin.md @@ -0,0 +1,23 @@ +# Plugin Architecture + +Although the MAVLink spec defines a standard communication protocol to communicate with a vehicle. There are many aspects of that spec that are up for interpretation by the firmware developers. Because of this there are many cases where communication with a vehicle running one firmware is be slightly different than communication with a vehicle running a different firmware in order to accomplish the same task. Also each firmware may implement a different subset of the MAVLink command set. + +Another major issue is that the MAVLink spec does not cover vehicle configuration or a common parameter set. Due to this all code which relates to vehicle setup ends up being firmware specific. Also any code which must refer to a specific parameter is also firmware specific. + +Given all of these differences between firmware implementations it can be quite tricky to create a single ground station application that can support each without having the codebase degrade into a massive pile of if/then/else statements peppered everywhere based on the firmware the vehicle is using. + +QGC uses a plugin architecture to isolate the firmware specific code from the code which is generic to all firmwares. There are two main plugins which accomplish this `FirmwarePlugin` and `AutoPilotPlugin`. + +This plugin architecture is also used by custom builds to allow ever further customization beyond when standard QGC can provide. + +## FirmwarePlugin + +This is used to create a standard interface to parts of Mavlink which are generally not standardized. + +## AutoPilotPlugin + +This is used to provide the user interface for Vehicle Setup. + +## QGCCorePlugin + +This is used to expose features of the QGC application itself which are not related to a Vehicle through a standard interface. This is then used by custom builds to adjust the QGC feature set to their needs. diff --git a/docs/ru/docs/en/qgc-dev-guide/getting_started/cent_os.md b/docs/ru/docs/en/qgc-dev-guide/getting_started/cent_os.md new file mode 100644 index 00000000000..c709b04874b --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/getting_started/cent_os.md @@ -0,0 +1,220 @@ +# Using QGC on CentOS 7 + +## OS Installation + +To install CentOS 7: + +1. Fetch the latest [CentOS 7 ISO from here](http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso) +2. Make a bootable USB stick out of the ISO e.g. by [following this guide](https://linuxize.com/post/how-to-create-a-bootable-centos-7-usb-stick/). +3. Boot the target device from the stick. + +The following examples show how to boot the target device from the stick. + +**Example:** _Panasonic Toughpad FZ-M1_ (attaching a keyboard and mouse to the device to follow this guide is recommended). + +1. Enter the BIOS menu by holding **Delete** on an attached USB keyboard or pressing all hardware buttons around the power button during boot. +2. Once inside the BIOS switch to the _Exit_ tab using the arrow keys or the touchscreen. +3. Select your previously created and plugged in USB stick under Boot device override. + +**Example** [UAV Components Micronav](https://www.uavcomp.com/command-control/micronav/) device: + +1. The setup of CentOS will not start with the default configuration. + To solve this + 1. Go to the BIOS menu as explained in the example above. + 2. Disable the "Extension Port" device under the "Advanced" tab. + 3. "Exit and save" the BIOS menu on the Exit page of the BIOS and try again. + 4. After CentOS is installed, you revert the changes again so that the Microhard network works. +2. Make sure to never do a warm reboot but always first shut down the device if you want to reboot into Linux. + Otherwise the Microhard network adapter will not work properly and slows down the whole system. + +### CentOS Software Selection Installation Options + +These were the options used to setup a CentOS development system. +Use it as a guideline. + +![CentOS Installation](../../../assets/dev_getting_started/centos/centos_installation.png) + +![CentOS Software Selection](../../../assets/dev_getting_started/centos/centos_sw_selection.png) + +### Update GStreamer + +Once CentOS is installed and booted we need to set up the environment for QGC. +First, we need to update GStreamer to a more recent version. +This guide follows Alice Wonder's tips found here: https\://media.librelamp.com + +``` +sudo yum install epel-release -y +wget http://awel.domblogger.net/7/media/x86_64/awel-media-release-7-6.noarch.rpm +sudo yum localinstall awel-media-release-7-6.noarch.rpm -y +sudo yum clean all +sudo yum update +sudo yum install gstreamer1* --skip-broken -y +``` + +**Note:** Make sure these are installed (vaapi for Intel GPUs) + +``` +sudo yum install gstreamer1-vaapi +sudo yum install gstreamer1-libav +``` + +**Note:** Install these to enable hardware accelerated video decoding + +``` +sudo yum install libva +sudo yum install libva-utils +sudo yum install libva-intel-driver +``` + +If libva-intel-driver is not found you can download it and install it manually + +``` +wget http://download1.rpmfusion.org/free/el/updates/7/x86_64/l/libva-intel-driver-1.8.3-4.el7.x86_64.rpm +sudo yum localinstall libva-intel-driver-1.8.3-4.el7.x86_64.rpm -y +``` + +### Installing SDL2 + +SDL2 is used for joystick support. + +``` +sudo yum install SDL2 SDL2-devel -y +``` + +### Update Kernel (optional) + +:::tip +If your Joystick gets recognized and shows up as `/dev/input/js0` when you run the command `/dev/input/*` you can skip this step. +::: + +We recommend updating the kernel for: + +- Better touch screen responsiveness. +- Correct recognition of some USB devices - in particular joysticks. + +The following joysticks are known not do work out of the box with the default CentOS 7 kernel (3.10.0): + +- Logitech F310 +- Microsoft Xbox 360 controller (USB) + +To fix the joystick not being recognized (even if the same unit is working under Windows or Ubuntu) please [follow this guide to update the kernel](https://www.howtoforge.com/tutorial/how-to-upgrade-kernel-in-centos-7-server/). + +Here's a short summary of the commands that you need to execute to update the kernel: + +``` +sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org +sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm +sudo yum --enablerepo=elrepo-kernel install kernel-ml -y +``` + +Reboot your device afterwards and make sure the new kernel version shows up as the default start option in the GRUB menu on boot. + +:::info +You might need to disable secure boot in the BIOS to allow the new kernel to be booted. +::: + +## Running QGC on CentOS + +Before launching QGC, you need to make sure the current user has access to the dialout group (serial port access permission): + +``` +sudo usermod -a -G dialout $USER +``` + +### Firewall + +The default firewall security level of Red Hat distributions like CentOS block MAVLink communication and also the camera video stream. +So you need to create rules to open the incoming ports for MAVLink and camera stream. +For non-production local environment testing purposes ONLY you can temporarily disable the firewall using the following commands ([from here](https://www.liquidweb.com/kb/how-to-stop-and-disable-firewalld-on-centos-7/)): + +Temporary: + +``` +systemctl stop firewalld +``` + +Permanent (at your own risk): + +``` +systemctl disable firewalld +``` + +Undo permanent change: + +``` +systemctl enable firewalld +``` + +### Connection problems with multiple networks + +In our test with CentOS we had problems when connecting to multiple networks through multiple network devices even with appropriate IP address and subnet assignment. + +Issues consisted of: + +- Losing Internet access when connecting to a second network +- Having flaky connection to the vehicle with a lot of hiccups and packet losses (e.g. 30 seconds perfect connection 4 seconds of packet loss in a regular pattern) + +If you face any of these problems avoid them by only connecting one network at a time e.g. switching between WiFi and Microhard. + +### Executing a Prebuilt QGC Binary + +- Get hold of an archive containing a prebuilt binary of QGC for CentOS. + At the moment there is no automatic deployment for this build if you urgently need one get in touch with the developers. +- [Unpack the archive](https://www.hostdime.com/kb/hd/command-line/how-to-tar-untar-and-zip-files). +- Go inside the unpacked files and locate the script named `qgroundcontrol-run.sh` +- Run it by executing the command + ``` + ./qgroundcontrol-run.sh + ``` + +## Building QGC on CentOS + +### Installing Qt + +``` +mkdir ~/devel +cd ~/devel +``` + +Install Qt 5.12.4 from the Qt installation script that can be downloaded [here](https://www.qt.io/download-thank-you?os=linux\&hsLang=en). +Once downloaded, make it executable and run it: + +``` +chmod +x qt-unified-linux-x64-3.1.1-online.run +./qt-unified-linux-x64-3.1.1-online.run +``` + +Select the following options and install it under `~/devel/Qt`: + +![Qt Software Selection](../../../assets/dev_getting_started/centos/qt_setup.png) + +### Clone and Build QGC + +``` +git clone --recursive https://github.com/mavlink/qgroundcontrol.git +mkdir build +cd build +``` + +For a debug/test build: + +``` +../Qt/5.12.4/gcc_64/bin/qmake ../qgroundcontrol/qgroundcontrol.pro -spec linux-g++ CONFIG+=debug +``` + +For a release build: + +``` +../Qt/5.12.4/gcc_64/bin/qmake ../qgroundcontrol/qgroundcontrol.pro -spec linux-g++ CONFIG+=qtquickcompiler +``` + +Build it: + +``` +make -j4 +``` + +You can alternatively launch _QtCreator_ (found under `~/devel/Qt/Tools/QtCreator/bin/qtcreator`), load the `qgroundcontro.pro` project and build/debug from within its IDE. + +By default, this will build the regular QGC. +To build the sample, customized UI version, follow [these instructions](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/README.md). diff --git a/docs/ru/docs/en/qgc-dev-guide/getting_started/container.md b/docs/ru/docs/en/qgc-dev-guide/getting_started/container.md new file mode 100644 index 00000000000..3bdda672439 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/getting_started/container.md @@ -0,0 +1,81 @@ +# Building using Containers + +The community created a docker image that makes it much easier to build a Linux-based QGC application. +This can give you a massive boost in productivity and help with testing. + +## About the Container + +The Container is located in the `./deploy/docker` directory. +It's based on ubuntu 20.04. +It pre-installs all the dependencies at build time, including Qt, thanks to a script located in the same directory, `install-qt-linux.sh`. +The main advantage of using the container is the usage of the `CMake` build system and its many improvements over `qmake` + +## Building the Container + +Before using the container, you have to build the image. +You can accomplish this using docker, running the following script from the root of the QGC source code directory. + +``` +docker build --file ./deploy/docker/Dockerfile-build-linux -t qgc-linux-docker . +``` + +:::info +The `-t` flag is essential. +Keep in mind this is tagging the image for later reference since you can have multiple builds of the same container +::: + +::: info +If building on a Mac computer with an M1 chip you must also specify the build option `--platform linux/x86_64` as shown: + +``` +docker build --platform linux/x86_64 --file ./deploy/docker/Dockerfile-build-linux -t qgc-linux-docker . +``` + +Otherwise you will get a build error like: + +``` +qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory +``` + +::: + +## Building QGC using the Container + +To use the container to build QGC, you first need to define a directory to save the artifacts. +We recommend you create a `build` directory on the source tree and then run the docker image using the tag provided above as follows, from the root directory: + +``` +mkdir build +docker run --rm -v ${PWD}:/project/source -v ${PWD}/build:/project/build qgc-linux-docker +``` + +::: info +If using the script to build the Linux image on a Windows host, you would need to reference the PWD differently. +On Windows the docker command is: + +``` +docker run --rm -v %cd%:/project/source -v %cd%/build:/project/build qgc-linux-docker +``` + +::: + +Depending on your system resources, or the resources assigned to your Docker Daemon, the build step can take some time. + +## Troubleshooting + +### Windows: 'bash\r': No such file or directory + +This error indicates that a Linux script is being run with Windows line endings, which might occur if `git` was configured to use Windows line endings: + +``` + > [4/7] RUN /tmp/qt/install-qt-linux.sh: +#9 0.445 /usr/bin/env: 'bash\r': No such file or directory +``` + +One fix is to force Linux line endings using the command: + +``` +git config --global core.autocrlf false +``` + +Then update/recreate your local repository. diff --git a/docs/ru/docs/en/qgc-dev-guide/getting_started/index.md b/docs/ru/docs/en/qgc-dev-guide/getting_started/index.md new file mode 100644 index 00000000000..c01c1af6e99 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/getting_started/index.md @@ -0,0 +1,238 @@ +--- +qt_version: 5.15.2 +--- + +# Getting Started + +This topic explains how to get the _QGroundControl_ source code and build it either natively or within a _Vagrant_ environment. +It also provides information about optional or OS specific functionality. + +## Daily Builds + +If you just want to test (and not debug) a recent build of _QGroundControl_ you can use the [Daily Build](https://docs.qgroundcontrol.com/en/releases/daily_builds.html). Versions are provided for all platforms. + +## Source Code + +Source code for _QGroundControl_ is kept on GitHub here: https\://github.com/mavlink/qgroundcontrol. +It is [dual-licensed under Apache 2.0 and GPLv3](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md). + +To get the source files: + +1. Clone the repo (or your fork) including submodules: + ``` + git clone --recursive -j8 https://github.com/mavlink/qgroundcontrol.git + ``` +2. Update submodules (required each time you pull new source code): + ``` + git submodule update --recursive + ``` + +:::tip +Github source-code zip files cannot be used because these do not contain the appropriate submodule source code. +You must use git! +::: + +## Build QGroundControl + +### Using Containers + +We support Linux builds using a container found on the source tree of the repository, which can help you develop and deploy the QGC apps without having to install any of the requirements on your local environment. + +[Container Guide](../getting_started/container.md) + +### Native Builds + +_QGroundControl_ builds are supported for macOS, Linux, Windows, iOS and Android. +_QGroundControl_ uses [Qt](http://www.qt.io) as its cross-platform support library and uses [QtCreator](http://doc.qt.io/qtcreator/index.html) as its default build environment. + +- **macOS:** v10.11 or higher +- **Ubuntu:** 64 bit, gcc compiler +- **Windows:** Vista or higher, [Visual Studio 2019 compiler](#vs) (64 bit) +- **iOS:** 10.0 and higher +- **Android:** Android 5.0 and later. + - Standard QGC is built against ndk version 19. + - Java JDK 11 is required. +- **Qt version:** {{ $frontmatter.qt\_version }} **(only)** + + ::: warning + **Do not use any other version of Qt!** + QGC has been thoroughly tested with the specified version of Qt ({{ $frontmatter.qt\_version }}). + There is a significant risk that other Qt versions will inject bugs that affect stability and safety (even if QGC compiles). + ::: + +For more information see: [Qt 5 supported platform list](http://doc.qt.io/qt-5/supported-platforms.html). + +:::info +Native [CentOS Builds](../getting_started/cent_os.md) are also supported, but are documented separately (as the tested environment is different). +::: + +#### Install Visual Studio 2019 (Windows Only) {#vs} + +The Windows compiler can be found here: [Visual Studio 2019 compiler](https://visualstudio.microsoft.com/vs/older-downloads/) (64 bit) + +When installing, select _Desktop development with C++_ as shown: + +![Visual Studio 2019 - Select Desktop Environment with C++](../../../assets/dev_getting_started/visual_studio_select_features.png) + +:::info +Visual Studio is ONLY used to get the compiler. Actually building _QGroundControl_ should be done using [Qt Creator](#qt-creator) or [qmake](#qmake) as outlined below. +::: + +#### Install Qt + +You **need to install Qt as described below** instead of using pre-built packages from say, a Linux distribution, because _QGroundControl_ needs access to private Qt headers. + +To install Qt: + +1. Download and run the [Qt Online Installer](http://www.qt.io/download-open-source) + - **Ubuntu:** + - Set the downloaded file to executable using: `chmod +x`. + - Install to default location for use with **./qgroundcontrol-start.sh.** If you install Qt to a non-default location you will need to modify **qgroundcontrol-start.sh** in order to run downloaded builds. + +2. In the installer _Select Components_ dialog choose: {{ $frontmatter.qt\_version }}. + + ::: info + If the version needed is not displayed, check the archive (show archive and refresh). + ::: + + Then install just the following components: + + - **Windows**: _MSVC 2019 64 bit_ + - **MacOS**: _macOS_ + - **Linux**: _Desktop gcc 64-bit_ + - All: + - _Qt Charts_ + - _Android ARMv7_ (optional, used to build Android) + + ![QtCreator Select Components (Windows)](../../../assets/dev_getting_started/qt_creator_select_components.jpg) + +3. Install Additional Packages (Platform Specific) + + - **Ubuntu:** `sudo apt-get install speech-dispatcher libudev-dev libsdl2-dev patchelf build-essential curl` + - **Fedora:** `sudo dnf install speech-dispatcher SDL2-devel SDL2 systemd-devel patchelf` + - **Arch Linux:** `pacman -Sy speech-dispatcher patchelf` + - **Android:** [Qt Android Setup](http://doc.qt.io/qt-5/androidgs.html) + + ::: info + JDK11 is required (install if needed)! + ::: + +4. Install Optional/OS-Specific Functionality + + ::: info + Optional features that are dependent on the operating system and user-installed libraries are linked/described below. + These features can be forcibly enabled/disabled by specifying additional values to qmake. + ::: + + - **Video Streaming/Gstreamer:** - see [Video Streaming](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoReceiver/README.md). + - **Airmap SDK:** - TBD. + +5. Disable platform-specific optional features that are enabled (but not installed), by default. + + ::: info + This currently applies to Airmap on Linux, which is optional but enabled by default. + ::: + + - **Ubuntu:** + - Airmap: Create a file named **user\_config.pri** (in the repo root directory) containing the text `DEFINES += DISABLE_AIRMAP`. + This can be done in a bash terminal using the command: + ``` + echo -e "DEFINES += DISABLE_AIRMAP\r\n" | tee user_config.pri + ``` + +#### Building using Qt Creator {#qt-creator} + +1. Launch _Qt Creator_ and open the **qgroundcontrol.pro** project. + +2. In the **Projects** section, select the appropriate kit for your needs: + + - **OSX:** Desktop Qt {{ $frontmatter.qt\_version }} clang 64 bit + + ::: info + iOS builds must be built using [XCode](http://doc.qt.io/qt-5/ios-support.html). + ::: + + - **Ubuntu:** Desktop Qt {{ $frontmatter.qt\_version }} GCC 64bit + + - **Windows:** Desktop Qt {{ $frontmatter.qt\_version }} MSVC2019 **64bit** + + - **Android:** Android for armeabi-v7a (GCC 4.9, Qt {{ $frontmatter.qt\_version }}) + - JDK11 is required. + You can confirm it is being used by reviewing the project setting: **Projects > Manage Kits > Devices > Android (tab) > Android Settings > _JDK location_**. + +3. Build using the "hammer" (or "play") icons: + + ![QtCreator Build Button](../../../assets/dev_getting_started/qt_creator_build_qgc.png) + +#### Build using qmake on CLI {#qmake} + +Example commands to build a default QGC and run it afterwards: + +1. Make sure you cloned the repository and updated the submodules before, see chapter _Source Code_ above and switch into the repository folder: + ``` + cd qgroundcontrol + ``` + +2. Create and enter a shadow build directory: + ``` + mkdir build + cd build + ``` + +3. Configure the build using the qmake script in the root of the repository: + ``` + qmake ../ + ``` + +4. Run make to compile and link. + To accelerate the process things you can use the `-j{number of threads}` parameter. + + ``` + make -j12 + ``` + + ::: info + You can also specify build time flags here. + For example, you could disable airmap inclusion using the command: + + ``` + DEFINES+=DISABLE_AIRMAP make build + ``` + + ::: + +5. Run the QGroundcontrol binary that was just built: + ``` + ./staging/QGroundControl + ``` + +### Vagrant + +[Vagrant](https://www.vagrantup.com/) can be used to build and run _QGroundControl_ within a Linux virtual machine (the build can also be run on the host machine if it is compatible). + +1. [Download](https://www.vagrantup.com/downloads.html) and [Install](https://www.vagrantup.com/docs/getting-started/) Vagrant +2. From the root directory of the _QGroundControl_ repository run `vagrant up` +3. To use the graphical environment run `vagrant reload` + +### Additional Build Notes for all Supported OS + +- **Parallel builds:** For non Windows builds, you can use the `-j#` option to run parellel builds. +- **Location of built files:** Individual build file results can be found in the `build_debug` or `build_release` directories. The built executable can be found in the `debug` or `release` directory. +- **If you get this error when running _QGroundControl_**: `/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version 'GLIBCXX_3.4.20' not found.`, you need to either update to the latest _gcc_, or install the latest _libstdc++.6_ using: `sudo apt-get install libstdc++6`. +- **Unit tests:** To run the [unit tests](../contribute/unit_tests.md), build in `debug` mode with `UNITTEST_BUILD` definition, and then copy `deploy/qgroundcontrol-start.sh` script into the `debug` directory before running the tests. + +## Building QGC Installation Files + +You can additionally create installation file(s) for _QGroundControl_ as part of the normal build process. + +:::tip +On Windows you will need to first install [NSIS](https://sourceforge.net/projects/nsis/). +::: + +To add support for installation file creation you need to add `CONFIG+=installer` to your project file, or when you call _qmake_. + +To do this in _Qt Creator_: + +- Open **Projects > Build > Build Steps > qmake > Additional arguments**. +- Enter `CONFIG+=installer` as shown: + ![Installer](../../../assets/dev_getting_started/qt_project_installer.png) diff --git a/docs/ru/docs/en/qgc-dev-guide/index.md b/docs/ru/docs/en/qgc-dev-guide/index.md new file mode 100644 index 00000000000..22020d391d3 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/index.md @@ -0,0 +1,68 @@ +# QGroundControl Dev Guide + +[![Releases](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases) [![Discuss](https://img.shields.io/badge/discuss-dev-ff69b4.svg)](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-developers) + +This developer guide is the best source for information if you want to build, modify or extend [QGroundControl](http://qgroundcontrol.com) (QGC). +It shows how to obtain and build the source code, explains how QGC works, and provides guidelines for contributing code to the project. + +:::tip +This part of the guide is for **developers**! +::: + +:::warning +This is an active work in progress - information should be correct, but may not be complete! +If you find that it is missing helpful information (or errors) please raise an issue. +::: + +## Design Philosophy + +QGC is designed to provide a single codebase that can run across multiple OS platforms as well as multiple device sizes and styles. + +The QGC user interface is implemented using [Qt QML](http://doc.qt.io/qt-5/qtqml-index.html). QML provides for hardware acceleration which is a key feature on lower powered devices such as tablets or phones. QML also provides features which allows us to more easily create a single user interface which can adapt itself to differing screen sizes and resolution. + +The QGC UI targets itself more towards a tablet+touch style of UI than a desktop mouse-based UI. This make a single UI easier to create since tablet style UI also tends to work fine on desktop/laptops. + +## Support {#support} + +Development questions can be raised in the [QGroundControl Developer](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-developers) discuss category. + +## Contribution + +Information about contributing, including coding styles, testing and licenses can be found in [Code Submissions](contribute/index.md). + +:::tip +We expect all contributors to adhere to the [QGroundControl code of conduct](https://github.com/mavlink/qgroundcontrol/blob/master/CODE_OF_CONDUCT.md). +This code aims to foster an open and welcoming environment. +::: + +### Coordination Call + +The developer team meets bi-weekly to discuss the highest priority issues, project coordination, and discuss any Issues, PRs, or Questions from the Community. ([Developer Call Details](contribute/dev_call.md)) + +### Translations + +We use [Crowdin](https://crowdin.com) to make it easier to manage translation for both _QGroundControl_ and the documentation. + +The translation projects (and join links) are listed below: + +- [QGroundControl](https://crowdin.com/project/qgroundcontrol) ([join](https://crwd.in/qgroundcontrol)) +- [QGroundControl User Guide](https://crowdin.com/project/qgroundcontrol-user-guide) ([join](https://crwd.in/qgroundcontrol-user-guide)) +- [QGroundControl Developer Guide](https://crowdin.com/project/qgroundcontrol-developer-guide) ([join](https://crwd.in/qgroundcontrol-developer-guide)) + +The PX4 Developer Guide contains additional information about the (common) docs/translation toolchain: + +- [Documentation](https://dev.px4.io/en/contribute/docs.html) +- [Translation](https://dev.px4.io/en/contribute/docs.html) + +## License + +_QGroundControl_ source code is [dual-licensed under Apache 2.0 and GPLv3](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md). +For more information see: [Licenses](contribute/licences.md). + +## Governance + +The QGroundControl mission planner is hosted under the governance of the [Dronecode Project](https://www.dronecode.org/). + +Dronecode Logo Linux Foundation Logo + +
 
diff --git a/docs/ru/docs/en/qgc-dev-guide/plan/mission_command_tree.md b/docs/ru/docs/en/qgc-dev-guide/plan/mission_command_tree.md new file mode 100644 index 00000000000..55441b4e3fc --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/plan/mission_command_tree.md @@ -0,0 +1,196 @@ +# Mission Command Tree + +QGC creates the user interface for editing a specific mission item command dynamically from a hierarchy of json metadata. This hierarchy is called the Mission Command Tree. This way only json metadata must be created when new commands are added. + +## Why a tree? + +The tree is needed to deal with the idosyncracies of differening firmware supporting commands differently and/or different vehicle types supporting the commands in different ways. The simplest example of that is mavlink spec may include command parameters which are not supported by all firmwares. Or command parameters which are only valid for certain vehicle types. Also in some cases a GCS may decide to hide some of the command parameters from view to end users since they are too complex or cause usability problems. + +The tree is the MissionCommandTree class: [MissionCommandTree.cc](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.cc), [MissionCommandTree.h](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.h) + +### Tree Root + +The root of the tree is json metadata which matches the mavlink spec exactly. + +Here you can see an example of the root [json](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoCommon.json#L27) for `MAV_CMD_NAV_WAYPOINT`: + +``` + { + "id": 16, + "rawName": "MAV_CMD_NAV_WAYPOINT", + "friendlyName": "Waypoint", + "description": "Travel to a position in 3D space.", + "specifiesCoordinate": true, + "friendlyEdit": true, + "category": "Basic", + "param1": { + "label": "Hold", + "units": "secs", + "default": 0, + "decimalPlaces": 0 + }, + "param2": { + "label": "Acceptance", + "units": "m", + "default": 3, + "decimalPlaces": 2 + }, + "param3": { + "label": "PassThru", + "units": "m", + "default": 0, + "decimalPlaces": 2 + }, + "param4": { + "label": "Yaw", + "units": "deg", + "nanUnchanged": true, + "default": null, + "decimalPlaces": 2 + } + }, +``` + +Note: In reality this based information should be provided by mavlink itself and not needed to be part of a GCS. + +### Leaf Nodes + +The leaf nodes then provides metadata which can override values for the command and/or remove parameters from display to the user. The full tree hierarchy is this: + +- Root - Generic Mavlink + - Vehicle Type Specific - Vehicle specific overrides to the generic spec + - Firmware Type Specific - One optional leaf node for each firmware type (PX4/ArduPilot) + - Vehicle Type Specific - One optional leaf node for each vehicel type (FW/MR/VTOL/Rover/Sub) + +Note: In reality this override capability should be part of mavlink spec and should be able to be queried from the vehicle. + +### Building the instance tree from the full tree + +Since the json metadata provides information for all firmware/vehicle type combinations the actual tree to use must be built based on the firmware and vehicle type which is being used to create a Plan. This is done through a process call "collapsing" the full tree to a firmware/vehicle specific tree ([code](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.cc#L119)). + +The steps are as follows: + +- Add the root to the instance tree +- Apply the vehicle type specific overrides to the instance tree +- Apply the firmware type specific overrides to the instance tree +- Apply the firmware/vehicle type specific overrides to the instance tree + +The resulting Mission Command Tree is then used to build UI for the Plan View item editors. In reality it is used for more than just that, there are many other places where knowing more information about a specific command id is useful. + +## Example hierarchy for `MAV_CMD_NAV_WAYPOINT` + +Let's walk through an example hierarchy for `MAV_CMD_NAV_WAYPOINT`. Root information is shown above. + +### Root - Vehicle Type Specific leaf node + +The next level of the hiearchy is generic mavlink but vehicle specific. Json files are here: [MR](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoMultiRotor.json), [FW](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoFixedWing.json), [ROVER](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoRover.json), [Sub](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoSub.json), [VTOL](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoVTOL.json). And here are the overrides for (Fixed Wings)(https\://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoFixedWing.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "4" + }, +``` + +What this does is remove the editing UI for param4 which is Yaw and not used by fixed wings. Since this is a leaf node of the root, this applies to all fixed wing vehicle no matter the firmware type. + +### Root - Firmware Type Specific leaf node + +The next level of the hiearchy are overrides which are specific to a firmware type but apply to all vehicle types. Once again lets loook at the waypoint overrides: + +[ArduPilot](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/APM/MavCmdInfoCommon.json#L6): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2" + }, +``` + +[PX4](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/PX4/MavCmdInfoCommon.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2,3" + }, +``` + +You can see that for both firmwares param2 which is acceptance radius is removed from the editing ui. This is a QGC specific decision. It is generally safer and easier to use the firmwares generic acceptance radius handling than the specify a value. So we've decided to hide it from users. + +You can also see that for PX4 param3/PassThru is removed since it is not supported by PX. + +### Root - Firmware Type Specific - Vehicle Type Specific leaf node + +The last level of the hiearchy is both firmware and vehicle type specific. + +[ArduPilot/MR](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/APM/MavCmdInfoMultiRotor.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2,3,4" + }, +``` + +Here you can see that for an ArduPilot Multi-Rotor vehicle param2/3/4 Acceptance/PassThru/Yaw are removed. Yaw for example is removed because it is not supported. Due to quirk of how this code works, you need to repeat the overrides from the lower level. + +## Mission Command UI Info + +Two classes define the metadata associated with a command: + +- MissionCommandUIInfo - Metadata for the entire command +- MissionCmdParamInfo - Metadata for a param in a command + +The source is commented with full details of the json keys which are supported. + +[MissionCommandUIInfo](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandUIInfo.h#L82): + +``` +/// UI Information associated with a mission command (MAV_CMD) +/// +/// MissionCommandUIInfo is used to automatically generate editing ui for a MAV_CMD. This object also supports the concept of only having a set of partial +/// information for the command. This is used to create overrides of the base command information. For on override just specify the keys you want to modify +/// from the base command ui info. To override param ui info you must specify the entire MissionParamInfo object. +/// +/// The json format for a MissionCommandUIInfo object is: +/// +/// Key Type Default Description +/// id int reauired MAV_CMD id +/// comment string Used to add a comment +/// rawName string required MAV_CMD enum name, should only be set of base tree information +/// friendlyName string rawName Short description of command +/// description string Long description of command +/// specifiesCoordinate bool false true: Command specifies a lat/lon/alt coordinate +/// specifiesAltitudeOnly bool false true: Command specifies an altitude only (no coordinate) +/// standaloneCoordinate bool false true: Vehicle does not fly through coordinate associated with command (exampl: ROI) +/// isLandCommand bool false true: Command specifies a land command (LAND, VTOL_LAND, ...) +/// friendlyEdit bool false true: Command supports friendly editing dialog, false: Command supports 'Show all values" style editing only +/// category string Advanced Category which this command belongs to +/// paramRemove string Used by an override to remove params, example: "1,3" will remove params 1 and 3 on the override +/// param[1-7] object MissionCommandParamInfo object +/// +``` + +[MissionCmdParamInfo](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandUIInfo.h#L25): + +``` +/// UI Information associated with a mission command (MAV_CMD) parameter +/// +/// MissionCommandParamInfo is used to automatically generate editing ui for a parameter associated with a MAV_CMD. +/// +/// The json format for a MissionCmdParamInfo object is: +/// +/// Key Type Default Description +/// label string required Label for text field +/// units string Units for value, should use FactMetaData units strings in order to get automatic translation +/// default double 0.0/NaN Default value for param. If no default value specified and nanUnchanged == true, then defaultValue is NaN. +/// decimalPlaces int 7 Number of decimal places to show for value +/// enumStrings string Strings to show in combo box for selection +/// enumValues string Values associated with each enum string +/// nanUnchanged bool false True: value can be set to NaN to signal unchanged +``` diff --git a/docs/ru/docs/en/qgc-dev-guide/release_branching_process.md b/docs/ru/docs/en/qgc-dev-guide/release_branching_process.md new file mode 100644 index 00000000000..8cff755d051 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/release_branching_process.md @@ -0,0 +1,81 @@ +# QGroundControl Release/Branching process + +## Semantic Versioning + +QGC uses semantic versioning for the version numbers associated with its releases. +Semantic versioning is a 3-component number in the format of `vX.Y.Z`, where: + +- `X` is the major version. +- `Y` is the minor version. +- `Z` is the patch version. + +## Stable Builds + +The current stable build is the highest quality build available for QGC. +[Patch releases](#patch_releases) of the stable build are regularly made to fix important issues. + +Stable builds are built from a separate branch that is named with the format: `Stable_VX.Y` (note, there is no patch number!) +The branch has one or more git tags for each patch release (with the format `vX.Y.Z`), indicating the point in the repo source code that the associated patch release was created from. + +### Patch Releases {#patch\_releases} + +A patch release contains fixes to the stable release that are important enough to _require_ an update, and are safe enough that the stable release continues to maintain high quality. + +Patch releases increment the patch version number only. + +### Patch - Development Stage + +Approved fixes to the stable release are commited to the current stable branch. +These fixes continue to queue up in the stable branch until a patch release is made (see next step). + +Commits/changes to the stable branch must also be brought over to the master branch (either through cherry pick or separate pulls). + +### Patch - Release Stage + +At the point where the decision is made to do a patch release, the release binaries are created and a new _tag_ is added to the stable branch (with the same patch release number) indicating the associated source code. + +:::info +New branches are not created for patch releases - only for major and minor releases. +::: + +## Daily Builds + +### Development Stage + +Daily builds are built from the `master` branch, and this is where all new major feature development happens. +The state of master represents either the next minor point release, or a new major version release (depending on the level of change). + +There are no git tags associated with a released daily builds. +The released daily build will always match repo HEAD. + +### Release Stage + +When the decision is made to release a new major/minor version the master branch tends to go through an intial lockdown mode. +This is where only important fixes for the release are accepted as pull requests. + +:::info +During the lockdown phase, new features are not allowed in master. +::: + +Once the level of fixes associated with the release slows down to a low level, a new stable branch is created (at this point the `master` branch can move forward again as the latest and greatest). + +Fixes continue in the stable branch until it is deemed ready to release (ideally after a short time)! +At that point the new stable branch is tagged with the new version tag and the first stable release is made. + +## Custom Builds + +A proposed strategy for branching on custom builds can be found [here](custom_build/release_branching_process.md). + +## Process to create a new Stable + +### Major/Minor Version + +1. Create a branch from master named `Stable_VX.Y` where `X` is the major version number and `Y` is the minor version number. +2. Create a tag on the HEAD of master name `dX.Y` where the minor version is one greater than the new Stable. For example if you are create a new Stable 4.2 version then the tag would be 'd4.3'. This tag is used to create the version numbers for Android daily builds. Example: `git tag -a d4.3.0 -m "QGroundControl Daily Android Version Base"`. +3. Create an annotated tag on the newly created Stable branch named `vX.Y.0` with the correct major/minor version number. Example: `git tag -a v4.2.0 -m "QGroundControl v4.2.0"`. Pushing this tag to the repo will start a build. +4. Once the build completes verify the builds are pushed up to S3 correctly and sanity check that they at least boot correctly. Location on S3 will be `https://qgroundcontrol.s3.us-west-2.amazonaws.com/latest/...`. +5. Update the `https://qgroundcontrol.s3.us-west-2.amazonaws.com/builds/latest/QGC.version.txt` text file to the latest Stable version. This will notify uses there is a new Stable available the next time they launch QGC. + +### Patch Version + +Creating a new Patch Version is the same except you skip steps 1 and 2 and in step 3 you bump the patch version number up as needed. diff --git a/docs/ru/docs/en/qgc-dev-guide/tools/index.md b/docs/ru/docs/en/qgc-dev-guide/tools/index.md new file mode 100644 index 00000000000..d2f1bd88502 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/tools/index.md @@ -0,0 +1,20 @@ +# Developer Tools + +_QGroundControl_ makes a number of tools available primarily for autopilot developers. +These ease common developer tasks including setting up simulated connections for testing, +and accessing the System Shell over MAVLink. + +:::info +[Build the source in debug mode](https://github.com/mavlink/qgroundcontrol#supported-builds) to enable these tools. +::: + +Tools include: + +- **[Mock Link](../tools/mock_link.md)** (Daily Builds only) - Creates and stops multiple simulated vehicle links. +- **[Replay Flight Data](https://docs.qgroundcontrol.com/en/app_menu/replay_flight_data.html)** - Replay a telemetry log (User Guide). +- **[MAVLink Inspector](https://docs.qgroundcontrol.com/en/app_menu/mavlink_inspector.html)** - Display received MAVLink messages/values. +- **[MAVLink Analyzer](https://docs.qgroundcontrol.com/en/app_menu/mavlink_analyzer.html)** - Plot trends for MAVLink messages/values. +- **[Custom Command Widget](https://docs.qgroundcontrol.com/en/app_menu/custom_command_widget.html)** - Load custom/test QML UI at runtime. +- **[Onboard Files](https://docs.qgroundcontrol.com/en/app_menu/onboard_files.html)** - Navigate vehicle file system and upload/download files. +- **[HIL Config Widget](https://docs.qgroundcontrol.com/en/app_menu/hil_config.html)** - Settings for HIL simulators. +- **[MAVLink Console](https://docs.qgroundcontrol.com/en/analyze_view/mavlink_console.html)** (PX4 Only) - Connect to the PX4 nsh shell and send commands. diff --git a/docs/ru/docs/en/qgc-dev-guide/tools/mock_link.md b/docs/ru/docs/en/qgc-dev-guide/tools/mock_link.md new file mode 100644 index 00000000000..bbb8878c9c2 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/tools/mock_link.md @@ -0,0 +1,33 @@ +# Mock Link + +_Mock Link_ allows you to create and stop links to multiple simulated (mock) vehicles in _QGroundControl_ debug builds. + +The simulation does not support flight, but does allow easy testing of: + +- Mission upload/download +- Viewing and changing parameters +- Testing most setup pages +- Multiple vehicle UIs + +It is particularly useful for unit testing error cases for mission upload/download. + +## Using Mock Link + +To use _Mock Link_: + +1. Create a debug build by [building the source](https://github.com/mavlink/qgroundcontrol#supported-builds). + +2. Access _Mock Link_ by selecting the _Application Settings_ icon in the top toolbar and then **Mock Link** in the sidebar: + + ![](../../../assets/dev_tools/mocklink_waiting_for_connection.jpg) + +3. The buttons in the panel can be clicked to create a vehicle link of the associated type. + + - Each time you click a button a new connection will be created. + - When there is more than one connection the multiple-vehicle UI will appear. + + ![](../../../assets/dev_tools/mocklink_connected.jpg) + +4. Click the **Stop one Mock Link** to stop the currently active vehicle. + +Using _Mock Link_ is then more or less the same as using any other vehicle, except that the simulation does not allow flight. diff --git a/docs/ru/docs/en/qgc-dev-guide/user_interface_design/controls.md b/docs/ru/docs/en/qgc-dev-guide/user_interface_design/controls.md new file mode 100644 index 00000000000..16bbca6fbed --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/user_interface_design/controls.md @@ -0,0 +1,35 @@ +# User Interface Controls + +QGC provides a base set of controls for building user interface. In general they tend to be thin layers above the base QML Controls supported by Qt which respect the QGC color palette. + +``` +import QGroundControl.Controls 1.0 +``` + +## Qt Controls + +The following controls are QGC variants of standard Qt QML Controls. They provide the same functionality as the corresponding Qt controls except for the fact that they are drawn using the QGC palette. + +- QGCButton +- QGCCheckBox +- QGCColoredImage +- QGCComboBox +- QGCFlickable +- QGCLabel +- QGCMovableItem +- QGCRadioButton +- QGCSlider +- QGCTextField + +## QGC Controls + +These custom controls are exclusive to QGC and are used to create standard UI elements. + +- DropButton - RoundButton which drops out a panel of options when clicked. Example is Sync button in Plan view. +- ExclusiveGroupItem - Used as a base Item for custom controls which supports the QML ExclusiveGroup concept. +- QGCView - Base control for all top level views in the system. Provides support for FactPanels and displaying QGCViewDialogs and QGCViewMessages. +- QGCViewDialog - Dialog which pops out from the right side of a QGCView. You can specific the accept/reject buttons for the dialog as well as the dialog contents. Example usage is when you click on a parameter and it brings up the value editor dialog. +- QGCViewMessage - A simplified version of QGCViewDialog which allows you to specify buttons and a simple text message. +- QGCViewPanel - The main view contents inside of a QGCView. +- RoundButton - A round button control which uses an image as its inner contents. +- SetupPage - The base control for all Setup vehicle component pages. Provides a title, description and component page contents area. diff --git a/docs/ru/docs/en/qgc-dev-guide/user_interface_design/font_palette.md b/docs/ru/docs/en/qgc-dev-guide/user_interface_design/font_palette.md new file mode 100644 index 00000000000..b9472025352 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/user_interface_design/font_palette.md @@ -0,0 +1,20 @@ +# Font and Palette + +QGC has a standard set of fonts and color palette which should be used by all user interface. + +``` +import QGroundControl.Palette 1.0 +import QGroundControl.ScreenTools 1.0 +``` + +## QGCPalette + +This item exposes the QGC color palette. There are two variants of this palette: light and dark. The light palette is meant for outdoor use and the dark palette is for indoor. Normally you should never specify a color directly for UI, you should always use one from the palette. If you don't follow this rule, the user interface you create will not be capable of changing from a light/dark style. + +## QGCMapPalette + +The map palette is used for colors which are used to draw over a map. Due to the the different map styles, specifically satellite and street you need to have different colors to draw over them legibly. Satellite maps needs lighter colors to be seen whereas street maps need darker colors to be seen. The `QGCMapPalette` item provides a set of colors for this as well as the ability to switch between light and dark colors over maps. + +## ScreenTools + +The ScreenTools item provides values which you can use to specify font sizing. It also provides information on screen size and whether QGC is running on a mobile device. diff --git a/docs/ru/docs/en/qgc-dev-guide/user_interface_design/index.md b/docs/ru/docs/en/qgc-dev-guide/user_interface_design/index.md new file mode 100644 index 00000000000..caff40d9801 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/user_interface_design/index.md @@ -0,0 +1,11 @@ +# User Interface Design + +The main pattern for UI design in QGC is a UI page written in QML, many times communicating with a custom "Controller" written in C++. This follows a somewhat hacked variant of the MVC design pattern. + +The QML code binds to information associated with the system through the following mechanisms: + +- The custom controller +- The global `QGroundControl` object which provides access to things like the active Vehicle +- The FactSystem which provides access to parameters and in some cases custom Facts. + +Note: Due to the complexity of the QML used in QGC as well as it's reliance on communication with C++ objects to drive the ui it is not possible to use the QML Designer provided by Qt to edit QML. diff --git a/docs/ru/docs/en/qgc-dev-guide/user_interface_design/multi_device_pattern.md b/docs/ru/docs/en/qgc-dev-guide/user_interface_design/multi_device_pattern.md new file mode 100644 index 00000000000..241be1409f4 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/user_interface_design/multi_device_pattern.md @@ -0,0 +1,52 @@ +# Multi-Device Design Pattern + +QGroundControl is designed to run on multiple device types from desktop to laptop to tablet to small phone sized screens using mouse and touch. Below is the description of how QGC does it and the reasoning behind it. + +## Efficient 1 person dev team + +The design pattern that QGC development uses to solve this problem is based around making new feature development quick and allowing the code base to be testable and maintained by a very small team (let's say 1 developer as the default dev team size). The pattern to achieve this is followed very strictly, because not following it will lead to slower dev times and lower quality. + +Supporting this 1 person dev team concept leads to some tough decisions which not everyone may be happy about. But it does lead to QGC being released on many OS and form factors using a single codebase. This is something most other ground stations out there are not capable of achieving. + +What about contributors you ask? QGC has a decent amount of contributors. Can't they help move things past this 1 person dev team concept? Yes QGC has quite a few contributors. But unfortunately they come and go over time. And when they go, the code they contributed still must be maintained. Hence you fall back to the 1 person dev team concept which is mostly what has been around as an average over the last three years of development. + +## Target Device + +The priority target for QGC UI design is a tablet, both from a touch standpoint and a screen size standpoint (think 10" Samsung Galaxy tab). Other device types and sizes may see some sacrifices of visuals and/or usability due to this decision. The current order when making priority based decisions is Tablet, Laptop, Desktop, Phone (any small screen). + +### Phone sized screen support + +As specified above, at this point smaller phone sized screens are the lowest level priority for QGC. More focus is put onto making active flight level displays, such as the Fly view, more usable. Less focus is placed on Setup related views such as Setup and Plan. Those specific views are tested to be functionally usable on small screens but they may be painful to use. + +## Development tools used + +### Qt Layout controls + +QGC does not have differently coded UIs which are targeted to different screen sizes and/or form factors. In general it uses QML Layout capabilities to reflow a single set of QML UI code to fit different form factors. In some cases it provides less detail on small screen sizes to make things fit. But that is a simple visibility pattern. + +### FactSystem + +Internal to QGC is a system which is used to manage all of the individual pieces of data within the system. This data model is then connected to controls. + +### Heavy reliance on reusable controls + +QGC UI is developed from a base set of reusable controls and UI elements. This way any new feature added to a reusable control is now available throughout the UI. These reusable controls also connect to FactSystem Facts which then automatically provides appropriate UI. + +## Cons for this design pattern + +- The QGC user interface ends up being a hybrid style of desktop/laptop/tablet/phone. Hence not necessarily looking or feeling like it is optimized to any of these. +- Given the target device priority list and the fact that QGC tends to just re-layout the same UI elements to fit different form factors you will find this hybrid approach gets worse as you get farther away from the priority target. Hence small phone sized screens taking the worst hit on usability. +- The QGC reusable control set may not provide the absolute best UI in some cases. But it is still used to prevent the creation of additional maintenance surface area. +- Since the QGC UI uses the same UI code for all OSes, QGC does not follow the UI design guidelines specified by the OS itself. It has it's own visual style which is somewhat of a hybrid of things picked from each OS. Hence the UI looks and works mostly the same on all OS. Once again this means for example that QGC running on Android won't necessarily look like an android app. Or QGC running on an iPhone will not look or work like most other iPhone apps. That said the QGC visual/functional style should be understandable to these OS users. + +## Pros for this design pattern + +- It takes less time to design a new feature since the UI coding is done once using this hybrid model and control set. Layout reflow is quite capable in Qt QML and becomes second nature once you get used to it. +- A piece of UI can be functionally tested on one platform since the functional code is the same across all form factors. Only layout flow must be visually checked on multiple devices but this is fairly easily done using the mobile simulators. In most cases this is what is needed: + - Use desktop build, resizing windows to test reflow. This will generally cover a tablet sized screen as well. + - Use a mobile simulator to visually verify a phone sized screen. On OSX XCode iPhone simulator works really well. +- All of the above are critical to keeping our hypothetical 1 person dev team efficient and to keep quality high. + +## Future directions + +- Raise phone (small screen) level prioritization to be more equal to Tablet. Current thinking is that this won't happen until a 3.3 release time frame (release after current one being worked on). diff --git a/docs/ru/docs/en/qgc-dev-guide/views/fly.md b/docs/ru/docs/en/qgc-dev-guide/views/fly.md new file mode 100644 index 00000000000..a9f5a8e6c7c --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/views/fly.md @@ -0,0 +1,8 @@ +# Fly View + +- Top level QML code is in **FlightDisplayView\.qml** +- QML code communicates with `MissionController` (C++) for mission display +- Instrument widgets communicate with active Vehicle object +- Two main inner views are: + - `FlightDisplayViewMap` + - `FlightDisplayViewVideo` diff --git a/docs/ru/docs/en/qgc-dev-guide/views/index.md b/docs/ru/docs/en/qgc-dev-guide/views/index.md new file mode 100644 index 00000000000..9cf9e09ef22 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/views/index.md @@ -0,0 +1,3 @@ +# Top Level Views + +This section contains topics about the code for the top level views: settings, setup, plan and fly. diff --git a/docs/ru/docs/en/qgc-dev-guide/views/plan.md b/docs/ru/docs/en/qgc-dev-guide/views/plan.md new file mode 100644 index 00000000000..8ca6765fdf6 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/views/plan.md @@ -0,0 +1,5 @@ +# Plan View + +- Top level QML code is in [PlanView.qml](https://github.com/mavlink/qgroundcontrol/blob/master/src/plan_view/PlanView.qml) +- Main visual UI is a FlightMap control +- QML communicates with MissionController (C++) which provides the view with the mission item data and methods diff --git a/docs/ru/docs/en/qgc-dev-guide/views/settings.md b/docs/ru/docs/en/qgc-dev-guide/views/settings.md new file mode 100644 index 00000000000..8ac25ed099b --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/views/settings.md @@ -0,0 +1,4 @@ +# Settings View + +- Top level QML code is **AppSettings.qml** +- Each button loads a separate QML page diff --git a/docs/ru/docs/en/qgc-dev-guide/views/setup.md b/docs/ru/docs/en/qgc-dev-guide/views/setup.md new file mode 100644 index 00000000000..0dd51a0b157 --- /dev/null +++ b/docs/ru/docs/en/qgc-dev-guide/views/setup.md @@ -0,0 +1,5 @@ +# Setup View + +- Top level QML code implemented in **SetupView\.qml** +- Fixed set of buttons/pages: Summary, Firmware +- Remainder of buttons/pages come from AutoPilotPlugin VehicleComponent list diff --git a/docs/ru/docs/en/qgc-user-guide/analyze_view/geotag_images.md b/docs/ru/docs/en/qgc-user-guide/analyze_view/geotag_images.md new file mode 100644 index 00000000000..2b5f9547c1a --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/analyze_view/geotag_images.md @@ -0,0 +1,13 @@ +# GeoTag Images (Analyze View) + +The _GeoTag Images_ screen (**Analyze > GeoTag Images**) allows you to geotag images from a survey mission using information in the flight log. + +:::info +This feature only works with _PX4_ flight stack logs. +ArduPilot is not supported. +::: + +![Analyze View GeoTag Images](../../../assets/analyze/geotag_images.jpg) + +Select the log file, image directory and (optionally) output directory for geotagged images using the buttons provided. +Click **Start Tagging** to generate the geotagged images. diff --git a/docs/ru/docs/en/qgc-user-guide/analyze_view/index.md b/docs/ru/docs/en/qgc-user-guide/analyze_view/index.md new file mode 100644 index 00000000000..7c507283f39 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/analyze_view/index.md @@ -0,0 +1,12 @@ +# Analyze View + +The _Analyze View_ is accessed by selecting the _QGroundControl_ application menu ("Q" icon in the top left corner) and then selecting the **Analyze Tools** button (from the _Select Tool_ popup). + +![Analyze ](../../../assets/analyze/menu_analyze_tool.png) + +The view provides tools to: + +- [Download Logs](../analyze_view/log_download.md) — List, download and clear logs on the vehicle. +- [GeoTag Images (PX4)](../analyze_view/geotag_images.md) — Geotag survey mission images using the flight log (on a computer). +- [MAVLink Console (PX4)](../analyze_view/mavlink_console.md) — Access the the nsh shell running on the vehicle. +- [MAVLink Inspector](../analyze_view/mavlink_inspector.md) — Display and chart received MAVLink messages/values. diff --git a/docs/ru/docs/en/qgc-user-guide/analyze_view/log_download.md b/docs/ru/docs/en/qgc-user-guide/analyze_view/log_download.md new file mode 100644 index 00000000000..90ac5b82174 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/analyze_view/log_download.md @@ -0,0 +1,6 @@ +# Log Download (Analyze View) + +The _Log Download_ screen (**Analyze > Log Download**) is used to list (_Refresh_), +_Download_ and _Erase All_ log files from the connected vehicle. + +![Analyze View Log Download](../../../assets/analyze/log_download.jpg) diff --git a/docs/ru/docs/en/qgc-user-guide/analyze_view/mavlink_console.md b/docs/ru/docs/en/qgc-user-guide/analyze_view/mavlink_console.md new file mode 100644 index 00000000000..69c0eae0df2 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/analyze_view/mavlink_console.md @@ -0,0 +1,20 @@ +# MAVLink Console (Analyze View) + +The MAVLink Console (**Analyze > Mavlink Console**) allows you to connect to the PX4 [System Console](https://docs.px4.io/main/en/debug/system_console.html) and send commands. + +:::info +The console only works when connected to _hardware_ running the _PX4_ flight stack. +PX4 SITL and ArduPilot are not supported. +::: + +:::tip +This is a very useful feature for developers as it allows deep access to the system. In particular, if you are connected via Wifi, you can have this same level of access while the vehicle is flying. +::: + +![Analyze View MAVLink Console](../../../assets/analyze/mavlink_console.jpg) + +The view does not display any output except in response to commands. +Once the vehicle is connected, you can enter commands in the bar provided (for a full list of available commands enter: `?`). + +Command output is displayed in the view above the command bar. +Click **Show Latest** to jump to the bottom of the command output. diff --git a/docs/ru/docs/en/qgc-user-guide/analyze_view/mavlink_inspector.md b/docs/ru/docs/en/qgc-user-guide/analyze_view/mavlink_inspector.md new file mode 100644 index 00000000000..127fc65ce6a --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/analyze_view/mavlink_inspector.md @@ -0,0 +1,42 @@ +# MAVLink Inspector + +The _MAVLink Inspector_ provides real-time information and charting of MAVLink traffic received by _QGroundControl_. + +:::warning +This feature is intended primarily for **autopilot developers**/**vehicle creators**. +It is only supported on desktop builds (Windows, Linux, Mac OS). +::: + +![MAVLink inspector](../../../assets/analyze/mavlink_inspector/mavlink_inspector.jpg) + +The inspector lists all received messages for the current vehicle, along with their source component id and update frequency. +You can drill down into individual messages to get the message id, source component id, and the values of all the individual fields. +You can also chart field values in real time, selecting multiple fields from multiple messages to display on one of two charts. + +To use the _MAVLink Inspector_: + +1. Open _Analyze View_ by selecting the _QGroundControl_ application menu ("Q" icon in top left corner) and then choosing the **Analyze Tools** button (from the _Select Tool_ popup). + ![Analyze ](../../../assets/analyze/menu_analyze_tool.png) + +2. Select the **MAVLink Inspector** from the sidebar. + + ![MAVLink inspector menu](../../../assets/analyze/mavlink_inspector/mavlink_inspector_menu.jpg) + + The view will start populating with messages as they are received. + +3. Select a message to see its fields and their (dynamically updating) value: + + ![MAVLink inspector: message detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_message_details.jpg) + +4. Add fields to charts by enabling the adjacent checkboxes (plot 1 is displayed below plot 2). + + ![MAVLink inspector: chart fields detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_plot1.jpg) + + - Fields can be added to only one chart. + + - A chart can have multiple fields, and fields from multiple messages (these are listed above each chart). + Messages containing fields that are being charted are highlighted with an asterisk. + + ![MAVLink inspector: chart fields detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_charted_messages.jpg) + + - The _Scale_ and _Range_ are set to sensible values, but can be modified if needed. diff --git a/docs/ru/docs/en/qgc-user-guide/fly_view/fly_view.md b/docs/ru/docs/en/qgc-user-guide/fly_view/fly_view.md new file mode 100644 index 00000000000..4e0edc42877 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/fly_view/fly_view.md @@ -0,0 +1,437 @@ +# Fly View + +The Fly View is used to command and monitor the vehicle when flying. + +You can use it to: + +- Run an automated [pre-flight checklist](#preflight_checklist). +- Arm the vehicle (or check why it won't arm). +- Control missions: [start](#start_mission), [continue](#continue_mission), [pause](#pause), and [resume](#resume_mission). +- Guide the vehicle to [arm](#arm)/[disarm](#disarm)/[emergency stop](#emergency_stop), [takeoff](#takeoff)/[land](#land), [change altitude](#change_altitude), [go to](#goto) or [orbit](#orbit) a particular location, and [return/RTL](#rtl). +- Switch between a map view and a video view (if available) +- Display video, mission, telemetry, and other information for the current vehicle, and also switch between connected vehicles. + +![Fly View](../../../assets/fly/fly_view_overview.jpg) + +## UI Overview + +The screenshot above shows the main elements of the fly view: + +- **Map:** Displays the positions of all connected vehicles and the mission for the current vehicle. + - You can drag the map to move it around (the map automatically re-centres after a certain amount of time). + - Once flying, you can click on the map to set a [Go to](#goto) or [Orbit at](#orbit) location. +- **Fly Toolbar:** Key status information for sensors (GPS, battery, RC control), and vehicle state (Flight mode, Armed/Disarmed status). + - Select the sensor indicators to view more detail. + - Press the _Flight mode_ text (e.g. "Hold") to select a new mode. + Not every mode may be available. + - The text next to the **Q** icon indicates the flight readiness using text: "Not Ready", "Ready to Fly", "Flying", and status using colour: "green" (all good!), amber (a warning), red (serious problem). + Select the text when the background is amber or red to find out the cause of any preflight issues (QGC 4.2.0 and later). + You can also select the text to reach a button to arm/disarm/emergency-stop the vehicle. +- **Fly tools:** You can use these to: + - Toggle between takeoff/land. + - Pause/restart the current operation (e.g. landing, or the mission). + - Safety return (also known as RTL or Return). + - The _Action_ button offers other appropriate options for the current state (these overlay the _Confirmation Slider_). + Actions include changing the altitude or continuing a mission. + - Enable the [preflight checklist](#preflight_checklist) (tool option disabled by default). +- **[Instrument Panel](#instrument_panel):** A widget that displays vehicle telemetry. +- **Attitude/Compass**: A widget that provides virtual horizon and heading information. +- **Camera Tools**: A widget for switching between still and video modes, starting/stopping capture, and controlling camera settings. +- **[Video/Switcher](#video_switcher):** Toggle between video or map in a window. + - Press the element to switch _Video_ and _Map_ to foreground. + - _QGroundControl_ supports RTP and RTSP video streaming over your vehicles UDP connection. + It also supports directly connected UVC devices. + QGC video support is further discussed in the [Video README](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoStreaming/README.md). + - A [Telemetry Overlay](../fly_view/video_overlay.md) is automatically generated as a subtitle file +- **Confirmation Slider:** Context sensitive slider to confirm requested actions. + Slide to start operation. Press **X** to cancel. + +There are a number of other elements that are not displayed by default/are only displayed in certain conditions. +For example, the multi-vehicle selector is only displayed if you have multiple vehicles, and the preflight checklist tool button is only displayed if the appropriate setting is enabled. + +## Instrument Panel (Telemetry) {#instrument\_panel} + +The instrument panel displays telemetry information about the current vehicle. + +![Instrument Panel - for values/telemetry](../../../assets/fly/instrument_panel/instrument_panel_default_values.png) + +The default values include altitude (relative to the home location), horizontal and vertical speed, total flight time, and distance between vehicle and ground station. + +You can configure where the information is displayed by hovering over the panel and selecting the left-side square tool. +This toggles the position of the panel between bottom centre and right-centre. + +![Instrument Panel - hover for move/edit tools](../../../assets/fly/instrument_panel/instrument_panel_tools_move_edit.png) + +You configure what information is display by selecting the edit/pencil icon. +The grid will then display "+" and "-" icons that you can use to add or remove rows and columns (and the pencil icon is replaced by a "lock" icon that you can use to save the settings). + +![Instrument Panel - add rows/columns](../../../assets/fly/instrument_panel/instrument_panel_tools_edit_on.png) + +Select a value to launch its "Value Display" editor. +This allows you to change the icon, text, size, units and so on of the current telemetry value. + +![Instrument Panel - edit a value](../../../assets/fly/instrument_panel/instrument_panel_tools_edit_value.png) + +The selection list on the top left is used to change the source of the telemetry. +By default this is the vehicle, but you can use the selector to choose a particular sensor type. + +![Instrument Panel - value type](../../../assets/fly/instrument_panel/instrument_panel_edit_value_type.png) + +The selection list on the top right is used to select a particular telemetry value for the vehicle or sensor. + +![Instrument Panel - value options](../../../assets/fly/instrument_panel/instrument_panel_edit_value_options.png) + +### Camera {#camera\_instrument\_page} + +The camera panel is used to capture still images and video, and to configure the camera. + +![Camera Panel](../../../assets/fly/camera_panel/camera_mavlink.png) + +The camera capture and configuration options depend on the connected camera. +The configuration options are selected using the panel gear icon. +The configuration for a simple autopilot-connected camera are shown below. + +![Camera Panel - minimal settings](../../../assets/fly/camera_panel/camera_settings_minimal.png) + +When connected to camera that supports the [MAVLink Camera Protocol](https://mavlink.io/en/services/camera.html) you can additionally configure and use other camera services that it makes available. +For example, if your camera supports video mode you will be able to switch between still image capture and video mode, and start/stop recording. + +![Camera Panel - MAVLink settings](../../../assets/fly/camera_panel/camera_settings_mavlink.png) + +::: info +Most of the settings that are displayed depend on the camera (they are defined in its [MAVLink Camera Definition File](https://mavlink.io/en/services/camera_def.html)). + +> A few common settings at the end are hard-coded: Photo Mode (Single/Time Lapse), Photo Interval (if Time Lapse), Reset Camera Defaults (sends a reset command to the camera), Format (storage) +> ::: + +### Video Stream {#video\_instrument\_page} + +The video page is used to enable/disable video streaming. +When enabled, you can start/stop the video stream, enable a grid overlay, change how the image fits the screen, and record the video locally with QGC. + +![Instrument Page - Video Stream](../../../assets/fly/instrument_page_video_stream.jpg) + +## Actions/Tasks + +The following sections describe how to perform common operations/tasks in the Fly View. + +::: info +Many of the available options depend on both the vehicle type and its current state. +::: + +### Pre Flight Checklist {#preflight\_checklist} + +An automated preflight checklist can be used to run through standard checks that the vehicle is configured correctly and it is safe to fly. + +To view the checklist, first enable the tool by navigating to [Application Settings > General > Fly View](../settings_view/general.md) and selecting the **Use preflight checklist** checkbox. +The tool will then be added to the _Flight Tools_. +Press it to open the checklist: + +![Pre Flight Checklist](../../../assets/fly/pre_flight_checklist.jpg) + +Once you have performed each test, select it on the UI to mark it as complete. + +### Arming and Preflight Checks {#arm} + +Arming a vehicle starts the motors in preparation for takeoff. +You will only be able to arm the vehicle if it is safe and ready to fly. + +:::tip +Generally, if the vehicle is ready to arm, _QGroundControl_ will arm the vehicle for you if you start a mission or takeoff. +::: + +The vehicle is ready to fly in all modes if the status text says "Ready to Fly" and the background is green. + +![Vehicle state - ready to fly green/ready background](../../../assets/fly/vehicle_states/ready_to_fly_ok.png) + +If the background is amber then it is ready to take off in the current mode, but may not be able to switch to other modes. +If the background is red and the text is "Not Ready" then you will not be able to arm in the current mode. + +![Vehicle state - ready to fly amber/warning background](../../../assets/fly/vehicle_states/ready_to_fly_warning.png) +![Vehicle state - not ready](../../../assets/fly/vehicle_states/not_ready.png) + +From QGC 4.2.0 (at time of writing, a daily build) you can find out the exact cause of the warning or error, and possible solutions, by pushing the status text. + +This launches the preflight arming checks popup with a list of all preflight warnings. +The toggle on the right expands each error with additional information and possible solutions. + +![UI To check arming warnings](../../../assets/fly/vehicle_states/arming_preflight_check_ui.png) + +Once each issue is resolved it will disappear from the UI. +When all issues blocking arming have been removed you can use the arm button to display the arming confirmation slider, and arm the vehicle (or you can just take off - note that the vehicles will (by default) disarm automatically if you do not take off after a few seconds. + +![Arm confirmation slider](../../../assets/fly/vehicle_states/arming_slider.png) + +::: info +The status text also displays when flying. + +> ![Vehicle state - armed](../../../assets/fly/vehicle_states/armed.png) > ![Vehicle state - flying](../../../assets/fly/vehicle_states/flying.png) +> +> The arming checks UI will open even when flying, allowing you to emergency disarm. +> ::: + +### Disarm {#disarm} + +Disarming the vehicle when landed stops the motors (making the vehicle safe). + +Generally you do not need to explicitly disarm as vehicles will disarm automatically after landing, or shortly after arming if you do not take off. + +If needed, you can do so from the Arming Preflight Checks UI. + +![Disarming](../../../assets/fly/vehicle_states/arming_ui_landed_disarm.png) + +You will then need to use the disarming slider. + +![disarm slider](../../../assets/fly/vehicle_states/disarm_slider.png) + +::: info +Disarming the vehicle while it is flying is called an [Emergency Stop](#emergency_stop) +::: + +### Emergency Stop {#emergency\_stop} + +Emergency stop is effectively the same as disarming the vehicle while it is flying. +Your vehicle will crash! + +If needed, you can do so from the Arming Preflight Checks UI. + +![Disarming when flying](../../../assets/fly/vehicle_states/arming_ui_flying_disarm.png) + +You will then need to use the emergency disarming slider. + +![Emergency disarm slider](../../../assets/fly/vehicle_states/emergency_disarm_slider.png) + +### Takeoff {#takeoff} + +:::tip +If you are starting a mission for a multicopter, _QGroundControl_ will automatically perform the takeoff step. +::: + +To takeoff (when landed): + +1. Press the **Takeoff** button in the _Fly Tools_ (this will toggle to a **Land** button after taking off). +2. Optionally set the takeoff altitude in the right-side vertical slider. +3. Confirm takeoff using the slider. + +![takeoff](../../../assets/fly/takeoff.jpg) + +### Land {#land} + +You can land at the current position at any time while flying: + +1. Press the **Land** button in the _Fly Tools_ (this will toggle to a **Takeoff** button when landed). +2. Confirm landing using the slider. + +![land](../../../assets/fly/land.jpg) + +### RTL/Return + +Return to a "safe point" at any time while flying: + +1. Press the **RTL** button in the _Fly Tools_. +2. Confirm RTL using the slider. + +![rtl](../../../assets/fly/rtl.jpg) + +:::info +Vehicles commonly return to the "home" (takeoff) location and land. +This behaviour depends on the vehicle type and configuration. +For example, rally points or mission landings may be used as alternative return targets. +::: + +### Change Altitude {#change\_altitude} + +You can change altitude while flying, except when in a mission: + +1. Press the **Action** button on the _Fly Tools_ + +2. Select the _Change Altitude_ action from the dialog. + + ![Continue Mission/Change Altitude action](../../../assets/fly/continue_mission_change_altitude_action.jpg) + +3. Move the vertical slider to the desired altitude, then drag the confirmation slider to start the action. + + ![Change altitude](../../../assets/fly/change_altitude.jpg) + +### Goto Location {#goto} + +After taking off you can specify that you want to fly to a particular location. + +1. Left click/Press on the map where you want the vehicle to move and select **Go to location** on the popup. + +![Goto or orbit](../../../assets/fly/goto_or_orbit.jpg) + +1. The location will be displayed on the map, along with a confirmation slider. + + ![Goto confirmation](../../../assets/fly/goto.jpg) + +2. When you're ready, drag the slider to start the operation (or press the **X** icon to cancel it). + +:::info +Goto points must be set within 1 km of the vehicle (hard-coded in QGC). +::: + +### Orbit Location {#orbit} + +After taking off you can specify that you want to orbit a particular location. + +1. Left click/Press on the map (near the centre of your desired orbit) and select **Orbit at location** on the popup. + +![Goto or orbit](../../../assets/fly/goto_or_orbit.jpg) + +1. The proposed orbit will be displayed on the map, along with a confirmation sider. + + ![Orbit confirmation](../../../assets/fly/orbit.jpg) + + - Select and drag the central marker to move the orbit location. + - Select and drag the dot on the outer circle to change the orbit radius + +2. When you're ready, drag the slider to start the operation (or press the **X** icon to cancel it). + +### Pause + +You can pause most operations, including taking off, landing, RTL, mission execution, orbit at location. +The vehicle behaviour when paused depends on the vehicle type; typically a multicopter will hover, and a fixed wing vehicle will circle. + +:::info +You cannot pause a _Goto location_ operation. +::: + +To pause: + +1. Press the **Pause** button in the _Fly Tools_. +2. Optionally set a new altitude using the right-side vertical slider. +3. Confirm the pause using the slider. + +![pause](../../../assets/fly/pause.jpg) + +### Missions + +#### Start Mission {#start\_mission} + +You can start a mission when the vehicle is landed (the start mission confirmation slider is often displayed by default). + +To start a mission from landed: + +1. Press the **Action** button on the _Fly Tools_ + +2. Select the _Start Mission_ action from the dialog. + + ![Start mission action](../../../assets/fly/start_mission_action.jpg) + + (to display the confirmation slider) + +3. When the confirmation slider appears, drag it to start the mission. + + ![Start mission](../../../assets/fly/start_mission.jpg) + +#### Continue Mission {#continue\_mission} + +You can _continue_ mission from the _next_ waypoint when you're flying (the _Continue Mission_ confirmation slider is often displayed by default after you takeoff). + +:::info +Continue and [Resume mission](#resume_mission) are different! +Continue is used to restart a mission that has been paused, or where you have taken off, so you've already missed a takeoff mission command. +Resume mission is used when you've used a RTL or landed midway through a mission (e.g. for a battery change) and then wish to continue the next mission item (i.e. it takes you to where you were up to in the mission, rather than continuing from your place in the mission). +::: + +You can continue the current mission while (unless already in a mission!): + +1. Press the **Action** button on the _Fly Tools_ + +2. Select the _Continue Mission_ action from the dialog. + + ![Continue Mission/Change Altitude action](../../../assets/fly/continue_mission_change_altitude_action.jpg) + +3. Drag the confirmation slider to continue the mission. + + ![Continue Mission](../../../assets/fly/continue_mission.jpg) + +#### Resume Mission {#resume\_mission} + +_Resume Mission_ is used to resume a mission after performing an [RTL/Return](#rtl) or [Land](#land) from within a mission (in order, for example, to perform a battery change). + +:::info +If you are performing a battery change, **do not** disconnect QGC from the vehicle after disconnecting the battery. +After you insert the new battery _QGroundControl_ will detect the vehicle again and automatically restore the connection. +::: + +After landing you will be prompted with a _Flight Plan complete_ dialog, which gives you the option to remove the plan from the vehicle, leave it on the vehicle, or to resume the mission from the last waypoint that was traveled through. + +![Resume Mission](../../../assets/fly/resume_mission.jpg) + +If you select to resume the mission, then _QGroundControl_ will rebuild the mission and upload it to the vehicle. +Then use the _Start Mission_ slider to continue the mission. + +The image below shows the mission that was rebuilt after the Return shown above. + +![Resume Rebuilt Mission](../../../assets/fly/resume_mission_rebuilt.jpg) + +:::info +A mission cannot simply resume from the last mission item that the vehicle executed, because there may be multiple items at the last waypoint that affect the next stage of the mission (e.g. speed commands or camera control commands). +Instead _QGroundControl_ rebuilds the mission, starting from the last mission item flown, and automatically prepending any relevant commands to the front of the mission. +::: + +#### Remove Mission Prompt After Landing {#resume\_mission\_prompt} + +You will be prompted to remove the mission from the vehicle after the mission completes and the vehicle lands and disarms. +This is meant to prevent issues where stale missions are unknowingly left on a vehicle, potentially resulting in unexpected behavior. + +### Display Video {#video\_switcher} + +When video streaming is enabled, _QGroundControl_ will display the video stream for the currently selected vehicle in the "video switcher window" at the bottom left of the map. +You can press the switcher anywhere to toggle _Video_ and _Map_ to foreground (in the image below, the video is shown in the foreground). + +![Video Stream Record](../../../assets/fly/video_record.jpg) + +:::info +Video streaming is configured/enabled in [Application Settings > General tab > Video](../settings_view/general.md#video). +::: + +You can further configure video display using controls on the switcher: + +![Video Pop](../../../assets/fly/video_pop.jpg) + +- Resize the switcher by dragging the icon in the top right corner. +- Hide the switcher by pressing the toggle icon in the lower left. +- Detach the video switcher window by pressing on the icon in its top left corner + (once detached, you can move and resize the window just like any other in your OS). + If you close the detached window the switcher will re-lock to the QGC Fly view. + +### Record Video + +If supported by the camera and vehicle, _QGroundControl_ can start and stop video recording on the camera itself. _QGroundControl_ can also record the video stream and save it locally. + +:::tip +Video stored on the camera may be of much higher quality, but it is likely that your ground station will have a much larger recording capacity. +::: + +#### Record Video Stream (on GCS) + +Video stream recording is controlled on the [video stream instrument page](#video_instrument_page). +Press the red circle to start recording a new video (a new video file is created each time the circle is pressed); the circle will change into a red square while recording is in progress. + +![Video Stream Record](../../../assets/fly/video_record.jpg) + +Video stream recording is configured in the [Application Settings > General tab](../settings_view/general.md): + +- [Video Recording](../settings_view/general.md#video-recording) - specifies the recording file format and storage limits. + + ::: info + Videos are saved in Matroska format (.mkv) by default. + This format is relatively robust against corruption in case of errors. + ::: + +- [Miscellaneous](../settings_view/general.md#miscellaneous) - Streamed video is saved under the **Application Load/Save Path**. + +:::tip +The stored video includes just the video stream itself. +To record video with QGroundControl application elements displayed, you should use separate screen recording software. +::: + +#### Record Video on Camera + +Start/stop video recording _on the camera itself_ using the [camera instrument page](#camera_instrument_page). +First toggle to video mode, then select the red button to start recording. + +![Instrument Page - Camera MAVLink Settings](../../../assets/fly/instrument_page_camera_mavlink.jpg) diff --git a/docs/ru/docs/en/qgc-user-guide/fly_view/replay_flight_data.md b/docs/ru/docs/en/qgc-user-guide/fly_view/replay_flight_data.md new file mode 100644 index 00000000000..280359e29eb --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/fly_view/replay_flight_data.md @@ -0,0 +1,40 @@ +# Replay Flight Data + +:::warning +This feature is intended primarily for **autopilot developers**/**vehicle creators**. +It is only supported on desktop builds (Windows, Linux, Mac OS). +::: + +The _Replay Flight Data_ feature allows users to replay a telemetry log, enabling review of past or problematic flights. +The flight can be started, paused, stopped, restarted etc. + +:::info +_QGroundControl_ treats flight replay like an active connection. +When you pause/stop playing, the ground station will report "Communication Lost" and wait for disconnection or for more messages. +::: + +To replay a flight: + +1. Disconnect any active connections. + +2. Select **Application Settings > General > Fly View** + +3. Check **Show Telemetry Log Replay Status Bar** to toggle the flight replay bar at the bottom of the screen. + + ![Toggle Flight Replay](../../../assets/fly/flight_replay/flight_replay_toggle.jpg) + +4. Select the **Load Telemetry Log** button in the bar to display a _file selection_ dialog. + - Choose a log file to replay from the available telemetry logs. + - _QGroundControl_ will immediately start playing the log. + +5. When a log is loaded you can use the: + - **Pause/Play** button to pause and restart playing. + - _Slider_ to drag to a new position in the log. + - _Rate_ selector to choose the playback speed. + +6. To stop replay (i.e. to load a new file to replay), first pause the flight, and then select **Disconnect** (when it appears). + After disconnecting, the **Load Telemetry Log** button will be displayed. + +:::tip +You can inspect the running replay in more detail using the [MAVLink Inspector](../analyze_view/mavlink_inspector.md). +::: diff --git a/docs/ru/docs/en/qgc-user-guide/fly_view/video_overlay.md b/docs/ru/docs/en/qgc-user-guide/fly_view/video_overlay.md new file mode 100644 index 00000000000..a43f80d34d6 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/fly_view/video_overlay.md @@ -0,0 +1,42 @@ +# Video Overlay + +When QGroundControl is recording a video stream to a file, it will also export a subtitle file with telemetry data that can be used to overlay the telemetry on the video during playback. Whichever telemetry values are selected for display in the telemetry [values widget](FlyView.md#values-telemetry) will also be exported to the overlay. The overlay values are updated at 1Hz. + +![Values Widget](../../../assets/fly/overlay_widget.png) + +The selected values are laid out in three columns to optimize the screen utilization. +![Overlay in action](../../../assets/fly/overlay_capture.png) + +## Playing + +The overlay can be used with any player that [supports the SubStation Alpha](https://en.wikipedia.org/wiki/SubStation_Alpha#Players_and_renderers) subtitle format. +Most players will open both files together when you try to play the video. They need to be in the same folder and with the same name, which is how they are created by QGC. + +## Permanent Video Subtitles using Handbrake + +Subtitles can be permanently added to a video file using [HandBrake](https://handbrake.fr/). +This will make the subtitles permanently visible on any video player. + +Open **HandBrake**, you should see its main interface. +Click **Open** and select the video file. + +![Handbrake UI showing how to open video file](../../../assets/fly/video_overlay/1-open.png) + +With the video file loaded, switch to the subtitles tab. +Click **Add** to load the subtitle file. + +![Handbrake UI screenshot showing how to add subtitles](../../../assets/fly/video_overlay/2-subtitles.png) + +Choose **import SSA** ([ASS](https://en.wikipedia.org/wiki/SubStation_Alpha#Advanced_SubStation_Alpha) is an extension of SSA). + +![Import SSA file](../../../assets/fly/video_overlay/3-ssa.png) + +Load the **.ass** file corresponding to your video and tick the **Burn into video** checkbox. + +![burn](../../../assets/fly/video_overlay/4-openandburn.png) + +Choose where you want to save the new file and click **Start**. + +![Start burning new file](../../../assets/fly/video_overlay/5-start.png) + +This will start burning the subtitle and video to a new file. diff --git a/docs/ru/docs/en/qgc-user-guide/getting_started/download_and_install.md b/docs/ru/docs/en/qgc-user-guide/getting_started/download_and_install.md new file mode 100644 index 00000000000..1ff59f859cc --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/getting_started/download_and_install.md @@ -0,0 +1,106 @@ +# Download and Install + +The sections below can be used to download the [current stable release](../releases/release_notes.md) of _QGroundControl_ for each platform. + +:::tip +See [Troubleshooting QGC Setup](../troubleshooting/qgc_setup.md) if _QGroundControl_ doesn't start and run properly after installation! +::: + +## System Requirements + +QGC should run well on any modern computer or mobile device. Performance will depend on the system environment, 3rd party applications, and available system resources. +More capable hardware will provide a better experience. +A computer with at least 8Gb RAM, an SSD, Nvidia or AMD graphics and an i5 or better CPU will be suitable for most applications. + +For the best experience and compatibility, we recommend you the newest version of your operating system. + +## Windows {#windows} + +_QGroundControl_ can be installed on 64 bit versions of Windows: + +1. Download [QGroundControl-installer.exe](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl-installer.exe). +2. Double click the executable to launch the installer. + +:::info +The Windows installer creates 3 shortcuts: **QGroundControl**, **GPU Compatibility Mode**, **GPU Safe Mode**. +Use the first shortcut unless you experience startup or video rendering issues. +For more information see [Troubleshooting QGC Setup > Windows: UI Rendering/Video Driver Issues](../troubleshooting/qgc_setup.md#opengl_troubleshooting). +::: + +:::info +Prebuilt _QGroundControl_ versions from 4.0 onwards are 64-bit only. +It is possible to manually build 32 bit versions (this is not supported by the dev team). +::: + +## Mac OS X {#macOS} + +_QGroundControl_ can be installed on macOS 10.11 or later: + + + + + +1. Download [QGroundControl.dmg](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.dmg). +2. Double-click the .dmg file to mount it, then drag the _QGroundControl_ application to your _Application_ folder. + +::: info +QGroundControl continues to not be signed which causes problem on Catalina. To open QGC app for the first time: + +- Right-click the QGC app icon, select Open from the menu. You will only be presented with an option to Cancel. Select Cancel. +- Right-click the QGC app icon again, Open from the menu. This time you will be presented with the option to Open. + ::: + +## Ubuntu Linux {#ubuntu} + +_QGroundControl_ can be installed/run on Ubuntu LTS 20.04 (and later). + +Ubuntu comes with a serial modem manager that interferes with any robotics related use of a serial port (or USB serial). +Before installing _QGroundControl_ you should remove the modem manager and grant yourself permissions to access the serial port. +You also need to install _GStreamer_ in order to support video streaming. + +Before installing _QGroundControl_ for the first time: + +1. On the command prompt enter: + ```sh + sudo usermod -a -G dialout $USER + sudo apt-get remove modemmanager -y + sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y + sudo apt install libqt5gui5 -y + sudo apt install libfuse2 -y + ``` + +2. Logout and login again to enable the change to user permissions. + +  +To install _QGroundControl_: + +1. Download [QGroundControl.AppImage](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.AppImage). +2. Install (and run) using the terminal commands: + ```sh + chmod +x ./QGroundControl.AppImage + ./QGroundControl.AppImage (or double click) + ``` + +::: info +There are known [video steaming issues](../troubleshooting/qgc_setup.md#dual_vga) on Ubuntu 18.04 systems with dual adaptors. +::: + +:::info +Prebuilt _QGroundControl_ versions from 4.0 cannot run on Ubuntu 16.04. +To run these versions on Ubuntu 16.04 you can [build QGroundControl from source without video libraries](https://dev.qgroundcontrol.com/en/getting_started/). +::: + +## Android {#android} + +_QGroundControl_ is temporily unavailable from the Google Play Store. You can install manually from here: + +- [Android 32 bit APK](https://qgroundcontrol.s3-us-west-2.amazonaws.com/latest/QGroundControl32.apk) +- [Android 64 bit APK](https://qgroundcontrol.s3-us-west-2.amazonaws.com/latest/QGroundControl64.apk) + +## Old Stable Releases + +Old stable releases can be found on GitHub. + +## Daily Builds + +Daily builds can be [downloaded from here](../releases/daily_builds.md). diff --git a/docs/ru/docs/en/qgc-user-guide/getting_started/quick_start.md b/docs/ru/docs/en/qgc-user-guide/getting_started/quick_start.md new file mode 100644 index 00000000000..616f3c188fd --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/getting_started/quick_start.md @@ -0,0 +1,27 @@ +# QGroundControl Quick Start + +Getting _QGroundControl_ up and running is quick and easy: + +1. [Download and install](../getting_started/download_and_install.md) the application. +2. Start _QGroundControl_. +3. Attach your vehicle to the ground station device via USB, through a telemetry radio, or over WiFi. _QGroundControl_ should detect your vehicle and connect to it automatically. + +That's it! If the vehicle is ready to fly, _QGroundControl_ should display [Fly View](../fly_view/fly_view.md) as shown below (otherwise it will open [Setup View](../setup_view/setup_view.md)). + +![](../../../assets/quickstart/fly_view_connected_vehicle.jpg) + +A good way to become familiar with _QGroundControl_ is to start experimenting: + +- Use the [toolbar](../toolbar/toolbar.md) to switch between the main views: + - [Settings](../settings_view/settings_view.md): Configure the _QGroundControl_ application. + - [Setup](../setup_view/setup_view.md): Configure and tune your vehicle. + - [Plan](../plan_view/plan_view.md): Create autonomous missions. + - [Fly](../fly_view/fly_view.md): Monitor your vehicle(s) while flying, including streaming video. + - \[Analyze] \*\* Description of Analyze view is missing \*\* +- Click the _Status icons_ on the toolbar to find out the status of the connected vehicle. + +While the UI is fairly intuitive, this documentation can also be referenced to find out more. + +:::info +Make sure QGC has an internet connection when you connect a new vehicle. This will allow it to get the latest parameter and other metadata for the vehicle, along with [translations](../settings_view/general.md#miscellaneous). +::: diff --git a/docs/ru/docs/en/qgc-user-guide/index.md b/docs/ru/docs/en/qgc-user-guide/index.md new file mode 100644 index 00000000000..9a7b80beba3 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/index.md @@ -0,0 +1,27 @@ +# QGroundControl User Guide + +[![Releases](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases) [![Discuss](https://img.shields.io/badge/discuss-px4-ff69b4.svg)](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-usage) [![Discuss](https://img.shields.io/badge/discuss-ardupilot-ff69b4.svg)](http://discuss.ardupilot.org/c/ground-control-software/qgroundcontrol) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mavlink/qgroundcontrol?utm_source=badge\&utm_medium=badge\&utm_campaign=pr-badge\&utm_content=badge) [![Slack](../../assets/site/slack.svg)](https://join.slack.com/t/px4/shared_invite/zt-si4xo5qs-R4baYFmMjlrT4rQK5yUnaA) + +_QGroundControl_ provides full flight control and vehicle setup for PX4 or ArduPilot powered vehicles. +It provides easy and straightforward usage for beginners, while still delivering high end feature support for experienced users. + +**Key Features:** + +- Full setup/configuration of ArduPilot and PX4 Pro powered vehicles. +- Flight support for vehicles running PX4 and ArduPilot (or any other autopilot that communicates using the MAVLink protocol). +- Mission planning for autonomous flight. +- Flight map display showing vehicle position, flight track, waypoints and vehicle instruments. +- Video streaming with instrument display overlays. +- Support for managing multiple vehicles. +- QGC runs on Windows, OS X, Linux platforms, iOS and Android devices. + +![](../../assets/quickstart/connected_vehicle.jpg) + +:::info +This guide is an active work in progress. +The information provided should be correct, but you may find missing information or incomplete pages. +::: + +:::tip +Information about _QGroundControl_ development, architecture, contributing, and translating can be found in the [Developers Guide](https://dev.qgroundcontrol.com/en/). +::: diff --git a/docs/ru/docs/en/qgc-user-guide/plan_view/pattern.md b/docs/ru/docs/en/qgc-user-guide/plan_view/pattern.md new file mode 100644 index 00000000000..805e06765e0 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/plan_view/pattern.md @@ -0,0 +1,13 @@ +# Pattern + +The _Pattern tools_ (in the [PlanView](../plan_view/plan_view.md) _Plan Tools_) allow you to specify complex flight patterns using a simple graphical UI. +The available pattern tools depend on the vehicle (and support for the vehicle-type in the flight stack). + +![Pattern Tool (Plan Tools)](../../../assets/plan/pattern/pattern_tool.jpg) + +| Pattern | Description | Vehicles | +| ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | +| [Survey](../plan_view/pattern_survey.md) | Create a grid flight pattern over a polygonal area.
You can specify the polygon as well as the specifications for the grid and camera settings appropriate for creating geotagged images. | All | +| [Structure Scan](../plan_view/pattern_structure_scan_v2.md) | Create a grid flight pattern that captures images over vertical surfaces (polygonal or circular).
These are typically used for the visual inspection or creation of 3D models of structures. | MultiCopter, VTOL | +| [Corridor Scan](../plan_view/pattern_corridor_scan.md) | Create a flight pattern which follows a poly-line (for example, to survey a road). | All | +| [Fixed Wing Landing](../plan_view/pattern_fixed_wing_landing.md) | Add a landing pattern for fixed wing vehicles to a mission. | Fixed Wing | diff --git a/docs/ru/docs/en/qgc-user-guide/plan_view/pattern_corridor_scan.md b/docs/ru/docs/en/qgc-user-guide/plan_view/pattern_corridor_scan.md new file mode 100644 index 00000000000..d5195290484 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/plan_view/pattern_corridor_scan.md @@ -0,0 +1,102 @@ +# Corridor Scan (Plan Pattern) + +A corridor scan allows you to create a flight pattern that follows a poly-line. This can be used to, for example, survey a road. It is supported on all autopilots and vehicle types. + +> **Important** When planning a Corridor Scan using camera specifications the ground elevations under your survey area are assumed to be at the same altitude as your launch/home location. If the ground elevation under your survey area is either higher or lower than your launch/home location the effective overlap in your images will be less or more (respectively) than calculated. If ground elevation under your survey area is significantly higher than your launch/home location you could inadvertently plan a mission which causes the vehicle to fly into trees, obstacles, or the ground. Use Terrain Follow to create a survey that more closely maintains the desired altitude above terrain that has significant elevation differences from your launch/home altitude. + +![Corridor Scan](../../../assets/plan/corridor_scan.jpg) + +You can specify the path, the width of the corridor, and camera settings appropriate for creating geotagged images. + +## Creating a Scan + +To create a corridor scan: + +1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + +2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Corridor Scan_. + + ![Corridor Scan](../../../assets/plan/corridor_scan_menu.jpg) + + This will add a corridor to the map, and a _Corridor Scan_ item to the mission list (on the right). + +3. On the map drag the ends of the corridor to the start and end positions of the scan, respectively. + +4. Click the `(+)` symbol at the centre of a line to create a new vertix. + The new vertix can then be dragged into position to follow the path of the desired corridor. + +The corridor scan settings are covered in the next section. + +## Settings + +The corridor scan can be further configured in the associated mission item (in the mission item list on the right hand side of the Plan View). + +### Camera + +Camera triggering behaviour depends on the camera/camera settings. +You can select an existing camera or manually enter the settings. +The list of available cameras (QGC 3.4) is given below. + +![Corridor Scan - Select Camera](../../../assets/plan/corridor_scan_settings_camera_select.jpg) + +#### Known Camera + +Selecting a known camera from the option dropdown allows you to generate a grid pattern based on the camera's specifications. + +![Corridor Scan - Camera Settings Canon SX260](../../../assets/plan/corridor_scan_settings_camera_canon_sx260.jpg) + +The configurable options are: + +- **Landscape/Portrait** - Camera orientation relative to the "normal" orientation of the vehicle. +- **Image Overlap** - Overlap between each image. +- Select one of: + - **Altitude** - Survey altitude (ground resolution will be calculated/displayed for this altitude). + - **Ground resolution** - Ground resolution for each image (altitude required to achieve this resolution calculated and shown). + +#### Manual Camera + +The manual camera option allows you to specify desired survey height, trigger interval and appropriate grid spacing for your camera. + +![Corridor Scan - Manual Camera Settings](../../../assets/plan/corridor_scan_settings_camera_manual.jpg) + +The configurable options are: + +- **Altitude** - Survey altitude. +- **Trigger Distance** - The distance over ground between each camera shot. +- **Spacing** - Distance between adjacent grid (flight path) lines across the corridor. + +### Corridor + +![Corridor Scan - Corridor Settings](../../../assets/plan/corridor_scan_settings_corridor.jpg) + +The configurable options are: + +- **Width** - Set the width of the scan around the polyline that defines the path. +- **Turnaround dist** - Amount of additional distance to add outside the survey area for vehicle turn around. +- **Take images in turnarounds** - Check to enable image capture a turnaround points. +- **Relative altitude** - Check to specify a relative altitude. This is only supported for manual grids that are not using [terrain following](#terrain_following). +- **Rotate entry point** - Press button to swap the start and end point of the corridor scan. + +### Terrain Following {#terrain\_following} + +By default a flying vehicle will follow the corridor path at a fixed altitude. +Enabling _Terrain Following_ makes the vehicle maintain a constant height relative to ground. + +![Corridor Scan - Terrain Following Settings](../../../assets/plan/corridor_scan_settings_terrain.jpg) + +:::info +Terrain following uses terrain heights queried from _AirMap_ servers. +::: + +The configurable options are: + +- **Vehicle follows terrain** - Check to enable terrain following (and display the following options). + - **Tolerance** - The accepted deviation in altitude from the target altitude. + - **Max Climb Rate** - Maximum climb rate when following terrain. + - **Max Descent Rate** - Maximum descent rate when following terrain. + +### Statistics + +The _Statistics_ section shows the calculated survey area, photo interval, photo spacing and planned photo count. + +![Corridor Scan - Statistics](../../../assets/plan/corridor_scan_settings_statistics.jpg) diff --git a/docs/ru/docs/en/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md b/docs/ru/docs/en/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md new file mode 100644 index 00000000000..451aefb2881 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md @@ -0,0 +1,77 @@ +# Fixed Wing Landing Pattern (Plan Pattern) + +The _Fixed Wing Landing Pattern_ tool allows you to add a fixed wing landing pattern to a mission. +It is supported on both ArduPilot and PX4. + +![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern.jpg) + +The first point of the pattern is a loiter point with a specific altitude and the second is a landing point. +The vehicle will loiter at the first point until it reaches the target altitude, and then begin the landing sequence to fly down to the specified landing spot. + +Both the loiter and land points can be dragged to new positions, and a number of other settings can be configured in the associated mission item. + +## Creating a Landing Pattern + +To create a landing pattern: + +1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + +2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Fixed Wing Landing Pattern_. + + ![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern_menu.jpg) + + This will add a _Landing Pattern_ item to the mission list (on the right). + + ![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern_mission_item_initial.jpg) + +3. Click on the map to create both the loiter point and the landing point. + These can be moved on the map. + +Additional settings are covered in the next section. + +## Settings + +The landing pattern can be further configured in the associated mission item (in the mission item list on the right hand side of the Plan View). + +### Loiter Point + +The _Loiter Point_ settings are used to configure the loiter altitude, radius and direction. + +![Landing Pattern - Loiter Point](../../../assets/plan/pattern/fixed_wing_landing_pattern_settings_loiter.jpg) + +The configurable options are: + +- **Altitude** - Loiter altitude. +- **Radius** - Loiter radius. +- **Loiter clockwise** - Check to loiter in a clockwise direction (anti-clockwise is the default). + +### Landing Point + +The _Landing Point_ settings are used to configure the landing position and path. + +![Landing Pattern - Landing Point](../../../assets/plan/pattern/fixed_wing_landing_pattern_settings_landing.jpg) + +The configurable options are: + +- **Heading** - Heading from loiter point to land point. +- **Altitude** - Altitude for landing point (nominally zero). +- _Radio Buttons_ + - **Landing Dist** - Distance between loiter point and landing point. + - **Glide Slope** - Glide slope between loiter point and landing point. +- **Altitudes relative to home** - Check to set all altitudes in mission item to be relative to home (default is AMSL). + +## Implementation + +This pattern creates three mission items: + +- `DO_LAND_START` - If you abort a landing it sends `DO_GO_AROUND` to the vehicle, which then causes the mission to return to this point and try to land again. +- `NAV_LOITER_TO_ALT` - Start point for landing +- `NAV_LAND` - End point for landing + +The vehicle flares to landing using a flight path generated by the firmware between the `NAV_LOITER_TO_ALT` point and the `NAV_LAND` point. + +If those two locations violate the vehicle's flare constraints (e.g. descent angle is too steep) an error will be raised after you upload the invalid mission to the vehicle. + +:::info +On PX4, violating the flare constraints sends an error message to the ground station at upload time, and the autopilot will refuse to start the mission (since it fails integrity checks). +::: diff --git a/docs/ru/docs/en/qgc-user-guide/plan_view/pattern_presets.md b/docs/ru/docs/en/qgc-user-guide/plan_view/pattern_presets.md new file mode 100644 index 00000000000..fc94879d5d6 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/plan_view/pattern_presets.md @@ -0,0 +1,34 @@ +# Plan View - Pattern Presets + +Allows you to save commonly used settings as a named preset. + +:::info +Currently only supported by Survey. Support for other Patterns is in development. +::: + +## Managing Presets + +![Preset Combo](../../../assets/plan/pattern/pattern_preset_combo.jpg) + +Pattern items have a new selection at the top which allows you to manage presets: + +- **Custom (specify all settings)** This allows you to _not_ use a preset and specify all settings manually. +- **Save Settings As Preset** Saves the current settings as a named preset. +- **Delete Current Preset** Deletes the currently selected preset. +- **Presets:** Below this item will be listed the available presets for this pattern. + +## Creating/Updating A Preset + +![Preset Save](../../../assets/plan/pattern/pattern_preset_save.jpg) + +When you select **Save Settings As Preset** you will be prompted for the preset name. To save new settings for an existing preset select **Save Settings As Preset** while a preset is currently selected. + +You can also specify whether you want to save the currently selected camera in the preset. If you choose not to save the camera with the preset then the current camera will be used when loading the preset. You will also be able to change to a different camera when using the preset. Unless you fly your vehicle with different cameras at different times with the same preset you should select to save the camera in the preset. + +## Viewing Preset Settings + +If you want to view what the exact settings are for a Preset switch back to **Custom (specify all settings)** which will show you all the settings. Then you can switch back to using the named preset when done. + +## Presets In A Plan File + +The currently selected Preset is also saved in the Plan file such that when you load the Plan back the preset will once again be selected. Keep in mind that presets are specific to your version of QGroundControl. If you share a Plan file with a preset with another user, incorrect behavior may occur if that other user also has a preset of the same name but different settings. diff --git a/docs/ru/docs/en/qgc-user-guide/plan_view/pattern_structure_scan_v2.md b/docs/ru/docs/en/qgc-user-guide/plan_view/pattern_structure_scan_v2.md new file mode 100644 index 00000000000..c3a73eba65d --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/plan_view/pattern_structure_scan_v2.md @@ -0,0 +1,99 @@ +# Structure Scan (Plan Pattern) + +A _Structure Scan_ allows you to create a grid flight pattern that captures images over _vertical surfaces_ (e.g. walls) around a structure with an arbitrary polygonal (or circular) ground footprint. +Structure Scans are typically used for the visual inspection or creating 3D models of structures. + +_Structure Scans_ may be inserted into a mission using the Plan view **Pattern > Structure Scan** tool. + +:::info +The new version of _Structure Scan_ can't read older _Structure Scan_ plans. They will need to be recreated. +::: + +:::warning +This feature is not yet supported by ArduPilot firmware. +It is supported in PX4. +::: + +## Overview + +The image below shows a screenshot of structure scan. +The green polygon is used to mark out the ground footprint of the structure, while the white line around it indicates the vehicle flight path. +The green numbered circle on the flight path is the scan entry/exit point (where the scan starts). + +![Structure Scan](../../../assets/plan/structure_scan_v2/structure_scan.jpg) + +The scan divides the structure evenly into layers; the vehicle flies all the way around the structure at a particular altitude and _scan distance_ from the structure, then repeats the process at each layer until the whole surface has been scanned. + +![Layer JPG](../../../assets/plan/structure_scan_v2/layers.jpg) + +Users can set the _scan bottom altitude_ to avoid obstacles at the bottom of the structure, and the _extrance/exit altitude_ to avoid obstacles as the vehicle travels to/from the scan. + +## Creating a Scan + +To create a scan: + +1. In the **Plan View** select **Pattern tool > Structure Scan**. + +![Create Scan JPG](../../../assets/plan/structure_scan_v2/create_scan.jpg) + +1. This will create a simple square structure scan on the map. + + ![Initial Polygon](../../../assets/plan/structure_scan_v2/initial_polygon_scan.jpg) + + The region shown in green must be modified so that it surrounds the structure. + + - Drag the opaque vertices on the map to the edge of the structure (example circled in mauve above). + - If the structure footprint is more than a simple square you can click the semi-transparent circles between the vertices to create a new vertix. + +2. You can also change to a circular footprint by clicking on the central "vertix" (marked in red) and selecting _Circle_ in the popup menu. + + ![Circle Scan](../../../assets/plan/structure_scan_v2/circle_scan.jpg). + + - From the popup menu you can switch back to a polygon footprint and change the radius and/or position of the scan. + - Drag the central vertix to position the centre of the circle. + +3. The rest of the configuration is handled using the _Structure Scan_ editor on the right hand side of the view. + First select whether you want to perform a manual scan, a scan using a particular camera, or a scan using a custom camera definition. + + ::: info + The main difference between the modes is that predefined cameras are already set up to correctly calculate an effective layer height and trigger distance. + ::: + + Options for the different modes are shown below. + + ![Structure Scan editor](../../../assets/plan/structure_scan_v2/editor_options.jpg) + +The user can always configure the following settings: + +- **Start scan from top/bottom:** The direction in which layers are scanned. +- **Structure height:** The height of the object being scanned. +- **Scan distance:** Distance from the structure to the flight path. +- **Entrance/Exit Alt:** Use this setting to avoid obstacles between the last/next waypoint and the structure to be scanned. + - The vehicle will fly to the _Entrance/Exit_ point at this altitude and then descend to the initial layer to start the scan. + - The vehicle will ascend to this altitude after completing the scan and then move to the next waypoint. +- **Scan Bottom Alt:** Use this setting to avoid obstacles around the base of the structure. + This adjust the bottom of the structure to be above the ground, and hence the altitude of the first scan + (the height of the lowest layer flight path is shown in the scan statistics as _Bottom Layer Alt_. +- **Rotate Entry Point:** Move the start/finish point to the next vertix/position on the flight path. + +The remaining settings depend on the _camera mode_: + +- _Manual Mode_ allows you to specify: + - **Layer height:** The height of each layer. + - **Trigger Distance:** The distance between each camera trigger. + The camera is only triggered while flying the layer path. + It does not trigger images while transitioning from one layer to the next. + - **Gimbal Pitch** - Gimbal pitch you want to use for the scan. + +- _Known/pre-defined cameras_ automatically calculates layer heights and image triggering from required image overlap, and allows you to trade off scan distance and require image resolution. + It also ensures that the camera is pointed directly at the surface when it is capturing images (i.e. at a right angle rather than some tangent). + The settings are: + + - **Camera Orientation:** Portrait or Landscape + - _Overlap_: + - **Front Lap:** Image overlap from top to bottom (increasing shrinks layer height and increases layer count). + - **Side Lap:** Image overlap at sides (increasing takes more images in each lap/layer scan). + - **Scan distance:** Distance from the structure to the flight path. + - **Ground Res:** Required image resolution/sample quality of surface. + +- _Custom camera_ selection allows you to enter your own camera characteristics, but otherwise behaves the same as a predefined camera. diff --git a/docs/ru/docs/en/qgc-user-guide/plan_view/pattern_survey.md b/docs/ru/docs/en/qgc-user-guide/plan_view/pattern_survey.md new file mode 100644 index 00000000000..db492c27206 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/plan_view/pattern_survey.md @@ -0,0 +1,130 @@ +# Survey (Plan Pattern) + +A survey allows you to create a grid flight pattern over a polygonal area. +You can specify an arbitrary polygon, the angle and other properties of the grid, and camera settings appropriate for creating geotagged images. + +::: warning +If the survey area has significant elevation variation then consider enabling [Terrain Following](#terrain). + +When planning a Survey using camera specifications, the ground under the survey area are assumed to be flat - i.e. at the same altitude as the launch/home location. +If the ground elevation under the survey is either higher or lower than the home location the effective overlap in images will be less or more (respectively) than calculated. +If ground elevation under the survey area is _significantly_ higher than the home location you could inadvertently plan a mission path that causes the vehicle to fly into ground-level obstacles. + +Using terrain following ensures that the survey more closely matches the desired altitude above terrain, and reduces the likelihood of planning a mission that is too close to ground level. +::: + +![Survey](../../../assets/plan/survey/survey.jpg) + +## Creating a Survey + +To create a survey: + +1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + +2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Survey_. + + ![Survey Menu](../../../assets/plan/survey/survey_menu.jpg) + + This will add a survey grid to the map, and a _Survey_ item to the mission list (on the right). + +3. On the map drag the vertices to change the shape of the polygon. + +4. Click the `(+)` symbol between existing vertices to create a new vertix. + The new vertix can then be dragged into a new position. + +The survey settings are covered in the next section. + +## Settings + +The survey can be further configured in the associated mission item (in the mission item list on the right hand side of the _Plan View_). + +### Camera + +Camera triggering behaviour depends on the camera/camera settings. +You can select an existing camera, custom camera, or manually enter the settings. +The list of available cameras (QGC 3.4) is given below. + +![Survey - Camera Select](../../../assets/plan/survey/survey_camera_select.jpg) + +#### Known Camera {#known\_camera} + +Selecting a known camera from the option dropdown generates a grid pattern based on the camera capabilities. + +![Survey - Camera Sony](../../../assets/plan/survey/survey_camera_sony.jpg) + +The default settings can be tuned for your survey using the configuration options: + +- **Landscape/Portrait** - Camera orientation relative to the "normal" orientation of the vehicle. +- **Overlap** - Overlap between each image capture. + This can be configured separately for when flying along grid lines or across them. +- Select one of: + - **Altitude** - Survey altitude (ground resolution will be calculated/displayed for this altitude). + - **Ground resolution** - Ground resolution for each image (altitude required to achieve this resolution calculated and shown). + +#### Custom Camera {#custom\_camera} + +Selecting the custom camera option allows you to specify the settings for a new camera in a similar way to a known camera. + +![Survey - Custom Camera](../../../assets/plan/survey/survey_camera_custom.jpg) + +The camera-specific settings are: + +- **Sensor width/height** - The size of the image sensor of the camera. +- **Image width/height** - The resolution of the image captured by the camera. +- **Focal Length** - The focal length of the camera lens. + +The remaining settings are the same as for a [known camera](#known_camera). + +#### Manual Camera + +The manual camera option allows you to specify desired survey height, trigger interval and appropriate grid spacing for your camera. + +![Survey - Manual Camera Settings](../../../assets/plan/survey/survey_camera_manual.jpg) + +The configurable options are: + +- **Altitude** - Survey altitude to fly the whole grid. +- **Trigger Distance** - The distance over ground between each camera shot. +- **Spacing** - Distance between adjacent grid (flight path) lines across the corridor. + +### Transects + +The _Transects_ section is used for grid settings that are independent of the camera used. + +![Survey - Transects](../../../assets/plan/survey/survey_transects.jpg) + +The configurable options are: + +- **Angle** - The angle of the grid lines, relative to North. + ![Survey - Angle](../../../assets/plan/survey/survey_transects_angle.jpg) +- **Turnaround dist** - Amount of additional distance to add outside the survey area for vehicle turn around. +- **Rotate Entry Point** - Press button to swap the start and end point of the survey. +- **Hover and capture image** - Hover to capture images (multicopter only). +- **Refly at 90 degree offset** - Check to refly the whole mission at a 90 degree offset. + ![Survey - Fly Offset](../../../assets/plan/survey/survey_transects_offset.jpg) +- **Images in turnarounds** - Check to take images when turning +- **Relative altitude** - Check to make specified altitudes relative to home (if unchecked they are AMSL). + +### Terrain + +By default, a flying vehicle will follow the survey path at a fixed altitude. +Enabling _Terrain Following_ makes the vehicle maintain a constant height relative to ground. + +![Survey - Terrain Following Settings](../../../assets/plan/survey/survey_terrain.jpg) + +:::info +Terrain following uses terrain heights queried from _AirMap_ servers. +::: + +The configurable options are: + +- **Vehicle follows terrain** - Check to enable terrain following (and display the following options). + - **Tolerance** - The accepted deviation in altitude from the target altitude. + - **Max Climb Rate** - Maximum climb rate when following terrain. + - **Max Descent Rate** - Maximum descent rate when following terrain. + +### Statistics + +The _Statistics_ section shows the calculated survey area, photo interval, photo spacing and planned photo count. + +![Survey - Statistics](../../../assets/plan/survey/survey_statistics.jpg) diff --git a/docs/ru/docs/en/qgc-user-guide/plan_view/plan_geofence.md b/docs/ru/docs/en/qgc-user-guide/plan_view/plan_geofence.md new file mode 100644 index 00000000000..49780949b6d --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/plan_view/plan_geofence.md @@ -0,0 +1,60 @@ +# Plan View - GeoFence + +GeoFences allow you to create virtual regions within which the vehicle can fly, or in which it is _not allowed_ to fly. +You can also configure the action taken if you fly outside permitted areas. + +![Geofence overview](../../../assets/plan/geofence/geofence_overview.jpg) + +:::info +**ArduPilot users:** GeoFence support is only supported by Rover 3.6 and Copter 3.7 or higher. It also requires usage of a Daily build or Stable 3.6 (once available). +_QGroundControl_ will not display the GeoFence options if they are not supported by the connected vehicle. +::: + +## Create a Geofence + +To create a GeoFence: + +1. Navigate to the Plan View + +2. Select the _Geofence_ radio button above the Mission Command List + + ![Select geofence radio button](../../../assets/plan/geofence/geofence_select.jpg) + +3. Insert a circular or polygon region by pressing the **Circular Fence** or **Polygon Fence** button, respectively. + A new region will be added to the map and to the associated list of fences below the buttons. + +:::tip +You can create multiple regions by pressing the buttons multiple times, allowing complex geofence definitions to be created. +::: + +- Circular region: + + ![Circular Geofence](../../../assets/plan/geofence/geofence_circular.jpg) + + - Move the region by dragging the central dot on the map + - Resize the circle by dragging the dot on the edge of the circle (or you can change the radius value in the fence panel). + +- Polygon region: + + ![Polygon Geofence](../../../assets/plan/geofence/geofence_polygon.jpg) + + - Move the vertices by dragging the filled dots + - Create new vertices by clicking the "unfilled" dots on the lines between the filled vertices. + +1. By default new regions are created as _inclusion_ zones (vehicles must stay within the region). + Change them to exclusion zones (where the vehicle can't travel) by unchecking the associated _Inclusion_ checkbox in the fence panel. + +## Edit/Delete a GeoFence + +You can select a geofence region to edit by selecting its _Edit_ radio button in the GeoFence panel. +You can then edit the region on the map as described in the previous section. + +Regions can be deleted by pressing the associated **Del** button. + +## Upload a GeoFence + +The GeoFence is uploaded in the same way as a mission, using **File** in the [Plan tools](../plan_view/plan_view.md). + +## Remaining tools + +The rest of the tools work exactly as they do while editing a Mission. diff --git a/docs/ru/docs/en/qgc-user-guide/plan_view/plan_rally_points.md b/docs/ru/docs/en/qgc-user-guide/plan_view/plan_rally_points.md new file mode 100644 index 00000000000..d23a284eb28 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/plan_view/plan_rally_points.md @@ -0,0 +1,35 @@ +# Plan View - Rally Points + +Rally Points are alternative landing or loiter locations. +They are typically used to provide a safer or more convenient (e.g. closer) destination than the home position in Return/RTL mode. + +:::info +Rally Points are only supported by ArduPilot on Rover 3.6 and Copter 3.7 (or higher). +PX4 support is planned in PX4 v1.10 timeframes. +It also requires usage of a Daily build or Stable 3.6 (once available). +_QGroundControl_ will not display the Rally Point options if they are not supported by the connected vehicle. +::: + +![Rally Points](../../../assets/plan/rally/rally_points_overview.jpg) + +## Rally Point Usage + +To create Rally Points: + +1. Navigate to the Plan View +2. Select the _Rally_ radio button above the Mission Command List +3. Click the map wherever you want rally points. + - An **R** marker is added for each + - the currently active marker has a different colour (green) and can be edited using the _Rally Point_ panel. +4. Make any rally point active by selecting it on the map: + - Move the active rally point by either dragging it on the map or editing the position in the panel. + - Delete the active rally point by selecting the menu option on the _Rally Point_ panel + ![Delete Rally Point](../../../assets/plan/rally/rally_points_delete.jpg) + +## Upload Rally Points + +Rally points are uploaded in the same way as a mission, using **File** in the [Plan tools](../plan_view/plan_view.md). + +## Remaining tools + +The rest of the tools work exactly as they do while editing a Mission. diff --git a/docs/ru/docs/en/qgc-user-guide/plan_view/plan_view.md b/docs/ru/docs/en/qgc-user-guide/plan_view/plan_view.md new file mode 100644 index 00000000000..27e97e1375d --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/plan_view/plan_view.md @@ -0,0 +1,205 @@ +# Plan View + +The _Plan View_ is used to plan _autonomous missions_ for your vehicle, and upload them to the vehicle. Once the mission is [planned](#plan_mission) and sent to the vehicle, you switch to the [Fly View](../fly_view/fly_view.md) to fly the mission. + +It is also use to configure the [GeoFence](plan_geofence.md) and [Rally Points](plan_rally_points.md) if these are supported by the firmware. + + +![Plan View](../../../assets/plan/plan_view_overview.jpg) + +## UI Overview {#ui\_overview} + +The [screenshot above](#plan_screenshot) shows a simple mission plan that starts with a takeoff at the [Planned Home](#planned_home) position (H), +flies through three waypoints, and then lands on the last waypoint (i.e. waypoint 3). + +The main elements of the UI are: + +- **Map:** Displays the numbered indicators for the current mission, including the [Planned Home](#planned_home). + Click on the indicators to select them (for editing) or drag them around to reposition them. +- **Plan Toolbar:** Status information for the currently selected waypoint relative to the previous waypoint, as well as statistics for the entire mission (e.g. horizontal distance and time for mission). + - `Max telem dist` is the distance between the [Planned Home](#planned_home) and the furthest waypoint. + - When connected to a vehicle it also shows an **Upload** button, can be used to upload the plan to the vehicle. +- **[Plan Tools](#plan_tools):** Used to create and manage missions. +- **[Mission Command List/Overlay](#mission_command_list):** Displays the current list of mission items (select items to [edit](#mission_command_editors)). +- **Terrain Altitude Overlay:** Shows the relative altitude of each mission command. + +It shows you information related to the currently selected waypoint as well as statistics for the entire mission. + +## Planning a Mission {#plan\_mission} + +At very high level, the steps to create a mission are: + +1. Change to _Plan View_. +2. Add waypoints or commands to the mission and edit as needed. +3. Upload the mission to the vehicle. +4. Change to _Fly View_ and fly the mission. + +The following sections explain some of the details in the view. + +## Planned Home Position {#planned\_home} + +The _Planned Home_ shown in _Plan View_ is used to set the approximate start point when planning a mission (i.e. when a vehicle may not even be connected to QGC). +It is used by QGC to estimate mission times and to draw waypoint lines. + +![Planned Home Position](../../../assets/plan/mission/mission_settings_planned_home.jpg) + +You should move/drag the planned home position to roughly the location where you plan to takeoff. +The altitude for the planned home position is set in the [Mission Settings](#mission_settings) panel. + + + +:::tip +The Fly View displays the _actual_ home position set by the vehicle firmware when it arms (this is where the vehicle will return in Return/RTL mode). +::: + +## Plan Tools {#plan\_tools} + +The plan tools are used for adding individual waypoints, easing mission creation for complicated geometries, uploading/downloading/saving/restoring missions, and for navigating the map. The main tools are described below. + +:::info +**Center map**, **Zoom In**, **Zoom Out** tools help users better view and navigate the _Plan view_ map (they don't affect the mission commands sent to the vehicle). +::: + +### Add Waypoints + +Click on the **Add Waypoint** tool to activate it. While active, clicking on the map will add new mission waypoint at the clicked location. +The tool will stay active until you select it again. +Once you have added a waypoint, you can select it and drag it around to change its position. + +### File (Sync) {#file} + +The _File tools_ are used to move missions between the ground station and vehicle, and to save/restore them from files. +The tool displays an `!` to indicate that there are mission changes that you have not sent to the vehicle. + +:::info +Before you fly a mission you must upload it to the vehicle. +::: + +The _File tools_ provide the following functionality: + +- Upload (Send to vehicle) +- Download (Load from vehicle) +- Save/Save as to File, including as KML file. +- Load from File +- Remove All (removes all mission waypoints from _Plan view_ and from vehicle) + +### Pattern + +The [Pattern](Pattern.md) tool simplifies the creation of missions for flying complex geometries, including [surveys](../plan_view/pattern_survey.md) and [structure scans](../plan_view/pattern_structure_scan_v2.md). + +## Mission Command List {#mission\_command\_list} + +Mission commands for the current mission are listed on the right side of the view. +At the top are a set of options to switch between editing the mission, GeoFence and rally points. +Within the list you can select individual mission items to edit their values. + +![Mission Command List](../../../assets/plan/mission/mission_command_list.jpg) + +### Mission Command Editors {#mission\_command\_editors} + +Click on a mission command in the list to display its editor (in which you can set/change the command attributes). + +You can change the **type** of the command by clicking on the command name (for example: _Waypoint_). +This will display the _Select Mission Command_ dialog shown below. +By default this just displays the "Basic Commands", but you can use the **Category** drop down menu to display more (e.g. choose **All commands** to see all the options). + + + +To the right of each command name is a menu that you can click to access to additional options such as _Insert_ and _Delete_. + +:::info +The list of available commands will depend on firmware and vehicle type. +Examples may include: Waypoint, Start image capture, Jump to item (to repeat mission) and other commands. +::: + +### Mission Settings {#mission\_settings} + +The _Mission Start_ panel is the first item that appears in the [mission command list](#mission_command_list). +It may be used to specify a number default settings that may affect the start or end of the mission. + +![Mission Command List - showing mission settings](../../../assets/plan/mission_start.png) + +![Mission settings](../../../assets/plan/mission/mission_settings.png) + +#### Mission Defaults + +##### Waypoint alt + +Set the default altitude for the first mission item added to a plan (subsequent items take an initial altitude from the previous item). +This can also be used to change the altitude of all items in a plan to the same value; you will be prompted if you change the value when there are items in a plan. + +##### Flight speed + +Set a flight speed for the mission that is different than the default mission speed. + +#### Mission End + +##### Return to Launch after mission end + +Check this if you want your vehicle to Return/RTL after the final mission item. + +#### Planned Home Position + +The [Planned Home Position](#planned_home) section allows you to simulate the vehicle's home position while planning a mission. +This allows you to view the waypoint trajectory for your vehicle from takeoff to mission completion. + +![MissionSettings Planned Home Position Section](../../../assets/plan/mission/mission_settings_planned_home_position_section.jpg) + +:::info +This is only the _planned_ home position and you should place it where you plan to start the vehicle from. +It has no actual impact on flying the mission. +The actual home position of a vehicle is set by the vehicle itself when arming. +::: + +This section allows you to set the **Altitude** and **Set Home to Map Centre** +(you can move it to another position by dragging it on the map). + +#### Camera + +The camera section allows you to specify a camera action to take, control the gimbal and set your camera into photo or video mode. + +![MissionSettings Camera Section](../../../assets/plan/mission/mission_settings_camera_section.jpg) + +The available camera actions are: + +- No change (continue current action) +- Take photos (time) +- Take photos (distance) +- Stop taking photos +- Start recording video +- Stop recording video + +#### Vehicle Info + +The appropriate mission commands for the vehicle depend on the firmware and vehicle type. + +If you are planning a mission while you are _connected to a vehicle_ the firmware and vehicle type will be determined from the vehicle. +This section allows you to specify the vehicle firmware/type when not connected to a vehicle. + +![MissionSettings VehicleInfoSection](../../../assets/plan/mission/mission_settings_vehicle_info_section.jpg) + +The additional value that can be specified when planning a mission is the vehicle flight speed. +By specifying this value, total mission or survey times can be approximated even when not connected to a vehicle. + +## Troubleshooting + +### Mission (Plan) Upload/Download Failures {#plan\_transfer\_fail} + +Plan uploading and downloading can fail over a noisy communication link (affecting missions, GeoFence, and rally points). +If a failure occurs you should see a status message in the QGC UI similar to: + +> Mission transfer failed. Retry transfer. Error: Mission write mission count failed, maximum retries exceeded. + +The loss rate for your link can be viewed in [Settings View > MAVLink](../settings_view/mavlink.md). +The loss rate should be in the low single digits (i.e. maximum of 2 or 3): + +- A loss rate in the high single digits can lead to intermittent failures. +- Higher loss rates often lead to 100% failure. + +There is a much smaller possibility that issues are caused by bugs in either flight stack or QGC. +To analyse this possibility you can turn on [Console Logging](../settings_view/console_logging.md) for Plan upload/download and review the protocol message traffic. + +## Further Info + +- New Plan View features for [QGC release v3.2](../releases/stable_v3.2_long.md#plan_view) +- New Plan View features for [QGC release v3.3](../releases/stable_v3.3_long.md#plan_view) diff --git a/docs/ru/docs/en/qgc-user-guide/releases/daily_build_new_features.md b/docs/ru/docs/en/qgc-user-guide/releases/daily_build_new_features.md new file mode 100644 index 00000000000..6b298f7f00e --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/releases/daily_build_new_features.md @@ -0,0 +1,7 @@ +# Daily Build Major Changes + +This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ since the last [stable release](../releases/release_notes.md). +These features are available in [daily builds](../releases/daily_builds.md). +There is also a [Change Log](https://github.com/mavlink/qgroundcontrol/blob/master/ChangeLog.md) available for viewing. + +- TBD diff --git a/docs/ru/docs/en/qgc-user-guide/releases/daily_builds.md b/docs/ru/docs/en/qgc-user-guide/releases/daily_builds.md new file mode 100644 index 00000000000..0550549176e --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/releases/daily_builds.md @@ -0,0 +1,32 @@ +# Daily Builds + +Daily Builds of _QGroundControl_ have the absolute latest set of [new features](../releases/daily_build_new_features.md). + +:::warning +Daily Builds are less tested than stable builds. +Use at your own risk! +::: + +These can be downloaded from the links below (install as described in [Download and Install](../getting_started/download_and_install.md)): + +- [Windows](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl-installer.exe) + +- [OS X](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl.dmg) + + ::: info + QGroundControl continues to not be signed which causes problem on Catalina. To open QGC app for the first time: + + - Right-click the QGC app icon, select Open from the menu. You will only be presented with an option to Cancel. Select Cancel. + - Right-click the QGC app icon again, Open from the menu. This time you will be presented with the option to Open. + + ::: + +- [Linux](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl.AppImage) + +- [Android](https://play.google.com/store/apps/details?id=org.mavlink.qgroundcontrolbeta) - Google Play: Listed as _QGroundControl (Daily Test Build)_. + +- iOS currently unavailable + +:::info +The QGroundControl Continous Delivery pipeline from time to time might experience issues uploading to the Google Play store. You can find the daily build APK for Android devices for direct download here: [QGroundControl32.apk](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl32.apk), and [QGroundControl64.apk](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl64.apk) +::: diff --git a/docs/ru/docs/en/qgc-user-guide/releases/index.md b/docs/ru/docs/en/qgc-user-guide/releases/index.md new file mode 100644 index 00000000000..dec0acc68b7 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/releases/index.md @@ -0,0 +1,3 @@ +# Releases + +This section contains information about releases and daily builds. diff --git a/docs/ru/docs/en/qgc-user-guide/releases/privacy_policy.md b/docs/ru/docs/en/qgc-user-guide/releases/privacy_policy.md new file mode 100644 index 00000000000..44718df6e95 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/releases/privacy_policy.md @@ -0,0 +1,8 @@ +# Privacy Policy + +_QGroundControl_ may require access to personal and/or sensitive user data. None of this data is used outside of _QGroundControl_. + +The list below explains how some of the data is used: + +- Camera sensor: This is used for the purpose of overlaying the video with flight telemetry data. +- Location: This is used for tracking current user position on the map. diff --git a/docs/ru/docs/en/qgc-user-guide/releases/release_notes.md b/docs/ru/docs/en/qgc-user-guide/releases/release_notes.md new file mode 100644 index 00000000000..54dfa2f76de --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/releases/release_notes.md @@ -0,0 +1,255 @@ +# Release Notes + +This topic contains the cumulative release notes for _QGroundControl_. + +:::info +Stable build major/minor numbers are listed below. +_Patch_ release numbers are not listed, but can be found on the [Github release page](https://github.com/mavlink/qgroundcontrol/releases). +::: + +## Stable Version 4.0 (current) + +:::info +The format for Settings in QGC had to change in this release. Which means all QGC settings will be reset to defaults. +::: + +- Settings + - Language: Allow selection of language + - Optional [CSV Logging](../settings_view/csv.md) of telemetry data for improved accessibility. + - ArduPilot + - Mavlink: Configurable stream rate settings +- Setup + - Joystick + - New joystick setup ui + - Ability to configure held button to single or repeated action + - ArduPilot + - Motor Test + - ArduSub + - Automatic motor direction detection +- Plan + - Create Plan from template with wizard like progression for completing full Plan. + - Survey: Save commonly used settings as a Preset + - Polygon editing + - New editing tools ui + - Support for tracing a polygon from map locations + - ArduPilot + - Support for GeoFence and Rally Points using latest firmwares and mavlink v2 +- Fly + - Click to ROI support + - Added support for connecting to ADSB SBS server. Adds support for ADSB data from USB SDR Dongle running 'dump1090 --net' for example. + - Ability to turn on Heading to home, COG and Next Waypoint heading indicators in Compass. + - Video + - Add support for h.265 video streams + - Automatically add a [Video Overlay](../fly_view/video_overlay.md) with flight data as a subtitle for locally-recorded videos + - Vehicle type specific pre-flight checklists. Turn on from Settings. +- Analyze + - New Mavlink Inspector which includes charting support. Supported on all builds including Android and iOS. +- General + - Released Windows build are now 64 bit only + - Log Replay: Ability to specify replay speed + - ArduPilot + - Improved support for chibios firmwares and ArduPilot bootloader with respect to flashing and auto-connect. + +Additional notes for some features can be found here: [v4.0 (Additional Notes)](../releases/stable_v4.0_additional.md). + +## Stable Version 3.5 + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.5. + +- **Overall** + - Added Airmap integration to QGC. OSX build only. + - Bumped settings version (now 8). + This will cause all settings to be reset to defaults. + - Added Chinese and Turkish localization and partial German localization. + - Added support for the Taisync 2.4GHz ViUlinx digital HD wireless link. + - Fix loading of parameters from multiple components. + This especially affected WiFi connections. + - **ArduPilot** Support for ChibiOS firmware connect and flash. +- **Settings** + - **RTK** Add support for specifying fixed RTK based station location in Settings/General. + - **GCS Location** + - Added UDP Port option for NMEA GPS Device. + - GCS heading shown if available +- **Plan** + - **Polygons** Support loading polygons from SHP files. + - **Fixed Wing Landing Pattern** Add stop photo/video support. + Defaults to on such that doing an RTL will stop camera. + - **Edit Position dialog** Available on polygon vertices. +- **Fly** + - **Camera Page** Updated support for new MAVLInk camera messages. + Camera select, camera mode, start/stop photo/video, storage mangement... + - **Orbit** Support for changing rotation direction. + - **Instrument Panel** + - Added ESTIMATOR\_STATUS values to new estimatorStatus Vehicle FactGroup. + These are now available to display in instrument panel. + - Make Distance to GCS available for display from instrument panel. + - Make Heading to Home available for display from instrument panel. + +## Stable Version 3.4 + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.4. Not to mention the large number of bug fixes in each stable release. + +- **Settings** + - **Offline Maps** + - Center Tool allows you to specify a map location in lat/lon or UTM coordinates. Making it easier to get to the location you want to create an offline map for. + - Ability to pre-download terrain heights for offline use. + - **Help** Provides links to QGC user guide and forums. + +- **Setup** + - **Firmware** Ability to flash either PX4 or ArduPilot Flow firmware. + - PX4 Pro Firmware + - **Flight Modes** Specify channels for all available transmitter switches. + - **Tuning: Advanced** Initial implementation of vehicle PID tuning support. Note that this is a work in progress that will improve in 3.5 daily builds. + - ArduPilot Firmware + - **Power/Safety** Support for new multi-battery setup. + - **Trad Heli** New setup page. + +- **Plan** + + - **File Load/Save** New model for Plan file loading which matches a standard File Load/Save/Save As user model. + + - **Load KML** Ability to load a KML file directly from the Sync menu. You will be prompted for what type of Pattern you want to create from the KML if needed. + + - **Survey** Better support for irregular shaped polygons. + + - **[Corridor Scan](../plan_view/pattern_corridor_scan.md)** - Create a flight pattern which follows a poly-line. For example can be used to survey a road. + + - **[Fixed Wing Landing Pattern](../plan_view/pattern_fixed_wing_landing.md)** + - Landing area visually represented in Plan. + - Landing position/heading can be copied from Vehicle position/heading. + + - **Terrain** + + - Height of mission items can be specified as height above terrain. + - Survey and Corridor Scan can generate flight plans which follow terrain. + + ::: info + This feature does not support [ArduPilot terrain following](http://ardupilot.org/copter/docs/common-terrain-following.html). + ::: + + - **Edit Position** Set item position from vehicle position. + +- **Fly** + - **Pre-Flight Checklist** You can turn this on from Settings. It provides a generic checklist to follow prior to flight. Expect more feature to appear for this in 3.5 daily builds. + - **Instrument Panel** + - Many new values available for display. + - New Camera page which provides full camera control. Requires a camera which support new MavLink camera specification. + - **ArduPlane** Much better support for guided commands including QuadPlane support. + - **High Latency Links** Support for high latency links such as satellite connections. + Limits the traffic from QGC up to Vehicle on these links to reduce cost. + Supports HIGH\_LATENCY MavLink message. + Supports failover back/forth from high latency to normal link with dual link setup. + +## Stable Version 3.3 + +:::tip +More detailed release notes for version 3.3 can be found [here](../releases/stable_v3.3_long.md). +::: + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.3. Not to mention the large number of bug fixes of this release. + +- **Settings** + - Local NMEA GPS device support. + - Video Recording save settings. +- **Setup** + - **Parameter Editor** - Searching updates as you type characters for near immediate response to searches. + - **Joystick** - Android joystick support. +- **Plan** + - **NEW - Structure Scan Pattern** - Create a multi-layered flight pattern that captures images over vertical surfaces (polygonal or circular). Used for 3d model generation or vertical surface inspection. + - **Fixed Wing Landing Pattern** - You can now adjust the distance from the loiter to land point by either distance or glide slope fall rate. + - PX4 GeoFence and Rally Point support. + - Terrain height display in lower Mission Item altitude display +- **Fly** + - Start/Stop video recording. + - Better display of vehicle icons when connected to multiple vehicles. + - Multi-Vehicle View supports commands which apply to all vehicles. + - Displays vehicles reported from ADS-B sensor. +- **Analyze** + - **Mavlink console** - New support for communicating with Mavlink console. + - **Log Download** - Moved from Menu to Analyze view. + +## Stable Version 3.2 + +:::tip +More detailed release notes for version 3.2 can be found [here](../releases/stable_v3.2_long.md). +::: + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.2. + +- **Settings** + + - **File Save path** - Specify a save path for all files used by QGC. + - **Telemetry log auto-save** - Telemetry logs are now automatically saved without prompting. + - **AutoLoad Plans** - Used to automatically load a Plan onto a vehicle when it first connects. + - **RTK GPS** - Specify the Survey in accuracy and Minimum observation duration. + +- **Setup** + + - ArduPilot only + - **Pre-Flight Barometer and Airspeed calibration** - Now supported + - **Copy RC Trims** - Now supported + +- **Plan View** + + - **Plan files** - Missions are now saved as .plan files which include the mission, geo-fence and rally points. + - **Plan Toolbar** - New toolbar which shows you mission statistics and Upload button. + - **Mission Start** - Allows you to specify values such as flight speed and camera settings to start the mission with. + - **New Waypoint features** - Adjust heading and flight speed for each waypoint as well as camera settings. + - **Visual Gimbal direction** - Gimbal direction is shown on waypoint indicators. + - **Pattern tool** - Allows you to add complex patterns to a mission. + - Fixed Wing Landing (new) + - Survey (many new features) + - **Fixed Wing Landing Pattern** - Adds a landing pattern for fixed wings to your mission. + - **Survey** - New features + - **Take Images in Turnarounds** - Specify whether to take images through entire survey or just within each transect segment. + - **Hover and Capture** - Stop vehicle at each image location and take photo. + - **Refly at 90 degree offset** - Add additional pattern at 90 degree offset to original so get better image coverage. + - **Entry location** - Specify entry point for survey. + - **Polygon editing** - Simple on screen mechanism to drag, resize, add/remove points. Much better touch support. + +- **Fly View** + + - **Arm/Disarm** - Available from toolbar. + - **Guided Actions** - New action toolbar on the left. Supports: + - Takeoff + - Land + - RTL + - Pause + - Start Mission + - Resume Mission - after battery change + - Change Altitude + - Land Abort + - Set Waypoint + - Goto Location + - **Remove mission after vehicle lands** - Prompt to remove mission from vehicle after landing. + - **Flight Time** - Flight time is shown in instrument panel. + - **Multi-Vehicle View** - Better control of multiple vehicles. + +- **Analyze View** - New + + - **Log Download** - Moved to Analyze view from menu + - **Mavlink Console** - NSH shell access + +- **Support for third-party customized QGroundControl** + - Standard QGC supports multiple firmware types and multiple vehicle types. There is now support in QGC which allows a third-party to create their own custom version of QGC which is targeted specifically to their custom vehicle. They can then release their own version of QGC with their vehicle. + +## Stable Version 3.1 + +New Features + +- [Survey](../plan_view/pattern_survey.md) mission support +- [GeoFence](../plan_view/plan_geofence.md) support in Plan View +- [Rally Point](../plan_view/plan_rally_points.md) support in Plan View (ArduPilot only) +- ArduPilot onboard compass calibration +- Parameter editor search will now search as you type for quicker access +- Parameter display now supports unit conversion +- GeoTag images from log files (PX4 only) +- System health in instrument panel +- MAVLink 2.0 support (no signing yet) + +Major Bug Fixes + +- Fixed crash after disconnect from Vehicle +- Fixed android crash when using SiK Radios +- Many multi-vehicle fixes +- Bluetooth fixes diff --git a/docs/ru/docs/en/qgc-user-guide/releases/stable_v3.2_long.md b/docs/ru/docs/en/qgc-user-guide/releases/stable_v3.2_long.md new file mode 100644 index 00000000000..0056ad212fc --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/releases/stable_v3.2_long.md @@ -0,0 +1,265 @@ +# QGroundControl v3.2 Release Notes (Detailed) + +This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.2. + +## Settings + +### Telemetry log auto-save + +If you have _Save telemetry log after each flight_ turned on you will no longer be prompted as to where to save the log each time the vehicle disarms. +Logs will automatically be saved to the [Application Load/Save Path](../settings_view/general.md#load_save_path) + +For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#autosave_log). + +### AutoLoad plans + +If this setting is turned on, _QGroundControl_ will automatically upload a plan to the vehicle when it connects. +The plan file must be named **AutoLoad#.plan** where the `#` is replaced with the vehicle id. +The plan file must be located in the [Application Load/Save Path](../settings_view/general.md#load_save_path). + +For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#autoload_missions). + +### Application Load/Save Path + +You can now specify a save path which QGC will use as the default location to save files such as Parameters, Telemetry or Mission Plans. + +For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#load_save_path). + +### RTK GPS + +You can now specify the _Survey in accuracy_ and _Minimum observation duration_ for use with a connected RTK GPS. + +For more information see [Settings > General (RTK GPS)](../settings_view/general.md#rtk_gps). + +## Setup + +### ArduPilot - Pre-Flight Barometer and Airspeed calibration + +This is now supported from the Sensors page. + +### ArduPilot - Copy RC Trims + +This is now supported from the Copy Trims button on the Radio setup page. + +## Plan View {#plan\_view} + +### Plan Files + +Previous version of _QGroundControl_ saved missions, geo-fences and rally points in separate files (**.mission**, **.fence**, **.rally**). QGC now save all information related to a flight plan into a single file called a _Plan File_ with a file extension of **.plan**. + +Information about the format can be found in [Plan File Format](https://dev.qgroundcontrol.com/en/file_formats/plan.html) (QGC Developer Guide). + +### Plan Toolbar + +![Plan Toolbar](../../../assets/plan/plan_toolbar.jpg) + +The new _Plan Toolbar_ is displayed at the top of the [PlanView](../plan_view/plan_view.md). +It shows you information related to the currently selected waypoint as well as statistics for the entire mission. + +When connected to a vehicle it also shows an **Upload** button, which can be used to upload the plan to the vehicle. + +### Mission Settings + +The [Mission Settings](../plan_view/plan_view.md#mission_settings) panel allows you to specify values which apply to the entire mission, or settings you want to control right at the beginning of a mission. +This is the first item in the mission list on the right of the screen. + + + +#### Mission Defaults + +##### Waypoint alt + +This specifies the default altitude for newly added mission items. +If you update this value while you have a mission loaded it will prompt you to update all the the waypoints to this new altitude. + +##### Flight speed + +This allows you to set the flight speed for the mission to be different than the default mission speed. + +##### RTL after mission end + +Check this if you want your vehicle to RTL after the final mission item. + +#### Camera section + + + +The camera section allows you to specify a camera action to take, control the gimbal and set your camera into photo or video mode. + +The camera actions available are: + +- Continue current action +- Take photos (time) +- Take photos (distance) +- Stop taking photos +- Start recording video +- Stop recording video + +#### Vehicle Info section + + + +When planning a mission the firmware being run on the vehicle as well as the vehicle type must be known in order for QGroundControl to show you the mission commands which are appropriate for your vehicle. + +If you are planning a mission while you are connected to your vehicle the Firmware and Vehicle Type will be determined from the vehicle. If you are planning a mission while not connected to a vehicle you will need to specify this information yourself. + +The additional value that can be specified when planning a mission is the vehicle flight speed. By specifying this value, total mission or survey times can be approximated even when not connected to a vehicle. + +#### Planned Home Position + + + +The planned home position allows you to simulate the vehicle's home position while planning a mission. This way you see the waypoint trajectory for your vehicle from takeoff to mission completion. Keep in mind that this is only the "planned" home position and you should place it where you plan to start the vehicle from. It has no actual impact on flying the mission. The actual home position of a vehicle is set by the vehicle itself when arming. + +### New Waypoint features + + + +- You can now adjust heading and flight speed for each waypoint. +- There is a camera section available for camera changes on each waypoint. Explanation of Camera Section can be read under Mission Settings above. + +### Visual Gimbal direction + + + +If you specify gimbal yaw changes on waypoints, both the plan and fly views will show you a visual representation of the gimbal direction. + +### Pattern tool + +There is a new _Pattern tool_. The following patterns are supported: + +- Fixed Wing Landing (new) +- Survey (with new features) + +#### Fixed Wing Landing Pattern + +![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern.jpg) + +This adds a landing pattern for fixed wings to your mission. +The first point of the pattern is the loiter point which commands to vehicle to loiter to a specific altitude. +Once that altitude is reached, the vehicle will begin the landing sequence and fly down to the specified landing spot. + +Both the loiter and land points can be dragged to adjust. +Also all the various values associated with the pattern can be adjusted. + +For more information see [Fixed Wing Landing Pattern](../plan_view/pattern_fixed_wing_landing.md). + +#### Survey (new features) + +- Images are not automatically taken in the turnaround zone outside of the polygonal survey area. +- There is a new _Hover and Capture_ option which can be used to capture the highest quality image at each image location. The vehicle will stop at each image location prior to taking the image such that the vehicle is stable while the image is taken. +- There is a new option to re-fly the survey grid at a 90 degree angle to the previous pass. This allows you to generate much denser coverage for the images. + +![](../../../assets/plan/polygon_edit.jpg) + +Manipulating the survey area polygon is now easier to use on tablets with touch screens: + +- You can drag the entire polygon to a new location by dragging the center point handle. +- Each polygon vertex can be dragged to a new location. +- To remove a polygon vertex, simple click on the drag handle for it. +- Click on the **+** handles to add a new vertex between two existing vertices. + +## Fly View + +### RTK GPS + +RTK status is now shown in the toolbar. + +### Arm/Disarm + +There is an armed/disarmed indicator in the toolbar. You can click it to arm/disarm your vehicle. If you click Disarm in the toolbar while your vehicle is flying you will provided the option to Emergency Stop your vehicle. + +### Guided Actions + +- Takeoff +- Land +- RTL +- Pause +- Actions + - Start Mission + - Resume Mission + - Change Altitude + - Land Abort +- Direct interaction with map + - Set Waypoint + - Goto Location + +#### Resume Mission + +The Resume Mission guided action is used to resume a mission after performing an RTL from within the mission to perform a battery change. +After the vehicle lands from RTL and you have disconnected the battery **do not** disconnect QGC from the Vehicle. +Put in your new battery and QGC will detect the vehicle again and automatically restore the connection. +Once this happens you will be prompted with a Resume Mission confirmation slider. +If you want to resume the mission, confirm this and the mission will be rebuilt from your last waypoint traveled through. +Once the mission is rebuilt you will be presented with another Resume Mission slide which allows you to review the rebuilt mission before starting it again. +Confirm this Resume Mission slider to continue on with the mission. + +###### How resume mission rebuilding works + +In order to resume a mission you cannot simply continue it from the last mission item the vehicle ran. +The reason is is that may skip over important change speed commands or camera control commands which are prior to that item in the mission. +If you skipped over those the remainder of the mission will not run correctly. +In order to make resume mission work correctly QGC rebuilds the mission looking backwards from the last mission item flown and automatically appends relevant commands to the front of the mission. +By doing this the state of the mission prior to the resume point is restore. +The following mission commands are the ones scanned for: + +- `MAV_CMD_DO_CONTROL_VIDEO` +- `MAV_CMD_DO_SET_ROI` +- `MAV_CMD_DO_DIGICAM_CONFIGURE` +- `MAV_CMD_DO_DIGICAM_CONTROL` +- `MAV_CMD_DO_MOUNT_CONFIGURE` +- `MAV_CMD_DO_MOUNT_CONTROL` +- `MAV_CMD_DO_SET_CAM_TRIGG_DIST` +- `MAV_CMD_DO_FENCE_ENABLE` +- `MAV_CMD_IMAGE_START_CAPTURE` +- `MAV_CMD_IMAGE_STOP_CAPTURE` +- `MAV_CMD_VIDEO_START_CAPTURE` +- `MAV_CMD_VIDEO_STOP_CAPTURE` +- `MAV_CMD_DO_CHANGE_SPEED` +- `MAV_CMD_NAV_TAKEOFF` + +### Remove mission after vehicle lands + +You will be prompted to remove the mission from the vehicle after the mission completes and the vehicle lands and disarms. +This is meant to prevent issues where stale missions are unknowingly left on a vehicle cause unexpected behavior. + +### Instrument panel + +#### Camera trigger + +#### Flight Time + +Flight time is now available for display in the instrument panel. +For new users, flight time will be shown by default. +For existing users who have already modified their instrument panel values you will have to add it yourself if you want to use it. + +## [Analyze View](../analyze_view/index.md) + +- [Log Download](../analyze_view/log_download.md) moved to _Analyze View_ from menu. +- New [GeoTag Images](../analyze_view/geotag_images.md) support for PX4 Pro firmware +- New [MAVLink Console](../analyze_view/mavlink_console.md) which provides access the the _nsh shell_ running on the vehicle. + +## Multi-Vehicle View + +There is a new view available when you have multiple vehicles connected to QGC. It will only show up when more than one vehicle is connected. When that happens you will see an additional set of radio button at the top right of the Plan view. + + + +Click the **Multi-Vehicle** radio button to replace the instrument panel with the multi-vehicle list: + + + +The example above shows three vehicles. The numbers are the vehicle id. In the large font is the current flight mode. You can click the flight mode name to change to a different flight mode. To the right are small version of the instruments for each vehicle. You can command the vehicle to do the following actions from the control panel: + +- Arm/Disarm +- Start/Stop a mission +- Return to Launch +- Take Control back of the vehicle by returning to manual control from a mission. + +### Multi-Vehicle Gotchas - Unique vehicle ids + +Each vehicle connected to QGC must have a unique id. Otherwise QGC will think the vehicles are actually the same vehicle. The symptom of this is the Plan view jerking around as it tries to position itself to one vehicle and then the next. For PX4 Pro firmwares this is the `MAV_SYS_ID` parameter. For ArduPilot firmwares it is the `SYSID_THISMAV` parameter. + +## Support for third-party customized QGroundControl + +Standard QGC supports multiple firmware types and multiple vehicle types. There is now support in QGC which allows a third-party to create their own custom version of QGC which is targeted specifically to their custom vehicle. They can then release their own version of QGC with their vehicle. diff --git a/docs/ru/docs/en/qgc-user-guide/releases/stable_v3.3_long.md b/docs/ru/docs/en/qgc-user-guide/releases/stable_v3.3_long.md new file mode 100644 index 00000000000..4c2f86d680d --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/releases/stable_v3.3_long.md @@ -0,0 +1,96 @@ +# QGroundControl v3.3 Release Notes (Detailed) + +This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.3. + +## Detailed Notes + +### Settings View + +#### NMEA GPS Device support + +![NMEA GPS Device support](../../../assets/settings/general/NMEADevice.jpg) + +You can specify a connection to one of these devices on the General page. +The GPS information will then be used for ground station location and in turn follow me support. + +For more information see [Settings > General (AutoConnect to the following devices)](../settings_view/general.md#auto_connect). + +#### Video Recording + +![Video Recording](../../../assets/settings/video_recording.jpg) + +Videos will be saved to the Video directory of your QGC file save path. +You can also specify the maximum amount of space you want video files to consume. +After that size if exceeded the oldest video files will be removed. +Video Recording is turned on/off from the Video widget in the Fly View. + +For more information see [Settings > General (Video / Video Recording)](../settings_view/general.md#video). + +### Plan View {#plan\_view} + +#### Structure Scan + +A Structure Scan allows you to create a grid flight pattern that captures images over vertical surfaces (polygonal or circular). +These are typically used for the visual inspection or creation of 3d models of structures. + +Details [here](../plan_view/pattern_structure_scan_v2.md). + +#### New MAVLink GeoFence, Rally Point support + +![](../../../assets/plan/geofence_rally.jpg) + +QGC supports the new MAVLink GeoFence and Rally Point specification/protocol. This new system supports multiple polygonal and/or circular fences which can be specified as an exclusion or an inclusion fence. + +The fence which is currently selected by the "Edit" radio button will show the on screen editing controls such as the drag points for polygon editing. + +**Note** Only PX4 Pro firmware supports the new specification. ArduPilot does not yet support the new spec. Support for GeoFence/Rally is temporarily disabled in QGC until QGC ArduPilot code is reworked to the new architecture. + +#### Edit Position Dialog + +![](../../../assets/plan/edit_position_dialog.jpg) + +The Edit Position Dialog allows you to specify a detailed position for an item in either Geographic or UTM coordinate systems. It is available from the Polygon Tools menu as well as the hamburger menu of any mission item which specifies a coordinate: + +![](../../../assets/plan/mission_item_editor_hamburger.jpg) + +#### Polygon Tools + +![](../../../assets/plan/polygon_tools.jpg) + +You can now also click on the polygon center drag handle to bring up a set of polygon manipulation tools. The tools are available anywhere polygon editing is supported: Survey, Structure Scan, GeoFence, ... + +- Circle - Converts the polygon to a circular polygon. +- Polygon - Changes a circular polygon back to a rectangular polygon. +- Set radius - Set radius for circular polygons. +- Edit position - Displays the edit position dialog to specify a detailed position for the circular center. +- Load KML - Set polygon to polygon loaded from KML file. + +Circular polygon example: + + + +### Fly View + +#### Start/Stop Video Recording + +This is now a video record button in the video window. Settings for saved videos are available from General Page of Setup view. + +#### Multi-Vehicle vehicle indicators + +When you are connected to multiple vehicles the vehicle id will be shown below the vehicle icon. The active vehicle will be opaque and the inactive vehicles will be semi-transparent. + +![](../../../assets/fly/multi_vehicle_indicators.jpg) + +#### Multi-Vehicle View supports batch commands + +The multi-vehicle list now supports commands which apply to all vehicles. + +![](../../../assets/fly/multi_vehicle_list.jpg) + +The current list of available commands are Pause and Start Mission but that will be exapanded upon with further development. + +#### ADS-B sensor vehicle display + +Vehicle reported by ADS-B sensor on vehicle are shown on map as smaller blue icons with altitude and callsign below the icon. + +![](../../../assets/fly/adsb_vehicle.jpg) diff --git a/docs/ru/docs/en/qgc-user-guide/releases/stable_v4.0_additional.md b/docs/ru/docs/en/qgc-user-guide/releases/stable_v4.0_additional.md new file mode 100644 index 00000000000..9399f0d3702 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/releases/stable_v4.0_additional.md @@ -0,0 +1,13 @@ +# QGroundControl v4.0 Release Notes (Additional) + +This topic contains additional notes about QGroundControl 4.0. +These should be integrated into main documentation in coming months (and this document deleted). + +- [Pattern Presets](../plan_view/pattern_presets.md) - Allows you to save settings for a Pattern item (Survey, Corridor Scan, ...) into a named preset. You can then use this preset over and over again as you create new Pattern. +- ArduPilot: + - Copter - PID Tuning support ![PID Tuning JPG](../../../assets/daily_build_changes/arducopter_pid_tuning.jpg) + - Copter - Additional Basic Tuning options ![Basic Tuning JPG](../../../assets/daily_build_changes/arducopter_basic_tuning.jpg) + - Copter/Rover - Frame setup ui ![Setup Frame Copter JPG](../../../assets/daily_build_changes/arducopter_setup_frame.jpg) + - Improved support for flashing ChibiOS firmware + - Improved support for connecting to ChibiOS bootloader boards + - Support configurable mavlink stream rates. Available from Settings/Mavlink page. ![Stream Rates JPG](../../../assets/daily_build_changes/arducopter_stream_rates.jpg) diff --git a/docs/ru/docs/en/qgc-user-guide/settings_view/console_logging.md b/docs/ru/docs/en/qgc-user-guide/settings_view/console_logging.md new file mode 100644 index 00000000000..e89bb78be30 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/settings_view/console_logging.md @@ -0,0 +1,47 @@ +# Console Logging + +The _Console_ can be helpful tool for diagnosing _QGroundControl_ problems. It can be found in **SettingsView > Console**. + +![Console logging](../../../assets/support/console.jpg) + +Click the **Set Logging** button to enable/disable logging information displayed by _QGroundControl_. + +## Common Logging Options + +The most commmonly used logging options are listed below. + +| Option(s) | Description | +| ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `LinkManagerLog`, `MultiVehicleManagerLog` | Debug connection problems. | +| `LinkManagerVerboseLog` | Debug serial ports not being detected. Very noisy continuous output of available serial ports. | +| `FirmwareUpgradeLog` | Debug firmware flash issues. | +| `ParameterManagerLog` | Debug parameter load problems. | +| `ParameterManagerDebugCacheFailureLog` | Debug parameter cache crc misses. | +| `PlanManagerLog`, `MissionManagerLog`, `GeoFenceManagerLog`, `RallyPointManagerLog` | Debug Plan upload/download issues. | +| `RadioComponentControllerLog` | Debug Radio calibration issues. | + +## Logging from the Command Line + +An alternate mechanism for logging is using the `--logging` command line option. This is handy if you are trying to get logs from a situation where _QGroundControl_ crashes. + +How you do this and where the traces are output vary by OS: + +- Windows + - You must open a command prompt, change directory to the **qgroundcontrol.exe** location, and run it from there: + ```bash + cd "\Program Files (x86)\qgroundcontrol" + qgroundcontrol --logging:full + ``` + - When _QGroundControl_ starts you should see a separate console window open which will have the log output +- OSX + - You must run _QGroundControl_ from Terminal. The Terminal app is located in Applications/Utilities. Once Terminal is open paste the following into it: + ```bash + cd /Applications/qgroundcontrol.app/Contents/MacOS/ + ./qgroundcontrol --logging:full + ``` + - Log traces will output to the Terminal window. +- ## Linux + ```bash + ./qgroundcontrol-start.sh --logging:full + ``` + - Log traces will output to the shell you are running from. diff --git a/docs/ru/docs/en/qgc-user-guide/settings_view/csv.md b/docs/ru/docs/en/qgc-user-guide/settings_view/csv.md new file mode 100644 index 00000000000..ae227ea9238 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/settings_view/csv.md @@ -0,0 +1,11 @@ +# CSV Logging + +![Csv checkbox](../../../assets/settings/general/csv.jpg) + +When checked, a CSV (comma-separated value) telemetry file will be created along with the usual **.tlog** telemetry file. +The file is only created if **Save log after each flight** is enabled, and is recorded for the same duration. + +This CSV file contains the most relevant vehicle telemetry data available for quick analysis such as GPS position, attitude, battery status, and others. +It is populated at 1 Hz and while it is not as detailed as the telemetry log, it is a lot easier to work with and quicker to extract data out of. + +The file can be opened by common spreadsheet software, including: Microsoft Excel, Google Sheets, LibreOffice Calc or OpenOffice Calc. diff --git a/docs/ru/docs/en/qgc-user-guide/settings_view/general.md b/docs/ru/docs/en/qgc-user-guide/settings_view/general.md new file mode 100644 index 00000000000..f88e660ef42 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/settings_view/general.md @@ -0,0 +1,282 @@ +# General Settings (Settings View) + +The general settings (**SettingsView > General Settings**) are the main place for application-level configuration. +Settable values include: display units, autoconnection devices, video display and storage, RTK GPS, brand image, and other miscellaneous settings. + +:::info +Values are settable even if no vehicle is connected. Settings that require a vehicle restart are indicated in the UI. +::: + +![SettingsView - Full General Tab](../../../assets/settings/general/overview.jpg) + +## Units + +This section defines the display units used in the application. + +![Units settings](../../../assets/settings/general/units.jpg) + +The settings are: + +- **Distance**: Meters | Feet +- **Area**: SquareMetres | SquareFeet | SquareKilometers | Hectares | Acres | SquareMiles +- **Speed**: Metres/second | Feet/second | Miles/hour | Kilometres/hour | Knots +- **Temperature**: Celsius | Fahrenheit + +## Miscellaneous + +This section defines a number of miscellaneous settings, related to (non exhaustively): font sizes, colour schemes, map providers, map types, telemetry logging, audio output, low battery announcement levels, default mission altitude, [virtual joysticks](../settings_view/virtual_joystick.md), mission autoloading, default application file load/save path etc. + +![Miscellaneous settings](../../../assets/settings/general/miscellaneous.jpg) + +The settings are: + +- **Language**: System (System Language) | Bulgarian, Chinese, ... + + ![Display languages](../../../assets/settings/general/languages.jpg) + + Translations are generally built into the application and selected automatically based on the system language. + + Metadata downloaded from the vehicle (such as parameter descriptions) might have translations as well. + These are downloaded from the internet upon vehicle connection. The translations are then cached locally. + This means an internet connection during vehicle connection is required at least once. + +- **Color Scheme**: Indoor (Dark) | Outdoor (Light) + +- **Map Provider**: Google | Mapbox | Bing | Airmap | VWorld | Eniro | Statkart + +- **Map Type**: Road | Hybrid | Satellite + +- **Stream GCS Position**: Never | Always | When in Follow Me Flight Mode. + +- **UI Scaling**: UI scale percentage (affects fonts, icons, button sizes, layout etc.) + +- **Mute all audio output**: Turns off all audio output. + +- **Check for Internet Connection**: Uncheck to allow maps to be used in China/places where map tile downloads are likely to fail (stops the map-tile engine continually rechecking for an Internet connection). + +- **Autoload Missions**: If enabled, automatically upload a plan to the vehicle on connection. + - The plan file must be named **AutoLoad#.plan**, where the `#` is replaced with the vehicle id. + - The plan file must be located in the [Application Load/Save Path](#load_save_path). + +- **Clear all settings on next start**: Resets all settings to the default (including this one) when _QGroundControl_ restarts. + +- **Announce battery lower than**: Battery level at which _QGroundControl_ will start low battery announcements. + +- **Application Load/Save Path**: Default location for loading/saving application files, including: parameters, telemetry logs, and mission plans. + +## Data Persistence {#data\_persistence} + +![Data Persistence Settings](../../../assets/settings/general/data_persistence.jpg) + +The settings are: + +- **Disable all data persistence**: Check to prevent any data being saved or cached: logs, map tiles etc. + This setting disables the [telemetry logs section](#telemetry_logs). + +## Telemetry Logs from Vehicle {#telemetry\_logs} + +![Telemetry Logs from Vehicle Settings](../../../assets/settings/general/telemetry_logs.jpg) + +The settings are: + +- **Save log after each flight**: Telemetry logs (`.tlog`) automatically saved to the _Application Load/Save Path_ ([above](#load_save_path)) after flight. +- **Save logs even if vehicle was not armed**: Logs when a vehicle connects to _QGroundControl_. + Stops logging when the last vehicle disconnects. +- [**CSV Logging**](csv.md): Log subset of telemetry data to a CSV file. + +## Fly View {#fly\_view} + +![Fly View Settings](../../../assets/settings/general/fly_view.jpg) + +The settings are: + +- **Use Preflight Checklist**: Enable pre-flight checklist in Fly toolbar. + +- **Enforce Preflight Checklist**: Checklist completion is a pre-condition for arming. + +- **Keep Map Centered on Vehicle**: Forces map to center on the currently selected vehicle. + +- **Show Telemetry Log Replay Status Bar**: Display status bar for [Replaying Flight Data](../fly_view/replay_flight_data.md). + +- **Virtual Joystick**: Enable [virtual joysticks](../settings_view/virtual_joystick.md) (PX4 only) + +- **Use Vertical Instrument Panel**: Align instrument panel vertically rather than horizontally (default). + +- **Show additional heading indicators on Compass**: Adds additional indicators to the compass rose: + +- _Blue arrow_: course over ground. + +- _White house_: direction back to home. + +- _Green line_: Direction to next waypoint. + +- **Lock Compass Nose-Up**: Check to rotate the compass rose (default is to rotate the vehicle inside the compass indicateor). + +- **Guided Minimum Altitude**: Minimum value for guided actions altitude slider. + +- **Guided Maximum Altitude**: Minimum value for guided actions altitude slider. + +- **Go To Location Max Distance**: The maximum distance that a Go To location can be set from the current vehicle location (in guided mode). + +## Plan View {#plan\_view} + +![Plan View Settings](../../../assets/settings/general/plan_view.jpg) + +The settings are: + +- **Default Mission Altitude**: The default altitude used for the Mission Start Panel, and hence for the first waypoint. + +## AutoConnect to the following devices {#auto\_connect} + +This section defines the set of devices to which _QGroundControl_ will auto-connect. + +![Device autoconnect settings](../../../assets/settings/general/autoconnect_devices.jpg) + +Settings include: + +- **Pixhawk:** Autoconnect to Pixhawk-series device +- **SiK Radio:** Autoconnect to SiK (Telemetry) radio +- **PX4 Flow:** Autoconnect to PX4Flow device +- **LibrePilot:** Autoconnect to Libre Pilot autopilot +- **UDP:** Autoconnect to UDP +- **RTK GPS:** Autoconnect to RTK GPS device +- **NMEA GPS Device:** Autoconnect to an external GPS device to get ground station position ([see below](#nmea_gps)) + +### Ground Station Location (NMEA GPS Device) {#nmea\_gps} + +_QGroundControl_ will automatically use an internal GPS to display its own location on the map with a purple `Q` icon (if the GPS provides a heading, this will be also indicated by the icon). +It may also use the GPS as a location source for _Follow Me Mode_ - currently supported on [PX4 Multicopters only](https://docs.px4.io/en/flight_modes/follow_me.html). + +You can also configure QGC to connect to an external GPS device via a serial or UDP port. +The GPS device must support the ASCII NMEA format - this is normally the case. + +:::tip +A higher quality external GPS system may be useful even if the ground station has internal GPS support. +::: + +Use the _NMEA GPS Device_ drop-down selector to manually select the GPS device and other options: + +- USB connection: + + ![NMEA GPS Device - Serial](../../../assets/settings/general/nmea_gps_serial.jpg) + + - **NMEA GPS Device:** _Serial_ + - **NMEA GPS Baudrate**: The baudrate for the serial port + + :::tip + To troubleshoot serial GPS problems: Disable RTK GPS [auto connection](#auto_connect), close _QGroundControl_, reconnect your GPS, and open QGC. + ::: + +- Network connection: + + ![NMEA GPS Device - UDP](../../../assets/settings/general/nmea_gps_udp.jpg) + + - **NMEA GPS Device:** _UDP Port_. + - **NMEA Stream UDP Port**: The UDP port on which QGC will listen for NMEA data (QGC binds the port as a server) + +## RTK GPS {#rtk\_gps} + +This section allows you to specify the RTK GPS "Survey-in" settings, to save and reuse the result of a Survey-In operation, or to directly enter any other known position for the base station. + +![RTK GPS Settings](../../../assets/settings/general/rtk_gps.jpg) + +:::info +The _Survey-In_ process is a startup procedure required by RTK GPS systems to get an accurate estimate of the base station position. +The process takes measurements over time, leading to increasing position accuracy. +Both of the setting conditions must met for the Survey-in process to complete. +For more information see [RTK GPS](https://docs.px4.io/en/advanced_features/rtk-gps.html) (PX4 docs) and [GPS- How it works](http://ardupilot.org/copter/docs/common-gps-how-it-works.html#rtk-corrections) (ArduPilot docs). +::: + +:::tip +In order to save and reuse a base position (because Survey-In is time consuming!) perform Survey-In once, select _Use Specified Base Position_ and press **Save Current Base Position** to copy in the values for the last survey. +The values will then persist across QGC reboots until they are changed. +::: + +The settings are: + +- Perform Survey-In + - **Survey-in accuracy (U-blox only):** The minimum position accuracy for the RTK Survey-In process to complete. + - **Minimum observation duration:** The minimum time that will be taken for the RTK Survey-in process. +- Use Specified Base Position + - **Base Position Latitude:** Latitude of fixed RTK base station. + - **Base Position Longitude:** Longitude of fixed RTK base station. + - **Base Position Alt (WGS94):** Altitude of fixed RTK base station. + - **Base Position Accuracy:** Accuracy of base station position information. + - **Save Current Base Position** (button): Press to copy settings from the last Survey-In operation to the _Use Specified Base Position_ fields above. + +## ADSB Server {#adsb\_server} + +![ADSB\_Server Settings](../../../assets/settings/general/adbs_server.jpg) + +The settings are: + +- **Connect to ADSB SBS server**: Check to connect to ADSB server on startup. +- **Host address**: Host address of ADSB server +- **Server port**: Port of ADSB server + +QGC can consume ADSB messages in SBS format from a remote or local server (at the specified IP address/port) and display detected vehicles on the Fly View map. + +::: tip +One way to get ADSB information from nearby vehicles is to use [dump1090](https://github.com/antirez/dump1090) to serve the data from a connected RTL-SDR dongle to QGC. + +The steps are: + +1. Get an RTL-SDR dongle (and antenna) and attach it to your ground station computer (you may need to find compatible drivers for your OS). +2. Install _dump1090_ on your OS (either pre-built or build from source). +3. Run `dump1090 --net` to start broadcasting messages for detected vehicles on TCP localhost port 30003 (127.0.0.1:30003). +4. Enter the server (`127.0.0.1`) and port (`30003`) address in the QGC settings above. +5. Restart QGC to start seeing local vehicles on the map. + +::: + +## Video {#video} + +The _Video_ section is used to define the source and connection settings for video that will be displayed in _Fly View_. + +![Video settings](../../../assets/settings/general/video_udp.jpg) + +The settings are: + +- **Video Source**: Video Stream Disabled | RTSP Video Stream | UDP h.264 Video Stream | UDP h.265 Video Stream | TCP-MPEG2 Video Stream | MPEG-TS (h.264) Video Stream | Integrated Camera + + ::: info + If no video source is specified then no other video or _video recording_ settings will be displayed (above we see the settings when UDP source is selected). + ::: + +- **URL/Port**: Connection type-specific stream address (may be port or URL). + +- **Aspect Ratio**: Aspect ratio for scaling video in video widget (set to 0.0 to ignore scaling) + +- **Disabled When Disarmed**: Disable video feed when vehicle is disarmed. + +- **Low Latency Mode**: Enabling low latency mode reduces the video stream latency, but may cause frame loss and choppy video (especially with a poor network connection). + +## Video Recording + +The _Video Recording_ section is used to specify the file format and maximum allocated file storage for storing video. +Videos are saved to a sub-directory ("Video") of the [Application Load/Save Path](#load_save_path). + +![Video - without auto deletion](../../../assets/settings/general/video_recording.jpg) + +![Video - auto deletion](../../../assets/settings/general/video_recording_auto_delete.jpg) + +The settings are: + +- **Auto-Delete Files**: If checked, files are auto deleted when the specified amount of storage is used. +- **Max Storage Usage**: Maximum video file storage before video files are auto deleted. +- **Video File Format**: File format for the saved video recording: mkv, mov, mp4. + +## Brand Image + +This setting specifies the _brand image_ used for indoor/outdoor colour schemes. + +The brand image is displayed in place of the icon for the connected autopilot in the top right corner of the toolbar. +It is provided so that users can easily create screen/video captures that include a company logo/branding. + +![Brand Image](../../../assets/settings/general/brand_image.jpg) + +The settings are: + +- **Indoor Image**: Brand image used in [indoor color scheme](#colour_scheme) +- **Outdoor Image**: Brand image used in [outdoor color scheme](#colour_scheme) +- **Reset Default Brand Image**: Reset the brand image back to default. diff --git a/docs/ru/docs/en/qgc-user-guide/settings_view/mavlink.md b/docs/ru/docs/en/qgc-user-guide/settings_view/mavlink.md new file mode 100644 index 00000000000..05bf0cd5581 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/settings_view/mavlink.md @@ -0,0 +1,81 @@ +# MAVLink Settings + +The MAVLink settings (**SettingsView > MAVLink**) allow you to configure options and view information specific to MAVLink communications. +This includes setting the MAVLink system ID for _QGroundControl_ and viewing link quality. + +The screen also allows you to manage [MAVLink 2 Log Streaming](#logging) (PX4 only), including _automating log upload to Flight Review_! + +![MAVLink settings screen](../../../assets/settings/mavlink/overview.png) + +## Ground Station {#ground\_station} + +This section sets the MAVLink properties and behaviour of _QGroundControl_. + +![Ground Station](../../../assets/settings/mavlink/ground_station.png) + +- **MAVLink System ID:** System ID of _QGroundControl_ on the MAVLink network (Default: 255). + Vehicles are typically allocated IDs from 1. + You may have to specify another ID if there are multiple ground stations or MAVLink applications on the network. +- **Emit heartbeat:** Disable emission of regular MAVLink HEARTBEAT message (Default: True). + Generally speaking, you should not turn this off. +- **Only accept MAVs with the same protocol version:** Set true to only connect to MAVLink 1 or to MAVLink 2 vehicles (Default: True). +- **Enable MAVLink forwarding:** Enable _QGroundControl_ to forward MAVLink messages from connected vehicles to another UDP endpoint (Default: False). + Note that this forwarding is one-way: from QGC to the specified host. + Any MAVLink messages that are received from the specified host will be ignored. + +## Link Status {#link\_status} + +This shows the status of MAVLink message transfer over the communications link. +A high **Loss rate** may lead to protocol errors for things like parameter download or mission upload/download. + +![Link Status](../../../assets/settings/mavlink/link_status.jpg) + +## MAVLink 2 Logging (PX4 only) {#logging} + +The _MAVLink 2 Logging_ settings (PX4 only) configure real-time log streaming from PX4 to _QGroundControl_ and upload of logs to [Flight Review](https://logs.px4.io). + +:::warning +MAVLink 2 Logging cannot be used on "basic" setups because it requires a constant high-rate MAVLink connection to the vehicle (it _may_ work over WiFI but will _not_ work over a Telemetry link). +::: + +:::tip +In theory log streaming allows real time analysis of data. +At time of writing real-time analysis has not yet been implemented. +::: + +The log format is the same as for SD Card logs (downloaded using [Analyze View > Log Download](../analyze_view/log_download.md)), but actual data logged may be slightly different because log start/stop time is controlled by _QGroundControl_ and because some dropouts may occur when streaming over a lossy channel. + +The _MAVLink 2 Logging_ section allows you to manually start and stop logging, and to enable automatic capture of logs. + +![MAVLink 2 Logging](../../../assets/settings/mavlink/mavlink2_logging.jpg) + +The _MAVLink 2 Log Uploads_ section allows you configure uploading of MAVLink logs to [Flight Review](https://logs.px4.io). +You can specify all the fields that you would otherwise have to directly enter in the site, and also choose whether logs are automatically or manually uploaded. + +![MAVLink 2 Log Uploads](../../../assets/settings/mavlink/mavlink2_log_uploads.jpg) + +The fields are: + +- **Email address for Log Uploads:** _Flight Review_ will email you a link to the upload at this address. + This is important as otherwise you will have no way to access a non-public log after upload. +- **Default Description:** Description/name of flight used for log. +- **Default Upload URL:** URL for upload of the log/log metadata. + This is set by default to the _Flight Review_ URL. +- **Video URL:** (Optional) URL for video of flight associated with log. + This may be included on the Flight Review page to ease analysis. +- **Wind Speed:** Used to aid debugging and filtering (from multiple flights). Allowed values: _Calm_ | _Breeze_ | _Gale_ | _Storm_. +- **Flight Rating:** Used to aid debugging and filtering (from multiple flights). Allowed values: _Crashed (Pilot Error)_ | _Crashed (Software or Hardware Issue)_ | _Unsatisfactory_ | _Good_ | _Great_. +- **Additional Feedback:** (Optional). Enter a more detailed description of the flight or behaviour. +- **Make this log publically available:** If set, the log will be visible and searchable on _Flight Review_. + If not set, it will only be available via the link emailed on upload. +- **Enable automatic log uploads:** If set, the log will automatically be uploaded on completion. +- **Delete log file after uploading:** If set, the log will automatically deleted after upload. + +The _Saved Log Files_ section is used to manually manage log uploads. +Use the checkboxes and buttons to select logs, and either delete or upload them. + +:::tip +You can change the parameters in _MAVLink 2 Log Uploads_ above to specify separate descriptions for uploaded logs. +::: + +![Saved log files](../../../assets/settings/mavlink/saved_log_files.jpg) diff --git a/docs/ru/docs/en/qgc-user-guide/settings_view/offline_maps.md b/docs/ru/docs/en/qgc-user-guide/settings_view/offline_maps.md new file mode 100644 index 00000000000..a3c0384c15b --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/settings_view/offline_maps.md @@ -0,0 +1,14 @@ +# Offline Maps + +![](../../../assets/settings/offline_maps.jpg) + +Offline Maps allows you to cache map tiles for use when not connected to the Internet. You can create multiple offline sets, each for a different location. + +## Add new set + +To create a new offline map set, click "Add new set". Which will take you to this page: +![](../../../assets/settings/offline_maps_add.jpg) + +From here you can name your set as well as specify the zoom levels you want to cache. Move the map to the position you want to cache and then set the zoom levels and click Download to cache the tiles. + +To the left you can see previews of the min and max zoom levels you have chosen. diff --git a/docs/ru/docs/en/qgc-user-guide/settings_view/settings_view.md b/docs/ru/docs/en/qgc-user-guide/settings_view/settings_view.md new file mode 100644 index 00000000000..d370436affa --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/settings_view/settings_view.md @@ -0,0 +1,19 @@ +# Settings View + +The _Settings View_ is used to configure the settings for the _QGroundControl_ application (rather than a specific vehicle). You do not have to have a vehicle connected to change these values. + +You can switch between the various settings options by clicking the buttons in the left-sidebar. + +![](../../../assets/settings/settings_view.jpg) + +## Settings Options + +**[General](general.md)**
The main application configuration settings. These are used to specify: display units, autoconnection devices, video display and storage, RTK GPS, etc. + +**Comm Links**
Allows you to manually create communication links and connect to them. _Keep in mind that normally this is not needed since QGroundControl will automatically connect to the most common devices._ + +**[Offline Maps](offline_maps.md)**
Allows you to cache maps for use while you have no Internet connection. + +**[MAVLink](mavlink.md)**
Settings associated with the MAVLink connection to a vehicle. + +**[Console](console_logging.md)**
Used to capture application logs for help with diagnosing application problems. diff --git a/docs/ru/docs/en/qgc-user-guide/settings_view/virtual_joystick.md b/docs/ru/docs/en/qgc-user-guide/settings_view/virtual_joystick.md new file mode 100644 index 00000000000..33544050b15 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/settings_view/virtual_joystick.md @@ -0,0 +1,20 @@ +# Virtual Joystick + +_QGroundControl_ allows you to control a vehicle with on-screen virtual thumbsticks. These are displayed as shown below in the flight view. + +![QGroundControl Preferences > Enable Virtual Joystick](../../../assets/settings/joystick_virtual_joystick_displayed.jpg) + +:::info +Thumbstick control is not as responsive as using an RC Transmitter (because the information is sent over MAVLink). Another alternative is to use a [USB Joystick/Gamepad](../setup_view/joystick.md). +::: + +## Enable the thumbsticks + +To enable the virtual joysticks: + +1. Select the **Q** icon from the top toolbar +2. Open the **Application Settings** +3. Make sure you're on the **General** tab +4. Check the **Virtual joystick** box + + ![QGroundControl Application Settings > Enable Virtual joystick](../../../assets/settings/joystick_virtual_joystick_enable.png) diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/airframe.md b/docs/ru/docs/en/qgc-user-guide/setup_view/airframe.md new file mode 100644 index 00000000000..475afe234ed --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/airframe.md @@ -0,0 +1,7 @@ +# Airframe Setup + +This page allows you to configure the main airframe selection associated with your vehicle. +The view/process differs slightly based on the flight controller firmware used. + +- [Airframe (ArduPilot)](../setup_view/airframe_ardupilot.md) +- [Airframe (PX4)](../setup_view/airframe_px4.md) diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/airframe_ardupilot.md b/docs/ru/docs/en/qgc-user-guide/setup_view/airframe_ardupilot.md new file mode 100644 index 00000000000..d0dd811a1be --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/airframe_ardupilot.md @@ -0,0 +1,41 @@ +# Airframe Setup (ArduPilot) + +Airframe Setup is used to select the frame class and type that matches your vehicle + +:::info +Airframe Setup is only available on _ArduCopter_ and _ArduSub_ vehicles (it is not shown for _ArduPilot_ Rover or Plane vehicles). +::: + +## ArduCopter Airframe Setup + +To select the airframe in Copter: + +1. First select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Airframe** in the sidebar. + + ![Airframe config](../../../assets/setup/airframe/arducopter.jpg) + +2. Select the broad _Frame Class_ for your vehicle: + + ![Airframe type](../../../assets/setup/airframe/arducopter_class.jpg) + + ::: info + You will need to reboot the vehicle for class changes to take effect. + ::: + +3. Select the specific _Frame Type_ for your vehicle: + + ![Airframe type](../../../assets/setup/airframe/arducopter_type.jpg) + +## ArduSub Frame Setup {#ardusub} + +To select the frame type for Sub: + +1. First select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Frame** in the sidebar. +2. Select the frame type that matches your vehicle (selecting a frame applies the selection). +3. Make sure that all **green** thrusters have **clockwise** propellers and all **blue** thrusters have **counter-clockwise** propellers (or vice-versa). + + ![Select airframe type](../../../assets/setup/airframe_ardusub.jpg) + + - You can also click **Load Vehicle Default Parameters** to load default parameter set for ArduSub. + + ![Load vehicle params](../../../assets/setup/airframe_ardusub_parameters.jpg) diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/airframe_px4.md b/docs/ru/docs/en/qgc-user-guide/setup_view/airframe_px4.md new file mode 100644 index 00000000000..9a1dac51cb1 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/airframe_px4.md @@ -0,0 +1,19 @@ +# Airframe Setup (PX4) + +To select the airframe in PX4: + +1. Start _QGroundControl_ and connect the vehicle. + +2. Select **QGroundControl icon > Vehicle Setup > Airframe** (sidebar) to open _Airframe Setup_. + +3. Select the broad vehicle group/type that matches your airframe and then use the dropdown within the group to choose the airframe that best matches your vehicle. + + ![Airframe options](../../../assets/setup/airframe_px4/airframe_px4.jpg) + + The example above shows _Generic Hexarotor X geometry_ selected from the _Hexarotor X_ group. + +4. Click the **Apply and Restart** button on the top right of the screen. + +5. Click **Apply** in the following prompt to save the settings and restart the vehicle. + + diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/camera.md b/docs/ru/docs/en/qgc-user-guide/setup_view/camera.md new file mode 100644 index 00000000000..0a63044c0a2 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/camera.md @@ -0,0 +1,18 @@ +# Camera Setup + +The details of the page differ if you are using PX4 firmware or ArduPilot firmware. + +## ArduPilot Camera Setup + +![](../../../assets/setup/ardupilot_camera.jpg) + +## PX4 Camera Setup + +![PX4 Camera setup](../../../assets/setup/px4_camera.jpg) + +For more information see [Camera](http://docs.px4.io/master/en/peripherals/camera.html) (PX4 User Guide). + +:::info +The camera settings section is not available by default for FMUv2-based flight controllers (e.g. 3DR Pixhawk) because the camera module is not automatically included in firmware. +For more information see [this topic](http://docs.px4.io/master/en/advanced_config/parameters.html#parameter-not-in-firmware). +::: diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/firmware.md b/docs/ru/docs/en/qgc-user-guide/setup_view/firmware.md new file mode 100644 index 00000000000..0ca404450a4 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/firmware.md @@ -0,0 +1,49 @@ +# Loading Firmware + +_QGroundControl_ **desktop** versions can install [PX4 Pro](http://px4.io/) or [ArduPilot](http://ardupilot.com) firmware onto Pixhawk-family flight-controller boards. By default QGC will install the current stable version of the selected autopilot, but you can also choose to install beta builds, daily builds, or custom firmware files. + +_QGroundControl_ can also install the firmware for SiK Radios and PX4 Flow devices. + +> **Caution** Loading Firmware is currently not available on tablet or phone versions of _QGroundControl_. + +## Connect Device for Firmware Update + +> **Caution** **Before you start installing Firmware** all USB connections to your vehicle must be _disconnected_ (both direct or through a telemetry radio). The vehicle must _not be_ powered by a battery. + +1. First select the **Gear** icon (_Vehicle Setup_) in the top toolbar and then **Firmware** in the sidebar. + +![Firmware disconnected](../../../assets/setup/firmware/firmware_disconnected.jpg) + +1. Connect your device (Pixhawk, SiK Radio, PX4 Flow) directly to your computer via USB. + + ::: info + Connect directly to a powered USB port on your machine (do not connect through a USB hub). + ::: + +## Select Firmware to Load + +Once the device is connected you can choose which firmware to load (_QGroundControl_ presents sensible options based on the connected hardware). + +1. For a Pixhawk-compatible board choose either **PX4 Flight Stack vX.X.X Stable Release** or **ArduPilot Flight Stack** radio buttons to download the _current stable release_. + + ![Select PX4](../../../assets/setup/firmware/firmware_select_default_px4.jpg) + + If you select _ArduPilot_ you will also have to choose the specific firmware and the type of vehicle (as shown below). + + ![Select ArduPilot](../../../assets/setup/firmware/firmware_selection_ardupilot.jpg) + +2. Check **Advanced settings** to select specific developer releases or install firmware from your local file system. + + ![ArduPilot - Advanced Settings](../../../assets/setup/firmware/firmware_selection_advanced_settings.jpg) + +## Update the firmware + +1. Click the **OK** button to start the update. + + The firmware will then proceed through a number of upgrade steps (downloading new firmware, erasing old firmware etc.). + Each step is printed to the screen and overall progress is displayed on a progress bar. + + ![Firmware Upgrade Complete](../../../assets/setup/firmware/firmware_upgrade_complete.jpg) + +Once the firmware has finished loading the device/vehicle will reboot and reconnect. +Next you will need to configure the [airframe](../setup_view/airframe.md) (and then sensors, radio, etc.) diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/flight_modes.md b/docs/ru/docs/en/qgc-user-guide/setup_view/flight_modes.md new file mode 100644 index 00000000000..382c8bee975 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/flight_modes.md @@ -0,0 +1,62 @@ +# Flight Modes Setup + +The _Flight Modes_ section allows you to map flight modes to radio channel(s), and hence to the switches on your radio control transmitter. +Both flight mode setup and the available flight modes are different in PX4 and ArduPilot (and there are some differences between ArduCopter and ArduPlane). + +:::info +In order to set up flight modes you must already have already [configured your radio](../setup_view/radio.md), and [setup the transmitter](#transmitter-setup) (as shown below). +::: + +To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +For more flight stack specific setup see: + +- [ArduPilot Flight Modes Setup](../setup_view/flight_modes_ardupilot.md) +- [PX4 Flight Modes Setup](../setup_view/flight_modes_px4.md) + +## Transmitter Setup + +In order setup flight modes you will first need to configure your _transmitter_ to encode the physical positions of your mode switch(es) into a single channel. + +On both PX4 and ArduPilot you can assign up to 6 different flight modes to a single channel of your transmitter +It is common to use the positions of a 2- and a 3-position switch on the transmitter to represent the 6 flight modes. +Each combination of switches is then encoded as a particular PWM value that will be sent on a single channel. + +:::info +The single channel is selectable on PX4 and ArduPlane, but is fixed to channel 5 on Copter. +::: + +The process for this varies depending on the transmitter. +A number of setup examples are provided below. + +### Taranis + +These examples show several configurations for the _FrSky Taranis_ transmitter. + +#### Map 3-way Switch to a Single Channel + +If you only need to support selecting between two or three modes then you can map the modes to the positions just one 3-way switch. +Below we show how to map the Taranis 3-way "SD" switch to channel 5. + +Open the Taranis UI **MIXER** page and scroll down to **CH5**, as shown below: + +![Taranis - Map channel to switch](../../../assets/setup/flight_modes/taranis_single_channel_mode_selection_1.png) + +Press **ENT(ER)** to edit the **CH5** configuration then change the **Source** to be the _SD_ button. + +![Taranis - Configure channel](../../../assets/setup/flight_modes/taranis_single_channel_mode_selection_2.png) + +That's it! +Channel 5 will now output 3 different PWM values for the three different **SD** switch positions. + +#### Map Multiple Switches to a Single Channel + +Most transmitters do not have 6-way switches, so if you need to be able to support more modes than the number of switch positions available (up to 6) then you will have to represent them using multiple switches. +Commonly this is done by encoding the positions of a 2- and a 3-position switch into a single channel, so that each switch position combination results in a different PWM value. + +On the FrSky Taranis this process involves assigning a "logical switch" to each combination of positions of the two real switches. +Each logical switch is then assigned to a different PWM value on the same channel. + +This video shows how this is done with the _FrSky Taranis_ transmitter: https\://youtu.be/TFEjEQZqdVA + + diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/flight_modes_ardupilot.md b/docs/ru/docs/en/qgc-user-guide/setup_view/flight_modes_ardupilot.md new file mode 100644 index 00000000000..2f4978ced77 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/flight_modes_ardupilot.md @@ -0,0 +1,54 @@ +# ArduPilot Flight Mode Setup + +The _Flight Modes_ section allows you to configure which flight modes and other actions are triggered by particular switches/switch positions on your RC transmitter. + +::: info +In order to set up flight modes you must already have + +> - [Configured your radio](../setup_view/radio.md) in order to set flight modes. +> - [Setup the RC transmitter](../setup_view/FlightModes.md#transmitter-setup) (Flight Modes > Transmitter Setup)> ::: + +To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +![Flight modes setup - ArduCopter](../../../assets/setup/flight_modes/ardupilot_copter.jpg) + +## Flight Mode Settings + +On ArduPilot you can assign up to 6 different flight modes to a single channel of your transmitter (the channel is selectable on Plane, but fixed to channel 5 on Copter). +ArduCopter also allows you to specify additional _Channel Options_ for channels 7-12. +These allow you to assign functions to these switches (for example, to turn on a camera, or return to launch). + +To set the flight modes: + +1. Turn on your RC transmitter. + +2. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + + ![Flight modes setup - ArduCopter](../../../assets/setup/flight_modes/ardupilot_copter.jpg) + + ::: info + The above image is a screenshot of the flight mode setup for ArduCopter. + ::: + +3. Select up to 6 flight modes in the drop downs. + +4. **ArduCopter only:** Select additional _Channel Options_ for channels 7-12. + +5. **ArduPlane only:** Select the mode channel from the dropdown. + + ![Flight modes setup - ArduPlane](../../../assets/setup/flight_modes/ardupilot_plane.jpg) + +6. Test that the modes are mapped to the right transmitter switches by selecting each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode). + +All values are automatically saved as they are changed. + +::: info +The ArduCopter screenshot above shows a typical setup for a three position flight mode switch with an additional option of RTL being on a channel 7 switch. +You can also setup 6 flight modes using two switches plus mixing on your transmitter. Scroll down to the center section of this [page](http://ardupilot.org/copter/docs/common-rc-transmitter-flight-mode-configuration.html#common-rc-transmitter-flight-mode-configuration) for tutorials on how to do that. +::: + +## See Also + +- [ArduCopter Flight Modes](http://ardupilot.org/copter/docs/flight-modes.html) +- [ArduPlane Flight Modes](http://ardupilot.org/plane/docs/flight-modes.html) +- [ArduCopter > Auxiliary Function Switches](https://ardupilot.org/copter/docs/channel-7-and-8-options.html#channel-7-and-8-options) - additional information about channel configuration. diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/flight_modes_px4.md b/docs/ru/docs/en/qgc-user-guide/setup_view/flight_modes_px4.md new file mode 100644 index 00000000000..2fac3ae0d8e --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/flight_modes_px4.md @@ -0,0 +1,50 @@ +# PX4 Flight Modes Setup + +The _Flight Modes_ section allows you to configure which [flight modes](http://docs.px4.io/master/en/getting_started/flight_modes.html) and other actions are triggered by particular switches/switch positions on your RC transmitter. + +::: info +In order to set up flight modes you must already have + +- [Configured your radio](../setup_view/radio.md) in order to set flight modes. +- [Setup the RC transmitter](../setup_view/FlightModes.md#transmitter-setup) (Flight Modes > Transmitter Setup) + ::: + +To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +![Flight modes single-channel](../../../assets/setup/flight_modes/px4_single_channel.jpg) + +## Flight Mode Settings + +The screen allows you to specify a "mode" channel and select up to 6 flight modes that will be activated based on the value sent on the channel. +You can also assign a small number of channels to trigger particular actions, such as deploying landing gear, or emergency shutdown (kill switch). + +The steps are: + +1. Turn on your RC transmitter. + +2. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + + ![Flight modes single-channel](../../../assets/setup/flight_modes/px4_single_channel.jpg) + +3. Specify _Flight Mode Settings_: + + - Select the transmitter **Mode channel** (shown as Channel 5 above). + - Select up to six **Flight Modes** for switch positions encoded in the channel. + + ::: info + Position mode, return mode and mission mode [are recommended](https://docs.px4.io/master/en/config/flight_mode.html#what-flight-modes-and-switches-should-i-set). + ::: + +4. Specify _Switch Settings_: + + - Select the channels that you want to map to specific actions - _Kill switch_, landing gear, etc. (if you have spare switches and channels on your transmitter). + +5. Test that the modes are mapped to the right transmitter switches: + - Check the _Channel Monitor_ to confirm that each switch moves the expected channel. + - Select each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode). + +All values are automatically saved as they are changed. + +## See Also + +- [PX4 Flight Modes](https://docs.px4.io/en/flight_modes/) diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/joystick.md b/docs/ru/docs/en/qgc-user-guide/setup_view/joystick.md new file mode 100644 index 00000000000..ffd4be052c0 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/joystick.md @@ -0,0 +1,205 @@ +# Joystick Setup + +_QGroundControl_ allows you to control a vehicle using a joystick or gamepad instead of an RC Transmitter. + +:::info +Flying with a Joystick (or [virtual thumb-sticks](../settings_view/virtual_joystick.md)) requires a reliable high bandwidth telemetry channel to ensure that the vehicle is responsive to joystick movements (because joystick information is sent over MAVLink). +::: + +:::info +Joystick and Gamepad support is enabled using the cross-platform [SDL2](http://www.libsdl.org/index.php) library. +Compatibility with a particular controller depends on SDL (all buttons that are exposed by that API are displayed through the _QGroundControl_ UI). +A [number of common joysticks and gamepads](#supported-joysticks) are known to work. +::: + +:::info +The joystick is _enabled_ as the last step of the calibration process. +::: + +## Enabling PX4 Joystick Support + +To enable Joystick support in PX4 you need to set the parameter \[`COM_RC_IN_MODE`]\(h[ttp://localhost:8080/px4\_user\_guide/en](https://docs.px4.io/en/main/advanced_config/parameter_reference.html#COM_RC_IN_MODE) to `1` - _Joystick_. +If this parameter is `0` then _Joystick_ will not be offered as a setup option. + +This is enabled by default for PX4 SITL builds (see the [Parameters](../setup_view/parameters.md) topic for information on how to find and set a particular parameter). + +## Ardupilot Joystick Support + +All ArduPilot vehicles are supported. No parameter configuration is necessary. + +## Configuring the Joystick {#configure} + +To configure a joystick: + +1. Start _QGroundControl_ and connect to a vehicle. + +2. Connect the Joystick or Gamepad to a USB port. + +3. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Joystick** in the sidebar. + The screen below will appear. + + ![Joystick setup - PlayStation](../../../assets/setup/joystick_sony_playstation.jpg) + +4. Make sure your joystick is selected in the **Active joystick** dropdown. + +5. Go to the **Calibrate** Tab, press the **Start** button and then follow the on-screen instructions to calibrate/move the sticks. + + ![Joystick setup - Calibration](../../../assets/setup/joystick_calibration.jpg) + + The joystick is _enabled_ as the last step of the calibration process. + +6. Test the buttons and sticks work as intended by pressing them, and viewing the result in the Axis/Button monitor in the **General** tab. + +7. Select the flight modes/vehicle functions activated by each joystick button. + ![Joystick setup - Buttons](../../../assets/setup/joystick_buttons.jpg) + +## Advanced Options + +Some additional Options are available at the **Advanced** tab. +These options may be useful for specific, unsual setups, for increasing sensibility, and for handling noisy joysticks. + +### Throttle Options + +![Joystick setup - Throttle Modes](../../../assets/setup/joystick_throttle_modes.jpg) + +- **Center stick is zero throttle**: Centered or lowered stick sends 0 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), raised stick sends 1000. + - **Spring loaded throttle smoothing**: In this mode you control not the throttle itself, but the rate at which it increases/decreases. + This is useful for setups where the throttle stick is spring loaded, as the user can hold the desired throttle while releasing the stick. +- **Full down stick is zero throttle**: In this mode, lowered stick sends 0 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), centered stick 500, and raised 1000. +- **Allow negative thrust**: When in **Center stick is zero throttle** mode, this allows the user to send negative values by lowering the stick. + So that lowered stick sends -1000 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), centered sends zero, and raised stick sends 1000. + This mode is only enabled for vehicles that support negative thrust, such as [Rover](http://ardupilot.org/rover/index.html). + +### Expo + +The expo slider allows you to make the sticks less sensitive in the center, allowing finer control in this zone. + +![Joystick setup - Expo](../../../assets/setup/joystick_throttle_expo.jpg) + +The slider adjusts the curvature of the exponential curve. + +![Joystick setup - Expo Curve](../../../assets/setup/joystick_throttle_expo_curve.jpg) + +The higher the Expo value, the flatter the curve is at the center, and steeper it is at the edges. + +### Advanced Settings + +The advanced settings are not recommended for everyday users. +They can cause unpredicted results if used incorrectly. + +![Joystick setup - Advanced Settings](../../../assets/setup/joystick_advanced.jpg) + +The following settings are available: + +- **Enable Gimbal Control**: Enabled two additional channels for controlling a gimbal. + +- **Joystick Mode**: Changes what the joystick actually controls, and the MAVLink messages sent to the vehicle. + + - **Normal**: User controls as if using a regular RC radio, MAVLink [MANUAL\_CONTROL](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL) messages are used. + - **Attitude**: User controls the vehicle attitude, MAVLink [SET\_ATTITUDE\_TARGET](https://mavlink.io/en/messages/common.html#SET_ATTITUDE_TARGET) messages are used. + - **Position**: User controls the vehicle position, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **position** only are used. + - **Force**: User controls the forces applied to the vehicle, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **force** only are used. + - **Velocity**: User controls the forces applied to the vehicle, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **velocity** only are used. + +- **Axis Frequency**: When the joystick is idle (inputs are not changing), the joystick commands are sent to the vehicle at 5Hz. When the joystick is in use (input values are changing), the joystick commands are sent to the vehicle at the (higher) frequency configured by this setting. The default is 25Hz. + +- **Button Frequency**: Controls the frequency at which repeated button actions are sent. + +- **Enable Circle Correction**: RC controllers sticks describe a square, while joysticks usually describe a circle. + When this option is enabled a square is inscribed inside the joystick movement area to make it more like an RC controller (so it is possible to reach all four corners). The cost is decreased resolution, as the effective stick travel is reduced. + + - **Disabled:** When this is **disabled** the joystick position is sent to the vehicle unchanged (the way that it is read from the joystick device). + On some joysticks, the (roll, pitch) values are confined to the space of a circle inscribed inside of a square. + In this figure, point B would command full pitch forward and full roll right, but the joystick is not able to reach point B because the retainer is circular. + This means that you will not be able to achieve full roll and pitch deflection simultaneously. + + ![](../../../assets/setup/joystick_circle_correction.jpg) + + - **Enabled:** The joystick values are adjusted in software to ensure full range of commands. + The usable area of travel and resolution is decreased, however, because the area highlighted grey in the figure is no longer used. + + ![Circle correction enabled](../../../assets/setup/joystick_circle_correction2.jpg) + +- **Deadbands:** Deadbands allow input changes to be ignored when the sticks are near their neutral positions. + This helps to avoid noise or small oscillations on sensitive sticks which may be interpreted as commands, or small offsets when sticks do not re-center well. + They can be adjusted during the first step of the [calibration](#configure), or by dragging vertically on the corresponding axis monitor. + +## Supported Joysticks + +The following joysticks/controllers have been shown to work with relatively recent _QGroundControl_ builds. + +### Sony Playstation 3/4 Controllers + +Both these joysticks are highly recommended. +They work well "out of the box" and have many buttons that you can map to flight modes. + +#### Sony PS4 - DualShock 4 Controller V2 (Wireless setup) + +This controller supports both USB and Bluetooth wireless connection. +Wired USB connection usually works out of the box. +The wireless connection needs some setup. + +##### Linux Ubuntu setup + +To make the controller work wirelessly under Linux the [jstest-gtk](https://jstest-gtk.gitlab.io/) and [ds4drv](https://github.com/chrippa/ds4drv) utilities are needed. + +The steps are: + +1. Install _jstest-gtk_: + ``` + sudo apt install jstest-gtk + ``` +2. Install _ds4drv_: + ``` + sudo pip install ds4drv + ``` +3. Run ds4drv + ``` + sudo ds4drv + ``` +4. Hold **Share** button and then **PS** button until controller LED starts blinking rapidly. + The _ds4drv_ should then detect a new device. +5. Last of all, you should check the controller setup by running the _jstest-gtk_ utility. + +### FrSky Taranis XD9 plus + +The _FrSky Taranis XD9 plus_ remote control can also be connected as a joystick. +You will need to connect it via the USB port on the back. + +The Taranis does not allow you to use button options (to be precise, you can set the options, but toggling the buttons on your transmitter does not cause them to be pressed). + +:::info +The Taranis is an open system that is openly being worked on. +It is possible that at time of writing there is a firmware or configuration that allows it to work effectively as a joystick. +::: + +### Logitech Gamepad F310 + +The Logitech Gamepad F310 has been tested via USB on MacOSX "Sierra". + +### Logitech Extreme 3D Pro + +The [Logitech Extreme 3D Pro](http://gaming.logitech.com/en-ch/product/extreme-3d-pro-joystick) Joystick has been tested on all platforms (Linux, Windows, Mac OSX). +This is a single stick controller that can also be twisted. The main stick axes are used for pitch and roll, while the twist action is used for yaw. The throttle is mapped onto a separate wheel. + +### Logitech F710 Gamepad + + + +This gamepad is great for flying a multirotor manually via QGroundControl. It works on Windows, Linux and Mac OS. + +#### Mac OS Leopard / Lion Setup + +The F710 is detected under Leopard / Lion but is not automatically configured as an input device. +In order to get a working configuration, the F710 has to be recognised as _Rumblepad2_. + +First check how it is recognised: **Apple > About this Mac > Additional Information > System Report > USB**. +It is detected as "Logitech Cordless RumblePad 2" then nothing further needs to be done. + +If it is detected as a "Logitech Wireless 710", perform these steps: + +1. Unplug the USB receiver of the gamepad +2. Prepare to quickly plug it into a USB port +3. Hit the Logitech button (its silver with the Logitech Logo on it in the center of the pad) +4. Quickly connect the USB receiver to your Mac +5. The pad should now be detected in the system report as "Logitech Cordless RumblePad 2". If not, retry the above steps. diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/motors.md b/docs/ru/docs/en/qgc-user-guide/setup_view/motors.md new file mode 100644 index 00000000000..e190dca8b4e --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/motors.md @@ -0,0 +1,34 @@ +# Motor Setup + +Motor Setup is used to test individual motors/servos (for example, to verify that motors spin in the correct direction). + +:::tip +These instructions apply to PX4 and to most vehicle types on ArduPilot. +Vehicle-specific instructions are provided as sub-topics (e.g. [Motors Setup (ArduSub)](../setup_view/motors_ardusub.md)). +::: + +![Motors Test](../../../assets/setup/Motors.png) + +## Test Steps + +To test the motors: + +1. Remove all propellers. + + ::: warning + You must remove props before activating the motors! + ::: + +2. (_PX4-only_) Enable safety switch - if used. + +3. Slide the switch to enable motor sliders (labeled: _Propellers are removed - Enable motor sliders_). + +4. Adjust the individual sliders to spin the motors and confirm they spin in the correct direction. + + ::: info + The motors only spin after you release the slider and will automatically stop spinning after 3 seconds. + ::: + +## Additional Information + +- [Basic Configuration > Motor Setup](http://docs.px4.io/master/en/config/motors.html) (_PX4 User Guide_) - This contains additional PX4-specific information. diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/motors_ardusub.md b/docs/ru/docs/en/qgc-user-guide/setup_view/motors_ardusub.md new file mode 100644 index 00000000000..469d8995821 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/motors_ardusub.md @@ -0,0 +1,43 @@ +# Motors Setup (ArduSub) + +In order for ArduSub to function properly, the motors must be correctly set up. + +If you just assembled your ROV, first make sure that the thrusters are connected to the correct outputs in the **Manual Test** section. +Drag each slider and make sure that the _correct motor_ spins accordingly to the frame displayed. + +Once you know that the thrusters are connected to the proper outputs you can check for _correct direction_ (forward/reverse) using either [automatic direction detection](#automatic) (recommended from ArduSub 4.0) or the [manual test](#manual). + +:::info +[Manual Test](#manual) is supported by ArduSub up to 3.5, while ArduSub 4.0 supports both [Manual Test](#manual) and [automatic direction detection](#automatic). +::: + +## Manual Test {#manual} + +The ArduSub motor setup allows you to test individual motors. +The sliders allow spinning each motor in forward or reverse mode, and the checkboxes under the sliders allow reversing the operation of individual thrusters. + +The image at the right shows the frame currently in use, along with the location and orientation of each thruster. +If the frame selection does not match your vehicle, first select the correct frame in the [Frame](../setup_view/airframe_ardupilot.md#ardusub) tab. + +To manually set up and test the motors, read and follow the instructions on the page. + +:::warning +Make sure the motors and propellers are clear from obstructions before sliding the switch to arm the vehicle and enable the test! +::: + +![Ardusub Motors Test](../../../assets/setup/motors-sub.jpg) + +## Automatic Direction Detection {#automatic} + +Ardusub 4.0 and newer support automatic detection of the motor directions. +This works by applying pulses to each motor, checking if the frame reacts as expected, and reversing the motor if necessary. +The process takes around one minute. + +To perform the automatic motor direction detection, navigate to **Vehicle Setup->Motors** tab, click the **Auto-Detect Directions** button and wait. +Additional output about the process will be shown next to the button as it runs. + +:::warning +This procedure still requires that the motors are connected to the _correct outputs_ as shown in the frame view! +::: + +![Ardusub Motors Auto-Setup](../../../assets/setup/motors-sub-auto.jpg) diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/parameters.md b/docs/ru/docs/en/qgc-user-guide/setup_view/parameters.md new file mode 100644 index 00000000000..8c12411227b --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/parameters.md @@ -0,0 +1,43 @@ +# Parameters + +The _Parameters_ screen allows you to find and modify any of the parameters associated with the vehicle. + +![Parameters Screen](../../../assets/setup/parameters_px4.jpg) + +:::info +PX4 Pro and ArduPilot use different parameter sets, but they are both managed as described in this section. +::: + +## Finding a Parameter + +The parameters are organized in groups. Select a group of parameters to view by clicking on the buttons to the left (in the image above the _Battery Calibration_ group is selected). + +You can also _search_ for a parameter by entering a term in the _Search_ field. This will show you a list of all parameter names and descriptions that contain the entered substring (press **Clear** to reset the search). + +![Parameters Search](../../../assets/setup/parameters_search.jpg) + +## Changing a Parameter + +To change the value of a parameter click on the parameter row in a group or search list. This will open a side dialog in which you can update the value (this dialog also provides additional detailed information about the parameter - including whether a reboot is required for the change to take effect). + +![Changing a parameter value](../../../assets/setup/parameters_changing.png) + +:::info +When you click **Save** the parameter is automatically and silently uploaded to the connected vehicle. Depending on the parameter, you may then need to reboot the flight controller for the change to take effect. +::: + +## Tools + +You can select additional options from the **Tools** menu on the top right hand side of the screen. + +![Tools menu](../../../assets/setup/parameters_tools_menu.png) + +**Refresh**
Refresh the parameter values by re-requesting all of them from the vehicle. + +**Reset all to defaults**
Reset all parameters to their original default values. + +**Load from file / Save to file**
Load parameters from an existing file or save your current parameter settings to a file. + +**Clear RC to Param**
This clears all associations between RC transmitter controls and parameters. For more information see: [Radio Setup > Param Tuning Channels](../setup_view/Radio.md#param-tuning-channels-px4). + +**Reboot Vehicle**
Reboot the vehicle (required after changing some parameters). diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/power.md b/docs/ru/docs/en/qgc-user-guide/setup_view/power.md new file mode 100644 index 00000000000..a87b436a697 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/power.md @@ -0,0 +1,53 @@ +# Power Setup + +The _Power Setup_ screen is used to configure battery parameters and also provide advanced settings for propellers. + +![Battery Calibration](../../../assets/setup/px4_power.jpg) + +## Battery Voltage/Current Calibration + +Enter data for your battery/power module from its data sheet: number of cells, full voltage per cell, empty voltage per cell. If provided, also enter voltage divider and amps-per-volt information. + +_QGroundControl_ can be used to calculate appropriate voltage divider and amps-per-volt values from measurements: + +1. Measure the voltage from the battery using a multimeter. +2. Click **Calculate** next to the _Voltage divider_ field. On the prompt that appears: +3. Enter the measured voltage. +4. Click **Calculate** to generate a new voltage-divider value. +5. Click **Close** to save the value into the main form. +6. Measure the current from the battery. +7. Click **Calculate** next to the _Amps per volt_ field. On the prompt that appears: +8. Enter the measured current. +9. Click **Calculate** to generate a new _amps per volt_ value. +10. Click **Close** to save the value into the main form. + +## Advanced Power Settings + +Click the **Show Advanced Settings** checkbox to specify advanced power settings. + +### Voltage Drop on Full Load + +Batteries show less voltage at high throttle. Enter the difference in Volts between idle throttle and full throttle, divided by the number of battery cells. The default value should be used if unsure! + +:::warning +If the value is too high the battery may be deep-discharged and damaged. +::: + +## ESC PWM Minimum and Maximum Calibration + +To calibrate the ESC max/min PWM values: + +1. Remove the propellers. +2. Connect the vehicle to QGC via USB (only). +3. Click the **Calibrate** button. + +::: warning +Never attempt ESC calibration with props on. + +Motors should not spin during ESC calibration. +However if an ESC doesn't properly support/detect the calibration sequence then it will respond to the PWM input by running the motor at maximum speed. +::: + +## Other Settings + +Select the **Show UAVCAN Settings** checkbox to access additional settings for UAVCAN Bus Configuration and motor index and direction assignment. diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/radio.md b/docs/ru/docs/en/qgc-user-guide/setup_view/radio.md new file mode 100644 index 00000000000..94c73c6ee7c --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/radio.md @@ -0,0 +1,131 @@ +# Radio Setup + +Radio Setup is used to configure the mapping of your main transmitter attitude control sticks (roll, pitch, yaw, throttle) to channels, and to calibrate the minimum, maximum, trim and reverse settings for all other transmitter controls/RC channels. + +The main calibration process is identical for PX4 and ArduPilot (a number of additional flight-controller specific settings/tools are [detailed below](#additional-radio-setup)). + +:::info +Before you can calibrate the radio system the receiver and transmitter must be connected/bound. The process for binding a transmitter and receiver pair is hardware specific (see your manual for instructions). +::: + +## Performing the Calibration + +The calibration process is straightforward - you will be asked to move the sticks in a specific pattern that is shown on the transmitter diagram on the top right of the screen. Simply follow the instructions to complete calibration. + +To calibrate the radio: + +1. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Radio** in the sidebar. + +2. Turn on your RC transmitter. + +3. Press **OK** to start the calibration. + + ![Radio setup - before starting](../../../assets/setup/radio_start_setup.jpg) + + ::: info + The image above is for PX4 Pro. Calibration/top section is the same for both firmware, but the _Additional Radio setup_ section will differ. + ::: + +4. Set the _transmitter mode_ radio button that matches your transmitter configuration (this ensures that _QGroundControl_ displays the correct stick positions for you to follow during calibration). + + ![Radio setup - move sticks](../../../assets/setup/radio_sticks_throttle.jpg) + +5. Move the sticks to the positions indicated in the text (and on the transmitter image). Press **Next** when the sticks are in position. Repeat for all positions. + +6. When prompted, move all other switches and dials through their full range (you will be able to observe them moving on the _Channel Monitor_). + +7. Press **Next** to save the settings. + +Radio calibration is demonstrated in the [PX4 setup video here](https://youtu.be/91VGmdSlbo4?t=4m30s) (youtube). + +## Additional Radio Setup + +At the lower part of the _Radio Setup_ screen is firmware-specific _Additional Radio setup_ section. The options for each autopilot are shown below. + +| PX4 | ArduPilot | +| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| | | + +### Spectrum Bind (ArduPilot/PX4) + +Before you can calibrate the radio system the receiver and transmitter must be connected/bound. If you have a _Spektrum_ receiver you can put it in _bind mode_ using _QGroundControl_ as shown below (this can be particularly useful if you don't have easy physical access to the receiver on your vehicle). + +To bind a Spektrum transmitter/receiver: + +1. Select the **Spektrum Bind** button + +2. Select the radio button for your receiver + +3. Press **OK** + + ![Spektrum Bind](../../../assets/setup/radio_additional_setup_spectrum_bind_select_channels.jpg) + +4. Power on your Spektrum transmitter while holding down the bind button. + +### Copy Trims (PX4) + +This setting is used to copy the manual trim settings from your radio transmitter so that they can be applied automatically within the autopilot. After this is done you will need to remove the manually set trims. + +To copy the trims: + +1. Select **Copy Trims**. + +2. Center your sticks and move throttle all the way down. + +3. Press **Ok**. + + ![Copy Trims](../../../assets/setup/radio_additional_radio_setup_copy_trims_px4.jpg) + +4. Reset the trims on your transmitter back to zero. + +### AUX Passthrough Channels (PX4) + +AUX passthrough channels allow you to control arbitrary optional hardware from your transmitter (for example, a gripper). + +To use the AUX passthrough channels: + +1. Map up to 2 transmitter controls to separate channels. +2. Specify these channels to map to the AUX1 and AUX2 ports respectively, as shown below. Values are saved to the vehicle as soon as they are set. + + ![AUX1 and AUX2 RC passthrough channels](../../../assets/setup/radio_additional_setup_aux_passthrough_channels_px4.jpg) + +The flight controller will pass through the unmodified values from the specified channels out of AUX1/AUX2 to the connected servos/relays that drive your hardware. + +### Param Tuning Channels (PX4) + +Tuning channels allow you to map a transmitter tuning knob to a parameter (so that you can dynamically modify a parameter from your transmitter). + +:::tip +This feature is provided to enable manual in-flight tuning. +::: + +The channels used for parameter tuning are assigned in the _Radio_ setup (here!), while the mapping from each tuning channel to its associated parameter is defined in the _Parameter editor_. + +To set up tuning channels: + +1. Map up to 3 transmitter controls (dials or sliders) to separate channels. +2. Select the mapping of _PARAM Tuning Id_ to radio channels, using the selection lists. Values are saved to the vehicle as soon as they are set. + + ![Map radio channels to tuning channels](../../../assets/setup/radio_additional_radio_setup_param_tuning_px4.jpg) + +To map a PARAM tuning channel to a parameter: + +1. Open the **Parameters** sidebar. + +2. Select the parameter to map to your transmitter (this will open the _Parameter Editor_). + +3. Check the **Advanced Settings** checkbox. + +4. Click the **Set RC to Param...** button (this will pop-up the foreground dialog displayed below) + + ![Map tuning channels to parameters](../../../assets/setup/parameters_radio_channel_mapping_px4.jpg) + +5. Select the tuning channel to map (1, 2 or 3) from the _Parameter Tuning ID_ selection list. + +6. Press **OK** to close the dialog. + +7. Press **Save** to save all changes and close the _Parameter Editor_. + +:::tip +You can clear all parameter/tuning channel mappings by selecting menu **Tools > Clear RC to Param** at the top right of the _Parameters_ screen. +::: diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/safety.md b/docs/ru/docs/en/qgc-user-guide/setup_view/safety.md new file mode 100644 index 00000000000..f58ec5e50e5 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/safety.md @@ -0,0 +1,13 @@ +# Safety Setup + +The _Safety Setup_ page allows you to configure the most important failsafe settings (other failsafe settings can be set via the [parameters](../setup_view/parameters.md) described in the failsafe documentation for each vehicle type). + +For ArduPilot safety page information see: [Safety (ArduPilot)](../setup_view/safety_ardupilot.md) + +The PX4 page is shown below. + +![Safety Setup - PX4](../../../assets/setup/px4_safety.jpg) + +:::info +For additional PX4 safety settings and information see: [Safety Configuration](https://docs.px4.io/en/config/safety.html). +::: diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/safety_ardupilot.md b/docs/ru/docs/en/qgc-user-guide/setup_view/safety_ardupilot.md new file mode 100644 index 00000000000..10719356fbc --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/safety_ardupilot.md @@ -0,0 +1,200 @@ +# Safety Setup (ArduPilot) + +The _Safety Setup_ page allows you to configure (vehicle specific) failsafe settings. + +:::tip +The setup page covers the most important safety options; other failsafe settings can be set via the [parameters](../setup_view/parameters.md) described in the failsafe documentation for each vehicle type. +::: + +:::tip +_QGroundControl_ does not support polygon fences or rally points on ArduPilot. +::: + +## Copter + +The Copter safety page is shown below. + +![Safety Setup - Copter (Ardupilot)](../../../assets/setup/safety/safety_arducopter.jpg) + +:::info +For additional safety settings and information see: [Failsafe](http://ardupilot.org/copter/docs/failsafe-landing-page.html). +::: + +### Battery Failsafe {#battery\_failsafe\_copter} + +This panel sets the [Battery Failsafe](http://ardupilot.org/copter/docs/failsafe-battery.html) parameters. +You can set low and critical thresholds for voltage and/or remaining capacity and define the action if the failsafe value is breached. +The thresholds can be disabled by setting them to zero. + +:::tip +If there is a second battery (enabled in the [Power Setup](../setup_view/power.md)) a second panel will be displayed with the same settings. +::: + +![Safety Setup - Battery1 Failsafe Triggers (Copter)](../../../assets/setup/safety/safety_arducopter_battery1_failsafe_triggers.jpg) + +The configuration options are: + +- **Low action** ([BATT\_FS\_LOW\_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-low-act-low-battery-failsafe-action)) - Select one of: None, Land, RTL, SmartRTL, SmartRTL or Land, Terminate. +- **Critical action** ([BATT\_FS\_CRT\_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-crt-act-critical-battery-failsafe-action)) - Select one of: None, Land, RTL, SmartRTL, SmartRTL or Land, Terminate. +- **Low voltage threshold** ([BATT\_LOW\_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-low-volt-low-battery-voltage)) - Battery voltage that triggers the _low action_. +- **Critical voltage threshold** ([BATT\_CRT\_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-crt-volt-critical-battery-voltage))- Battery voltage that triggers the _critical action_. +- **Low mAh threshold** ([BATT\_LOW\_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-low-mah-low-battery-capacity)) - Battery capacity that triggers the _low action_. +- **Critical mAh threshold** ([BATT\_CRT\_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-crt-mah-battery-critical-capacity)) - Battery capacity that triggers the _critical action_. + +### General Failsafe Triggers {#failsafe\_triggers\_copter} + +This panel enables the [GCS Failsafe](http://ardupilot.org/copter/docs/gcs-failsafe.html) +and enables/configures the throttle failsafe. + +![Safety Setup - General Failsafe Triggers (Copter)](../../../assets/setup/safety/safety_arducopter_general_failsafe_triggers.jpg) + +The configuration options are: + +- **Ground Station failsafe** - Disabled, Enabled always RTL, Enabled Continue with Mission in Auto Mode, Enabled Always SmartRTL or RTL, Enabled Always SmartRTL or Land. +- **Throttle failsafe** - Disabled, Always RTL, Continue with Mission in Auto Mode, Always land. +- **PWM Threshold** ([FS\_THR\_VALUE](http://ardupilot.org/copter/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. + +### Geofence {#geofence\_copter} + +This panel sets the parameters for the cylindrical [Simple Geofence](http://ardupilot.org/copter/docs/ac2_simple_geofence.html). +You can set whether the fence radius or height are enabled, the maximum values for causing a breach, and the action in the event of a breach. + +![Safety Setup - Geofence (Copter)](../../../assets/setup/safety/safety_arducopter_geofence.jpg) + +The configuration options are: + +- **Circle GeoFence enabled** ([FENCE\_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE\_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - Enable the circular geofence. +- **Altitude GeoFence enabled** ([FENCE\_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE\_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - Enable altitude geofence. +- Fence action ([FENCE\_ACTION](http://ardupilot.org/copter/docs/parameters.html#fence-action-fence-action)) One of: + - **Report only** - Report fence breach. + - **RTL or Land** - RTL or land on fence breach. +- **Max radius** ([FENCE\_RADIUS](http://ardupilot.org/copter/docs/parameters.html#fence-radius-circular-fence-radius)) - Circular fence radius that when broken causes RTL. +- **Max altitude** ([FENCE\_ALT\_MAX](http://ardupilot.org/copter/docs/parameters.html#fence-alt-max-fence-maximum-altitude))- Fence maximum altitude to trigger altitude geofence. + +### Return to Launch {#rtl\_copter} + +This panel sets the [RTL Mode](http://ardupilot.org/copter/docs/rtl-mode.html) behaviour. + +![Safety Setup - RTL (Copter)](../../../assets/setup/safety/safety_arducopter_return_to_launch.jpg) + +The configuration options are: + +- Select RTL return altitude ([RTL\_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): + - **Return at current altitude** - Return at current altitude. + - **Return at specified altitude** - Ascend to specified altitude to return if below current altitude. +- **Loiter above home for** ([RTL\_LOIT\_TIME](http://ardupilot.org/copter/docs/parameters.html#rtl-loit-time-rtl-loiter-time)) - Check to set a loiter time before landing. +- One of + - **Land with descent speed** ([LAND\_SPEED](http://ardupilot.org/copter/docs/parameters.html#land-speed-land-speed)) - Select final descent speed. + - **Final loiter altitude** ([RTL\_ALT\_FINAL](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-final-rtl-final-altitude)) - Select and set final altitude for landing after RTL or mission (set to 0 to land). + +### Arming Checks {#arming\_checks\_copter} + +This panel sets which [Pre-ARM Safety Checks](http://ardupilot.org/copter/docs/prearm_safety_check.html) are enabled. + +![Safety Setup - Arming Checks (Copter)](../../../assets/setup/safety/safety_arducopter_arming_checks.jpg) + +The configuration options are: + +- **Arming Checks to perform** ([ARMING\_CHECK](http://ardupilot.org/copter/docs/parameters.html#arming-check-arm-checks-to-peform-bitmask)) - Check all appropriate: Barometer, Compass, GPS lock, INS, Parameters, RC Channels, Board voltage, Battery Level, Airspeed, Logging Available, Hardware safety switch, GPS Configuration, System. + +## Plane + +The Plane safety page is shown below. + +![Safety Setup - Plane (Ardupilot)](../../../assets/setup/safety/safety_arduplane.jpg) + +:::info +For additional safety settings and information see: [Plane Failsafe Function](http://ardupilot.org/plane/docs/apms-failsafe-function.html) and [Advanced Failsafe Configuration](http://ardupilot.org/plane/docs/advanced-failsafe-configuration.html). +::: + +### Battery Failsafe {#battery\_failsafe\_plane} + +The plane battery failsafe is the same as for copter except there are different options for the [Low](http://ardupilot.org/plane/docs/parameters.html#batt-fs-low-act-low-battery-failsafe-action) and [Critical](http://ardupilot.org/plane/docs/parameters.html#batt-fs-crt-act-critical-battery-failsafe-action) actions: None, RTL, Land, Terminate. + +For more information see: [battery failsafe](#battery_failsafe_copter) (copter). + +### Failsafe Triggers {#failsafe\_triggers\_plane} + +This panel enables the [GCS Failsafe](http://ardupilot.org/plane/docs/advanced-failsafe-configuration.html#ground-station-communications-loss) and enables/configures the throttle failsafe. + +![Safety Setup - Failsafe Triggers (Plane)](../../../assets/setup/safety/safety_arduplane_failsafe_triggers.jpg) + +The configuration options are: + +- **Throttle PWM threshold** ([THR\_FS\_VALUE](http://ardupilot.org/plane/docs/parameters.html#thr-fs-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. +- **GCS failsafe** ([FS\_GCS\_ENABL](http://ardupilot.org/plane/docs/parameters.html#fs-gcs-enabl-gcs-failsafe-enable)) - Check to enable GCS failsafe. + +### Return to Launch {#rtl\_plane} + +This panel sets the [RTL Mode](http://ardupilot.org/copter/docs/rtl-mode.html) behaviour. + +![Safety Setup - RTL (Plane)](../../../assets/setup/safety/safety_arduplane_return_to_launch.jpg) + +The configuration options are: + +- Select RTL return altitude ([RTL\_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): + - **Return at current altitude** - Return at current altitude. + - **Return at specified altitude** - Ascend to specified altitude to return if below current altitude. + +### Arming Checks {#arming\_checks\_plane} + +[Arming Checks](#arming_checks_copter) are the same as for copter. + +## Rover + +The Rover safety page is shown below. + +![Safety Setup - Rover (Ardupilot)](../../../assets/setup/safety/safety_ardurover.jpg) + +:::info +For additional safety settings and information see: [Failsafes](http://ardupilot.org/rover/docs/rover-failsafes.html). +::: + +### Battery Failsafe {#battery\_failsafe\_rover} + +The rover battery failsafe is the same as for [copter](#battery_failsafe_copter). + +### Failsafe Triggers {#failsafe\_triggers\_rover} + +This panel enables the rover [Failsafes](http://ardupilot.org/rover/docs/rover-failsafes.html). + +![Safety Setup - Failsafe Triggers (Rover)](../../../assets/setup/safety/safety_ardurover_failsafe_triggers.jpg) + +The configuration options are: + +- **Ground Station failsafe** ([FS\_GCS\_ENABL](http://ardupilot.org/rover/docs/parameters.html#fs-gcs-enable-gcs-failsafe-enable)) - Check to enable GCS failsafe. +- **Throttle failsafe** ([FS\_THR\_ENABLE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-enable-throttle-failsafe-enable)) - Enable/disable throttle failsafe (value is _PWM threshold_ below). +- **PWM threshold** ([FS\_THR\_VALUE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. +- **Failsafe Crash Check** ([FS\_CRASH\_CHECK](http://ardupilot.org/rover/docs/parameters.html#fs-crash-check-crash-check-action)) - What to do in the event of a crash: Disabled, Hold, HoldAndDisarm + +### Arming Checks {#arming\_checks\_rover} + +[Arming Checks](#arming_checks_copter) are the same as for copter. + +## Sub + +The Sub safety page is shown below. + +![Safety Setup - Sub (Ardupilot)](../../../assets/setup/safety/safety_ardusub.jpg) + +:::info +For additional safety settings and information see: [Failsafes](https://www.ardusub.com/operators-manual/failsafes.html). +::: + +### Failsafe Actions {#failsafe\_actions\_sub} + +The configuration options are: + +- **GCS Heartbeat** - Select one of: Disabled, Warn only, Disarm, Enter depth hold mode, Enter surface mode. +- **Leak** - Select one of: Disabled, Warn only, Enter surface mode. + - **Detector Pin** - Select one of: Disabled, Pixhawk Aux (1-6), Pixhawk 3.3ADC(1-2), Pixhawk 6.6ADC. + - **Logic when Dry** - Select one of: Low, High. +- **Battery** - ?. +- **EKF** - Select one of: Disabled, Warn only, Disarm. +- **Pilot Input** - Select one of: Disabled, Warn only, Disarm. +- **Internal Temperature** - Select one of: Disabled, Warn only. +- **Internal Pressure** - Select one of: Disabled, Warn only. + +### Arming Checks {#arming\_checks\_sub} + +[Arming Checks](#arming_checks_copter) are the same as for copter. diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/sensors.md b/docs/ru/docs/en/qgc-user-guide/setup_view/sensors.md new file mode 100644 index 00000000000..4d7869856bf --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/sensors.md @@ -0,0 +1,15 @@ +# Sensors + +The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors +(the available sensors will depend on the autopilot firmware and vehicle type). + +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. + +Click on the button for each sensor to start its calibration sequence. + +Flight stack specific instructions are provided in the following topics: + +- [Sensors (ArduPilot)](../setup_view/sensors_ardupilot.md) +- [Sensors (PX4)](../setup_view/sensors_px4.md) diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/sensors_ardupilot.md b/docs/ru/docs/en/qgc-user-guide/setup_view/sensors_ardupilot.md new file mode 100644 index 00000000000..5aa8d72b3d4 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/sensors_ardupilot.md @@ -0,0 +1,123 @@ +# Sensor Setup (ArduPilot) + +The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors +(the available sensors will depend on the vehicle type). + +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. + +Click on the button for each sensor to start its calibration sequence. + +![Sensors Setup screen Copter](../../../assets/setup/sensor/sensor_setup_overview_ardupilot.jpg) + +## Accelerometer {#accelerometer} + +To calibrate the flight controller accelerometers you will be asked to place and hold your vehicle a number of orientations (you will be prompted when to move between positions). + +The calibration steps are: + +1. Click the **Accelerometer** sensor button. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_ardupilot.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Click **OK** to start the calibration. + +3. Position the vehicle based on text instructions in the center display. + Click the **Next** button to capture each position. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_positions_ardupilot.jpg) + +## Compass {#compass} + +ArduPilot uses onboard calibration support that allows for more accurate calibration. + +:::info +Older ArduPilot firmware can be calibrated using the [same process as PX4](../setup_view/sensors_px4.md#compass). +::: + +You need to rotate the vehicle randomly around all axes until the progress bar fills all the way to the right and the calibration completes. When the calibration completes you will get the following results: + +![ArduPilot Compass Calibration Onboard Result](../../../assets/setup/sensor_compass_ardupilot_onboard_calibration_result.jpg) + +This shows you the quality of the calibration for each compass. Using these values you can determine whether you may want to turn off usage of poorly performing compasses. + +## Level Horizon {#level\_horizon} + +If the horizon (as shown in the HUD) is not level after completing accelerometer calibration you can calibrate the level horizon for your vehicle. +You will be asked to place the vehicle in a level orientation while it captures the information. + +1. Click the **Level Horizon** sensor button. + ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Place the vehicle in its level flight orientation on a level surface: + +- For planes this is the position during level flight (planes tend to have their wings slightly pitched up!) +- For copters this is the hover position. + +1. Click **OK** to start the calibration. + +## Pressure/Barometer {#pressure} + +This calibration set's the altitude to zero at the current pressure. + +To perform **Pressure** calibration: + +1. Click the **Calibrate Pressure** button and then **Ok**. + + ![Calibrate Pressure](../../../assets/setup/sensor/calibrate_pressure_ardupilot.jpg) + + The calibration result is immediately displayed: + + ![Calibrate Pressure Result](../../../assets/setup/sensor/calibrate_pressure_result_ardupilot.jpg) + +## CompassMot (Optional) + +CompassMot calibration is optional! It is recommended for vehicles that only have an internal compass and when there is significant interference on the compass from the motors, power wires, etc. +CompassMot only works well if you have a battery current monitor because the magnetic interference is linear with current drawn. + +To perform **CompassMot** calibration: + +1. Click the **CompassMot** sensor button. + + + +2. Follow the onscreen prompts. + + ![CompassMot calibration](../../../assets/setup/sensor_compass_mot.jpg) + +## Sensor Settings {#sensor\_settings} + +The _Sensor Settings_ section allows you to specify the compass orientation and which compasses are enabled. + +:::tip +You can skip this section if the flight controller and compass are mounted upright on the vehicle and facing the front (this is the default orientation - `ROTATION_NONE`). +::: + +If the autopilot/compass are mounted in any other way you will need to specify their orientations as YAW, PITCH and/or ROLL offsets relative to the forward-facing-upright orientation (clock-wise rotation around the Z, Y and X axis, respectively). + +![Flight Controller Orientation](../../../assets/setup/flight_controller_orientation.png) + +For example, the image below are at orientations: `ROTATION_NONE`, `ROTATION_YAW_90`,`ROTATION_YAW_180`,`ROTATION_YAW_270`. + +![Flight controller yaw rotation](../../../assets/setup/flight_controller_yaw_rotation.png) + +To set the orientation(s) and compasses used: + +1. Select the **Sensor Settings** button. + + ![Sensor Settings](../../../assets/setup/sensor/sensor_settings_ardupilot.jpg) + +2. Select the **AutoPilot Orientation**. + +3. Select the _orientation_ from **Compass 1 (primary/external) > Orientation** (or check **Compass2 (secondary, external) > Use Compass** to instead use the internal compass). + +4. Press **OK**. diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/sensors_px4.md b/docs/ru/docs/en/qgc-user-guide/setup_view/sensors_px4.md new file mode 100644 index 00000000000..de46f62fe63 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/sensors_px4.md @@ -0,0 +1,163 @@ +# Sensor Setup (PX4) + +The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors +(the available sensors will depend on the vehicle type). + +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. + +Click on the button for each sensor to start its calibration sequence. + +![Sensors Setup screen for VTOL vehicle](../../../assets/setup/sensors_px4_vtol.jpg) + +:::info +The image shown is from a VTOL vehicle running PX4 firmware. +Other autopilot firmware and vehicles will offer slightly different options. +::: + +## Compass {#compass} + +The process guides you to position the vehicle in a number of set orientations and rotate the vehicle about the specified axis. + +The calibration steps are: + +1. Click the **Compass** sensor button + ![Select Compass calibration PX4](../../../assets/setup/sensor_compass_select_px4.jpg) + + ::: info + The default flight controller orientation is `ROTATION_NONE` (flight controller and compass mounted upright on the vehicle and facing the front). + You can set a different value here or in [Set Orientations](#flight_controller_orientation). + ::: + +2. Click **OK** to start the calibration. + +3. Place the vehicle in any of the orientations shown in red (incomplete) and hold it still. + Once prompted (the orientation-image turns yellow) rotate the vehicle around the specified axis in either/both directions. + Once the calibration is complete in that orientation the associated image on the screen will turn green. + ![Compass calibration steps on PX4](../../../assets/setup/sensor_compass_calibrate_px4.jpg) + +4. Repeat the calibration process for all vehicle orientations. + +Once you've rotated the vehicle in all the positions _QGroundControl_ will display _Calibration complete_ (all orientation images will be displayed in green and the progress bar will fill completely) +You can then proceed to the next sensor. + +## Gyroscope {#gyroscope} + +You will be guided to place the vehicle on a flat surface and keep it still. + +The calibration steps are: + +1. Click the **Gyroscope** sensor button + ![Select Gyroscope calibration PX4](../../../assets/setup/sensor/gyroscope_calibrate_px4.jpg) + +2. Place the vehicle on a surface and leave it still. + +3. Click **Ok** to start the calibration. + + The bar at the top shows the progress: + + ![Gyro calibration in progress on PX4](../../../assets/setup/sensor/gyroscope_calibrate_progress_px4.jpg) + +4. When finished, _QGroundControl_ will display _Calibration complete_ and the progress bar will fill completely. + ![Gyro calibration complete on PX4](../../../assets/setup/sensor/gyroscope_calibrate_complete_px4.jpg) + +:::info +If you move the vehicle during calibration, _QGroundControl_ will automatically restart the calibration. +::: + +You can then proceed to the next sensor. + +## Accelerometer {#accelerometer} + +To calibrate the flight controller accelerometers you will be asked to place and hold your vehicle a number of orientations (you will be prompted when to move between positions). + +The calibration steps are: + +1. Click the **Accelerometer** sensor button. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_px4.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Click **OK** to start the calibration. + +3. Position the vehicle as guided by the _images_ on the screen. This is very similar to compass calibration. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_positions_px4.jpg) + +4. Repeat the calibration process for all vehicle orientations. + +Once you've rotated the vehicle in all the positions _QGroundControl_ will display _Calibration complete_. + +You can then proceed to the next sensor. + +## Level Horizon + +If the horizon (as shown in the HUD) is not level after completing accelerometer calibration you can calibrate the level horizon for your vehicle. +You will be asked to place the vehicle in a level orientation while it captures the information. + +1. Click the **Level Horizon** sensor button. + ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Place the vehicle in its level flight orientation on a level surface: + +- For planes this is the position during level flight (planes tend to have their wings slightly pitched up!) +- For copters this is the hover position. + +1. Click **OK** to start the calibration. + +## Airspeed {#airspeed} + +The airspeed calibration needs to read a stable baseline with 0 airspeed in order to determine an offset. +Cup your hands over the pitot to block any wind (if calibrating the sensor indoors this is not needed) and then blow into the tube using your mouth (to signal completion of the calibration). + +To calibrate the airspeed sensor: + +1. Click the **Airspeed** sensor button + + ![Airspeed calibration](../../../assets/setup/sensors_airspeed.jpg) + +2. Cover the sensor (i.e. with your hand) + + ::: warning + Do not touch the sensor (obstruct any holes) during calibration. + ::: + +3. Click **OK** to start the calibration. + +4. Blow into the sensor. + +5. Wait for 2-3 seconds before removing the covering (calibration completes silently after several seconds) + +## Set Orientations {#flight\_controller\_orientation} + +:::tip +You can skip this section if the flight controller and compass are mounted upright on the vehicle and facing the front (this is the default orientation - `ROTATION_NONE`). +::: + +If the autopilot/compass are mounted in any other way you will need to specify their orientations as YAW, PITCH and/or ROLL offsets relative to the forward-facing-upright orientation (clock-wise rotation around the Z, Y and X axis, respectively). + + + +For example, the image below are at orientations: `ROTATION_NONE`, `ROTATION_YAW_90`,`ROTATION_YAW_180`,`ROTATION_YAW_270`. + + + +To set the orientation(s) on PX4: + +1. Select the **Set Orientations** button. + + + +2. Select the **AutoPilot Orientation**. + +3. Select the **External Compass Orientation** (this option will only be displayed if there is an external compass). + +4. Press **OK**. diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/setup_view.md b/docs/ru/docs/en/qgc-user-guide/setup_view/setup_view.md new file mode 100644 index 00000000000..6b3d32e9ecc --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/setup_view.md @@ -0,0 +1,37 @@ +# Setup View + +The Setup View is used to configure a new vehicle prior to first flight and/or tune a configured vehicle. + +![](../../../assets/setup/setup_view.jpg) + +## Setup Options + +To the left of the screen are the set of available setup options. A setup button is marked with a red icon if there are still settings needed to be adjusted/specified. You should not fly if any of these are red. In the above image the Radio setup is not yet complete. + +:::info +The set of options shown and the contents of each option may differ based on whether the vehicle is running PX4 Pro or ArduPilot firmware. The image above is from a vehicle which is running PX4 Pro firmware. +::: + +**Summary**
An overview of all the important setup options for your vehicle. Similar to the individual setup buttons, the summary blocks show a red indicator when those settings are not fully configured. + +**[Firmware](firmware.md)**
Flash new firmware onto your vehicle. + +**[Airframe](airframe.md)**
Specify the airframe type for the vehicle. + +**[Radio](radio.md)**
Calibrate your Radio Control Transmitter. + +**[Sensors](sensors.md)**
Calibrate the sensors on the vehicle. + +**[Flight Modes](flight_modes.md)**
Used to assign flight modes to your RC Transmitter switches. + +**[Power](power.md)**
Battery settings and additional power options such as ESC calibration. + +**[Motors](motors.md)**
Motors testing and setup. + +**[Safety](Safety.md)**
Specify settings for options related to Safety such as Return to Home or Failsafes. + +**[Tuning](tuning.md)**
Tune flight characteristics of the vehicle. + +**[Camera](camera.md)**
Configure settings for camera and gimbal. + +**[Parameters](parameters.md)**
Allows you to modify all parameters associated with your vehicle.

diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/tuning.md b/docs/ru/docs/en/qgc-user-guide/setup_view/tuning.md new file mode 100644 index 00000000000..13032afc2c0 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/tuning.md @@ -0,0 +1,7 @@ +# Tuning Setup + +The Tuning page allows you to configure settings on your vehicle which control basic flight characteristics. +The details differ depending on flight stack: + +- [Tuning (ArduPilot)](../setup_view/tuning_ardupilot.md) +- [Tuning (PX4)](../setup_view/tuning_px4.md) diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/tuning_arducopter.md b/docs/ru/docs/en/qgc-user-guide/setup_view/tuning_arducopter.md new file mode 100644 index 00000000000..242f58b2417 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/tuning_arducopter.md @@ -0,0 +1,48 @@ +# ArduCopter Tuning + +![ArduCopter Tuning Page](../../../assets/setup/tuning/arducopter.png) + +## Basic Tuning + +Adjust the flight characteristics by moving the desired slider to the left or right. + +## AutoTune + +AutoTune is used to automatically tune the rate parameters in order to provide the highest response without significant overshoot. + +Performing an AutoTune: + +- Select which axes you would like to tune. + + ::: tip + Tuning all axes at once can take a significant amount of time, which may cause you to run out of battery. + To prevent this choose to tune only one axis at a time. + ::: + +- Assign AutoTune to one of your transmitter switches. + Ensure that switch is in low position before taking off. + +- Take off and put the copter into AltHold. + +- Turn on AutoTune with your transmitter switch. + +- The copter will twitch around the specified axes for a few minutes. + +- When AutoTune completes the copter will change back to the original settings. + +- Move the AutoTune switch back to low position and then back to high to test the new settings. + +- Move the AutoTune switch to low to test previous settings. + +- To save new settings, land and disarm while AutoTune switch is in high position. + +Note: + +- Since AutoTune is done in AltHold your copter must already have a tuning which is minimally flyable in AltHold. + You can cancel AutoTune at any time by moving the AutoTune switch back to low position. +- You can reposition the copter using your transmitter at any time during AutoTune. + +### In-Flight Tuning + +This is an advanced option which allows you to tune a flight control parameter using one of your transmitter dial channels. +Select the control option from the dropdown and specify the min/max for the values to assign to the dial. diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/tuning_ardupilot.md b/docs/ru/docs/en/qgc-user-guide/setup_view/tuning_ardupilot.md new file mode 100644 index 00000000000..53d84b08bbf --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/tuning_ardupilot.md @@ -0,0 +1,4 @@ +# Tuning (ArduPilot) + +- [Tuning (ArduCopter)](../setup_view/tuning_arducopter.md) +- [Tuning (ArduSub)](../setup_view/tuning_ardusub.md) diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/tuning_ardusub.md b/docs/ru/docs/en/qgc-user-guide/setup_view/tuning_ardusub.md new file mode 100644 index 00000000000..0745cf3190e --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/tuning_ardusub.md @@ -0,0 +1,17 @@ +# ArduSub Tuning + +![ArduSub Tuning Page](../../../assets/setup/tuning/ardusub.jpg) + +## Basic Tuning + +This page allows changing the PID controller gains to better suit your vehicle and application. Changing these may help you get a snappier response for more precise movements, or a smoother response for recording cinematic footages. Adjust a parameter by moving the desired slider, or by clicking the increase/decrease buttons. There are three controllers that can be adjusted here: + +- [**Attitude Controller Parameters**](https://www.ardusub.com/operators-manual/full-parameter-list.html#atc-parameters) are the parameters for the controller responsible for keeping the vehicle oriented as you want it, assuming your vehicle has ability (enough motors/DOF) to do so. + +- **Position Controller Parameters** are the parameters for the controller responsible for positioning the vehicle at a point in 3D space. The **Z** parameters control how the depth control works (eg in [_Depth Hold_](https://www.ardusub.com/operators-manual/flight-modes.html#depth-hold) mode). The **XY** parameters affect how the vehicle controls the horizontal position in [_Position Enabled_](https://www.ardusub.com/operators-manual/flight-modes.html#position-enabled-modes) modes. + +- **Waypoint Navigation Parameters** are the parameters for the controller responsible for following waypoints in **Auto** and **Guided** mode. + + ::: warning + **Guided** and **Auto** modes are currently unsupported and some features are disabled in QGC. + ::: diff --git a/docs/ru/docs/en/qgc-user-guide/setup_view/tuning_px4.md b/docs/ru/docs/en/qgc-user-guide/setup_view/tuning_px4.md new file mode 100644 index 00000000000..76ed41fd803 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/setup_view/tuning_px4.md @@ -0,0 +1,135 @@ +# Tuning (PX4) + +Tuning only needs to be done once, and is recommended unless you're using vehicle that has already been tuned by the manufacturer (and not modified since). + +[Auto-tuning](#autotune) should generally be used for frame types and controllers that support it (multicopter, fixed wing, and hybrid VTOL fixed wing vehicles). +The tuning UI also supports manual tuning of all controllers. + +![Tuning Setup > Autotune](../../../assets/setup/tuning/px4_autotune_hero.png) + +:::info +During [Airframe Setup](../config/airframe.md) you should have selected the frame that most closely matches your vehicle. +This will usually be tuned well enough to fly, and it _may_ also be sufficiently well tuned to run autotuning. +::: + +## Autotune + +Auto-tuning automates the process of tuning the PX4 rate and attitude controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional"). + +:::info +This guide shows the default usage of this feature. +Additional information and configuration can be found in the [PX4 Autotuning Guide](http://docs.px4.io/master/en/config/autotune.html) (PX4 User Guide). +::: + +### Pre-Autotuning Test + +Auto-tuning is performed while flying. +The vehicle must be able to fly and adequately stabilize itself before running auto-tune. +This test ensures that the vehicle can fly safely in position controlled modes. + +To make sure the vehicle is stable enough for auto-tuning: + +1. Perform a normal preflight safety checklist to ensure the flight zone is clear and has enough space. +2. Takeoff and prepare for the test + - **Multicopters:** Take off and hover at 1m above ground in **Altitude mode** or Stabilized mode. + - **Fixed-wing mode:** Take off and fly at cruise speed in **Position mode** or **Altitude mode**. +3. Use the RC transmitter roll stick to perform the following maneuver, tilting the vehicle just a few degrees: _roll left > roll right > center_ (The whole maneuver should take about 3 seconds). + The vehicle should stabilise itself within 2 oscillations. +4. Repeat the maneuver, tilting with larger amplitudes at each attempt. + If the vehicle can stabilise itself within 2 oscillations at \~20 degrees move to the next step. +5. Repeat the same maneuvers but on the pitch axis. + As above, start with small angles and confirm that the vehicle can itself within 2 oscillations before increasing the tilt. + +If the drone can stabilize itself within 2 oscillations it is ready for the auto-tuning procedure. + +If not, see the [PX4 User Guide > Autotuning > Troubleshooting](http://docs.px4.io/master/en/config/autotune.html#troubleshooting). + +### Auto-tuning procedure + +The auto-tuning sequence must be performed in a **safe flight zone, with enough space**. +It takes about 40 seconds (between 19 and 68 seconds). +For best results, we recommend running the test in calm weather conditions. + +:::info +Be ready to abort the autotuning process by moving the RC controller sticks. +::: + +The test steps are: + +1. Perform the [pre-tuning test](#pre-tuning-test) above. + +2. Takeoff using RC control and prepare for test: + - **Multicopters:** Takeoff using the remote controller in **Altitude mode**. + Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m). + - **VTOL in Fixed-wing mode:** Once flying at cruise speed, activate **Hold Mode**. + This will guide the plane to fly in circle at constant altitude and speed. + +3. In QGroundControl, open the menu: **Vehicle setup > PID Tuning** + + ![Tuning Setup > Autotune Enabled](../../../assets/setup/tuning/px4_autotune.png) + +4. Select either the _Rate Controller_ or _Attitude Controller_ tabs. + Ensure that the **Autotune enabled** button is enabled (this will display the **Autotune** button and remove the manual tuning selectors). + +5. Stop moving the joysticks and click on the **Autotune** button. + Read the warning popup and click on **OK** to start tuning. + +6. The drone will first start to perform quick roll motions followed by pitch and yaw motions. + The progress is shown in the progress bar, next to the _Autotune_ button. + +7. Apply the tuning: + - **Fixed Wing:** The tuning will be immediately/automatically be applied and tested in flight (by default). + PX4 will then run a 4 second test and revert the new tuning if a problem is detected. + - **Multicopters:** Manually land and disarm to apply the new tuning parameters. + Takeoff carefully and manually test that the vehicle is stable. + +8. If any strong oscillations occur, land immediately and follow the instructions in [PX4 User Guide > Autotuning > Troubleshooting](http://docs.px4.io/master/en/config/autotune.html#troubleshooting). + +
+ + + +A video of the process is shown below: + + + +## Manual Tuning + +Manual tuning is done in-flight, so your vehicle must already be tuned well enough to fly with (this is normally the case if you have selected an appropriate default airframe). + +The instructions below explain how you can use the manual tuning UI. +It is designed to be read/used in conjustion with the [PX4 Manual PID Tuning Guides](http://docs.px4.io/master/en/config/autotune.html#see-also), which provide more detailed hints on the kinds of step sizes to use when changing PID values. + +In overview: + +1. Takeoff using RC control and prepare for test: + - **Multicopters:** Takeoff using the remote controller in **Altitude mode**. + Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m). + - **Fixed-wing:** Once flying at cruise speed, activate **Hold Mode**. + This will guide the plane to fly in circle at constant altitude and speed. + +2. In QGroundControl, open the menu: **Vehicle setup > PID Tuning** + +3. Select the _Rate Controller_ tab. + Ensure that the **Autotune enabled** button is is turned off. + + ![PX4 Tuning - Manual - Rate controller](../../../assets/setup/tuning/px4_copter_manual_rate.png) + +4. Select the _Tuning axis_ to tune: **Roll**, **Pitch** or **Yaw** (each axis is tuned separately). + +5. Fly the vehicle, observing the tracking on the chart. + - Adjust the _Tuning Values_ (parameters) to improve the tracking shown on the graph using the slider. + - The values are automatically saved, but you may wish to use the **Save to Clipboard** and **Restore from Clipboard** buttons to store the last known good configuration. + - You can also **Clear**/**Stop** the chart using the buttons provided. + +6. Tune the other axes. + +7. Switch to the other controllers and repeat the process. + Screenshots of the tuning pages are shown below. + + ![PX4 Tuning - Manual - Attitude controller](../../../assets/setup/tuning/px4_copter_manual_attitude.png) + ![PX4 Tuning - Manual - Velocity controller](../../../assets/setup/tuning/px4_copter_manual_velocity.png) + ![PX4 Tuning - Manual - Position controller](../../../assets/setup/tuning/px4_copter_manual_velocity.png) diff --git a/docs/ru/docs/en/qgc-user-guide/support/support.md b/docs/ru/docs/en/qgc-user-guide/support/support.md new file mode 100644 index 00000000000..0a379a572f9 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/support/support.md @@ -0,0 +1,57 @@ +# Support + +This user guide is meant to be the main provider of support for _QGroundControl_. +If you find incorrect or missing information please report an [Issue](https://github.com/mavlink/qgc-user-guide/issues). + +_Questions_ about how to use _QGroundControl_ should be raised in the discussion forum for the associated flight stack: + +- [PX4 Pro Flight Stack](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-usage) (discuss.px4.io). +- [ArduPilot Flight Stack](http://discuss.ardupilot.org/c/ground-control-software/qgroundcontrol) (discuss.ardupilot.org). + +These forums are also the best place to start discussions on bugs/problems you are having with _QGroundControl_ and or feature requests you would like to make. From there you may be directed to entering information in a GitHub Issue for further resolution. + +### Developer Chat {#developer\_chat} + +_QGroundControl_ developers (and many regular/deeply-involved users) can be found on the [#QGroundControl channel on the Dronecode Discord](https://discord.gg/dronecode). + +## GitHub Issues + +Issues are used to track bugs against _QGroundControl_ as well as feature requests for later versions. The current list of issues can be found on [GitHub here](https://github.com/mavlink/qgroundcontrol/issues). + +:::info +Please contact our developers using the support forums **before** creating GitHub issues for either bugs or feature requests. +::: + +### Reporting Bugs + +If you are directed to create an issue, please use the "Bug report" template and provide all information specified in the template. + +##### Reporting Crashes from Windows Builds + +When QGC crashes a crash dump file will be place in the Users LocalAppData directory. To navigate to that directory use the Start/Run command. You can bring this up window WinKey+R. Type into that `%localappdata%` for Open and click Ok. Crash dumps will be in a `QGCCrashDumps` folder in that directory. You should find a new **.dmp** file there. Add a link to that file in a GitHub Issue when reporting you problem. + +##### Reporting Hangs from Windows Builds + +If Windows is telling you the _QGroundControl program is unresponsive_ use the following steps to report the hang: + +1. Open _Task Manager_ (right-click TaskBar, select **Task Manager**) +2. Switch to the Processes tab and local **qgroundcontrol.exe** +3. Right-click on **groundcontrol.exe** and select **Create Dump File** +4. Place the dump file in a public location +5. Add a link to the **.dmp** file and above details in the GitHub issue. + +### Feature Requests + +If you are directed to create a feature request after discussion on support forums please use the "Feature request" template which has some helpful information on required details. + +## Troubleshooting + +Troubleshooting information is linked from [here](../troubleshooting/index.md). + +### Console Logging + +_Console Logs_ can be helpful when diagnosing _QGroundControl_ problems. For more information see: [Console Logging](../settings_view/console_logging.md). + +## Help Improve these Docs! + +Just like _QGroundControl_ itself, the user guide is an open source, user created and supported GitBook. We welcome [Pull Requests](https://github.com/mavlink/qgc-user-guide/pulls) against the guide for fixes and/or updates. diff --git a/docs/ru/docs/en/qgc-user-guide/toolbar/toolbar.md b/docs/ru/docs/en/qgc-user-guide/toolbar/toolbar.md new file mode 100644 index 00000000000..f5e666186d2 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/toolbar/toolbar.md @@ -0,0 +1,37 @@ +# Main Toolbar + +The main toolbar provides access to select the different application views, and high level status information for connected vehicles. +The toolbar is the same in all views except for "PlanView" (which has a single icon to take you back to "Fly" view). + +## View-select icons + +The following icons are used to switch between the main _Views_. These are displayed even if no vehicle is connected. + +![Settings view icon](../../../assets/toolbar/toolbar_view_select_settings.jpg) **[Settings](../settings_view/settings_view.md)**
Configure the _QGroundControl_ application. + +![Setup view icon](../../../assets/toolbar/toolbar_view_select_setup.jpg) **[Setup](../setup_view/setup_view.md)**
Configure and tune your vehicle. + +![Plan view icon](../../../assets/toolbar/toolbar_view_select_plan.jpg) **[Plan](../plan_view/plan_view.md)**
Create autonomous missions. + +![Fly icon](../../../assets/toolbar/toolbar_view_select_fly.jpg) **[Fly](../fly_view/fly_view.md)**
Monitor your vehicle(s) while flying, including streaming video. + +![Analyze icon](../../../assets/toolbar/toolbar_view_select_analyse.jpg) **[Analyze](../analyze_view/index.md)**
Download logs, geotag images from a survey mission, access the MAVLink console. + +## Status icons + +Status icons are displayed when _QGroundControl_ is connected to a vehicle. +These show the high level status of the vehicle, and can be clicked to see more detailed information. + +![](../../../assets/toolbar/toolbar_status_message.jpg) ![yield](../../../assets/toolbar/toolbar_status_critical.jpg) **Vehicle Messages**
Click to show a list of messages from the vehicle. Note that version on the right is displayed when there are critical messages. + +![](../../../assets/toolbar/toolbar_status_gps.jpg) **GPS Status**
Shows you satellite count and curent HDOP. + +![](../../../assets/toolbar/toolbar_status_rc.jpg) **RC RSSI**
RC signal strength information. + +![](../../../assets/toolbar/toolbar_status_telemetry.jpg) **Telemetry RSSI**
Telemetry signals strength information. + +![](../../../assets/toolbar/toolbar_status_battery.jpg) **Battery**
Remaining battery percent. + +![](../../../assets/toolbar/toolbar_status_flight_mode.jpg) **Flight Mode**
Current flight mode. Click to change flight mode. + +![](../../../assets/toolbar/toolbar_status_rtk_gps.jpg) **RTK GPS Survey-In Status**
Shows you progress of RTK GPS Survey-In process. diff --git a/docs/ru/docs/en/qgc-user-guide/troubleshooting/index.md b/docs/ru/docs/en/qgc-user-guide/troubleshooting/index.md new file mode 100644 index 00000000000..81150a50b89 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/troubleshooting/index.md @@ -0,0 +1,8 @@ +## Troubleshooting + +Troubleshooting information is provided in two sections: + +- [QGC Setup](../troubleshooting/qgc_setup.md) - Troubleshooting _QGroundControl_ installation and setup. +- [QGC Usage](../troubleshooting/qgc_usage.md) - Troubleshooting problems when **using** _QGroundControl_ to interact with a vehicle. + +If your questions are still unresolved, please check the [Support](../support/support.md) page for more information on getting help. diff --git a/docs/ru/docs/en/qgc-user-guide/troubleshooting/parameter_download.md b/docs/ru/docs/en/qgc-user-guide/troubleshooting/parameter_download.md new file mode 100644 index 00000000000..547c9f1ae27 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/troubleshooting/parameter_download.md @@ -0,0 +1,15 @@ +# Parameter Download failures + +The majority of parameter download failures are caused by a communication link which is noisy and has a high loss rate. +Although the parameter protocol has retry logic for such a case it will eventually give up. +At which point you will get an error stating that QGC was unable to retrieve the full set or parameters. + +Although you can still fly the vehicle in this state it is not recommended. +Also the vehicle setup pages will not be available. + +You can see the loss rate for your link from the [Settings View > MAVLink](../settings_view/mavlink.md) page. +Even a loss rate in the high single digits can lead to intermittent failures of the plan protocols. +Higher loss rates could leads to 100% failure. + +There is also the more remote possibility of either firmware or QGC bugs. +To see the details of the back and forth message traffic of the protocol you can turn on [Console Logging](../settings_view/console_logging.md) for the Parameter Protocol. diff --git a/docs/ru/docs/en/qgc-user-guide/troubleshooting/plan_upload_download.md b/docs/ru/docs/en/qgc-user-guide/troubleshooting/plan_upload_download.md new file mode 100644 index 00000000000..6475ded936b --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/troubleshooting/plan_upload_download.md @@ -0,0 +1,5 @@ +# Mission Upload/Download failures + +Although the protocol for uploading and download Plans (Mission, GeoFence, Rally Points) to a vehicle includes retry logic it can still fail over a communication link which is running at a high loss rate. + +For more information see: [Plan View > Mission (Plan) Upload/Download Failures](../plan_view/plan_view.md#plan_transfer_fail) diff --git a/docs/ru/docs/en/qgc-user-guide/troubleshooting/qgc_setup.md b/docs/ru/docs/en/qgc-user-guide/troubleshooting/qgc_setup.md new file mode 100644 index 00000000000..0ca91a83a58 --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/troubleshooting/qgc_setup.md @@ -0,0 +1,97 @@ +# Troubleshooting QGC Setup + +This topic lists troubleshooting information related to _QGroundControl_ setup and installation on the host computer. + +:::tip +Problems when **using** _QGroundControl_ to interact with a vehicle are covered in: [QGC Vehicle Interaction Problems](../troubleshooting/qgc_usage.md). +::: + +## 64-bit Windows: Audio in Unexpected Language + +On Windows 64-bit machines _QGroundControl_ may sometimes play audio/messages in a language that does not match the _Text-to-speech_ setting in **Control Panel > Speech** (e.g. audio spoken in German on an English machine). + +This can occur because 64-bit Windows only displays 64-bit voices, while _QGroundControl_ is a 32-bit application (on Windows) and hence can only run 32-bit voices. + +The solution is to set the desired _32-bit voice_ for your system: + +1. Run the control panel application: **C:\Windows\SysWOW64\Speech\SpeechUX\sapi.cpl**. +2. Make your desired _Voice selection_ and then click **OK** at the bottom of the dialog. + ![Windows 32-bit Text-To-Speech Control Panel](../../../assets/support/windows_text_to_speech.png) + +:::info +Additional information about the Windows speech APIs can be found [here](https://www.webbie.org.uk/blog/microsoft-speech/). +::: + +## Windows: UI Rendering/Video Driver Issues {#opengl\_troubleshooting} + +If you experience UI rendering issues or video driver crashes on Windows, this may be caused by "flaky" OpenGL drivers. _QGroundControl_ provides 3 shortcuts that you can use to start _QGroundControl_ in "safer" video modes (try these in order): + +- **QGroundControl:** QGC uses OpenGL graphics drivers directly. +- **GPU Compatibility Mode:** QGC uses ANGLE drivers, which implement OpenGL on top of DirectX. +- **GPU Safe Mode:** QGC uses a software rasterizer for the UI (this is very slow). + +## Windows: Doesn't connect to Vehicle over WiFi {#waiting\_for\_connection} + +If _QGroundControl_ sits forever (for example, _Waiting For Vehicle Connection_) when trying to connect to the vehicle over Wifi, a possible cause is that IP traffic is being blocked by firewall software (e.g. Windows Defender, Norton, etc.). + +![Waiting for connection](../../../assets/support/waiting_for_connection.jpg) + +The solution is to allow the _QGroundControl_ app through the firewall. + +:::info +It is possible to simply switch the network profile from Public to Private to allow connections, but this exposes your PC to the Network, so be careful +::: + +If using _Windows Defender_: + +- In the **Start** bar, enter/select: _Firewall & Network Protection_ (System Settings). +- Scroll to and select the option: _Allow an app through firewall_. +- Select _QGroundControl_ and change the _Access_ selector to **Allow**. + + ::: tip + Programs are listed in alphabetical order by description (not filename). + You'll find QGC under **O**: _Open source ground control app provided by QGroundControl dev team_ + ::: + +## Ubuntu: Video Streaming Fails (Missing Gstreamer) {#missing\_gstreamer} + +On Ubuntu you must install _Gstreamer_ components in order to see video streams. +If these are not installed _QGroundControl_ is unable to create the gstreamer nodes and fails with: + +```sh +VideoReceiver::start() failed. Error with gst_element_factory_make(‘avdec_h264’) +``` + +The [download/install instructions for Ubuntu](../getting_started/download_and_install.md#ubuntu) include _GStreamer_ setup information. + +## Ubuntu 18.04: Video Streaming Fails on Dual Video Adapter Systems {#dual\_vga} + +![Video on Ubuntu 18.04](../../../assets/support/troubleshooting_dual_vga_driver.jpg) + +The version of GSteamer in Ubuntu 18.04 has a bug that prevents video displaying when using a VA API based decoder (i.e. vaapih264dec etc.) on systems that have both Intel and NVidia video display adapters. + +:::info +More generally, while the problem is known to occur on Ubuntu 18.04 with Intel and NVidia VGAs, it might occur on any linux system and other types of (dual) VGAs. +::: + +The easiest way to get _QGroundControl_ to work in this case is to start it using the following command line: + +``` +LIBVA_DRIVER_NAME=fakedriver ./QGroundControl) will this make the +``` + +Other alternatives are to disable one of the VGAs, uninstall VA API components, or upgrade to GStreamer 1.16 (there is no easy way to do this on Ubuntu 18.04 - please contribute a recipe if you find one!) + +## Ubuntu 16.04: GLIBC\_2.27 not found {#glibc\_2\_27} + +The pre-built AppImages for QGroundControl 4.0 (and later) can only run on Ubuntu 18.04 LTS (or later). +They do not run on Ubuntu 16.04. + +If you try you will get the error as shown: + +```sh +$ ./QGroundControl.AppImage +/tmp/.mount_i4hPuB/QGroundControl: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /tmp/.mount_i4hPuB/QGroundControl) +``` + +If you need to use Ubuntu 16.04 then one workaround is to build from source without the video libraries. diff --git a/docs/ru/docs/en/qgc-user-guide/troubleshooting/qgc_usage.md b/docs/ru/docs/en/qgc-user-guide/troubleshooting/qgc_usage.md new file mode 100644 index 00000000000..103bf3ba34f --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/troubleshooting/qgc_usage.md @@ -0,0 +1,12 @@ +# Troubleshooting QGC Usage + +This section covers a number of common problems related to **using** _QGroundControl_ to interact with a vehicle: + +- [Connection problems](../troubleshooting/vehicle_connection.md) +- [Parameter Download failures](../troubleshooting/parameter_download.md) +- [Plan Upload/Download failures](../troubleshooting/plan_upload_download.md) +- [Resume Mission failures](../troubleshooting/resume_mission.md) + +:::tip +Problems with **installing/running** _QGroundControl_ on the host computer are covered in [Troubleshooting QGC Setup](../troubleshooting/qgc_setup.md). +::: diff --git a/docs/ru/docs/en/qgc-user-guide/troubleshooting/resume_mission.md b/docs/ru/docs/en/qgc-user-guide/troubleshooting/resume_mission.md new file mode 100644 index 00000000000..613729cf11a --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/troubleshooting/resume_mission.md @@ -0,0 +1,57 @@ +# Resume Mission Failures + +The process of resuming a mission after a battery swap is a fairly complex process within QGC. + +The two main areas that are most problematic are: + +- The _Resume Mission_ dialog doesn't display when it should and you are just left with a Start Mission slider. +- The new mission generated from _Resume Mission_ is not quite correct with respect to recreation of waypoints and/or camera commands. + +:::warning +In order for the _QGroundControl_ development team to debug these issues the following information **must be supplied** in any github issue entered against _Resume Mission_. +::: + +## Common Steps for Resume Mission Dialog/Generation {#common\_steps} + +The following steps are required for debugging both types of problems: + +1. Restart QGC + +2. Turn on [console logging](../settings_view/console_logging.md) with the log option: `GuidedActionsControllerLog`. + +3. Enable [telemetry logging](../settings_view/general.md#miscellaneous) (**Settings > General**). + +4. Start the mission. + +5. Fly till you need a battery swap. + + ::: tip + Alternatively you can attempt to reproduce the problem by manually RTL from the middle of the middle of the mission (though this may not always reproduce the problem). + ::: + +6. Once the vehicle lands and disarms you should get the _Resume Mission_ dialog. + + ::: info + If not there is a possible bug in QGC. + ::: + +### Resume Mission Dialog Problems + +For _Resume Mission Dialog_ problems follow the [common steps above](#common_steps), and then: + +7. Save the _Console Log_ to a file. +8. Place the _Console Log_, _Telemetry Log_ and _Plan File_ someplace which you can link to in the issue. +9. Create the issue with details and links to all three files. + +## Resume Mission Generation Problems + +For _Resume Mission Generation_ problems follow the [common steps above](#common_steps), and then: + +7. Click **Resume Mission**. +8. The new mission should be generated. +9. Go to [Plan View](../plan_view/plan_view.md). +10. Select **Download** from the _File/Sync_ menu. +11. Save the _Modified Plan_ to a file. +12. Save the _Console Log_ to a file. +13. Place the _Console Log_, _Telemetry Log_, _Original Plan_ file and _Modified Plan_ file someplace which you can link to in the issue. +14. Create the issue with details and links to all four files. diff --git a/docs/ru/docs/en/qgc-user-guide/troubleshooting/vehicle_connection.md b/docs/ru/docs/en/qgc-user-guide/troubleshooting/vehicle_connection.md new file mode 100644 index 00000000000..896cb1f5d1b --- /dev/null +++ b/docs/ru/docs/en/qgc-user-guide/troubleshooting/vehicle_connection.md @@ -0,0 +1,67 @@ +# Vehicle Connection Problems + +## Vehicle does not show up in UI + +QGC will automatically connect to a vehicle as soon as a communication link is created (using USB, or WiFi, etc.) +If you establish that link and you don't see your vehicle show up in the QGC UI you can use [console logging](../settings_view/console_logging.md) to help debug the problem. + +Use the following steps to debug the issue: + +- Start with the hardware vehicle link not connected. + Don't plug in the USB connection and/or establish the WiFi link in your OS for example. + +- Turn on `LinkManagerLog` [console logging](../settings_view/console_logging.md) in QGC. + This will log output about the link which QGC sees and connects to. + +- Establish the hardware vehicle communication link. + +- The console log output should display something like this: + + ``` + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:563 - "Waiting for bootloader to finish "/dev/cu.usbmodem01"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:563 - "Waiting for bootloader to finish "/dev/cu.usbmodem01"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:563 - "Waiting for bootloader to finish "/dev/cu.usbmodem01"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:563 - "Waiting for bootloader to finish "/dev/cu.usbmodem01"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:572 - "Waiting for next autoconnect pass "/dev/cu.usbmodem4201"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:613 - "New auto-connect port added: "ArduPilot ChibiOS on cu.usbmodem4201 (AutoConnect)" "/dev/cu.usbmodem4201"" + ``` + +- The first few lines indicate QGC has established a hardware link and finally the auto-connect. + +If you don't see any of this then QGC is not recognizing the hardware link. +To see if your hardware is being recognized at the OS level do this: + +- Start with the hardware vehicle link not connected. + Don't plug in the USB connection and/or establish the WiFi link in your OS for example. +- Turn on `LinkManagerVerboseLog` [console logging](../settings_view/console_logging.md) in QGC. + This will log output for all serial hardware connections that QGC recognizes. +- You will see continuous output of the serial ports on your device. +- Plug in your USB comm device. +- You should see a new device show in in the console output. Example: + ``` + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:520 - "-----------------------------------------------------" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:521 - "portName: "cu.usbmodem4201"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:522 - "systemLocation: "/dev/cu.usbmodem4201"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:523 - "description: "Pixhawk1"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:524 - "manufacturer: "ArduPilot"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:525 - "serialNumber: "1B0034000847323433353231"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:526 - "vendorIdentifier: 1155" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:527 - "productIdentifier: 22336" + ``` +- After that it should continue to log a connection to that device as shown in the first example. + +If you don't see a new serial port should up in the console output when you plug it in then something is likely wrong with your hardware at the OS level. + +## Error: Vehicle is not responding + +This indicates that although QGC was able to connect to the hardware link to your vehicle there is no telemetry going back and forth on the link. +This can unfortunately indicate a number of problems: + +- Hardware communication setup problems +- Firmware problems + +Lastly it can happen if QGC attempts to automatically connect to a device which is connected to your computer which isn't a vehicle. +You can identify this case using the steps above and noting the device information which QGC is attempting to connect to. +In order to make auto-connect work the filter it uses on devices it attempts to auto-connect to is somewhat broad and can be incorrect. +If you find this happening you will need to turn off auto-connect from General Settings and create a manual connection to the comm link for your vehicle. +You can also remove the device causing the problem from your computer but that may not always be possible. diff --git a/docs/ru/index.md b/docs/ru/index.md new file mode 100644 index 00000000000..f5ea85cbc0e --- /dev/null +++ b/docs/ru/index.md @@ -0,0 +1,27 @@ +--- +layout: home +hero: + name: QGroundControl Guide + tagline: For beginners, experienced users, and developers + actions: + - theme: brand + text: User Guide + link: /en/qgc-user-guide/index.md + - theme: brand + - theme: brand + text: Dev Guide + link: /en/qgc-dev-guide/index.md +features: + - title: Multiple flight stacks + details: Full setup/configuration of ArduPilot and PX4 Pro powered vehicles + - title: Mission planning + details: Autonomous flight with path planning, surveys, safe landing + - title: Flight map + details: Map shows vehicle position, flight track, waypoints and vehicle instruments + - title: Video overlay + details: FPV video streaming and instrument overlays. + - title: Multiple vehicles + details: Manage multiple vehicles and different types of vehicles + - title: Broad OS support + details: Windows, OS X, Linux platforms, iOS and Android devices +--- diff --git a/docs/ru/qgc-dev-guide/classes/index.md b/docs/ru/qgc-dev-guide/classes/index.md new file mode 100644 index 00000000000..4a60cb304c8 --- /dev/null +++ b/docs/ru/qgc-dev-guide/classes/index.md @@ -0,0 +1,27 @@ +# Class Hierarchy (high level) + +## LinkManager, LinkInterface + +A "Link" in QGC is a specific type of communication pipe with the vehicle such as a serial port or UDP over WiFi. The base class for all links is LinkInterface. Each link runs on it's own thread and sends bytes to MAVLinkProtocol. + +The `LinkManager` object keeps track of all open links in the system. `LinkManager` also manages automatic connections through serial and UDP links. + +## MAVLinkProtocol + +There is a single `MAVLinkProtocol` object in the system. It's job is to take incoming bytes from a link and translate them into MAVLink messages. MAVLink HEARTBEAT messages are routed to `MultiVehicleManager`. All MAVLink messages are routed to Vehicle's which are associated with the link. + +## MultiVehicleManager + +There is a single `MultiVehicleManager` object within the system. When it receives a HEARTBEAT on a link which has not been previously seen it creates a Vehicle object. `MultiVehicleManager` also keeps tracks of all Vehicles in the system and handles switching from one active vehicle to another and correctly handling a vehicle being removed. + +## Vehicle + +The Vehicle object is the main interface through which the QGC code communicates with the physical vehicle. + +Note: There is also a UAS object associated with each Vehicle which is a deprecated class and is slowly being phased out with all functionality moving to the Vehicle class. No new code should be added here. + +## FirmwarePlugin, FirmwarePluginManager + +The FirmwarePlugin class is the base class for firmware plugins. A firmware plugin contains the firmware specific code, such that the Vehicle object is clean with respect to it supporting a single standard interface to the UI. + +FirmwarePluginManager is a factory class which creates a FirmwarePlugin instance based on the MAV\_AUTOPILOT/MAV\_TYPE combination for the Vehicle. diff --git a/docs/ru/qgc-dev-guide/command_line_options.md b/docs/ru/qgc-dev-guide/command_line_options.md new file mode 100644 index 00000000000..a66cd53ef4d --- /dev/null +++ b/docs/ru/qgc-dev-guide/command_line_options.md @@ -0,0 +1,46 @@ +# Command Line Options + +You can start _QGroundControl_ with command line options. These are used to enable logging, run unit tests, and simulate different host environments for testing. + +## Starting QGroundControl with Options + +You will need to open a command prompt or terminal, change directory to where **qgroundcontrol.exe** is stored, and then run it. This is shown below for each platform (using the `--logging:full` option): + +Windows Command Prompt: + +```bash +cd "\Program Files (x86)\qgroundcontrol" +qgroundcontrol --logging:full +``` + +OSX Terminal app (**Applications/Utilities**): + +```bash +cd /Applications/qgroundcontrol.app/Contents/MacOS/ +./qgroundcontrol --logging:full +``` + +Linux Terminal: + +```bash +./qgroundcontrol-start.sh --logging:full +``` + +## Options + +The options/command line arguments are listed in the table below. + +| Option | Description | +| --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| `--clear-settings` | Clears the app settings (reverts _QGroundControl_ back to default settings). | +| `--logging:full` | Turns on full logging. See [Console Logging](https://docs.qgroundcontrol.com/en/settings_view/console_logging.html#logging-from-the-command-line). | +| `--logging:full,LinkManagerVerboseLog,ParameterLoaderLog` | Turns on full logging and turns off the following listed comma-separated logging options. | +| `--logging:LinkManagerLog,ParameterLoaderLog` | Turns on the specified comma separated logging options | +| `--unittest:name` | (Debug builds only) Runs the specified unit test. Leave off `:name` to run all tests. | +| `--unittest-stress:name` | (Debug builds only) Runs the specified unit test 20 times in a row. Leave off :name to run all tests. | +| `--fake-mobile` | Simulates running on a mobile device. | +| `--test-high-dpi` | Simulates running _QGroundControl_ on a high DPI device. | + +Notes: + +- Unit tests are included in debug builds automatically (as part of _QGroundControl_). _QGroundControl_ runs under the control of the unit test (it does not start normally). diff --git a/docs/ru/qgc-dev-guide/communication_flow.md b/docs/ru/qgc-dev-guide/communication_flow.md new file mode 100644 index 00000000000..17e838f8250 --- /dev/null +++ b/docs/ru/qgc-dev-guide/communication_flow.md @@ -0,0 +1,15 @@ +# Communication Flow + +Description of the high level communication flow which takes place during a vehicle auto-connect. + +- LinkManager always has a UDP port open waiting for a vehicle heartbeat +- LinkManager detects a new known device type (Pixhawk, SiK Radio, PX4 Flow) that makes a UDP connection to the computer + - LinkManager creates a new SerialLink between the computer and the device +- Incoming bytes from the Link are sent to MAVLinkProtocol +- MAVLinkProtocol converts the bytes into a MAVLink message +- If the message is a `HEARTBEAT` the MultiVehicleManager is notified +- MultiVehicleManager is notified of the `HEARTBEAT` and creates a new vehicle object based on the information in the `HEARTBEAT` message +- The vehicle object instantiates the plugins that matches the vehicle +- The ParameterLoader associated with the vehicle object sends a `PARAM_REQUEST_LIST` to the connected device to load parameters using the parameter protocol +- Once the parameter load is complete, the MissionManager associated with the vehicle object requests the mission items from the connected device using the mission protocol +- Once parameter load is complete, the VehicleComponents display their UI in the Setup view diff --git a/docs/ru/qgc-dev-guide/contribute/coding_style.md b/docs/ru/qgc-dev-guide/contribute/coding_style.md new file mode 100644 index 00000000000..3d4d62420c1 --- /dev/null +++ b/docs/ru/qgc-dev-guide/contribute/coding_style.md @@ -0,0 +1,12 @@ +# Coding Style + +High level style information: + +- Tabs expanded to 4 spaces +- Pascal/CamelCase naming conventions + +The style itself is documents in the following example files: + +- [CodingStyle.cc](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.cc) +- [CodingStyle.h](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.h) +- [CodingStyle.qml](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.qml) diff --git a/docs/ru/qgc-dev-guide/contribute/dev_call.md b/docs/ru/qgc-dev-guide/contribute/dev_call.md new file mode 100644 index 00000000000..6464fc34d78 --- /dev/null +++ b/docs/ru/qgc-dev-guide/contribute/dev_call.md @@ -0,0 +1,38 @@ +# Bi-Weekly Dev Call + +The QGroundControl developer team syncs up on technical details and in-depth analysis. There is also a space in the agenda to discuss pull requests, major impacting issues and Q\&A. + +## Who Should attend: + +- Community members +- Core project maintiners +- Component maintainers +- Dronecode members + +:::info +The calls are open for anyone interested to attend, it's a great opportunity to meet the team and contribute to the ongoing development of the project. +::: + +## What gets discussed? + +The main agenda for the call is very simple, and usually remains the same with a few exceptions which are made aware to the community in advance. The calls typically last up to 60 minutes. + +The developer team goes through the issue tracker, including the current queue of Pull Requests, + +## Agenda + +While the agenda below is the norm, we might + +- Community Q\&A (Open mic, you can bring your own topics, we can discuss your PRs/Issues/Questions) +- Update on the project [High Priority Issues](https://github.com/mavlink/qgroundcontrol/projects/2) tracker +- Developer team coordination + +:::info +If you want to guarantee your Pull Request get's discussed on the next developer call, make sure you add the "dev-call" label on GitHub. We expect the author and the assigned reviewer to be on the call. +::: + +## Schedule + +- Time: Bi-Weekly on Tuesdays at 17h00 CET, 12h00 EST, 08h00 PST ([subscribe to the calendar](https://www.dronecode.org/calendar/)) +- The call is hosted on Jitsi the open platform ([QGC Bi-Weekly](https://meet.jit.si/GCS-bi-weekly)) +- the Agenda is published on the [PX4 Discuss - weekly-dev-call](https://discuss.px4.io/c/weekly-dev-call/qgc-developer-call/48) diff --git a/docs/ru/qgc-dev-guide/contribute/index.md b/docs/ru/qgc-dev-guide/contribute/index.md new file mode 100644 index 00000000000..0fd55b4e573 --- /dev/null +++ b/docs/ru/qgc-dev-guide/contribute/index.md @@ -0,0 +1,7 @@ +# Code Submission + +This section contains topics about the contributing code, including coding style, testing and the format of pull requests. + +:::info +QGroundControl (QGC) is [dual-licensed as Apache 2.0 and GPLv3](../contribute/licences.md). All contributions have to be made under both licenses. +::: diff --git a/docs/ru/qgc-dev-guide/contribute/licences.md b/docs/ru/qgc-dev-guide/contribute/licences.md new file mode 100644 index 00000000000..20c157a0d2f --- /dev/null +++ b/docs/ru/qgc-dev-guide/contribute/licences.md @@ -0,0 +1,30 @@ +# Licences + +## QGroundControl License + +_QGroundControl_ (QGC) is dual-licensed as Apache 2.0 and GPLv3. All contributions have to be made under both licenses. Users of the codebase are free to use it under either license. + +:::warning +_QGroundControl_ licensing rules out the re-use of any copyleft (e.g. GPL) licensed code. All contributions must be original or from a compatible license (BSD 2/3 clause, MIT, Apache 2.0). +::: + +The dual approach is necessary to be able to offer _QGroundControl_ through the iOS and Android app stores and offers the open source community choice. + +### Apache 2.0 License + +The [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) License is a permissive license which allows QGC to be built and used in any environment, including proprietary applications. It allows QGC to be built for mobile app stores. When building with Apache 2.0 a commercial Qt license is required. + +### GPL v3 License + +The [GPL v3 License](http://www.gnu.org/licenses/gpl-3.0.en.html) is a strong copyleft license. When building QGC under this license the open source version of Qt can be used. Our licensing grants the permission to use a later version of the license, however, contributions have to be made under 3.0. + +## Documentation, Artwork, Images + +The QGroundControl documentation, artwork and images are licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). + +## See Also + +- [qgroundcontrol/COPYING.md](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md) +- [qgroundcontrol/CONTRIBUTING.md](https://github.com/mavlink/qgroundcontrol/blob/master/CONTRIBUTING.md) +- [qgc-user-guide/LICENSE](https://github.com/mavlink/qgc-user-guide/blob/master/LICENSE) +- [qgc-dev-guide/LICENSE](https://github.com/mavlink/qgc-dev-guide/blob/master/LICENSE) diff --git a/docs/ru/qgc-dev-guide/contribute/pull_requests.md b/docs/ru/qgc-dev-guide/contribute/pull_requests.md new file mode 100644 index 00000000000..fe120dcf7dc --- /dev/null +++ b/docs/ru/qgc-dev-guide/contribute/pull_requests.md @@ -0,0 +1,3 @@ +# Pull Requests + +All pull requests go through the QGC CI build system which builds release and debug version. Builds will fail if there are compiler warnings. Also unit tests are run against supported OS debug builds. diff --git a/docs/ru/qgc-dev-guide/contribute/unit_tests.md b/docs/ru/qgc-dev-guide/contribute/unit_tests.md new file mode 100644 index 00000000000..e8c14fe7b4b --- /dev/null +++ b/docs/ru/qgc-dev-guide/contribute/unit_tests.md @@ -0,0 +1,20 @@ +# Unit Tests + +_QGroundControl_ (QGC) contains a set of unit tests that must pass before a pull request will be accepted. The addition of new complex subsystems to QGC should include a corresponding new unit test to test it. + +The full list of unit tests can be found in [UnitTestList.cc](https://github.com/mavlink/qgroundcontrol/blob/master/src/qgcunittest/UnitTestList.cc). + +To run unit tests: + +1. Build in `debug` mode with `UNITTEST_BUILD` definition. +2. Copy the **deploy/qgroundcontrol-start.sh** script in the **debug** directory +3. Run _all_ unit tests from the command line using the `--unittest` command line option. + For Linux this is done as shown: + ``` + qgroundcontrol-start.sh --unittest + ``` +4. Run _individual_ unit tests by specifying the test name as well: `--unittest:RadioConfigTest`. + For Linux this is done as shown: + ``` + qgroundcontrol-start.sh --unittest:RadioConfigTest + ``` diff --git a/docs/ru/qgc-dev-guide/custom_build/create_repos.md b/docs/ru/qgc-dev-guide/custom_build/create_repos.md new file mode 100644 index 00000000000..c4bce8ee142 --- /dev/null +++ b/docs/ru/qgc-dev-guide/custom_build/create_repos.md @@ -0,0 +1,15 @@ +# Initial Repository Setup For Custom Build + +The suggested mechanism for working on QGC and a custom build version of QGC is to have two separate repositories. The first repo is your main QGC fork. The second repo is your custom build repo. + +## Main QGC Respository + +This repo is used to work on changes to mainline QGC. When creating your own custom build it is not uncommon to discover that you may need a tweak/addition to the custom build to achieve what you want. By discussing those needed changes firsthand with QGC devs and submitting pulls to make the custom build architecture better you make QGC more powerful for everyone and give back to the community. + +The best way to create this repo is to fork the regular QGC repo to your own GitHub account. + +## Custom Build Repository + +This is where you will do your main custom build development. All changes here should be within the custom directory as opposed to bleeding out into the regular QGC codebase. + +Since you can only fork a repo once, the way to create this repo is to "Create a new repository" in your GitHub account. Do not add any additional files to it like gitignore, readme's and so forth. Once it is created you will be given the option to setup up the Repo. Now you can select to "import code from another repository". Just import the regular QGC repo using the "Import Code" button. diff --git a/docs/ru/qgc-dev-guide/custom_build/custom_build.md b/docs/ru/qgc-dev-guide/custom_build/custom_build.md new file mode 100644 index 00000000000..ff37e9b1c14 --- /dev/null +++ b/docs/ru/qgc-dev-guide/custom_build/custom_build.md @@ -0,0 +1,26 @@ +# Custom Builds + +A custom build allows third parties to create their own version of QGC in a way that allows them to easily keep up to date with changes which are being made in regular QGC. QGC has an architecture built into it which allows custom builds to modify and add to the feature set of regular QGC. + +Some possibilities with a custom build + +- Fully brand your build +- Define a single flight stack to avoid carrying over unnecessary code +- Implement your own, autopilot and firmware plugin overrides +- Implement your own camera manager and plugin overrides +- Implement your own QtQuick interface module +- Implement your own toolbar, toolbar indicators and UI navigation +- Implement your own Fly View overlay (and how to hide elements from QGC such as the flight widget) +- Implement your own, custom QtQuick camera control +- Implement your own, custom Pre-flight Checklist +- Define your own resources for all of the above + +One of the downsides of QGC providing both generic support for any vehicle which supports mavlink as well as providing firmware specific support for both PX4 Pro and ArduPilot is complexity of the user interface. Since QGC doesn't know any information about your vehicle ahead of time it requires UI bits which can get in the way if the vehicle you fly only uses PX4 Pro firmware and is a multi-rotor vehicle. If that is a known thing then the UI can be simplified in various places. Also QGC targets both DIY users who are building their own vehicles from scratch as well as commercial users of off the shelf vehicles. Setting up a DIY drone from scratch requires all sort of functionality which is not needed for users of off the shelf vehicles. So for off the shelf vehicle users all the DIY specific stuff is just extra noise they need to look past. Creating a custom build allows you to specify exact details for your vehicle and hide things which are irrelevant thus creating an even simple user experience for your users than regular generic QGC. + +There is a plugin architecture in QGC which allows for this custom build creation. They can be found in QGCCorePlugin.h, FirmwarePlugin.h and AutoPilotPlugin.h associated classes. To create a custom build you create subclasses of the standard plugins overriding the set of methods which are appropriate for you usage. + +There is also a mechanism which allows you to override resources so you can change the smaller visual elements in QGC. + +Also internal to QGC is the concept of an "Advanced Mode". Whereas a standard QGC builds always runs in advanced mode. A custom build always starts out in regular/not advanced mode. There is an easier mechanism in the build to turn on advanced mode which is to click the fly view button 5 times in a row fairly quickly. If you do this in a custom build you will be warned about entering advanced mode. The concept here is to hide things which normal users should not have access to behind advanced mode. For example a commercial vehicle will not need access to most setup pages which are oriented to DIY setup. So a custom build can hide this. The custom example code shows how to do this. + +If you want to understand the possibilities, the first step is to read through those files which document what is possible. Next look through the [`custom-example`](https://github.com/mavlink/qgroundcontrol/tree/master/custom-example) source code including the [README](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/README.md). diff --git a/docs/ru/qgc-dev-guide/custom_build/customization.md b/docs/ru/qgc-dev-guide/custom_build/customization.md new file mode 100644 index 00000000000..b97b5c63371 --- /dev/null +++ b/docs/ru/qgc-dev-guide/custom_build/customization.md @@ -0,0 +1,7 @@ +# Customization + +The following topics explain how to customise various views and other parts of the UI. + +- [First Run Prompts](../custom_build/first_run_prompts.md) +- [Toolbar customization](../custom_build/toolbar.md) +- [Fly View Customization](../custom_build/fly_view.md) diff --git a/docs/ru/qgc-dev-guide/custom_build/first_run_prompts.md b/docs/ru/qgc-dev-guide/custom_build/first_run_prompts.md new file mode 100644 index 00000000000..77d779da1b6 --- /dev/null +++ b/docs/ru/qgc-dev-guide/custom_build/first_run_prompts.md @@ -0,0 +1,54 @@ +# First Run Prompts + +When QGC is started for the first time it prompts the user to specify some initial settings. At the time of writing this documentation those are: + +- Unit Settings - What units does the user want to use for display. +- Offline Vehicle Settings - Vehicle information for creating Plans while not connected to a vehicle. + +The custom build architecure includes mechanisms for a custom build to both override the display of these prompts and/or create your own first run prompts. + +## First Run Prompt Dialog + +Each first run prompt is a simple dialog which can display ui to the user. Whether the specific dialog has already been show to the user or not is stored in a setting. Here is the code for the upstream first run prompt dialogs: + +- [Units Settings](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirstRunPromptDialogs/UnitsFirstRunPrompt.qml) +- [Offline Vehicle Settings](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirstRunPromptDialogs/OfflineVehicleFirstRunPrompt.qml) + +## Standard First Run Prompt Dialogs + +Each dialog has a unique ID associated with it. When that dialog is shown to the user that ID is registered as having already been displayed so it only happens once (unless you clear settings). The set of first run prompt which are included with upstream QGC are considered the "Standard" set. QGC gets the list of standard prompts to display from the `QGCCorePlugin::firstRunPromptStdIds` call. + +``` + /// Returns the standard list of first run prompt ids for possible display. Actual display is based on the + /// current AppSettings::firstRunPromptIds value. The order of this list also determines the order the prompts + /// will be displayed in. + virtual QList firstRunPromptStdIds(void); +``` + +You can override this method in your custom build if you want to hide some of those. + +## Custom First Run Prompt Dialogs + +Custom builds have the ability to create their own set of additional first run prompts as needed through the use of the following QGCCorePlugin method overrides: + +``` + /// Returns the custom build list of first run prompt ids for possible display. Actual display is based on the + /// current AppSettings::firstRunPromptIds value. The order of this list also determines the order the prompts + /// will be displayed in. + virtual QList firstRunPromptCustomIds(void); +``` + +``` + /// Returns the resource which contains the specified first run prompt for display + Q_INVOKABLE virtual QString firstRunPromptResource(int id); +``` + +Your QGCCorePlugin should override these two methods as well as provide static consts for the ids of your new first run prompts. Look at how the standard set is implemented for how to do this and take the same approach. + +## Order Of Display + +The set of first run prompts shown to the user are in the order returned by the `QGCCorePlugin::firstRunPromptStdIds` and `QGCCorePlugin::firstRunPromptCustomIds` with standard prompts shown before the custom prompts. Only the prompts which have not been previously shown to the user are shown. + +## Always On Prompts + +By setting the `markAsShownOnClose: false` property in your prompt ui implementation you can create a prompt which will show up each time QGC starts. This can be used for things like showing usage tips to your users. If you do this it is best to make sure that this is displayed last. diff --git a/docs/ru/qgc-dev-guide/custom_build/fly_view.md b/docs/ru/qgc-dev-guide/custom_build/fly_view.md new file mode 100644 index 00000000000..e6b3342817f --- /dev/null +++ b/docs/ru/qgc-dev-guide/custom_build/fly_view.md @@ -0,0 +1,42 @@ +# Fly View Customization + +The Fly View is designed in such a way that it can be cusomtized in multiple ways from simple to more complex. It is designed in three separate layers each of which are customizable providing different levels of change. + +## Layers + +- There are three layers to the fly view from top to bottom visually: + - [`FlyView.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyView.qml) This is the base layer of ui and business logic to control map and video switching. + - [`FlyViewWidgetsOverlay.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyViewWidgetLayer.qml) This layer includes all the remaining widgets for the fly view. + - [`FlyViewCustomLayer.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyViewCustomLayer.qml) This is a layer you override using resource override to add your own custom layer. + +### Inset Negotiation using `QGCToolInsets` + +An important aspect of the Fly View is that it needs to understand how much central space it has in the middle of it's map window which is not obstructed by ui widgets which are at the edges of the window. It uses this information to pan the map when the vehicle goes out of view. This need to be done not only for the window edges but also for the widgets themselve such that the map pans before it goes under a widget. + +This is done through the use of the [`QGCToolInsets`](https://github.com/mavlink/qgroundcontrol/blob/master/src/QmlControls/QGCToolInsets.qml) object included in each layer. This objects provides inset information for each window edge informing the system as to how much real estate is taken up by edge based ui. Each layer is given the insets of the layer below it through `parentToolInsets` and then reports back the new insets taking into account the layer below and it's own additions through `toolInsets`. The final results total inset is then given to the map so it can do the right thing. The best way to understand this is to look at both the upstream and custom example code. + +### `FlyView.qml` + +The base layer for the view is also the most complex from ui interactions and business logic. It includes the main display elements of map and video as well as the guided controls. Although you can resource override this layer it is not recommended. And if you do you better really (really) know what you are doing. The reason it is a separate layer is to make the layer above much simpler and easier to customize. + +### `FlyViewWidgetsOverlay.qml` + +This layer contains all the remaining controls of the fly view. You have the ability to hide the controls through use of [`QGCFlyViewOptions`](https://github.com/mavlink/qgroundcontrol/blob/master/src/api/QGCOptions.h). But in order to change the layout of the upstream controls you must use a resource override. If you look at the source you'll see that the controls themselves are well encapsulated such that it should not be that difficult to create your own override which repositions them and/or adds your own ui. While maintaining a connection to the upstream implementaions of the controls. + +### `FlyViewCustomLayer.qml` + +This provides the simplest customization ability to the Fly View. Allowing you the add ui elements which are additive to the existing upstream controls. The upstream code adds no ui elements and is meant to be the basis for your own custom code used as a resource override for this qml. The custom example code provides you with an example of how to do it. + +## Recommendations + +### Simple customization + +The best place to start is using a custom layer override plus turning off ui elements from the widgets layer (if needed). I would recommend trying to stick with only this if at all possible. It provides the greatest abilty to not get screwed by upstream changes in the layers below. + +### Moderate complexity customization + +If you really need to reposition upstream ui elements then your only choice is overriding `FlyViewWidgetsOverlay.qml`. By doing this you are distancing yourself a bit from upstream changes. Although you will still get changes in the upstream controls for free. If there is a whole new control added to the fly view upstream you won't get it until you add it to your own override. + +### Highly complex customization + +The last and least recommended customization mechanism is overriding `FlyView.qml`. By doing this you are distancing yourself even further from getting upstream changes for free. diff --git a/docs/ru/qgc-dev-guide/custom_build/mavlink.md b/docs/ru/qgc-dev-guide/custom_build/mavlink.md new file mode 100644 index 00000000000..6fa5d685d9f --- /dev/null +++ b/docs/ru/qgc-dev-guide/custom_build/mavlink.md @@ -0,0 +1,15 @@ +# MAVLink Customisation + +QGC communicates with flight stacks using [MAVLink](https://mavlink.io/en/), a very lightweight messaging protocol that has been designed for the drone ecosystem. + +QGC includes the [all.xml](https://mavlink.io/en/messages/all.html) dialect by default. The `all.xml` includes all other dialects in the [mavlink/mavlink](https://github.com/mavlink/mavlink/tree/master/message_definitions/v1.0) repository, and allows it to communicate with both PX4 and Ardupilot. +Previous versions of QGC (v4.2.8 and earlier), used the `ArduPilotMega.xml` dialect. + +In order to add support for a new set of messages you should add them to [development.xml](https://mavlink.io/en/messages/development.html), [ArduPilotMega.xml](https://mavlink.io/en/messages/ardupilotmega.html), or [common.xml](https://mavlink.io/en/messages/common.html) (for PX4), or fork _QGroundControl_ and include your own dialect. + +To modify the version of MAVLink used by QGC: + +- Replace the pre-build C library at [/qgroundcontrol/libs/mavlink/include/mavlink](https://github.com/mavlink/qgroundcontrol/tree/master/libs/mavlink/include/mavlink). + - By default this is a submodule importing https\://github.com/mavlink/c\_library\_v2 + - You can change the submodule, or [build your own libraries](https://mavlink.io/en/getting_started/generate_libraries.html) using the MAVLink toolchain. +- You can change the whole dialect used by setting it in [`MAVLINK_CONF`](https://github.com/mavlink/qgroundcontrol/blob/master/QGCExternalLibs.pri#L52) when running _qmake_. diff --git a/docs/ru/qgc-dev-guide/custom_build/plugins.md b/docs/ru/qgc-dev-guide/custom_build/plugins.md new file mode 100644 index 00000000000..5bbc45c97c4 --- /dev/null +++ b/docs/ru/qgc-dev-guide/custom_build/plugins.md @@ -0,0 +1,7 @@ +# Custom Build Plugins + +The mechanisms for customizing QGC for a custom build is through the existing `FirmwarePlugin`, `AutoPilotPlugin` and `QGCCorePlugin` architectures. By creating subclasses of these plugins in your custom build you can change the behavior of QGC to suit your needs without needed to modify the upstream code. + +## QGCCorePlugin + +This allows you to modify the parts of QGC which are not directly related to vehicle but are related to the QGC application itself. This includes things like application settings, color palettes, branding and so forth. diff --git a/docs/ru/qgc-dev-guide/custom_build/release_branching_process.md b/docs/ru/qgc-dev-guide/custom_build/release_branching_process.md new file mode 100644 index 00000000000..41e143a59f1 --- /dev/null +++ b/docs/ru/qgc-dev-guide/custom_build/release_branching_process.md @@ -0,0 +1,44 @@ +# Release Process for Custom Builds \[WIP Docs] + +One of the trickier aspects of creating your own custom build is the process to keep it up to date with regular QGC. This document describes a suggested process to follow. But in reality you are welcome to use whatever branching and release strategy you want for your custom builds. + +## Upstream QGC release/branching strategy + +The best place to start is understanding the mechanism QGC uses to do it's own releases. We will layer a custom build release process on top of that. You can find standard QGC [release process here](../release_branching_process.md). + +## Custom build/release types + +Regular QGC has two main build types: Stable and Daily. The build type for a custom build is more complex. Throughout this discussion we will use the term "upstream" to refer to the main QGC repo (https\://github.com/mavlink/qgroundcontrol). Also when we talk about a "new" upstream stable release, this means a major/minor release, not a patch release. + +### Synchronized Stable + +This type of release is synchronized with the release of an upstream stable. Once QGC releases stable you then release a version of your custom build which is based on this stable. This build will include all the new features from upstream including the new feature in your own custom code. + +### Out-Of-Band Stable + +This a subsequent release of your custom build after you have released a synchronized stable but prior to upstream releasing a new stable. It only includes new features from your own custom build and include no new features from upstream. Work on this type of release would occur on a branch which is either based on your latest synchronized stable or your last out of band release if it exists. You can release out of band stable releases at any time past your first synchronized stable release. + +### Daily + +Your custom daily builds are built from your `master` branch. It is important to keep your custom master up to date with QGC master. If you lag behind you may be surprised by upstream features which require some effort to integrate with your build. Or you may even require changes to "core" QGC in order to work with your code. +If you don't let QGC development team know soon enough, it may end up being too late to get things changed. + +## Options for your first build + +### Starting with a Synchronized Stable release + +It is suggested that you start with releasing a Synchronized Stable. This isn't necessary but it is the simplest way to get started. To set your self up for a synchronized stable you create your own branch for development which is based on the upstream current stable. + +### Starting with Daily builds + +The reason why you may consider this as your starting point is because you need features which are only in upstream master for your own custom builds. In this case you will have to live with releasing custom Daily builds until the next upstream stable. At which point you would release you first Synchronized Stable. For this setup you use your master branch and keep it in sync with upstream master as you develop. + +## After you release your first Synchronized Stable + +### Patch Releases + +As upstream QGC does patch releases on Stable you should also release your own patch releases based on upstream to keep your stable up to date with latest criticial bug fixes. + +### Out-Of-Band, Daily: One or the other or both? + +At this point you can decide which type of releases you want to follow. You can also decide to possibly do both. You can do smaller new features which don't require new upstream features using out of band releases. And you can do major new feature work as daily/master until the point you can do a new synchronized stable. diff --git a/docs/ru/qgc-dev-guide/custom_build/resource_override.md b/docs/ru/qgc-dev-guide/custom_build/resource_override.md new file mode 100644 index 00000000000..2c8fa94eba1 --- /dev/null +++ b/docs/ru/qgc-dev-guide/custom_build/resource_override.md @@ -0,0 +1,24 @@ +# Resource Overrides + +A "resource" in QGC source code terminology is anything found in the [qgroundcontrol.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgroundcontrol.qrc) and [qgcresources.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgcresources.qrc) file. By overriding a resource you can replace it with your own version of it. This could be as simple as a single icon, or as complex as replacing an entire Vehicle Setup page of qml ui code. + +Be aware that using resource overrides does not isolate you from upstream QGC changes like the plugin architecture does. In a sense you are directly modify the upstream QGC resources used by the main code. + +## Exclusion Files + +The first step to overriding a resource is to "exclude" it from the standard portion of the upstream build. This means that you are going to provide that resource in your own custom build resource file(s). There are two files which achieve this: qgroundcontrol.exclusion and [qgcresources.exclusion](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/qgcresources.exclusion). They correspond directly with the \*.qrc counterparts. In order to exclude a resource, copy the resource line from the .qrc file into the appropriate .exclusion file. + +## Custom version of excluded resources + +You must include the custom version of the overriden resouce in you custom build resource file. The resource alias must exactly match the upstream alias. The name and actual location of the resource can be anywhere within your custom directory structure. + +## Generating the new modified versions of standard QGC resource file + +This is done using the `updateqrc.py` python script. It will read the upstream `qgroundcontrol.qrc` and `qgcresources.qrc` file and the corresponding exclusion files and output new versions of these files in your custom directory. These new versions will not have the resources you specified to exclude in them. The build system for custom builds uses these generated files (if they exist) to build with instead of the upstream versions. The generated version of these file should be added to your repo. Also whenever you update the upstream portion of QGC in your custom repo you must re-run `python updateqrc.py` to generate new version of the files since the upstream resources may have changed. + +## Custom Build Example + +You can see an examples of custom build qgcresource overrides in the repo custom build example: + +- [qgcresources.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/qgcresources.exclusion) +- [custom.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/custom.qrc) diff --git a/docs/ru/qgc-dev-guide/custom_build/toolbar.md b/docs/ru/qgc-dev-guide/custom_build/toolbar.md new file mode 100644 index 00000000000..662cb8db4ae --- /dev/null +++ b/docs/ru/qgc-dev-guide/custom_build/toolbar.md @@ -0,0 +1,51 @@ +# Toolbar Customization + +The toolbar can be customized in a number of ways to fit your custom build needs. The toolbar internally is made up of a number of sections from left to right: + +- View Switching +- Indicators + - App Indicators + - Vehicle Indicators + - Vehicle Mode Indicators +- Connection Management +- Branding + +The Indicator section varies based on the view currently displayed: + +- Fly View - Shows all indicators +- Plan View - Show no indicators and has its own custom indicator section for Plan status values +- Other Views - Do not show Vehicle Mode Indicators + +## Customization Possibilities + +### Indicators + +You can add your own indicators for display or remove any of the upstream indicators. The mechanism you use depends on the indicator type. + +#### App Indicators + +These provide information to the user which is not associated with a vehicle. For example RTK status. To manipulate the list of app indicators you use `QGCPlugin::toolbarIndicators`. + +#### Vehicle Indicators + +These are indicators which are associated with information about the vehicle. They are only available when a vehicle is connected. To manipulate the list of vehicle indicators you override `FirmwarePlugin::toolIndicators`. + +#### Vehicle Mode Indicators + +These are indicators which are associated with information about the vehicle. They require additional UI provided by the Fly View to complete their actions. An example is Arming and Disarming. They are only available when a vehicle is connected. To manipulate the list of vehicle mode indicators you override `FirmwarePlugin::modeIndicators`. + +### Modifying the toolbar UI itself + +This is accomplished by using resource overrides on the qml files associated with the toolbar. This provides a high level of customization but also a higher level of complexity. The primary ui for the toolbar is in `MainToolBar.qml`. The main window code in `MainRootWindow.qml` interacts with the toolbar to show different indicator sections based on current view as well as whether the mode indicators show or not also based on current view. + +If you want full control over the toolbar then you can override `MainToolBar.qml` and make your own completely different version. You will need to pay special attention to the interactions of the main toolbar with `MainRootWindow.qml` since you are going to need to replicated those interactions in your own custom version. + +There are two standard indicator ui sections of the toolbar: + +#### `MainToolBarIndicators.qml` + +This is used for all views except Plan. It display all the indicators in a row. Although you can override this file, in reality it doesn't do much other than layout for indicators. + +#### `PlanToolBarIndicators.qml` + +This is used by the Plan view to show the status values. If you want to change that ui you can override this file and provide your own custom version. diff --git a/docs/ru/qgc-dev-guide/fact_system.md b/docs/ru/qgc-dev-guide/fact_system.md new file mode 100644 index 00000000000..5e7f5242d9c --- /dev/null +++ b/docs/ru/qgc-dev-guide/fact_system.md @@ -0,0 +1,33 @@ +# Fact System + +The Fact System provides a set of capabilities which standardizes and simplifies the creation of the QGC user interface. + +## Fact {#fact} + +A Fact represents a single value within the system. + +## FactMetaData + +There is `FactMetaData` associated with each fact. It provides details on the Fact in order to drive automatic user interface generation and validation. + +## Fact Controls + +A Fact Control is a QML user interface control which connects to a Fact and it's `FactMetaData` to provide a control to the user to modify/display the value associated with the Fact. + +## FactGroup + +A _Fact Group_ is a group of [Facts](#fact). +It is used to organise facts and manage user defined facts. + +## Custom Build Support + +User defined facts can be added by overriding `factGroups` function of `FirmwarePlugin` in a custom firmware plugin class. +These functions return a name to fact group map that is used to identify added fact groups. +A custom fact group can be added by extending `FactGroup` class. +FactMetaDatas could be defined using the appopriate `FactGroup` constructor by providing a json file containing necessery information. + +Changing the metadata of existing facts is also possible by overriding `adjustMetaData` of `FirmwarePlugin` class. + +A fact associated with a vehicle (including facts belonging to fact groups returned in `factGroups` function of the vehicles Firmware plugin) can be reached using `getFact("factName")` or `getFact("factGroupName.factName")` + +For additional information please refer to comments in [FirmwarePlugin.h](https://github.com/mavlink/qgroundcontrol/blob/v4.0.8/src/FirmwarePlugin/FirmwarePlugin.h). diff --git a/docs/ru/qgc-dev-guide/file_formats/index.md b/docs/ru/qgc-dev-guide/file_formats/index.md new file mode 100644 index 00000000000..cf8a409129a --- /dev/null +++ b/docs/ru/qgc-dev-guide/file_formats/index.md @@ -0,0 +1,3 @@ +# File Formats + +This section contains topics about the file formats used/supported by _QGroundControl_. diff --git a/docs/ru/qgc-dev-guide/file_formats/mavlink.md b/docs/ru/qgc-dev-guide/file_formats/mavlink.md new file mode 100644 index 00000000000..8a55c8289af --- /dev/null +++ b/docs/ru/qgc-dev-guide/file_formats/mavlink.md @@ -0,0 +1,27 @@ +# MAVLink Log Format + +_QGroundControl_ allows you to generate plain MAVLink packet logs that can be +replayed (with QGroundControl) to watch a mission again for analysis. + +The format is binary: + +- Byte 1-8: Timestamp in microseconds since Unix epoch as unsigned 64 bit integer +- Byte 9-271: MAVLink packet (263 bytes maximum packet length, not all bytes have to be actual data, the packet might be shorter. Includes packet start sign) + +## Debugging + +To check your data, open your written file in a hex editor. You should see after 8 bytes **0x55**. The first 8 bytes should also convert to a valid timestamp, so something either close to zero or around the number **1294571828792000** (which is the current Unix epoch timestamp in microseconds). + +## C++ Sketch for logging MAVLink + +The code fragment below shows how to implement logging using [C++ streams](http://www.cplusplus.com/reference/iostream/istream/) from the C++ standard library. + +```cpp +//write into mavlink logfile +const int len = MAVLINK_MAX_PACKET_LEN+sizeof(uint64_t); +uint8_t buf[len]; +uint64_t time = getSystemTimeUsecs(); +memcpy(buf, (void*)&time, sizeof(uint64_t)); +mavlink_msg_to_send_buffer(buf+sizeof(uint64_t), msg); +mavlinkFile << buf << flush; +``` diff --git a/docs/ru/qgc-dev-guide/file_formats/parameters.md b/docs/ru/qgc-dev-guide/file_formats/parameters.md new file mode 100644 index 00000000000..60fd66a3638 --- /dev/null +++ b/docs/ru/qgc-dev-guide/file_formats/parameters.md @@ -0,0 +1,25 @@ +# Parameters File Format + +``` +# Onboard parameters for Vehicle 1 +# +# # Vehicle-Id Component-Id Name Value Type +1 1 ACRO_LOCKING 0 2 +1 1 ACRO_PITCH_RATE 180 4 +1 1 ACRO_ROLL_RATE 180 4 +1 1 ADSB_ENABLE 0 2 +``` + +Above is an example of a parameter file with four parameters. The file can include as many parameters as needed. + +Comments are preceded with a `#`. + +This header: `# MAV ID COMPONENT ID PARAM NAME VALUE` describes the format for each row: + +- `Vehicle-Id` Vehicle id +- `Component-Id` Component id for parameter +- `Name` Parameter name +- `Value` Parameter value +- `Type` Parameter type using MAVLink `MAV_PARAM_TYPE_*` enum values + +A parameter file contains the parameters for a single Vehicle. It can contain parameters for multiple components within that Vehicle. diff --git a/docs/ru/qgc-dev-guide/file_formats/plan.md b/docs/ru/qgc-dev-guide/file_formats/plan.md new file mode 100644 index 00000000000..914571983f2 --- /dev/null +++ b/docs/ru/qgc-dev-guide/file_formats/plan.md @@ -0,0 +1,489 @@ +# Plan File Format + +Plan files are stored in JSON file format and contain mission items and (optional) geo-fence and rally-points. +Below you can see the top level format of a Plan file + +:::tip +This is "near-minimal" - a plan must contain at least one mission item. +The plan fence and rally points are also used in modes when no mission is running. +::: + +```json +{ + "fileType": "Plan", + "geoFence": { + "circles": [], + "polygons": [], + "version": 2 + }, + "groundStation": "QGroundControl", + "mission": {}, + "rallyPoints": { + "points": [], + "version": 2 + }, + "version": 1 +} +``` + +The main fields are: + +| Key | Description | +| ------------------------------ | ------------------------------------------------------------------------------ | +| `version` | The version for this file. Current version is 1. | +| `fileType` | Must be `"Plan"`. | +| `groundStation` | The name of the ground station which created this file (here _QGroundControl_) | +| [`mission`](#mission) | The mission associated with this flight plan. | +| [`geoFence`](#geofence) | (Optional) Geofence information for this plan. | +| [`rallyPoints`](#rally_points) | (Optional) Rally/Safe point information for this plan | + +## Mission Object {#mission} + +The structure of the mission object is shown below. +The `items` field contains a comma-separated list of mission items (it must contain at least one mission item, as shown below). +The list may be a mix of both [SimpleItem](#mission_simple_item) and [ComplexItem](#mission_complex_item) objects. + +```json + "mission": { + "cruiseSpeed": 15, + "firmwareType": 12, + "globalPlanAltitudeMode": 1, + "hoverSpeed": 5, + "items": [ + { + "AMSLAltAboveTerrain": null, + "Altitude": 50, + "AltitudeMode": 0, + "autoContinue": true, + "command": 22, + "doJumpId": 1, + "frame": 3, + "params": [ + 15, + 0, + 0, + null, + 47.3985099, + 8.5451002, + 50 + ], + "type": "SimpleItem" + } + ], + "plannedHomePosition": [ + 47.3977419, + 8.545594, + 487.989 + ], + "vehicleType": 2, + "version": 2 + }, +``` + +The following values are required: + +| Key | Description | +| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version for the mission object. Current version is 2. | +| `firmwareType` | The firmware type for which this mission was created. This is one of the [MAV\_AUTOPILOT](https://mavlink.io/en/messages/common.html#MAV_AUTOPILOT) enum values. | +| `globalPlanAltitudeMode` | The global plan-wide altitude mode setting. This is used by plan items that don't specify an `"AltitudeMode"`. | +| `vehicleType` | The vehicle type for which this mission was created. This is one of the [MAV\_TYPE](https://mavlink.io/en/messages/common.html#MAV_TYPE) enum values. | +| `cruiseSpeed` | The default forward speed for Fixed wing or VTOL vehicles (i.e. when moving between waypoints). | +| `hoverSpeed` | The default forward speed for multi-rotor vehicles. | +| `items` | The list of mission item objects associated with the mission . The list may contain either/both [SimpleItem](#mission_simple_item) and [ComplexItem](#mission_complex_item) objects. | +| `plannedHomePosition` | The planned home position is shown on the map and used for mission planning when no vehicle is connected. The array values shown above are (from top): latitude, longitude and AMSL altitude. | + +The format of the simple and complex items is given below. + +### `SimpleItem` - Simple Mission Item {#mission\_simple\_item} + +A simple item represents a single MAVLink [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM) command. + +``` + { + "AMSLAltAboveTerrain": null, + "Altitude": 50, + "AltitudeMode": 0, + "autoContinue": true, + "command": 22, + "doJumpId": 1, + "frame": 3, + "params": [ + 15, + 0, + 0, + null, + 47.3985099, + 8.5451002, + 50 + ], + "type": "SimpleItem" + } +``` + +The field mapping is shown below. + +| Key | Description | +| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | `SimpleItem` for a simple item | +| `AMSLAltAboveTerrain` | Altitude value shown to the user. | +| `Altitude` | | +| `AltitudeMode` | | +| `autoContinue` | [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).autoContinue | +| `command` | The command ([MAV\_CMD](https://mavlink.io/en/messages/common.html#MAV_CMD)) for this mission item - see [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).command. | +| `doJumpId` | The target id for the current mission item in DO\_JUMP commands. These are auto-numbered from 1. | +| `frame` | [MAV\_FRAME](https://mavlink.io/en/messages/common.html#MAV_FRAME) (see [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).frame) | +| `params` | [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).param1,2,3,4,x,y,z (values depends on the particular [MAV\_CMD](https://mavlink.io/en/messages/common.html#MAV_CMD)). | + +### Complex Mission Item {#mission\_complex\_item} + +A complex item is a higher level encapsulation of multiple `MISSION_ITEM` objects treated as a single entity. + +There are currently three types of complex mission items: + +- [Survey](#survey) +- [Corridor Scan](#corridor_scan) +- [Structure Scan](#structure_scan) + +#### Survey - Complex Mission Item {#survey} + +The object definition for a `Survey` complex mission item is given below. + +``` +{ + "TransectStyleComplexItem": { + ... + }, + "angle": 0, + "complexItemType": "survey", + "entryLocation": 0, + "flyAlternateTransects": false, + "polygon": [ + [ + -37.75170619863631, + 144.98414811224316 + ], + ... + [ + -37.75170619863631, + 144.99457681259048 + ] + ], + "type": "ComplexItem", + "version": 4 + }, +``` + +Complex items have these values associated with them: + +| Key | Description | +| ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version number for this `survey` definition. Current version is 3. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `survey` | +| [`TransectStyleComplexItem`](#TransectStyleComplexItem) | The common base definition for Survey and CorridorScan complex items. | +| `angle` | The angle for the transect paths (degrees). | +| `entryLocation` | ? | +| `flyAlternateTransects` | If true, the vehicle will skip every other transect and then come back at the end and fly these alternates. This can be used for fixed wing aircraft when the turnaround would be too acute for the vehicle to make the turn. | +| `polygon` | The polygon array which represents the polygonal survey area. Each point is a latitude, longitude pair for a polygon vertex. | + +#### Corridor Scan {#corridor\_scan} + +The object definition for a `CorridorScan` complex mission item is given below. + +``` + { + "CorridorWidth": 50, + "EntryPoint": 0, + "TransectStyleComplexItem": { + ... + }, + }, + "complexItemType": "CorridorScan", + "polyline": [ + [ + -37.75234887156983, + 144.9893624624168 + ], + ... + [ + -37.75491914850321, + 144.9893624624168 + ] + ], + "type": "ComplexItem", + "version": 2 + }, +``` + +| Key | Description | +| ------------------------------------------------------- | --------------------------------------------------------------------- | +| `version` | The version for this `CorridorScan` definition. Current version is 3. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `CorridorScan` | +| `CorridorWidth` | ? | +| `EntryPoint` | ? | +| [`TransectStyleComplexItem`](#TransectStyleComplexItem) | The common base definition for Survey and CorridorScan complex items. | +| `polyline` | ? | + +#### Structure Scan {#structure\_scan} + +The object definition for a `StructureScan` complex mission item is given below. + +```json + { + "Altitude": 50, + "CameraCalc": { + "AdjustedFootprintFrontal": 25, + "AdjustedFootprintSide": 25, + "CameraName": "Manual (no camera specs)", + "DistanceToSurface": 10, + "DistanceToSurfaceRelative": true, + "version": 1 + }, + "Layers": 1, + "StructureHeight": 25, + "altitudeRelative": true, + "complexItemType": "StructureScan", + "polygon": [ + [ + -37.753184359536355, + 144.98879374063998 + ], + ... + [ + -37.75408368012594, + 144.98879374063998 + ] + ], + "type": "ComplexItem", + "version": 2 + } +``` + +| Key | Description | +| --------------------------- | ---------------------------------------------------------------------- | +| `version` | The version for this `StructureScan` definition. Current version is 2. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `StructureScan` | +| `Altitude` | ? | +| [`CameraCalc`](#CameraCalc) | ? | +| `Layers` | ? | +| `StructureHeight` | ? | +| `altitudeRelative` | `true`: `altitude` is relative to home, `false`: `altitude` is AMSL. | +| `polygon` | ? | + +#### `TransectStyleComplexItem` {#TransectStyleComplexItem} + +`TransectStyleComplexItem` contains the common base definition for [`survey`](#survey) and [`CorridorScan`](#CorridorScan) complex items. + +```json + "TransectStyleComplexItem": { + "CameraCalc": { + ... + }, + "CameraTriggerInTurnAround": true, + "FollowTerrain": false, + "HoverAndCapture": false, + "Items": [ + ... + ], + "Refly90Degrees": false, + "TurnAroundDistance": 10, + "VisualTransectPoints": [ + [ + -37.75161626657736, + 144.98414811224316 + ], + ... + [ + -37.75565155437309, + 144.99438539496475 + ] + ], + "version": 1 + }, +``` + +| Key | Description | +| --------------------------- | --------------------------------------------------------------------------------- | +| `version` | The version for this `TransectStyleComplexItem` definition. Current version is 1. | +| [`CameraCalc`](#CameraCalc) | ? | +| `CameraTriggerInTurnAround` | ? (boolean) | +| `FollowTerrain` | ? (boolean) | +| `HoverAndCapture` | ? (boolean) | +| `Items` | ? | +| `Refly90Degrees` | ? (boolean) | +| `TurnAroundDistance` | The distance to fly past the polygon edge prior to turning for the next transect. | +| `VisualTransectPoints` | ? | + +##### CameraCalc {#CameraCalc} + +The `CameraCalc` contains camera information used for a survey, corridor or structure scan. + +``` + "CameraCalc": { + "AdjustedFootprintFrontal": 272.4, + "AdjustedFootprintSide": 409.2, + "CameraName": "Sony ILCE-QX1", + "DistanceToSurface": 940.6896551724138, + "DistanceToSurfaceRelative": true, + "FixedOrientation": false, + "FocalLength": 16, + "FrontalOverlap": 70, + "ImageDensity": 25, + "ImageHeight": 3632, + "ImageWidth": 5456, + "Landscape": true, + "MinTriggerInterval": 0, + "SensorHeight": 15.4, + "SensorWidth": 23.2, + "SideOverlap": 70, + "ValueSetIsDistance": false, + "version": 1 + }, +``` + +| Key | Description | +| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version for this `CameraCalc` definition. Current version is 1. | +| `AdjustedFootprintFrontal` | ? | +| `AdjustedFootprintSide` | ? | +| `DistanceToSurface` | ? Units? | +| `DistanceToSurfaceRelative` | ? | +| `CameraName` | Name of camera being used (must correspond to one of the cameras known to _QGroundControl_ or: `Manual (no camera specs)` for manual setup, `Custom Camera` for a custom setup. The keys listed after this point are not specified for a "Manual" camera definition. | +| `FixedOrientation` | ? (boolean) | +| `FocalLength` | Focal length of camera lens in millimeters. | +| `FrontalOverlap` | Percentage of frontal image overlap. | +| `ImageDensity` | ? | +| `ImageHeight` | Image height in px | +| `ImageWidth` | Image width in px | +| `Landscape` | `true`: Camera installed in landscape orientation on vehicle, `false`: Camera installed in portrait orientation on vehicle. | +| `MinTriggerInterval` | ? | +| `SensorHeight` | Sensor height in millimeters. | +| `SensorWidth` | Sensor width in millimeters. | +| `SideOverlap` | Percentage of side image overlap. | +| `ValueSetIsDistance` | ? (boolean) | + +## GeoFence {#geofence} + +Geofence information is optional. +The plan can contain an arbitrary number of geofences defined in terms of polygons and circles. + +The minimal definition is shown below. + +```json + "geoFence": { + "circles": [ + ], + "polygons": [ + ], + "version": 2 + }, +``` + +The fields are: + +| Key | Description | +| ------------------------------- | ----------------------------------------------------------------------------- | +| `version` | The version number for the geofence plan format. The documented version is 2. | +| [`circles`](#circle_geofence) | List containing circle geofence definitions (comma separated). | +| [`polygons`](#polygon_geofence) | List containing polygon geofence definitions (comma separated). | + +### Circle Geofence {#circle\_geofence} + +Each circular geofence is defined in a separate item, as shown below (multiple comma-separated items can be defined). +The items define the centre and radius of the circle, and whether or not the specific geofence is activated. + +```json +{ + "circle": { + "center": [47.39756763610029, 8.544649762407738], + "radius": 319.85 + }, + "inclusion": true, + "version": 1 +} +``` + +The fields are: + +| Key | Description | +| ----------- | -------------------------------------------------------------------------------------------------- | +| `version` | The version number for the geofence "circle" plan format. The documented version is 1. | +| `circle` | The definition of the circle. Includes `centre` (latitude, longitude) and `radisu` as shown above. | +| `inclusion` | Whether or not the geofence is enabled (true) or disabled. | + +### Polygon Geofence {#polygon\_geofence} + +Each polygon geofence is defined in a separate item, as shown below (multiple comma-separated items can be defined). +The geofence includes a set of points defined with a clockwise winding (i.e. they must enclose an area). + +```json + { + "inclusion": true, + "polygon": [ + [ + 47.39807773798406, + 8.543834631785785 + ], + [ + 47.39983519888905, + 8.550024648373267 + ], + [ + 47.39641100087146, + 8.54499282423751 + ], + [ + 47.395590322265186, + 8.539435808992085 + ] + ], + "version": 1 + } + ], + "version": 2 + } +``` + +The fields are: + +| Key | Description | +| ----------- | ------------------------------------------------------------------------------------------------------------------------------ | +| `version` | The version number for the geofence "polygon" plan format. The documented version is 2. | +| `polygon` | A list of points for the polygon. Each point contains a latitude and longitude. The points are ordered in a clockwise winding. | +| `inclusion` | Whether or not the geofence is enabled (true) or disabled. | + +## Rally Points {#rally\_points} + +Rally point information is optional. +The plan can contain an arbitrary number of rally points, each of which has a latitude, longitude, and altitude (above home position). + +A definition with two points is shown below. + +```json + + "rallyPoints": { + "points": [ + [ + 47.39760401, + 8.5509154, + 50 + ], + [ + 47.39902017, + 8.54263274, + 50 + ] + ], + "version": 2 + } +``` + +The fields are: + +| Key | Description | +| --------- | -------------------------------------------------------------------------------- | +| `version` | The version number for the rally point plan format. The documented version is 2. | +| `points` | A list of rally points. | diff --git a/docs/ru/qgc-dev-guide/firmware_plugin.md b/docs/ru/qgc-dev-guide/firmware_plugin.md new file mode 100644 index 00000000000..95d0c3ddc74 --- /dev/null +++ b/docs/ru/qgc-dev-guide/firmware_plugin.md @@ -0,0 +1,23 @@ +# Plugin Architecture + +Although the MAVLink spec defines a standard communication protocol to communicate with a vehicle. There are many aspects of that spec that are up for interpretation by the firmware developers. Because of this there are many cases where communication with a vehicle running one firmware is be slightly different than communication with a vehicle running a different firmware in order to accomplish the same task. Also each firmware may implement a different subset of the MAVLink command set. + +Another major issue is that the MAVLink spec does not cover vehicle configuration or a common parameter set. Due to this all code which relates to vehicle setup ends up being firmware specific. Also any code which must refer to a specific parameter is also firmware specific. + +Given all of these differences between firmware implementations it can be quite tricky to create a single ground station application that can support each without having the codebase degrade into a massive pile of if/then/else statements peppered everywhere based on the firmware the vehicle is using. + +QGC uses a plugin architecture to isolate the firmware specific code from the code which is generic to all firmwares. There are two main plugins which accomplish this `FirmwarePlugin` and `AutoPilotPlugin`. + +This plugin architecture is also used by custom builds to allow ever further customization beyond when standard QGC can provide. + +## FirmwarePlugin + +This is used to create a standard interface to parts of Mavlink which are generally not standardized. + +## AutoPilotPlugin + +This is used to provide the user interface for Vehicle Setup. + +## QGCCorePlugin + +This is used to expose features of the QGC application itself which are not related to a Vehicle through a standard interface. This is then used by custom builds to adjust the QGC feature set to their needs. diff --git a/docs/ru/qgc-dev-guide/getting_started/cent_os.md b/docs/ru/qgc-dev-guide/getting_started/cent_os.md new file mode 100644 index 00000000000..c709b04874b --- /dev/null +++ b/docs/ru/qgc-dev-guide/getting_started/cent_os.md @@ -0,0 +1,220 @@ +# Using QGC on CentOS 7 + +## OS Installation + +To install CentOS 7: + +1. Fetch the latest [CentOS 7 ISO from here](http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso) +2. Make a bootable USB stick out of the ISO e.g. by [following this guide](https://linuxize.com/post/how-to-create-a-bootable-centos-7-usb-stick/). +3. Boot the target device from the stick. + +The following examples show how to boot the target device from the stick. + +**Example:** _Panasonic Toughpad FZ-M1_ (attaching a keyboard and mouse to the device to follow this guide is recommended). + +1. Enter the BIOS menu by holding **Delete** on an attached USB keyboard or pressing all hardware buttons around the power button during boot. +2. Once inside the BIOS switch to the _Exit_ tab using the arrow keys or the touchscreen. +3. Select your previously created and plugged in USB stick under Boot device override. + +**Example** [UAV Components Micronav](https://www.uavcomp.com/command-control/micronav/) device: + +1. The setup of CentOS will not start with the default configuration. + To solve this + 1. Go to the BIOS menu as explained in the example above. + 2. Disable the "Extension Port" device under the "Advanced" tab. + 3. "Exit and save" the BIOS menu on the Exit page of the BIOS and try again. + 4. After CentOS is installed, you revert the changes again so that the Microhard network works. +2. Make sure to never do a warm reboot but always first shut down the device if you want to reboot into Linux. + Otherwise the Microhard network adapter will not work properly and slows down the whole system. + +### CentOS Software Selection Installation Options + +These were the options used to setup a CentOS development system. +Use it as a guideline. + +![CentOS Installation](../../../assets/dev_getting_started/centos/centos_installation.png) + +![CentOS Software Selection](../../../assets/dev_getting_started/centos/centos_sw_selection.png) + +### Update GStreamer + +Once CentOS is installed and booted we need to set up the environment for QGC. +First, we need to update GStreamer to a more recent version. +This guide follows Alice Wonder's tips found here: https\://media.librelamp.com + +``` +sudo yum install epel-release -y +wget http://awel.domblogger.net/7/media/x86_64/awel-media-release-7-6.noarch.rpm +sudo yum localinstall awel-media-release-7-6.noarch.rpm -y +sudo yum clean all +sudo yum update +sudo yum install gstreamer1* --skip-broken -y +``` + +**Note:** Make sure these are installed (vaapi for Intel GPUs) + +``` +sudo yum install gstreamer1-vaapi +sudo yum install gstreamer1-libav +``` + +**Note:** Install these to enable hardware accelerated video decoding + +``` +sudo yum install libva +sudo yum install libva-utils +sudo yum install libva-intel-driver +``` + +If libva-intel-driver is not found you can download it and install it manually + +``` +wget http://download1.rpmfusion.org/free/el/updates/7/x86_64/l/libva-intel-driver-1.8.3-4.el7.x86_64.rpm +sudo yum localinstall libva-intel-driver-1.8.3-4.el7.x86_64.rpm -y +``` + +### Installing SDL2 + +SDL2 is used for joystick support. + +``` +sudo yum install SDL2 SDL2-devel -y +``` + +### Update Kernel (optional) + +:::tip +If your Joystick gets recognized and shows up as `/dev/input/js0` when you run the command `/dev/input/*` you can skip this step. +::: + +We recommend updating the kernel for: + +- Better touch screen responsiveness. +- Correct recognition of some USB devices - in particular joysticks. + +The following joysticks are known not do work out of the box with the default CentOS 7 kernel (3.10.0): + +- Logitech F310 +- Microsoft Xbox 360 controller (USB) + +To fix the joystick not being recognized (even if the same unit is working under Windows or Ubuntu) please [follow this guide to update the kernel](https://www.howtoforge.com/tutorial/how-to-upgrade-kernel-in-centos-7-server/). + +Here's a short summary of the commands that you need to execute to update the kernel: + +``` +sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org +sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm +sudo yum --enablerepo=elrepo-kernel install kernel-ml -y +``` + +Reboot your device afterwards and make sure the new kernel version shows up as the default start option in the GRUB menu on boot. + +:::info +You might need to disable secure boot in the BIOS to allow the new kernel to be booted. +::: + +## Running QGC on CentOS + +Before launching QGC, you need to make sure the current user has access to the dialout group (serial port access permission): + +``` +sudo usermod -a -G dialout $USER +``` + +### Firewall + +The default firewall security level of Red Hat distributions like CentOS block MAVLink communication and also the camera video stream. +So you need to create rules to open the incoming ports for MAVLink and camera stream. +For non-production local environment testing purposes ONLY you can temporarily disable the firewall using the following commands ([from here](https://www.liquidweb.com/kb/how-to-stop-and-disable-firewalld-on-centos-7/)): + +Temporary: + +``` +systemctl stop firewalld +``` + +Permanent (at your own risk): + +``` +systemctl disable firewalld +``` + +Undo permanent change: + +``` +systemctl enable firewalld +``` + +### Connection problems with multiple networks + +In our test with CentOS we had problems when connecting to multiple networks through multiple network devices even with appropriate IP address and subnet assignment. + +Issues consisted of: + +- Losing Internet access when connecting to a second network +- Having flaky connection to the vehicle with a lot of hiccups and packet losses (e.g. 30 seconds perfect connection 4 seconds of packet loss in a regular pattern) + +If you face any of these problems avoid them by only connecting one network at a time e.g. switching between WiFi and Microhard. + +### Executing a Prebuilt QGC Binary + +- Get hold of an archive containing a prebuilt binary of QGC for CentOS. + At the moment there is no automatic deployment for this build if you urgently need one get in touch with the developers. +- [Unpack the archive](https://www.hostdime.com/kb/hd/command-line/how-to-tar-untar-and-zip-files). +- Go inside the unpacked files and locate the script named `qgroundcontrol-run.sh` +- Run it by executing the command + ``` + ./qgroundcontrol-run.sh + ``` + +## Building QGC on CentOS + +### Installing Qt + +``` +mkdir ~/devel +cd ~/devel +``` + +Install Qt 5.12.4 from the Qt installation script that can be downloaded [here](https://www.qt.io/download-thank-you?os=linux\&hsLang=en). +Once downloaded, make it executable and run it: + +``` +chmod +x qt-unified-linux-x64-3.1.1-online.run +./qt-unified-linux-x64-3.1.1-online.run +``` + +Select the following options and install it under `~/devel/Qt`: + +![Qt Software Selection](../../../assets/dev_getting_started/centos/qt_setup.png) + +### Clone and Build QGC + +``` +git clone --recursive https://github.com/mavlink/qgroundcontrol.git +mkdir build +cd build +``` + +For a debug/test build: + +``` +../Qt/5.12.4/gcc_64/bin/qmake ../qgroundcontrol/qgroundcontrol.pro -spec linux-g++ CONFIG+=debug +``` + +For a release build: + +``` +../Qt/5.12.4/gcc_64/bin/qmake ../qgroundcontrol/qgroundcontrol.pro -spec linux-g++ CONFIG+=qtquickcompiler +``` + +Build it: + +``` +make -j4 +``` + +You can alternatively launch _QtCreator_ (found under `~/devel/Qt/Tools/QtCreator/bin/qtcreator`), load the `qgroundcontro.pro` project and build/debug from within its IDE. + +By default, this will build the regular QGC. +To build the sample, customized UI version, follow [these instructions](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/README.md). diff --git a/docs/ru/qgc-dev-guide/getting_started/container.md b/docs/ru/qgc-dev-guide/getting_started/container.md new file mode 100644 index 00000000000..3bdda672439 --- /dev/null +++ b/docs/ru/qgc-dev-guide/getting_started/container.md @@ -0,0 +1,81 @@ +# Building using Containers + +The community created a docker image that makes it much easier to build a Linux-based QGC application. +This can give you a massive boost in productivity and help with testing. + +## About the Container + +The Container is located in the `./deploy/docker` directory. +It's based on ubuntu 20.04. +It pre-installs all the dependencies at build time, including Qt, thanks to a script located in the same directory, `install-qt-linux.sh`. +The main advantage of using the container is the usage of the `CMake` build system and its many improvements over `qmake` + +## Building the Container + +Before using the container, you have to build the image. +You can accomplish this using docker, running the following script from the root of the QGC source code directory. + +``` +docker build --file ./deploy/docker/Dockerfile-build-linux -t qgc-linux-docker . +``` + +:::info +The `-t` flag is essential. +Keep in mind this is tagging the image for later reference since you can have multiple builds of the same container +::: + +::: info +If building on a Mac computer with an M1 chip you must also specify the build option `--platform linux/x86_64` as shown: + +``` +docker build --platform linux/x86_64 --file ./deploy/docker/Dockerfile-build-linux -t qgc-linux-docker . +``` + +Otherwise you will get a build error like: + +``` +qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory +``` + +::: + +## Building QGC using the Container + +To use the container to build QGC, you first need to define a directory to save the artifacts. +We recommend you create a `build` directory on the source tree and then run the docker image using the tag provided above as follows, from the root directory: + +``` +mkdir build +docker run --rm -v ${PWD}:/project/source -v ${PWD}/build:/project/build qgc-linux-docker +``` + +::: info +If using the script to build the Linux image on a Windows host, you would need to reference the PWD differently. +On Windows the docker command is: + +``` +docker run --rm -v %cd%:/project/source -v %cd%/build:/project/build qgc-linux-docker +``` + +::: + +Depending on your system resources, or the resources assigned to your Docker Daemon, the build step can take some time. + +## Troubleshooting + +### Windows: 'bash\r': No such file or directory + +This error indicates that a Linux script is being run with Windows line endings, which might occur if `git` was configured to use Windows line endings: + +``` + > [4/7] RUN /tmp/qt/install-qt-linux.sh: +#9 0.445 /usr/bin/env: 'bash\r': No such file or directory +``` + +One fix is to force Linux line endings using the command: + +``` +git config --global core.autocrlf false +``` + +Then update/recreate your local repository. diff --git a/docs/ru/qgc-dev-guide/getting_started/index.md b/docs/ru/qgc-dev-guide/getting_started/index.md new file mode 100644 index 00000000000..c01c1af6e99 --- /dev/null +++ b/docs/ru/qgc-dev-guide/getting_started/index.md @@ -0,0 +1,238 @@ +--- +qt_version: 5.15.2 +--- + +# Getting Started + +This topic explains how to get the _QGroundControl_ source code and build it either natively or within a _Vagrant_ environment. +It also provides information about optional or OS specific functionality. + +## Daily Builds + +If you just want to test (and not debug) a recent build of _QGroundControl_ you can use the [Daily Build](https://docs.qgroundcontrol.com/en/releases/daily_builds.html). Versions are provided for all platforms. + +## Source Code + +Source code for _QGroundControl_ is kept on GitHub here: https\://github.com/mavlink/qgroundcontrol. +It is [dual-licensed under Apache 2.0 and GPLv3](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md). + +To get the source files: + +1. Clone the repo (or your fork) including submodules: + ``` + git clone --recursive -j8 https://github.com/mavlink/qgroundcontrol.git + ``` +2. Update submodules (required each time you pull new source code): + ``` + git submodule update --recursive + ``` + +:::tip +Github source-code zip files cannot be used because these do not contain the appropriate submodule source code. +You must use git! +::: + +## Build QGroundControl + +### Using Containers + +We support Linux builds using a container found on the source tree of the repository, which can help you develop and deploy the QGC apps without having to install any of the requirements on your local environment. + +[Container Guide](../getting_started/container.md) + +### Native Builds + +_QGroundControl_ builds are supported for macOS, Linux, Windows, iOS and Android. +_QGroundControl_ uses [Qt](http://www.qt.io) as its cross-platform support library and uses [QtCreator](http://doc.qt.io/qtcreator/index.html) as its default build environment. + +- **macOS:** v10.11 or higher +- **Ubuntu:** 64 bit, gcc compiler +- **Windows:** Vista or higher, [Visual Studio 2019 compiler](#vs) (64 bit) +- **iOS:** 10.0 and higher +- **Android:** Android 5.0 and later. + - Standard QGC is built against ndk version 19. + - Java JDK 11 is required. +- **Qt version:** {{ $frontmatter.qt\_version }} **(only)** + + ::: warning + **Do not use any other version of Qt!** + QGC has been thoroughly tested with the specified version of Qt ({{ $frontmatter.qt\_version }}). + There is a significant risk that other Qt versions will inject bugs that affect stability and safety (even if QGC compiles). + ::: + +For more information see: [Qt 5 supported platform list](http://doc.qt.io/qt-5/supported-platforms.html). + +:::info +Native [CentOS Builds](../getting_started/cent_os.md) are also supported, but are documented separately (as the tested environment is different). +::: + +#### Install Visual Studio 2019 (Windows Only) {#vs} + +The Windows compiler can be found here: [Visual Studio 2019 compiler](https://visualstudio.microsoft.com/vs/older-downloads/) (64 bit) + +When installing, select _Desktop development with C++_ as shown: + +![Visual Studio 2019 - Select Desktop Environment with C++](../../../assets/dev_getting_started/visual_studio_select_features.png) + +:::info +Visual Studio is ONLY used to get the compiler. Actually building _QGroundControl_ should be done using [Qt Creator](#qt-creator) or [qmake](#qmake) as outlined below. +::: + +#### Install Qt + +You **need to install Qt as described below** instead of using pre-built packages from say, a Linux distribution, because _QGroundControl_ needs access to private Qt headers. + +To install Qt: + +1. Download and run the [Qt Online Installer](http://www.qt.io/download-open-source) + - **Ubuntu:** + - Set the downloaded file to executable using: `chmod +x`. + - Install to default location for use with **./qgroundcontrol-start.sh.** If you install Qt to a non-default location you will need to modify **qgroundcontrol-start.sh** in order to run downloaded builds. + +2. In the installer _Select Components_ dialog choose: {{ $frontmatter.qt\_version }}. + + ::: info + If the version needed is not displayed, check the archive (show archive and refresh). + ::: + + Then install just the following components: + + - **Windows**: _MSVC 2019 64 bit_ + - **MacOS**: _macOS_ + - **Linux**: _Desktop gcc 64-bit_ + - All: + - _Qt Charts_ + - _Android ARMv7_ (optional, used to build Android) + + ![QtCreator Select Components (Windows)](../../../assets/dev_getting_started/qt_creator_select_components.jpg) + +3. Install Additional Packages (Platform Specific) + + - **Ubuntu:** `sudo apt-get install speech-dispatcher libudev-dev libsdl2-dev patchelf build-essential curl` + - **Fedora:** `sudo dnf install speech-dispatcher SDL2-devel SDL2 systemd-devel patchelf` + - **Arch Linux:** `pacman -Sy speech-dispatcher patchelf` + - **Android:** [Qt Android Setup](http://doc.qt.io/qt-5/androidgs.html) + + ::: info + JDK11 is required (install if needed)! + ::: + +4. Install Optional/OS-Specific Functionality + + ::: info + Optional features that are dependent on the operating system and user-installed libraries are linked/described below. + These features can be forcibly enabled/disabled by specifying additional values to qmake. + ::: + + - **Video Streaming/Gstreamer:** - see [Video Streaming](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoReceiver/README.md). + - **Airmap SDK:** - TBD. + +5. Disable platform-specific optional features that are enabled (but not installed), by default. + + ::: info + This currently applies to Airmap on Linux, which is optional but enabled by default. + ::: + + - **Ubuntu:** + - Airmap: Create a file named **user\_config.pri** (in the repo root directory) containing the text `DEFINES += DISABLE_AIRMAP`. + This can be done in a bash terminal using the command: + ``` + echo -e "DEFINES += DISABLE_AIRMAP\r\n" | tee user_config.pri + ``` + +#### Building using Qt Creator {#qt-creator} + +1. Launch _Qt Creator_ and open the **qgroundcontrol.pro** project. + +2. In the **Projects** section, select the appropriate kit for your needs: + + - **OSX:** Desktop Qt {{ $frontmatter.qt\_version }} clang 64 bit + + ::: info + iOS builds must be built using [XCode](http://doc.qt.io/qt-5/ios-support.html). + ::: + + - **Ubuntu:** Desktop Qt {{ $frontmatter.qt\_version }} GCC 64bit + + - **Windows:** Desktop Qt {{ $frontmatter.qt\_version }} MSVC2019 **64bit** + + - **Android:** Android for armeabi-v7a (GCC 4.9, Qt {{ $frontmatter.qt\_version }}) + - JDK11 is required. + You can confirm it is being used by reviewing the project setting: **Projects > Manage Kits > Devices > Android (tab) > Android Settings > _JDK location_**. + +3. Build using the "hammer" (or "play") icons: + + ![QtCreator Build Button](../../../assets/dev_getting_started/qt_creator_build_qgc.png) + +#### Build using qmake on CLI {#qmake} + +Example commands to build a default QGC and run it afterwards: + +1. Make sure you cloned the repository and updated the submodules before, see chapter _Source Code_ above and switch into the repository folder: + ``` + cd qgroundcontrol + ``` + +2. Create and enter a shadow build directory: + ``` + mkdir build + cd build + ``` + +3. Configure the build using the qmake script in the root of the repository: + ``` + qmake ../ + ``` + +4. Run make to compile and link. + To accelerate the process things you can use the `-j{number of threads}` parameter. + + ``` + make -j12 + ``` + + ::: info + You can also specify build time flags here. + For example, you could disable airmap inclusion using the command: + + ``` + DEFINES+=DISABLE_AIRMAP make build + ``` + + ::: + +5. Run the QGroundcontrol binary that was just built: + ``` + ./staging/QGroundControl + ``` + +### Vagrant + +[Vagrant](https://www.vagrantup.com/) can be used to build and run _QGroundControl_ within a Linux virtual machine (the build can also be run on the host machine if it is compatible). + +1. [Download](https://www.vagrantup.com/downloads.html) and [Install](https://www.vagrantup.com/docs/getting-started/) Vagrant +2. From the root directory of the _QGroundControl_ repository run `vagrant up` +3. To use the graphical environment run `vagrant reload` + +### Additional Build Notes for all Supported OS + +- **Parallel builds:** For non Windows builds, you can use the `-j#` option to run parellel builds. +- **Location of built files:** Individual build file results can be found in the `build_debug` or `build_release` directories. The built executable can be found in the `debug` or `release` directory. +- **If you get this error when running _QGroundControl_**: `/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version 'GLIBCXX_3.4.20' not found.`, you need to either update to the latest _gcc_, or install the latest _libstdc++.6_ using: `sudo apt-get install libstdc++6`. +- **Unit tests:** To run the [unit tests](../contribute/unit_tests.md), build in `debug` mode with `UNITTEST_BUILD` definition, and then copy `deploy/qgroundcontrol-start.sh` script into the `debug` directory before running the tests. + +## Building QGC Installation Files + +You can additionally create installation file(s) for _QGroundControl_ as part of the normal build process. + +:::tip +On Windows you will need to first install [NSIS](https://sourceforge.net/projects/nsis/). +::: + +To add support for installation file creation you need to add `CONFIG+=installer` to your project file, or when you call _qmake_. + +To do this in _Qt Creator_: + +- Open **Projects > Build > Build Steps > qmake > Additional arguments**. +- Enter `CONFIG+=installer` as shown: + ![Installer](../../../assets/dev_getting_started/qt_project_installer.png) diff --git a/docs/ru/qgc-dev-guide/index.md b/docs/ru/qgc-dev-guide/index.md new file mode 100644 index 00000000000..22020d391d3 --- /dev/null +++ b/docs/ru/qgc-dev-guide/index.md @@ -0,0 +1,68 @@ +# QGroundControl Dev Guide + +[![Releases](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases) [![Discuss](https://img.shields.io/badge/discuss-dev-ff69b4.svg)](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-developers) + +This developer guide is the best source for information if you want to build, modify or extend [QGroundControl](http://qgroundcontrol.com) (QGC). +It shows how to obtain and build the source code, explains how QGC works, and provides guidelines for contributing code to the project. + +:::tip +This part of the guide is for **developers**! +::: + +:::warning +This is an active work in progress - information should be correct, but may not be complete! +If you find that it is missing helpful information (or errors) please raise an issue. +::: + +## Design Philosophy + +QGC is designed to provide a single codebase that can run across multiple OS platforms as well as multiple device sizes and styles. + +The QGC user interface is implemented using [Qt QML](http://doc.qt.io/qt-5/qtqml-index.html). QML provides for hardware acceleration which is a key feature on lower powered devices such as tablets or phones. QML also provides features which allows us to more easily create a single user interface which can adapt itself to differing screen sizes and resolution. + +The QGC UI targets itself more towards a tablet+touch style of UI than a desktop mouse-based UI. This make a single UI easier to create since tablet style UI also tends to work fine on desktop/laptops. + +## Support {#support} + +Development questions can be raised in the [QGroundControl Developer](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-developers) discuss category. + +## Contribution + +Information about contributing, including coding styles, testing and licenses can be found in [Code Submissions](contribute/index.md). + +:::tip +We expect all contributors to adhere to the [QGroundControl code of conduct](https://github.com/mavlink/qgroundcontrol/blob/master/CODE_OF_CONDUCT.md). +This code aims to foster an open and welcoming environment. +::: + +### Coordination Call + +The developer team meets bi-weekly to discuss the highest priority issues, project coordination, and discuss any Issues, PRs, or Questions from the Community. ([Developer Call Details](contribute/dev_call.md)) + +### Translations + +We use [Crowdin](https://crowdin.com) to make it easier to manage translation for both _QGroundControl_ and the documentation. + +The translation projects (and join links) are listed below: + +- [QGroundControl](https://crowdin.com/project/qgroundcontrol) ([join](https://crwd.in/qgroundcontrol)) +- [QGroundControl User Guide](https://crowdin.com/project/qgroundcontrol-user-guide) ([join](https://crwd.in/qgroundcontrol-user-guide)) +- [QGroundControl Developer Guide](https://crowdin.com/project/qgroundcontrol-developer-guide) ([join](https://crwd.in/qgroundcontrol-developer-guide)) + +The PX4 Developer Guide contains additional information about the (common) docs/translation toolchain: + +- [Documentation](https://dev.px4.io/en/contribute/docs.html) +- [Translation](https://dev.px4.io/en/contribute/docs.html) + +## License + +_QGroundControl_ source code is [dual-licensed under Apache 2.0 and GPLv3](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md). +For more information see: [Licenses](contribute/licences.md). + +## Governance + +The QGroundControl mission planner is hosted under the governance of the [Dronecode Project](https://www.dronecode.org/). + +Dronecode Logo Linux Foundation Logo + +
 
diff --git a/docs/ru/qgc-dev-guide/plan/mission_command_tree.md b/docs/ru/qgc-dev-guide/plan/mission_command_tree.md new file mode 100644 index 00000000000..55441b4e3fc --- /dev/null +++ b/docs/ru/qgc-dev-guide/plan/mission_command_tree.md @@ -0,0 +1,196 @@ +# Mission Command Tree + +QGC creates the user interface for editing a specific mission item command dynamically from a hierarchy of json metadata. This hierarchy is called the Mission Command Tree. This way only json metadata must be created when new commands are added. + +## Why a tree? + +The tree is needed to deal with the idosyncracies of differening firmware supporting commands differently and/or different vehicle types supporting the commands in different ways. The simplest example of that is mavlink spec may include command parameters which are not supported by all firmwares. Or command parameters which are only valid for certain vehicle types. Also in some cases a GCS may decide to hide some of the command parameters from view to end users since they are too complex or cause usability problems. + +The tree is the MissionCommandTree class: [MissionCommandTree.cc](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.cc), [MissionCommandTree.h](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.h) + +### Tree Root + +The root of the tree is json metadata which matches the mavlink spec exactly. + +Here you can see an example of the root [json](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoCommon.json#L27) for `MAV_CMD_NAV_WAYPOINT`: + +``` + { + "id": 16, + "rawName": "MAV_CMD_NAV_WAYPOINT", + "friendlyName": "Waypoint", + "description": "Travel to a position in 3D space.", + "specifiesCoordinate": true, + "friendlyEdit": true, + "category": "Basic", + "param1": { + "label": "Hold", + "units": "secs", + "default": 0, + "decimalPlaces": 0 + }, + "param2": { + "label": "Acceptance", + "units": "m", + "default": 3, + "decimalPlaces": 2 + }, + "param3": { + "label": "PassThru", + "units": "m", + "default": 0, + "decimalPlaces": 2 + }, + "param4": { + "label": "Yaw", + "units": "deg", + "nanUnchanged": true, + "default": null, + "decimalPlaces": 2 + } + }, +``` + +Note: In reality this based information should be provided by mavlink itself and not needed to be part of a GCS. + +### Leaf Nodes + +The leaf nodes then provides metadata which can override values for the command and/or remove parameters from display to the user. The full tree hierarchy is this: + +- Root - Generic Mavlink + - Vehicle Type Specific - Vehicle specific overrides to the generic spec + - Firmware Type Specific - One optional leaf node for each firmware type (PX4/ArduPilot) + - Vehicle Type Specific - One optional leaf node for each vehicel type (FW/MR/VTOL/Rover/Sub) + +Note: In reality this override capability should be part of mavlink spec and should be able to be queried from the vehicle. + +### Building the instance tree from the full tree + +Since the json metadata provides information for all firmware/vehicle type combinations the actual tree to use must be built based on the firmware and vehicle type which is being used to create a Plan. This is done through a process call "collapsing" the full tree to a firmware/vehicle specific tree ([code](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.cc#L119)). + +The steps are as follows: + +- Add the root to the instance tree +- Apply the vehicle type specific overrides to the instance tree +- Apply the firmware type specific overrides to the instance tree +- Apply the firmware/vehicle type specific overrides to the instance tree + +The resulting Mission Command Tree is then used to build UI for the Plan View item editors. In reality it is used for more than just that, there are many other places where knowing more information about a specific command id is useful. + +## Example hierarchy for `MAV_CMD_NAV_WAYPOINT` + +Let's walk through an example hierarchy for `MAV_CMD_NAV_WAYPOINT`. Root information is shown above. + +### Root - Vehicle Type Specific leaf node + +The next level of the hiearchy is generic mavlink but vehicle specific. Json files are here: [MR](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoMultiRotor.json), [FW](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoFixedWing.json), [ROVER](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoRover.json), [Sub](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoSub.json), [VTOL](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoVTOL.json). And here are the overrides for (Fixed Wings)(https\://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoFixedWing.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "4" + }, +``` + +What this does is remove the editing UI for param4 which is Yaw and not used by fixed wings. Since this is a leaf node of the root, this applies to all fixed wing vehicle no matter the firmware type. + +### Root - Firmware Type Specific leaf node + +The next level of the hiearchy are overrides which are specific to a firmware type but apply to all vehicle types. Once again lets loook at the waypoint overrides: + +[ArduPilot](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/APM/MavCmdInfoCommon.json#L6): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2" + }, +``` + +[PX4](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/PX4/MavCmdInfoCommon.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2,3" + }, +``` + +You can see that for both firmwares param2 which is acceptance radius is removed from the editing ui. This is a QGC specific decision. It is generally safer and easier to use the firmwares generic acceptance radius handling than the specify a value. So we've decided to hide it from users. + +You can also see that for PX4 param3/PassThru is removed since it is not supported by PX. + +### Root - Firmware Type Specific - Vehicle Type Specific leaf node + +The last level of the hiearchy is both firmware and vehicle type specific. + +[ArduPilot/MR](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/APM/MavCmdInfoMultiRotor.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2,3,4" + }, +``` + +Here you can see that for an ArduPilot Multi-Rotor vehicle param2/3/4 Acceptance/PassThru/Yaw are removed. Yaw for example is removed because it is not supported. Due to quirk of how this code works, you need to repeat the overrides from the lower level. + +## Mission Command UI Info + +Two classes define the metadata associated with a command: + +- MissionCommandUIInfo - Metadata for the entire command +- MissionCmdParamInfo - Metadata for a param in a command + +The source is commented with full details of the json keys which are supported. + +[MissionCommandUIInfo](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandUIInfo.h#L82): + +``` +/// UI Information associated with a mission command (MAV_CMD) +/// +/// MissionCommandUIInfo is used to automatically generate editing ui for a MAV_CMD. This object also supports the concept of only having a set of partial +/// information for the command. This is used to create overrides of the base command information. For on override just specify the keys you want to modify +/// from the base command ui info. To override param ui info you must specify the entire MissionParamInfo object. +/// +/// The json format for a MissionCommandUIInfo object is: +/// +/// Key Type Default Description +/// id int reauired MAV_CMD id +/// comment string Used to add a comment +/// rawName string required MAV_CMD enum name, should only be set of base tree information +/// friendlyName string rawName Short description of command +/// description string Long description of command +/// specifiesCoordinate bool false true: Command specifies a lat/lon/alt coordinate +/// specifiesAltitudeOnly bool false true: Command specifies an altitude only (no coordinate) +/// standaloneCoordinate bool false true: Vehicle does not fly through coordinate associated with command (exampl: ROI) +/// isLandCommand bool false true: Command specifies a land command (LAND, VTOL_LAND, ...) +/// friendlyEdit bool false true: Command supports friendly editing dialog, false: Command supports 'Show all values" style editing only +/// category string Advanced Category which this command belongs to +/// paramRemove string Used by an override to remove params, example: "1,3" will remove params 1 and 3 on the override +/// param[1-7] object MissionCommandParamInfo object +/// +``` + +[MissionCmdParamInfo](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandUIInfo.h#L25): + +``` +/// UI Information associated with a mission command (MAV_CMD) parameter +/// +/// MissionCommandParamInfo is used to automatically generate editing ui for a parameter associated with a MAV_CMD. +/// +/// The json format for a MissionCmdParamInfo object is: +/// +/// Key Type Default Description +/// label string required Label for text field +/// units string Units for value, should use FactMetaData units strings in order to get automatic translation +/// default double 0.0/NaN Default value for param. If no default value specified and nanUnchanged == true, then defaultValue is NaN. +/// decimalPlaces int 7 Number of decimal places to show for value +/// enumStrings string Strings to show in combo box for selection +/// enumValues string Values associated with each enum string +/// nanUnchanged bool false True: value can be set to NaN to signal unchanged +``` diff --git a/docs/ru/qgc-dev-guide/release_branching_process.md b/docs/ru/qgc-dev-guide/release_branching_process.md new file mode 100644 index 00000000000..8cff755d051 --- /dev/null +++ b/docs/ru/qgc-dev-guide/release_branching_process.md @@ -0,0 +1,81 @@ +# QGroundControl Release/Branching process + +## Semantic Versioning + +QGC uses semantic versioning for the version numbers associated with its releases. +Semantic versioning is a 3-component number in the format of `vX.Y.Z`, where: + +- `X` is the major version. +- `Y` is the minor version. +- `Z` is the patch version. + +## Stable Builds + +The current stable build is the highest quality build available for QGC. +[Patch releases](#patch_releases) of the stable build are regularly made to fix important issues. + +Stable builds are built from a separate branch that is named with the format: `Stable_VX.Y` (note, there is no patch number!) +The branch has one or more git tags for each patch release (with the format `vX.Y.Z`), indicating the point in the repo source code that the associated patch release was created from. + +### Patch Releases {#patch\_releases} + +A patch release contains fixes to the stable release that are important enough to _require_ an update, and are safe enough that the stable release continues to maintain high quality. + +Patch releases increment the patch version number only. + +### Patch - Development Stage + +Approved fixes to the stable release are commited to the current stable branch. +These fixes continue to queue up in the stable branch until a patch release is made (see next step). + +Commits/changes to the stable branch must also be brought over to the master branch (either through cherry pick or separate pulls). + +### Patch - Release Stage + +At the point where the decision is made to do a patch release, the release binaries are created and a new _tag_ is added to the stable branch (with the same patch release number) indicating the associated source code. + +:::info +New branches are not created for patch releases - only for major and minor releases. +::: + +## Daily Builds + +### Development Stage + +Daily builds are built from the `master` branch, and this is where all new major feature development happens. +The state of master represents either the next minor point release, or a new major version release (depending on the level of change). + +There are no git tags associated with a released daily builds. +The released daily build will always match repo HEAD. + +### Release Stage + +When the decision is made to release a new major/minor version the master branch tends to go through an intial lockdown mode. +This is where only important fixes for the release are accepted as pull requests. + +:::info +During the lockdown phase, new features are not allowed in master. +::: + +Once the level of fixes associated with the release slows down to a low level, a new stable branch is created (at this point the `master` branch can move forward again as the latest and greatest). + +Fixes continue in the stable branch until it is deemed ready to release (ideally after a short time)! +At that point the new stable branch is tagged with the new version tag and the first stable release is made. + +## Custom Builds + +A proposed strategy for branching on custom builds can be found [here](custom_build/release_branching_process.md). + +## Process to create a new Stable + +### Major/Minor Version + +1. Create a branch from master named `Stable_VX.Y` where `X` is the major version number and `Y` is the minor version number. +2. Create a tag on the HEAD of master name `dX.Y` where the minor version is one greater than the new Stable. For example if you are create a new Stable 4.2 version then the tag would be 'd4.3'. This tag is used to create the version numbers for Android daily builds. Example: `git tag -a d4.3.0 -m "QGroundControl Daily Android Version Base"`. +3. Create an annotated tag on the newly created Stable branch named `vX.Y.0` with the correct major/minor version number. Example: `git tag -a v4.2.0 -m "QGroundControl v4.2.0"`. Pushing this tag to the repo will start a build. +4. Once the build completes verify the builds are pushed up to S3 correctly and sanity check that they at least boot correctly. Location on S3 will be `https://qgroundcontrol.s3.us-west-2.amazonaws.com/latest/...`. +5. Update the `https://qgroundcontrol.s3.us-west-2.amazonaws.com/builds/latest/QGC.version.txt` text file to the latest Stable version. This will notify uses there is a new Stable available the next time they launch QGC. + +### Patch Version + +Creating a new Patch Version is the same except you skip steps 1 and 2 and in step 3 you bump the patch version number up as needed. diff --git a/docs/ru/qgc-dev-guide/tools/index.md b/docs/ru/qgc-dev-guide/tools/index.md new file mode 100644 index 00000000000..d2f1bd88502 --- /dev/null +++ b/docs/ru/qgc-dev-guide/tools/index.md @@ -0,0 +1,20 @@ +# Developer Tools + +_QGroundControl_ makes a number of tools available primarily for autopilot developers. +These ease common developer tasks including setting up simulated connections for testing, +and accessing the System Shell over MAVLink. + +:::info +[Build the source in debug mode](https://github.com/mavlink/qgroundcontrol#supported-builds) to enable these tools. +::: + +Tools include: + +- **[Mock Link](../tools/mock_link.md)** (Daily Builds only) - Creates and stops multiple simulated vehicle links. +- **[Replay Flight Data](https://docs.qgroundcontrol.com/en/app_menu/replay_flight_data.html)** - Replay a telemetry log (User Guide). +- **[MAVLink Inspector](https://docs.qgroundcontrol.com/en/app_menu/mavlink_inspector.html)** - Display received MAVLink messages/values. +- **[MAVLink Analyzer](https://docs.qgroundcontrol.com/en/app_menu/mavlink_analyzer.html)** - Plot trends for MAVLink messages/values. +- **[Custom Command Widget](https://docs.qgroundcontrol.com/en/app_menu/custom_command_widget.html)** - Load custom/test QML UI at runtime. +- **[Onboard Files](https://docs.qgroundcontrol.com/en/app_menu/onboard_files.html)** - Navigate vehicle file system and upload/download files. +- **[HIL Config Widget](https://docs.qgroundcontrol.com/en/app_menu/hil_config.html)** - Settings for HIL simulators. +- **[MAVLink Console](https://docs.qgroundcontrol.com/en/analyze_view/mavlink_console.html)** (PX4 Only) - Connect to the PX4 nsh shell and send commands. diff --git a/docs/ru/qgc-dev-guide/tools/mock_link.md b/docs/ru/qgc-dev-guide/tools/mock_link.md new file mode 100644 index 00000000000..bbb8878c9c2 --- /dev/null +++ b/docs/ru/qgc-dev-guide/tools/mock_link.md @@ -0,0 +1,33 @@ +# Mock Link + +_Mock Link_ allows you to create and stop links to multiple simulated (mock) vehicles in _QGroundControl_ debug builds. + +The simulation does not support flight, but does allow easy testing of: + +- Mission upload/download +- Viewing and changing parameters +- Testing most setup pages +- Multiple vehicle UIs + +It is particularly useful for unit testing error cases for mission upload/download. + +## Using Mock Link + +To use _Mock Link_: + +1. Create a debug build by [building the source](https://github.com/mavlink/qgroundcontrol#supported-builds). + +2. Access _Mock Link_ by selecting the _Application Settings_ icon in the top toolbar and then **Mock Link** in the sidebar: + + ![](../../../assets/dev_tools/mocklink_waiting_for_connection.jpg) + +3. The buttons in the panel can be clicked to create a vehicle link of the associated type. + + - Each time you click a button a new connection will be created. + - When there is more than one connection the multiple-vehicle UI will appear. + + ![](../../../assets/dev_tools/mocklink_connected.jpg) + +4. Click the **Stop one Mock Link** to stop the currently active vehicle. + +Using _Mock Link_ is then more or less the same as using any other vehicle, except that the simulation does not allow flight. diff --git a/docs/ru/qgc-dev-guide/user_interface_design/controls.md b/docs/ru/qgc-dev-guide/user_interface_design/controls.md new file mode 100644 index 00000000000..16bbca6fbed --- /dev/null +++ b/docs/ru/qgc-dev-guide/user_interface_design/controls.md @@ -0,0 +1,35 @@ +# User Interface Controls + +QGC provides a base set of controls for building user interface. In general they tend to be thin layers above the base QML Controls supported by Qt which respect the QGC color palette. + +``` +import QGroundControl.Controls 1.0 +``` + +## Qt Controls + +The following controls are QGC variants of standard Qt QML Controls. They provide the same functionality as the corresponding Qt controls except for the fact that they are drawn using the QGC palette. + +- QGCButton +- QGCCheckBox +- QGCColoredImage +- QGCComboBox +- QGCFlickable +- QGCLabel +- QGCMovableItem +- QGCRadioButton +- QGCSlider +- QGCTextField + +## QGC Controls + +These custom controls are exclusive to QGC and are used to create standard UI elements. + +- DropButton - RoundButton which drops out a panel of options when clicked. Example is Sync button in Plan view. +- ExclusiveGroupItem - Used as a base Item for custom controls which supports the QML ExclusiveGroup concept. +- QGCView - Base control for all top level views in the system. Provides support for FactPanels and displaying QGCViewDialogs and QGCViewMessages. +- QGCViewDialog - Dialog which pops out from the right side of a QGCView. You can specific the accept/reject buttons for the dialog as well as the dialog contents. Example usage is when you click on a parameter and it brings up the value editor dialog. +- QGCViewMessage - A simplified version of QGCViewDialog which allows you to specify buttons and a simple text message. +- QGCViewPanel - The main view contents inside of a QGCView. +- RoundButton - A round button control which uses an image as its inner contents. +- SetupPage - The base control for all Setup vehicle component pages. Provides a title, description and component page contents area. diff --git a/docs/ru/qgc-dev-guide/user_interface_design/font_palette.md b/docs/ru/qgc-dev-guide/user_interface_design/font_palette.md new file mode 100644 index 00000000000..b9472025352 --- /dev/null +++ b/docs/ru/qgc-dev-guide/user_interface_design/font_palette.md @@ -0,0 +1,20 @@ +# Font and Palette + +QGC has a standard set of fonts and color palette which should be used by all user interface. + +``` +import QGroundControl.Palette 1.0 +import QGroundControl.ScreenTools 1.0 +``` + +## QGCPalette + +This item exposes the QGC color palette. There are two variants of this palette: light and dark. The light palette is meant for outdoor use and the dark palette is for indoor. Normally you should never specify a color directly for UI, you should always use one from the palette. If you don't follow this rule, the user interface you create will not be capable of changing from a light/dark style. + +## QGCMapPalette + +The map palette is used for colors which are used to draw over a map. Due to the the different map styles, specifically satellite and street you need to have different colors to draw over them legibly. Satellite maps needs lighter colors to be seen whereas street maps need darker colors to be seen. The `QGCMapPalette` item provides a set of colors for this as well as the ability to switch between light and dark colors over maps. + +## ScreenTools + +The ScreenTools item provides values which you can use to specify font sizing. It also provides information on screen size and whether QGC is running on a mobile device. diff --git a/docs/ru/qgc-dev-guide/user_interface_design/index.md b/docs/ru/qgc-dev-guide/user_interface_design/index.md new file mode 100644 index 00000000000..caff40d9801 --- /dev/null +++ b/docs/ru/qgc-dev-guide/user_interface_design/index.md @@ -0,0 +1,11 @@ +# User Interface Design + +The main pattern for UI design in QGC is a UI page written in QML, many times communicating with a custom "Controller" written in C++. This follows a somewhat hacked variant of the MVC design pattern. + +The QML code binds to information associated with the system through the following mechanisms: + +- The custom controller +- The global `QGroundControl` object which provides access to things like the active Vehicle +- The FactSystem which provides access to parameters and in some cases custom Facts. + +Note: Due to the complexity of the QML used in QGC as well as it's reliance on communication with C++ objects to drive the ui it is not possible to use the QML Designer provided by Qt to edit QML. diff --git a/docs/ru/qgc-dev-guide/user_interface_design/multi_device_pattern.md b/docs/ru/qgc-dev-guide/user_interface_design/multi_device_pattern.md new file mode 100644 index 00000000000..241be1409f4 --- /dev/null +++ b/docs/ru/qgc-dev-guide/user_interface_design/multi_device_pattern.md @@ -0,0 +1,52 @@ +# Multi-Device Design Pattern + +QGroundControl is designed to run on multiple device types from desktop to laptop to tablet to small phone sized screens using mouse and touch. Below is the description of how QGC does it and the reasoning behind it. + +## Efficient 1 person dev team + +The design pattern that QGC development uses to solve this problem is based around making new feature development quick and allowing the code base to be testable and maintained by a very small team (let's say 1 developer as the default dev team size). The pattern to achieve this is followed very strictly, because not following it will lead to slower dev times and lower quality. + +Supporting this 1 person dev team concept leads to some tough decisions which not everyone may be happy about. But it does lead to QGC being released on many OS and form factors using a single codebase. This is something most other ground stations out there are not capable of achieving. + +What about contributors you ask? QGC has a decent amount of contributors. Can't they help move things past this 1 person dev team concept? Yes QGC has quite a few contributors. But unfortunately they come and go over time. And when they go, the code they contributed still must be maintained. Hence you fall back to the 1 person dev team concept which is mostly what has been around as an average over the last three years of development. + +## Target Device + +The priority target for QGC UI design is a tablet, both from a touch standpoint and a screen size standpoint (think 10" Samsung Galaxy tab). Other device types and sizes may see some sacrifices of visuals and/or usability due to this decision. The current order when making priority based decisions is Tablet, Laptop, Desktop, Phone (any small screen). + +### Phone sized screen support + +As specified above, at this point smaller phone sized screens are the lowest level priority for QGC. More focus is put onto making active flight level displays, such as the Fly view, more usable. Less focus is placed on Setup related views such as Setup and Plan. Those specific views are tested to be functionally usable on small screens but they may be painful to use. + +## Development tools used + +### Qt Layout controls + +QGC does not have differently coded UIs which are targeted to different screen sizes and/or form factors. In general it uses QML Layout capabilities to reflow a single set of QML UI code to fit different form factors. In some cases it provides less detail on small screen sizes to make things fit. But that is a simple visibility pattern. + +### FactSystem + +Internal to QGC is a system which is used to manage all of the individual pieces of data within the system. This data model is then connected to controls. + +### Heavy reliance on reusable controls + +QGC UI is developed from a base set of reusable controls and UI elements. This way any new feature added to a reusable control is now available throughout the UI. These reusable controls also connect to FactSystem Facts which then automatically provides appropriate UI. + +## Cons for this design pattern + +- The QGC user interface ends up being a hybrid style of desktop/laptop/tablet/phone. Hence not necessarily looking or feeling like it is optimized to any of these. +- Given the target device priority list and the fact that QGC tends to just re-layout the same UI elements to fit different form factors you will find this hybrid approach gets worse as you get farther away from the priority target. Hence small phone sized screens taking the worst hit on usability. +- The QGC reusable control set may not provide the absolute best UI in some cases. But it is still used to prevent the creation of additional maintenance surface area. +- Since the QGC UI uses the same UI code for all OSes, QGC does not follow the UI design guidelines specified by the OS itself. It has it's own visual style which is somewhat of a hybrid of things picked from each OS. Hence the UI looks and works mostly the same on all OS. Once again this means for example that QGC running on Android won't necessarily look like an android app. Or QGC running on an iPhone will not look or work like most other iPhone apps. That said the QGC visual/functional style should be understandable to these OS users. + +## Pros for this design pattern + +- It takes less time to design a new feature since the UI coding is done once using this hybrid model and control set. Layout reflow is quite capable in Qt QML and becomes second nature once you get used to it. +- A piece of UI can be functionally tested on one platform since the functional code is the same across all form factors. Only layout flow must be visually checked on multiple devices but this is fairly easily done using the mobile simulators. In most cases this is what is needed: + - Use desktop build, resizing windows to test reflow. This will generally cover a tablet sized screen as well. + - Use a mobile simulator to visually verify a phone sized screen. On OSX XCode iPhone simulator works really well. +- All of the above are critical to keeping our hypothetical 1 person dev team efficient and to keep quality high. + +## Future directions + +- Raise phone (small screen) level prioritization to be more equal to Tablet. Current thinking is that this won't happen until a 3.3 release time frame (release after current one being worked on). diff --git a/docs/ru/qgc-dev-guide/views/fly.md b/docs/ru/qgc-dev-guide/views/fly.md new file mode 100644 index 00000000000..a9f5a8e6c7c --- /dev/null +++ b/docs/ru/qgc-dev-guide/views/fly.md @@ -0,0 +1,8 @@ +# Fly View + +- Top level QML code is in **FlightDisplayView\.qml** +- QML code communicates with `MissionController` (C++) for mission display +- Instrument widgets communicate with active Vehicle object +- Two main inner views are: + - `FlightDisplayViewMap` + - `FlightDisplayViewVideo` diff --git a/docs/ru/qgc-dev-guide/views/index.md b/docs/ru/qgc-dev-guide/views/index.md new file mode 100644 index 00000000000..9cf9e09ef22 --- /dev/null +++ b/docs/ru/qgc-dev-guide/views/index.md @@ -0,0 +1,3 @@ +# Top Level Views + +This section contains topics about the code for the top level views: settings, setup, plan and fly. diff --git a/docs/ru/qgc-dev-guide/views/plan.md b/docs/ru/qgc-dev-guide/views/plan.md new file mode 100644 index 00000000000..8ca6765fdf6 --- /dev/null +++ b/docs/ru/qgc-dev-guide/views/plan.md @@ -0,0 +1,5 @@ +# Plan View + +- Top level QML code is in [PlanView.qml](https://github.com/mavlink/qgroundcontrol/blob/master/src/plan_view/PlanView.qml) +- Main visual UI is a FlightMap control +- QML communicates with MissionController (C++) which provides the view with the mission item data and methods diff --git a/docs/ru/qgc-dev-guide/views/settings.md b/docs/ru/qgc-dev-guide/views/settings.md new file mode 100644 index 00000000000..8ac25ed099b --- /dev/null +++ b/docs/ru/qgc-dev-guide/views/settings.md @@ -0,0 +1,4 @@ +# Settings View + +- Top level QML code is **AppSettings.qml** +- Each button loads a separate QML page diff --git a/docs/ru/qgc-dev-guide/views/setup.md b/docs/ru/qgc-dev-guide/views/setup.md new file mode 100644 index 00000000000..0dd51a0b157 --- /dev/null +++ b/docs/ru/qgc-dev-guide/views/setup.md @@ -0,0 +1,5 @@ +# Setup View + +- Top level QML code implemented in **SetupView\.qml** +- Fixed set of buttons/pages: Summary, Firmware +- Remainder of buttons/pages come from AutoPilotPlugin VehicleComponent list diff --git a/docs/ru/qgc-user-guide/analyze_view/geotag_images.md b/docs/ru/qgc-user-guide/analyze_view/geotag_images.md new file mode 100644 index 00000000000..2b5f9547c1a --- /dev/null +++ b/docs/ru/qgc-user-guide/analyze_view/geotag_images.md @@ -0,0 +1,13 @@ +# GeoTag Images (Analyze View) + +The _GeoTag Images_ screen (**Analyze > GeoTag Images**) allows you to geotag images from a survey mission using information in the flight log. + +:::info +This feature only works with _PX4_ flight stack logs. +ArduPilot is not supported. +::: + +![Analyze View GeoTag Images](../../../assets/analyze/geotag_images.jpg) + +Select the log file, image directory and (optionally) output directory for geotagged images using the buttons provided. +Click **Start Tagging** to generate the geotagged images. diff --git a/docs/ru/qgc-user-guide/analyze_view/index.md b/docs/ru/qgc-user-guide/analyze_view/index.md new file mode 100644 index 00000000000..7c507283f39 --- /dev/null +++ b/docs/ru/qgc-user-guide/analyze_view/index.md @@ -0,0 +1,12 @@ +# Analyze View + +The _Analyze View_ is accessed by selecting the _QGroundControl_ application menu ("Q" icon in the top left corner) and then selecting the **Analyze Tools** button (from the _Select Tool_ popup). + +![Analyze ](../../../assets/analyze/menu_analyze_tool.png) + +The view provides tools to: + +- [Download Logs](../analyze_view/log_download.md) — List, download and clear logs on the vehicle. +- [GeoTag Images (PX4)](../analyze_view/geotag_images.md) — Geotag survey mission images using the flight log (on a computer). +- [MAVLink Console (PX4)](../analyze_view/mavlink_console.md) — Access the the nsh shell running on the vehicle. +- [MAVLink Inspector](../analyze_view/mavlink_inspector.md) — Display and chart received MAVLink messages/values. diff --git a/docs/ru/qgc-user-guide/analyze_view/log_download.md b/docs/ru/qgc-user-guide/analyze_view/log_download.md new file mode 100644 index 00000000000..90ac5b82174 --- /dev/null +++ b/docs/ru/qgc-user-guide/analyze_view/log_download.md @@ -0,0 +1,6 @@ +# Log Download (Analyze View) + +The _Log Download_ screen (**Analyze > Log Download**) is used to list (_Refresh_), +_Download_ and _Erase All_ log files from the connected vehicle. + +![Analyze View Log Download](../../../assets/analyze/log_download.jpg) diff --git a/docs/ru/qgc-user-guide/analyze_view/mavlink_console.md b/docs/ru/qgc-user-guide/analyze_view/mavlink_console.md new file mode 100644 index 00000000000..69c0eae0df2 --- /dev/null +++ b/docs/ru/qgc-user-guide/analyze_view/mavlink_console.md @@ -0,0 +1,20 @@ +# MAVLink Console (Analyze View) + +The MAVLink Console (**Analyze > Mavlink Console**) allows you to connect to the PX4 [System Console](https://docs.px4.io/main/en/debug/system_console.html) and send commands. + +:::info +The console only works when connected to _hardware_ running the _PX4_ flight stack. +PX4 SITL and ArduPilot are not supported. +::: + +:::tip +This is a very useful feature for developers as it allows deep access to the system. In particular, if you are connected via Wifi, you can have this same level of access while the vehicle is flying. +::: + +![Analyze View MAVLink Console](../../../assets/analyze/mavlink_console.jpg) + +The view does not display any output except in response to commands. +Once the vehicle is connected, you can enter commands in the bar provided (for a full list of available commands enter: `?`). + +Command output is displayed in the view above the command bar. +Click **Show Latest** to jump to the bottom of the command output. diff --git a/docs/ru/qgc-user-guide/analyze_view/mavlink_inspector.md b/docs/ru/qgc-user-guide/analyze_view/mavlink_inspector.md new file mode 100644 index 00000000000..127fc65ce6a --- /dev/null +++ b/docs/ru/qgc-user-guide/analyze_view/mavlink_inspector.md @@ -0,0 +1,42 @@ +# MAVLink Inspector + +The _MAVLink Inspector_ provides real-time information and charting of MAVLink traffic received by _QGroundControl_. + +:::warning +This feature is intended primarily for **autopilot developers**/**vehicle creators**. +It is only supported on desktop builds (Windows, Linux, Mac OS). +::: + +![MAVLink inspector](../../../assets/analyze/mavlink_inspector/mavlink_inspector.jpg) + +The inspector lists all received messages for the current vehicle, along with their source component id and update frequency. +You can drill down into individual messages to get the message id, source component id, and the values of all the individual fields. +You can also chart field values in real time, selecting multiple fields from multiple messages to display on one of two charts. + +To use the _MAVLink Inspector_: + +1. Open _Analyze View_ by selecting the _QGroundControl_ application menu ("Q" icon in top left corner) and then choosing the **Analyze Tools** button (from the _Select Tool_ popup). + ![Analyze ](../../../assets/analyze/menu_analyze_tool.png) + +2. Select the **MAVLink Inspector** from the sidebar. + + ![MAVLink inspector menu](../../../assets/analyze/mavlink_inspector/mavlink_inspector_menu.jpg) + + The view will start populating with messages as they are received. + +3. Select a message to see its fields and their (dynamically updating) value: + + ![MAVLink inspector: message detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_message_details.jpg) + +4. Add fields to charts by enabling the adjacent checkboxes (plot 1 is displayed below plot 2). + + ![MAVLink inspector: chart fields detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_plot1.jpg) + + - Fields can be added to only one chart. + + - A chart can have multiple fields, and fields from multiple messages (these are listed above each chart). + Messages containing fields that are being charted are highlighted with an asterisk. + + ![MAVLink inspector: chart fields detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_charted_messages.jpg) + + - The _Scale_ and _Range_ are set to sensible values, but can be modified if needed. diff --git a/docs/ru/qgc-user-guide/fly_view/fly_view.md b/docs/ru/qgc-user-guide/fly_view/fly_view.md new file mode 100644 index 00000000000..4e0edc42877 --- /dev/null +++ b/docs/ru/qgc-user-guide/fly_view/fly_view.md @@ -0,0 +1,437 @@ +# Fly View + +The Fly View is used to command and monitor the vehicle when flying. + +You can use it to: + +- Run an automated [pre-flight checklist](#preflight_checklist). +- Arm the vehicle (or check why it won't arm). +- Control missions: [start](#start_mission), [continue](#continue_mission), [pause](#pause), and [resume](#resume_mission). +- Guide the vehicle to [arm](#arm)/[disarm](#disarm)/[emergency stop](#emergency_stop), [takeoff](#takeoff)/[land](#land), [change altitude](#change_altitude), [go to](#goto) or [orbit](#orbit) a particular location, and [return/RTL](#rtl). +- Switch between a map view and a video view (if available) +- Display video, mission, telemetry, and other information for the current vehicle, and also switch between connected vehicles. + +![Fly View](../../../assets/fly/fly_view_overview.jpg) + +## UI Overview + +The screenshot above shows the main elements of the fly view: + +- **Map:** Displays the positions of all connected vehicles and the mission for the current vehicle. + - You can drag the map to move it around (the map automatically re-centres after a certain amount of time). + - Once flying, you can click on the map to set a [Go to](#goto) or [Orbit at](#orbit) location. +- **Fly Toolbar:** Key status information for sensors (GPS, battery, RC control), and vehicle state (Flight mode, Armed/Disarmed status). + - Select the sensor indicators to view more detail. + - Press the _Flight mode_ text (e.g. "Hold") to select a new mode. + Not every mode may be available. + - The text next to the **Q** icon indicates the flight readiness using text: "Not Ready", "Ready to Fly", "Flying", and status using colour: "green" (all good!), amber (a warning), red (serious problem). + Select the text when the background is amber or red to find out the cause of any preflight issues (QGC 4.2.0 and later). + You can also select the text to reach a button to arm/disarm/emergency-stop the vehicle. +- **Fly tools:** You can use these to: + - Toggle between takeoff/land. + - Pause/restart the current operation (e.g. landing, or the mission). + - Safety return (also known as RTL or Return). + - The _Action_ button offers other appropriate options for the current state (these overlay the _Confirmation Slider_). + Actions include changing the altitude or continuing a mission. + - Enable the [preflight checklist](#preflight_checklist) (tool option disabled by default). +- **[Instrument Panel](#instrument_panel):** A widget that displays vehicle telemetry. +- **Attitude/Compass**: A widget that provides virtual horizon and heading information. +- **Camera Tools**: A widget for switching between still and video modes, starting/stopping capture, and controlling camera settings. +- **[Video/Switcher](#video_switcher):** Toggle between video or map in a window. + - Press the element to switch _Video_ and _Map_ to foreground. + - _QGroundControl_ supports RTP and RTSP video streaming over your vehicles UDP connection. + It also supports directly connected UVC devices. + QGC video support is further discussed in the [Video README](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoStreaming/README.md). + - A [Telemetry Overlay](../fly_view/video_overlay.md) is automatically generated as a subtitle file +- **Confirmation Slider:** Context sensitive slider to confirm requested actions. + Slide to start operation. Press **X** to cancel. + +There are a number of other elements that are not displayed by default/are only displayed in certain conditions. +For example, the multi-vehicle selector is only displayed if you have multiple vehicles, and the preflight checklist tool button is only displayed if the appropriate setting is enabled. + +## Instrument Panel (Telemetry) {#instrument\_panel} + +The instrument panel displays telemetry information about the current vehicle. + +![Instrument Panel - for values/telemetry](../../../assets/fly/instrument_panel/instrument_panel_default_values.png) + +The default values include altitude (relative to the home location), horizontal and vertical speed, total flight time, and distance between vehicle and ground station. + +You can configure where the information is displayed by hovering over the panel and selecting the left-side square tool. +This toggles the position of the panel between bottom centre and right-centre. + +![Instrument Panel - hover for move/edit tools](../../../assets/fly/instrument_panel/instrument_panel_tools_move_edit.png) + +You configure what information is display by selecting the edit/pencil icon. +The grid will then display "+" and "-" icons that you can use to add or remove rows and columns (and the pencil icon is replaced by a "lock" icon that you can use to save the settings). + +![Instrument Panel - add rows/columns](../../../assets/fly/instrument_panel/instrument_panel_tools_edit_on.png) + +Select a value to launch its "Value Display" editor. +This allows you to change the icon, text, size, units and so on of the current telemetry value. + +![Instrument Panel - edit a value](../../../assets/fly/instrument_panel/instrument_panel_tools_edit_value.png) + +The selection list on the top left is used to change the source of the telemetry. +By default this is the vehicle, but you can use the selector to choose a particular sensor type. + +![Instrument Panel - value type](../../../assets/fly/instrument_panel/instrument_panel_edit_value_type.png) + +The selection list on the top right is used to select a particular telemetry value for the vehicle or sensor. + +![Instrument Panel - value options](../../../assets/fly/instrument_panel/instrument_panel_edit_value_options.png) + +### Camera {#camera\_instrument\_page} + +The camera panel is used to capture still images and video, and to configure the camera. + +![Camera Panel](../../../assets/fly/camera_panel/camera_mavlink.png) + +The camera capture and configuration options depend on the connected camera. +The configuration options are selected using the panel gear icon. +The configuration for a simple autopilot-connected camera are shown below. + +![Camera Panel - minimal settings](../../../assets/fly/camera_panel/camera_settings_minimal.png) + +When connected to camera that supports the [MAVLink Camera Protocol](https://mavlink.io/en/services/camera.html) you can additionally configure and use other camera services that it makes available. +For example, if your camera supports video mode you will be able to switch between still image capture and video mode, and start/stop recording. + +![Camera Panel - MAVLink settings](../../../assets/fly/camera_panel/camera_settings_mavlink.png) + +::: info +Most of the settings that are displayed depend on the camera (they are defined in its [MAVLink Camera Definition File](https://mavlink.io/en/services/camera_def.html)). + +> A few common settings at the end are hard-coded: Photo Mode (Single/Time Lapse), Photo Interval (if Time Lapse), Reset Camera Defaults (sends a reset command to the camera), Format (storage) +> ::: + +### Video Stream {#video\_instrument\_page} + +The video page is used to enable/disable video streaming. +When enabled, you can start/stop the video stream, enable a grid overlay, change how the image fits the screen, and record the video locally with QGC. + +![Instrument Page - Video Stream](../../../assets/fly/instrument_page_video_stream.jpg) + +## Actions/Tasks + +The following sections describe how to perform common operations/tasks in the Fly View. + +::: info +Many of the available options depend on both the vehicle type and its current state. +::: + +### Pre Flight Checklist {#preflight\_checklist} + +An automated preflight checklist can be used to run through standard checks that the vehicle is configured correctly and it is safe to fly. + +To view the checklist, first enable the tool by navigating to [Application Settings > General > Fly View](../settings_view/general.md) and selecting the **Use preflight checklist** checkbox. +The tool will then be added to the _Flight Tools_. +Press it to open the checklist: + +![Pre Flight Checklist](../../../assets/fly/pre_flight_checklist.jpg) + +Once you have performed each test, select it on the UI to mark it as complete. + +### Arming and Preflight Checks {#arm} + +Arming a vehicle starts the motors in preparation for takeoff. +You will only be able to arm the vehicle if it is safe and ready to fly. + +:::tip +Generally, if the vehicle is ready to arm, _QGroundControl_ will arm the vehicle for you if you start a mission or takeoff. +::: + +The vehicle is ready to fly in all modes if the status text says "Ready to Fly" and the background is green. + +![Vehicle state - ready to fly green/ready background](../../../assets/fly/vehicle_states/ready_to_fly_ok.png) + +If the background is amber then it is ready to take off in the current mode, but may not be able to switch to other modes. +If the background is red and the text is "Not Ready" then you will not be able to arm in the current mode. + +![Vehicle state - ready to fly amber/warning background](../../../assets/fly/vehicle_states/ready_to_fly_warning.png) +![Vehicle state - not ready](../../../assets/fly/vehicle_states/not_ready.png) + +From QGC 4.2.0 (at time of writing, a daily build) you can find out the exact cause of the warning or error, and possible solutions, by pushing the status text. + +This launches the preflight arming checks popup with a list of all preflight warnings. +The toggle on the right expands each error with additional information and possible solutions. + +![UI To check arming warnings](../../../assets/fly/vehicle_states/arming_preflight_check_ui.png) + +Once each issue is resolved it will disappear from the UI. +When all issues blocking arming have been removed you can use the arm button to display the arming confirmation slider, and arm the vehicle (or you can just take off - note that the vehicles will (by default) disarm automatically if you do not take off after a few seconds. + +![Arm confirmation slider](../../../assets/fly/vehicle_states/arming_slider.png) + +::: info +The status text also displays when flying. + +> ![Vehicle state - armed](../../../assets/fly/vehicle_states/armed.png) > ![Vehicle state - flying](../../../assets/fly/vehicle_states/flying.png) +> +> The arming checks UI will open even when flying, allowing you to emergency disarm. +> ::: + +### Disarm {#disarm} + +Disarming the vehicle when landed stops the motors (making the vehicle safe). + +Generally you do not need to explicitly disarm as vehicles will disarm automatically after landing, or shortly after arming if you do not take off. + +If needed, you can do so from the Arming Preflight Checks UI. + +![Disarming](../../../assets/fly/vehicle_states/arming_ui_landed_disarm.png) + +You will then need to use the disarming slider. + +![disarm slider](../../../assets/fly/vehicle_states/disarm_slider.png) + +::: info +Disarming the vehicle while it is flying is called an [Emergency Stop](#emergency_stop) +::: + +### Emergency Stop {#emergency\_stop} + +Emergency stop is effectively the same as disarming the vehicle while it is flying. +Your vehicle will crash! + +If needed, you can do so from the Arming Preflight Checks UI. + +![Disarming when flying](../../../assets/fly/vehicle_states/arming_ui_flying_disarm.png) + +You will then need to use the emergency disarming slider. + +![Emergency disarm slider](../../../assets/fly/vehicle_states/emergency_disarm_slider.png) + +### Takeoff {#takeoff} + +:::tip +If you are starting a mission for a multicopter, _QGroundControl_ will automatically perform the takeoff step. +::: + +To takeoff (when landed): + +1. Press the **Takeoff** button in the _Fly Tools_ (this will toggle to a **Land** button after taking off). +2. Optionally set the takeoff altitude in the right-side vertical slider. +3. Confirm takeoff using the slider. + +![takeoff](../../../assets/fly/takeoff.jpg) + +### Land {#land} + +You can land at the current position at any time while flying: + +1. Press the **Land** button in the _Fly Tools_ (this will toggle to a **Takeoff** button when landed). +2. Confirm landing using the slider. + +![land](../../../assets/fly/land.jpg) + +### RTL/Return + +Return to a "safe point" at any time while flying: + +1. Press the **RTL** button in the _Fly Tools_. +2. Confirm RTL using the slider. + +![rtl](../../../assets/fly/rtl.jpg) + +:::info +Vehicles commonly return to the "home" (takeoff) location and land. +This behaviour depends on the vehicle type and configuration. +For example, rally points or mission landings may be used as alternative return targets. +::: + +### Change Altitude {#change\_altitude} + +You can change altitude while flying, except when in a mission: + +1. Press the **Action** button on the _Fly Tools_ + +2. Select the _Change Altitude_ action from the dialog. + + ![Continue Mission/Change Altitude action](../../../assets/fly/continue_mission_change_altitude_action.jpg) + +3. Move the vertical slider to the desired altitude, then drag the confirmation slider to start the action. + + ![Change altitude](../../../assets/fly/change_altitude.jpg) + +### Goto Location {#goto} + +After taking off you can specify that you want to fly to a particular location. + +1. Left click/Press on the map where you want the vehicle to move and select **Go to location** on the popup. + +![Goto or orbit](../../../assets/fly/goto_or_orbit.jpg) + +1. The location will be displayed on the map, along with a confirmation slider. + + ![Goto confirmation](../../../assets/fly/goto.jpg) + +2. When you're ready, drag the slider to start the operation (or press the **X** icon to cancel it). + +:::info +Goto points must be set within 1 km of the vehicle (hard-coded in QGC). +::: + +### Orbit Location {#orbit} + +After taking off you can specify that you want to orbit a particular location. + +1. Left click/Press on the map (near the centre of your desired orbit) and select **Orbit at location** on the popup. + +![Goto or orbit](../../../assets/fly/goto_or_orbit.jpg) + +1. The proposed orbit will be displayed on the map, along with a confirmation sider. + + ![Orbit confirmation](../../../assets/fly/orbit.jpg) + + - Select and drag the central marker to move the orbit location. + - Select and drag the dot on the outer circle to change the orbit radius + +2. When you're ready, drag the slider to start the operation (or press the **X** icon to cancel it). + +### Pause + +You can pause most operations, including taking off, landing, RTL, mission execution, orbit at location. +The vehicle behaviour when paused depends on the vehicle type; typically a multicopter will hover, and a fixed wing vehicle will circle. + +:::info +You cannot pause a _Goto location_ operation. +::: + +To pause: + +1. Press the **Pause** button in the _Fly Tools_. +2. Optionally set a new altitude using the right-side vertical slider. +3. Confirm the pause using the slider. + +![pause](../../../assets/fly/pause.jpg) + +### Missions + +#### Start Mission {#start\_mission} + +You can start a mission when the vehicle is landed (the start mission confirmation slider is often displayed by default). + +To start a mission from landed: + +1. Press the **Action** button on the _Fly Tools_ + +2. Select the _Start Mission_ action from the dialog. + + ![Start mission action](../../../assets/fly/start_mission_action.jpg) + + (to display the confirmation slider) + +3. When the confirmation slider appears, drag it to start the mission. + + ![Start mission](../../../assets/fly/start_mission.jpg) + +#### Continue Mission {#continue\_mission} + +You can _continue_ mission from the _next_ waypoint when you're flying (the _Continue Mission_ confirmation slider is often displayed by default after you takeoff). + +:::info +Continue and [Resume mission](#resume_mission) are different! +Continue is used to restart a mission that has been paused, or where you have taken off, so you've already missed a takeoff mission command. +Resume mission is used when you've used a RTL or landed midway through a mission (e.g. for a battery change) and then wish to continue the next mission item (i.e. it takes you to where you were up to in the mission, rather than continuing from your place in the mission). +::: + +You can continue the current mission while (unless already in a mission!): + +1. Press the **Action** button on the _Fly Tools_ + +2. Select the _Continue Mission_ action from the dialog. + + ![Continue Mission/Change Altitude action](../../../assets/fly/continue_mission_change_altitude_action.jpg) + +3. Drag the confirmation slider to continue the mission. + + ![Continue Mission](../../../assets/fly/continue_mission.jpg) + +#### Resume Mission {#resume\_mission} + +_Resume Mission_ is used to resume a mission after performing an [RTL/Return](#rtl) or [Land](#land) from within a mission (in order, for example, to perform a battery change). + +:::info +If you are performing a battery change, **do not** disconnect QGC from the vehicle after disconnecting the battery. +After you insert the new battery _QGroundControl_ will detect the vehicle again and automatically restore the connection. +::: + +After landing you will be prompted with a _Flight Plan complete_ dialog, which gives you the option to remove the plan from the vehicle, leave it on the vehicle, or to resume the mission from the last waypoint that was traveled through. + +![Resume Mission](../../../assets/fly/resume_mission.jpg) + +If you select to resume the mission, then _QGroundControl_ will rebuild the mission and upload it to the vehicle. +Then use the _Start Mission_ slider to continue the mission. + +The image below shows the mission that was rebuilt after the Return shown above. + +![Resume Rebuilt Mission](../../../assets/fly/resume_mission_rebuilt.jpg) + +:::info +A mission cannot simply resume from the last mission item that the vehicle executed, because there may be multiple items at the last waypoint that affect the next stage of the mission (e.g. speed commands or camera control commands). +Instead _QGroundControl_ rebuilds the mission, starting from the last mission item flown, and automatically prepending any relevant commands to the front of the mission. +::: + +#### Remove Mission Prompt After Landing {#resume\_mission\_prompt} + +You will be prompted to remove the mission from the vehicle after the mission completes and the vehicle lands and disarms. +This is meant to prevent issues where stale missions are unknowingly left on a vehicle, potentially resulting in unexpected behavior. + +### Display Video {#video\_switcher} + +When video streaming is enabled, _QGroundControl_ will display the video stream for the currently selected vehicle in the "video switcher window" at the bottom left of the map. +You can press the switcher anywhere to toggle _Video_ and _Map_ to foreground (in the image below, the video is shown in the foreground). + +![Video Stream Record](../../../assets/fly/video_record.jpg) + +:::info +Video streaming is configured/enabled in [Application Settings > General tab > Video](../settings_view/general.md#video). +::: + +You can further configure video display using controls on the switcher: + +![Video Pop](../../../assets/fly/video_pop.jpg) + +- Resize the switcher by dragging the icon in the top right corner. +- Hide the switcher by pressing the toggle icon in the lower left. +- Detach the video switcher window by pressing on the icon in its top left corner + (once detached, you can move and resize the window just like any other in your OS). + If you close the detached window the switcher will re-lock to the QGC Fly view. + +### Record Video + +If supported by the camera and vehicle, _QGroundControl_ can start and stop video recording on the camera itself. _QGroundControl_ can also record the video stream and save it locally. + +:::tip +Video stored on the camera may be of much higher quality, but it is likely that your ground station will have a much larger recording capacity. +::: + +#### Record Video Stream (on GCS) + +Video stream recording is controlled on the [video stream instrument page](#video_instrument_page). +Press the red circle to start recording a new video (a new video file is created each time the circle is pressed); the circle will change into a red square while recording is in progress. + +![Video Stream Record](../../../assets/fly/video_record.jpg) + +Video stream recording is configured in the [Application Settings > General tab](../settings_view/general.md): + +- [Video Recording](../settings_view/general.md#video-recording) - specifies the recording file format and storage limits. + + ::: info + Videos are saved in Matroska format (.mkv) by default. + This format is relatively robust against corruption in case of errors. + ::: + +- [Miscellaneous](../settings_view/general.md#miscellaneous) - Streamed video is saved under the **Application Load/Save Path**. + +:::tip +The stored video includes just the video stream itself. +To record video with QGroundControl application elements displayed, you should use separate screen recording software. +::: + +#### Record Video on Camera + +Start/stop video recording _on the camera itself_ using the [camera instrument page](#camera_instrument_page). +First toggle to video mode, then select the red button to start recording. + +![Instrument Page - Camera MAVLink Settings](../../../assets/fly/instrument_page_camera_mavlink.jpg) diff --git a/docs/ru/qgc-user-guide/fly_view/replay_flight_data.md b/docs/ru/qgc-user-guide/fly_view/replay_flight_data.md new file mode 100644 index 00000000000..280359e29eb --- /dev/null +++ b/docs/ru/qgc-user-guide/fly_view/replay_flight_data.md @@ -0,0 +1,40 @@ +# Replay Flight Data + +:::warning +This feature is intended primarily for **autopilot developers**/**vehicle creators**. +It is only supported on desktop builds (Windows, Linux, Mac OS). +::: + +The _Replay Flight Data_ feature allows users to replay a telemetry log, enabling review of past or problematic flights. +The flight can be started, paused, stopped, restarted etc. + +:::info +_QGroundControl_ treats flight replay like an active connection. +When you pause/stop playing, the ground station will report "Communication Lost" and wait for disconnection or for more messages. +::: + +To replay a flight: + +1. Disconnect any active connections. + +2. Select **Application Settings > General > Fly View** + +3. Check **Show Telemetry Log Replay Status Bar** to toggle the flight replay bar at the bottom of the screen. + + ![Toggle Flight Replay](../../../assets/fly/flight_replay/flight_replay_toggle.jpg) + +4. Select the **Load Telemetry Log** button in the bar to display a _file selection_ dialog. + - Choose a log file to replay from the available telemetry logs. + - _QGroundControl_ will immediately start playing the log. + +5. When a log is loaded you can use the: + - **Pause/Play** button to pause and restart playing. + - _Slider_ to drag to a new position in the log. + - _Rate_ selector to choose the playback speed. + +6. To stop replay (i.e. to load a new file to replay), first pause the flight, and then select **Disconnect** (when it appears). + After disconnecting, the **Load Telemetry Log** button will be displayed. + +:::tip +You can inspect the running replay in more detail using the [MAVLink Inspector](../analyze_view/mavlink_inspector.md). +::: diff --git a/docs/ru/qgc-user-guide/fly_view/video_overlay.md b/docs/ru/qgc-user-guide/fly_view/video_overlay.md new file mode 100644 index 00000000000..a43f80d34d6 --- /dev/null +++ b/docs/ru/qgc-user-guide/fly_view/video_overlay.md @@ -0,0 +1,42 @@ +# Video Overlay + +When QGroundControl is recording a video stream to a file, it will also export a subtitle file with telemetry data that can be used to overlay the telemetry on the video during playback. Whichever telemetry values are selected for display in the telemetry [values widget](FlyView.md#values-telemetry) will also be exported to the overlay. The overlay values are updated at 1Hz. + +![Values Widget](../../../assets/fly/overlay_widget.png) + +The selected values are laid out in three columns to optimize the screen utilization. +![Overlay in action](../../../assets/fly/overlay_capture.png) + +## Playing + +The overlay can be used with any player that [supports the SubStation Alpha](https://en.wikipedia.org/wiki/SubStation_Alpha#Players_and_renderers) subtitle format. +Most players will open both files together when you try to play the video. They need to be in the same folder and with the same name, which is how they are created by QGC. + +## Permanent Video Subtitles using Handbrake + +Subtitles can be permanently added to a video file using [HandBrake](https://handbrake.fr/). +This will make the subtitles permanently visible on any video player. + +Open **HandBrake**, you should see its main interface. +Click **Open** and select the video file. + +![Handbrake UI showing how to open video file](../../../assets/fly/video_overlay/1-open.png) + +With the video file loaded, switch to the subtitles tab. +Click **Add** to load the subtitle file. + +![Handbrake UI screenshot showing how to add subtitles](../../../assets/fly/video_overlay/2-subtitles.png) + +Choose **import SSA** ([ASS](https://en.wikipedia.org/wiki/SubStation_Alpha#Advanced_SubStation_Alpha) is an extension of SSA). + +![Import SSA file](../../../assets/fly/video_overlay/3-ssa.png) + +Load the **.ass** file corresponding to your video and tick the **Burn into video** checkbox. + +![burn](../../../assets/fly/video_overlay/4-openandburn.png) + +Choose where you want to save the new file and click **Start**. + +![Start burning new file](../../../assets/fly/video_overlay/5-start.png) + +This will start burning the subtitle and video to a new file. diff --git a/docs/ru/qgc-user-guide/getting_started/download_and_install.md b/docs/ru/qgc-user-guide/getting_started/download_and_install.md new file mode 100644 index 00000000000..1ff59f859cc --- /dev/null +++ b/docs/ru/qgc-user-guide/getting_started/download_and_install.md @@ -0,0 +1,106 @@ +# Download and Install + +The sections below can be used to download the [current stable release](../releases/release_notes.md) of _QGroundControl_ for each platform. + +:::tip +See [Troubleshooting QGC Setup](../troubleshooting/qgc_setup.md) if _QGroundControl_ doesn't start and run properly after installation! +::: + +## System Requirements + +QGC should run well on any modern computer or mobile device. Performance will depend on the system environment, 3rd party applications, and available system resources. +More capable hardware will provide a better experience. +A computer with at least 8Gb RAM, an SSD, Nvidia or AMD graphics and an i5 or better CPU will be suitable for most applications. + +For the best experience and compatibility, we recommend you the newest version of your operating system. + +## Windows {#windows} + +_QGroundControl_ can be installed on 64 bit versions of Windows: + +1. Download [QGroundControl-installer.exe](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl-installer.exe). +2. Double click the executable to launch the installer. + +:::info +The Windows installer creates 3 shortcuts: **QGroundControl**, **GPU Compatibility Mode**, **GPU Safe Mode**. +Use the first shortcut unless you experience startup or video rendering issues. +For more information see [Troubleshooting QGC Setup > Windows: UI Rendering/Video Driver Issues](../troubleshooting/qgc_setup.md#opengl_troubleshooting). +::: + +:::info +Prebuilt _QGroundControl_ versions from 4.0 onwards are 64-bit only. +It is possible to manually build 32 bit versions (this is not supported by the dev team). +::: + +## Mac OS X {#macOS} + +_QGroundControl_ can be installed on macOS 10.11 or later: + + + + + +1. Download [QGroundControl.dmg](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.dmg). +2. Double-click the .dmg file to mount it, then drag the _QGroundControl_ application to your _Application_ folder. + +::: info +QGroundControl continues to not be signed which causes problem on Catalina. To open QGC app for the first time: + +- Right-click the QGC app icon, select Open from the menu. You will only be presented with an option to Cancel. Select Cancel. +- Right-click the QGC app icon again, Open from the menu. This time you will be presented with the option to Open. + ::: + +## Ubuntu Linux {#ubuntu} + +_QGroundControl_ can be installed/run on Ubuntu LTS 20.04 (and later). + +Ubuntu comes with a serial modem manager that interferes with any robotics related use of a serial port (or USB serial). +Before installing _QGroundControl_ you should remove the modem manager and grant yourself permissions to access the serial port. +You also need to install _GStreamer_ in order to support video streaming. + +Before installing _QGroundControl_ for the first time: + +1. On the command prompt enter: + ```sh + sudo usermod -a -G dialout $USER + sudo apt-get remove modemmanager -y + sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y + sudo apt install libqt5gui5 -y + sudo apt install libfuse2 -y + ``` + +2. Logout and login again to enable the change to user permissions. + +  +To install _QGroundControl_: + +1. Download [QGroundControl.AppImage](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.AppImage). +2. Install (and run) using the terminal commands: + ```sh + chmod +x ./QGroundControl.AppImage + ./QGroundControl.AppImage (or double click) + ``` + +::: info +There are known [video steaming issues](../troubleshooting/qgc_setup.md#dual_vga) on Ubuntu 18.04 systems with dual adaptors. +::: + +:::info +Prebuilt _QGroundControl_ versions from 4.0 cannot run on Ubuntu 16.04. +To run these versions on Ubuntu 16.04 you can [build QGroundControl from source without video libraries](https://dev.qgroundcontrol.com/en/getting_started/). +::: + +## Android {#android} + +_QGroundControl_ is temporily unavailable from the Google Play Store. You can install manually from here: + +- [Android 32 bit APK](https://qgroundcontrol.s3-us-west-2.amazonaws.com/latest/QGroundControl32.apk) +- [Android 64 bit APK](https://qgroundcontrol.s3-us-west-2.amazonaws.com/latest/QGroundControl64.apk) + +## Old Stable Releases + +Old stable releases can be found on GitHub. + +## Daily Builds + +Daily builds can be [downloaded from here](../releases/daily_builds.md). diff --git a/docs/ru/qgc-user-guide/getting_started/quick_start.md b/docs/ru/qgc-user-guide/getting_started/quick_start.md new file mode 100644 index 00000000000..616f3c188fd --- /dev/null +++ b/docs/ru/qgc-user-guide/getting_started/quick_start.md @@ -0,0 +1,27 @@ +# QGroundControl Quick Start + +Getting _QGroundControl_ up and running is quick and easy: + +1. [Download and install](../getting_started/download_and_install.md) the application. +2. Start _QGroundControl_. +3. Attach your vehicle to the ground station device via USB, through a telemetry radio, or over WiFi. _QGroundControl_ should detect your vehicle and connect to it automatically. + +That's it! If the vehicle is ready to fly, _QGroundControl_ should display [Fly View](../fly_view/fly_view.md) as shown below (otherwise it will open [Setup View](../setup_view/setup_view.md)). + +![](../../../assets/quickstart/fly_view_connected_vehicle.jpg) + +A good way to become familiar with _QGroundControl_ is to start experimenting: + +- Use the [toolbar](../toolbar/toolbar.md) to switch between the main views: + - [Settings](../settings_view/settings_view.md): Configure the _QGroundControl_ application. + - [Setup](../setup_view/setup_view.md): Configure and tune your vehicle. + - [Plan](../plan_view/plan_view.md): Create autonomous missions. + - [Fly](../fly_view/fly_view.md): Monitor your vehicle(s) while flying, including streaming video. + - \[Analyze] \*\* Description of Analyze view is missing \*\* +- Click the _Status icons_ on the toolbar to find out the status of the connected vehicle. + +While the UI is fairly intuitive, this documentation can also be referenced to find out more. + +:::info +Make sure QGC has an internet connection when you connect a new vehicle. This will allow it to get the latest parameter and other metadata for the vehicle, along with [translations](../settings_view/general.md#miscellaneous). +::: diff --git a/docs/ru/qgc-user-guide/index.md b/docs/ru/qgc-user-guide/index.md new file mode 100644 index 00000000000..9a7b80beba3 --- /dev/null +++ b/docs/ru/qgc-user-guide/index.md @@ -0,0 +1,27 @@ +# QGroundControl User Guide + +[![Releases](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases) [![Discuss](https://img.shields.io/badge/discuss-px4-ff69b4.svg)](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-usage) [![Discuss](https://img.shields.io/badge/discuss-ardupilot-ff69b4.svg)](http://discuss.ardupilot.org/c/ground-control-software/qgroundcontrol) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mavlink/qgroundcontrol?utm_source=badge\&utm_medium=badge\&utm_campaign=pr-badge\&utm_content=badge) [![Slack](../../assets/site/slack.svg)](https://join.slack.com/t/px4/shared_invite/zt-si4xo5qs-R4baYFmMjlrT4rQK5yUnaA) + +_QGroundControl_ provides full flight control and vehicle setup for PX4 or ArduPilot powered vehicles. +It provides easy and straightforward usage for beginners, while still delivering high end feature support for experienced users. + +**Key Features:** + +- Full setup/configuration of ArduPilot and PX4 Pro powered vehicles. +- Flight support for vehicles running PX4 and ArduPilot (or any other autopilot that communicates using the MAVLink protocol). +- Mission planning for autonomous flight. +- Flight map display showing vehicle position, flight track, waypoints and vehicle instruments. +- Video streaming with instrument display overlays. +- Support for managing multiple vehicles. +- QGC runs on Windows, OS X, Linux platforms, iOS and Android devices. + +![](../../assets/quickstart/connected_vehicle.jpg) + +:::info +This guide is an active work in progress. +The information provided should be correct, but you may find missing information or incomplete pages. +::: + +:::tip +Information about _QGroundControl_ development, architecture, contributing, and translating can be found in the [Developers Guide](https://dev.qgroundcontrol.com/en/). +::: diff --git a/docs/ru/qgc-user-guide/plan_view/pattern.md b/docs/ru/qgc-user-guide/plan_view/pattern.md new file mode 100644 index 00000000000..805e06765e0 --- /dev/null +++ b/docs/ru/qgc-user-guide/plan_view/pattern.md @@ -0,0 +1,13 @@ +# Pattern + +The _Pattern tools_ (in the [PlanView](../plan_view/plan_view.md) _Plan Tools_) allow you to specify complex flight patterns using a simple graphical UI. +The available pattern tools depend on the vehicle (and support for the vehicle-type in the flight stack). + +![Pattern Tool (Plan Tools)](../../../assets/plan/pattern/pattern_tool.jpg) + +| Pattern | Description | Vehicles | +| ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | +| [Survey](../plan_view/pattern_survey.md) | Create a grid flight pattern over a polygonal area.
You can specify the polygon as well as the specifications for the grid and camera settings appropriate for creating geotagged images. | All | +| [Structure Scan](../plan_view/pattern_structure_scan_v2.md) | Create a grid flight pattern that captures images over vertical surfaces (polygonal or circular).
These are typically used for the visual inspection or creation of 3D models of structures. | MultiCopter, VTOL | +| [Corridor Scan](../plan_view/pattern_corridor_scan.md) | Create a flight pattern which follows a poly-line (for example, to survey a road). | All | +| [Fixed Wing Landing](../plan_view/pattern_fixed_wing_landing.md) | Add a landing pattern for fixed wing vehicles to a mission. | Fixed Wing | diff --git a/docs/ru/qgc-user-guide/plan_view/pattern_corridor_scan.md b/docs/ru/qgc-user-guide/plan_view/pattern_corridor_scan.md new file mode 100644 index 00000000000..d5195290484 --- /dev/null +++ b/docs/ru/qgc-user-guide/plan_view/pattern_corridor_scan.md @@ -0,0 +1,102 @@ +# Corridor Scan (Plan Pattern) + +A corridor scan allows you to create a flight pattern that follows a poly-line. This can be used to, for example, survey a road. It is supported on all autopilots and vehicle types. + +> **Important** When planning a Corridor Scan using camera specifications the ground elevations under your survey area are assumed to be at the same altitude as your launch/home location. If the ground elevation under your survey area is either higher or lower than your launch/home location the effective overlap in your images will be less or more (respectively) than calculated. If ground elevation under your survey area is significantly higher than your launch/home location you could inadvertently plan a mission which causes the vehicle to fly into trees, obstacles, or the ground. Use Terrain Follow to create a survey that more closely maintains the desired altitude above terrain that has significant elevation differences from your launch/home altitude. + +![Corridor Scan](../../../assets/plan/corridor_scan.jpg) + +You can specify the path, the width of the corridor, and camera settings appropriate for creating geotagged images. + +## Creating a Scan + +To create a corridor scan: + +1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + +2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Corridor Scan_. + + ![Corridor Scan](../../../assets/plan/corridor_scan_menu.jpg) + + This will add a corridor to the map, and a _Corridor Scan_ item to the mission list (on the right). + +3. On the map drag the ends of the corridor to the start and end positions of the scan, respectively. + +4. Click the `(+)` symbol at the centre of a line to create a new vertix. + The new vertix can then be dragged into position to follow the path of the desired corridor. + +The corridor scan settings are covered in the next section. + +## Settings + +The corridor scan can be further configured in the associated mission item (in the mission item list on the right hand side of the Plan View). + +### Camera + +Camera triggering behaviour depends on the camera/camera settings. +You can select an existing camera or manually enter the settings. +The list of available cameras (QGC 3.4) is given below. + +![Corridor Scan - Select Camera](../../../assets/plan/corridor_scan_settings_camera_select.jpg) + +#### Known Camera + +Selecting a known camera from the option dropdown allows you to generate a grid pattern based on the camera's specifications. + +![Corridor Scan - Camera Settings Canon SX260](../../../assets/plan/corridor_scan_settings_camera_canon_sx260.jpg) + +The configurable options are: + +- **Landscape/Portrait** - Camera orientation relative to the "normal" orientation of the vehicle. +- **Image Overlap** - Overlap between each image. +- Select one of: + - **Altitude** - Survey altitude (ground resolution will be calculated/displayed for this altitude). + - **Ground resolution** - Ground resolution for each image (altitude required to achieve this resolution calculated and shown). + +#### Manual Camera + +The manual camera option allows you to specify desired survey height, trigger interval and appropriate grid spacing for your camera. + +![Corridor Scan - Manual Camera Settings](../../../assets/plan/corridor_scan_settings_camera_manual.jpg) + +The configurable options are: + +- **Altitude** - Survey altitude. +- **Trigger Distance** - The distance over ground between each camera shot. +- **Spacing** - Distance between adjacent grid (flight path) lines across the corridor. + +### Corridor + +![Corridor Scan - Corridor Settings](../../../assets/plan/corridor_scan_settings_corridor.jpg) + +The configurable options are: + +- **Width** - Set the width of the scan around the polyline that defines the path. +- **Turnaround dist** - Amount of additional distance to add outside the survey area for vehicle turn around. +- **Take images in turnarounds** - Check to enable image capture a turnaround points. +- **Relative altitude** - Check to specify a relative altitude. This is only supported for manual grids that are not using [terrain following](#terrain_following). +- **Rotate entry point** - Press button to swap the start and end point of the corridor scan. + +### Terrain Following {#terrain\_following} + +By default a flying vehicle will follow the corridor path at a fixed altitude. +Enabling _Terrain Following_ makes the vehicle maintain a constant height relative to ground. + +![Corridor Scan - Terrain Following Settings](../../../assets/plan/corridor_scan_settings_terrain.jpg) + +:::info +Terrain following uses terrain heights queried from _AirMap_ servers. +::: + +The configurable options are: + +- **Vehicle follows terrain** - Check to enable terrain following (and display the following options). + - **Tolerance** - The accepted deviation in altitude from the target altitude. + - **Max Climb Rate** - Maximum climb rate when following terrain. + - **Max Descent Rate** - Maximum descent rate when following terrain. + +### Statistics + +The _Statistics_ section shows the calculated survey area, photo interval, photo spacing and planned photo count. + +![Corridor Scan - Statistics](../../../assets/plan/corridor_scan_settings_statistics.jpg) diff --git a/docs/ru/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md b/docs/ru/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md new file mode 100644 index 00000000000..451aefb2881 --- /dev/null +++ b/docs/ru/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md @@ -0,0 +1,77 @@ +# Fixed Wing Landing Pattern (Plan Pattern) + +The _Fixed Wing Landing Pattern_ tool allows you to add a fixed wing landing pattern to a mission. +It is supported on both ArduPilot and PX4. + +![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern.jpg) + +The first point of the pattern is a loiter point with a specific altitude and the second is a landing point. +The vehicle will loiter at the first point until it reaches the target altitude, and then begin the landing sequence to fly down to the specified landing spot. + +Both the loiter and land points can be dragged to new positions, and a number of other settings can be configured in the associated mission item. + +## Creating a Landing Pattern + +To create a landing pattern: + +1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + +2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Fixed Wing Landing Pattern_. + + ![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern_menu.jpg) + + This will add a _Landing Pattern_ item to the mission list (on the right). + + ![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern_mission_item_initial.jpg) + +3. Click on the map to create both the loiter point and the landing point. + These can be moved on the map. + +Additional settings are covered in the next section. + +## Settings + +The landing pattern can be further configured in the associated mission item (in the mission item list on the right hand side of the Plan View). + +### Loiter Point + +The _Loiter Point_ settings are used to configure the loiter altitude, radius and direction. + +![Landing Pattern - Loiter Point](../../../assets/plan/pattern/fixed_wing_landing_pattern_settings_loiter.jpg) + +The configurable options are: + +- **Altitude** - Loiter altitude. +- **Radius** - Loiter radius. +- **Loiter clockwise** - Check to loiter in a clockwise direction (anti-clockwise is the default). + +### Landing Point + +The _Landing Point_ settings are used to configure the landing position and path. + +![Landing Pattern - Landing Point](../../../assets/plan/pattern/fixed_wing_landing_pattern_settings_landing.jpg) + +The configurable options are: + +- **Heading** - Heading from loiter point to land point. +- **Altitude** - Altitude for landing point (nominally zero). +- _Radio Buttons_ + - **Landing Dist** - Distance between loiter point and landing point. + - **Glide Slope** - Glide slope between loiter point and landing point. +- **Altitudes relative to home** - Check to set all altitudes in mission item to be relative to home (default is AMSL). + +## Implementation + +This pattern creates three mission items: + +- `DO_LAND_START` - If you abort a landing it sends `DO_GO_AROUND` to the vehicle, which then causes the mission to return to this point and try to land again. +- `NAV_LOITER_TO_ALT` - Start point for landing +- `NAV_LAND` - End point for landing + +The vehicle flares to landing using a flight path generated by the firmware between the `NAV_LOITER_TO_ALT` point and the `NAV_LAND` point. + +If those two locations violate the vehicle's flare constraints (e.g. descent angle is too steep) an error will be raised after you upload the invalid mission to the vehicle. + +:::info +On PX4, violating the flare constraints sends an error message to the ground station at upload time, and the autopilot will refuse to start the mission (since it fails integrity checks). +::: diff --git a/docs/ru/qgc-user-guide/plan_view/pattern_presets.md b/docs/ru/qgc-user-guide/plan_view/pattern_presets.md new file mode 100644 index 00000000000..fc94879d5d6 --- /dev/null +++ b/docs/ru/qgc-user-guide/plan_view/pattern_presets.md @@ -0,0 +1,34 @@ +# Plan View - Pattern Presets + +Allows you to save commonly used settings as a named preset. + +:::info +Currently only supported by Survey. Support for other Patterns is in development. +::: + +## Managing Presets + +![Preset Combo](../../../assets/plan/pattern/pattern_preset_combo.jpg) + +Pattern items have a new selection at the top which allows you to manage presets: + +- **Custom (specify all settings)** This allows you to _not_ use a preset and specify all settings manually. +- **Save Settings As Preset** Saves the current settings as a named preset. +- **Delete Current Preset** Deletes the currently selected preset. +- **Presets:** Below this item will be listed the available presets for this pattern. + +## Creating/Updating A Preset + +![Preset Save](../../../assets/plan/pattern/pattern_preset_save.jpg) + +When you select **Save Settings As Preset** you will be prompted for the preset name. To save new settings for an existing preset select **Save Settings As Preset** while a preset is currently selected. + +You can also specify whether you want to save the currently selected camera in the preset. If you choose not to save the camera with the preset then the current camera will be used when loading the preset. You will also be able to change to a different camera when using the preset. Unless you fly your vehicle with different cameras at different times with the same preset you should select to save the camera in the preset. + +## Viewing Preset Settings + +If you want to view what the exact settings are for a Preset switch back to **Custom (specify all settings)** which will show you all the settings. Then you can switch back to using the named preset when done. + +## Presets In A Plan File + +The currently selected Preset is also saved in the Plan file such that when you load the Plan back the preset will once again be selected. Keep in mind that presets are specific to your version of QGroundControl. If you share a Plan file with a preset with another user, incorrect behavior may occur if that other user also has a preset of the same name but different settings. diff --git a/docs/ru/qgc-user-guide/plan_view/pattern_structure_scan_v2.md b/docs/ru/qgc-user-guide/plan_view/pattern_structure_scan_v2.md new file mode 100644 index 00000000000..c3a73eba65d --- /dev/null +++ b/docs/ru/qgc-user-guide/plan_view/pattern_structure_scan_v2.md @@ -0,0 +1,99 @@ +# Structure Scan (Plan Pattern) + +A _Structure Scan_ allows you to create a grid flight pattern that captures images over _vertical surfaces_ (e.g. walls) around a structure with an arbitrary polygonal (or circular) ground footprint. +Structure Scans are typically used for the visual inspection or creating 3D models of structures. + +_Structure Scans_ may be inserted into a mission using the Plan view **Pattern > Structure Scan** tool. + +:::info +The new version of _Structure Scan_ can't read older _Structure Scan_ plans. They will need to be recreated. +::: + +:::warning +This feature is not yet supported by ArduPilot firmware. +It is supported in PX4. +::: + +## Overview + +The image below shows a screenshot of structure scan. +The green polygon is used to mark out the ground footprint of the structure, while the white line around it indicates the vehicle flight path. +The green numbered circle on the flight path is the scan entry/exit point (where the scan starts). + +![Structure Scan](../../../assets/plan/structure_scan_v2/structure_scan.jpg) + +The scan divides the structure evenly into layers; the vehicle flies all the way around the structure at a particular altitude and _scan distance_ from the structure, then repeats the process at each layer until the whole surface has been scanned. + +![Layer JPG](../../../assets/plan/structure_scan_v2/layers.jpg) + +Users can set the _scan bottom altitude_ to avoid obstacles at the bottom of the structure, and the _extrance/exit altitude_ to avoid obstacles as the vehicle travels to/from the scan. + +## Creating a Scan + +To create a scan: + +1. In the **Plan View** select **Pattern tool > Structure Scan**. + +![Create Scan JPG](../../../assets/plan/structure_scan_v2/create_scan.jpg) + +1. This will create a simple square structure scan on the map. + + ![Initial Polygon](../../../assets/plan/structure_scan_v2/initial_polygon_scan.jpg) + + The region shown in green must be modified so that it surrounds the structure. + + - Drag the opaque vertices on the map to the edge of the structure (example circled in mauve above). + - If the structure footprint is more than a simple square you can click the semi-transparent circles between the vertices to create a new vertix. + +2. You can also change to a circular footprint by clicking on the central "vertix" (marked in red) and selecting _Circle_ in the popup menu. + + ![Circle Scan](../../../assets/plan/structure_scan_v2/circle_scan.jpg). + + - From the popup menu you can switch back to a polygon footprint and change the radius and/or position of the scan. + - Drag the central vertix to position the centre of the circle. + +3. The rest of the configuration is handled using the _Structure Scan_ editor on the right hand side of the view. + First select whether you want to perform a manual scan, a scan using a particular camera, or a scan using a custom camera definition. + + ::: info + The main difference between the modes is that predefined cameras are already set up to correctly calculate an effective layer height and trigger distance. + ::: + + Options for the different modes are shown below. + + ![Structure Scan editor](../../../assets/plan/structure_scan_v2/editor_options.jpg) + +The user can always configure the following settings: + +- **Start scan from top/bottom:** The direction in which layers are scanned. +- **Structure height:** The height of the object being scanned. +- **Scan distance:** Distance from the structure to the flight path. +- **Entrance/Exit Alt:** Use this setting to avoid obstacles between the last/next waypoint and the structure to be scanned. + - The vehicle will fly to the _Entrance/Exit_ point at this altitude and then descend to the initial layer to start the scan. + - The vehicle will ascend to this altitude after completing the scan and then move to the next waypoint. +- **Scan Bottom Alt:** Use this setting to avoid obstacles around the base of the structure. + This adjust the bottom of the structure to be above the ground, and hence the altitude of the first scan + (the height of the lowest layer flight path is shown in the scan statistics as _Bottom Layer Alt_. +- **Rotate Entry Point:** Move the start/finish point to the next vertix/position on the flight path. + +The remaining settings depend on the _camera mode_: + +- _Manual Mode_ allows you to specify: + - **Layer height:** The height of each layer. + - **Trigger Distance:** The distance between each camera trigger. + The camera is only triggered while flying the layer path. + It does not trigger images while transitioning from one layer to the next. + - **Gimbal Pitch** - Gimbal pitch you want to use for the scan. + +- _Known/pre-defined cameras_ automatically calculates layer heights and image triggering from required image overlap, and allows you to trade off scan distance and require image resolution. + It also ensures that the camera is pointed directly at the surface when it is capturing images (i.e. at a right angle rather than some tangent). + The settings are: + + - **Camera Orientation:** Portrait or Landscape + - _Overlap_: + - **Front Lap:** Image overlap from top to bottom (increasing shrinks layer height and increases layer count). + - **Side Lap:** Image overlap at sides (increasing takes more images in each lap/layer scan). + - **Scan distance:** Distance from the structure to the flight path. + - **Ground Res:** Required image resolution/sample quality of surface. + +- _Custom camera_ selection allows you to enter your own camera characteristics, but otherwise behaves the same as a predefined camera. diff --git a/docs/ru/qgc-user-guide/plan_view/pattern_survey.md b/docs/ru/qgc-user-guide/plan_view/pattern_survey.md new file mode 100644 index 00000000000..db492c27206 --- /dev/null +++ b/docs/ru/qgc-user-guide/plan_view/pattern_survey.md @@ -0,0 +1,130 @@ +# Survey (Plan Pattern) + +A survey allows you to create a grid flight pattern over a polygonal area. +You can specify an arbitrary polygon, the angle and other properties of the grid, and camera settings appropriate for creating geotagged images. + +::: warning +If the survey area has significant elevation variation then consider enabling [Terrain Following](#terrain). + +When planning a Survey using camera specifications, the ground under the survey area are assumed to be flat - i.e. at the same altitude as the launch/home location. +If the ground elevation under the survey is either higher or lower than the home location the effective overlap in images will be less or more (respectively) than calculated. +If ground elevation under the survey area is _significantly_ higher than the home location you could inadvertently plan a mission path that causes the vehicle to fly into ground-level obstacles. + +Using terrain following ensures that the survey more closely matches the desired altitude above terrain, and reduces the likelihood of planning a mission that is too close to ground level. +::: + +![Survey](../../../assets/plan/survey/survey.jpg) + +## Creating a Survey + +To create a survey: + +1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + +2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Survey_. + + ![Survey Menu](../../../assets/plan/survey/survey_menu.jpg) + + This will add a survey grid to the map, and a _Survey_ item to the mission list (on the right). + +3. On the map drag the vertices to change the shape of the polygon. + +4. Click the `(+)` symbol between existing vertices to create a new vertix. + The new vertix can then be dragged into a new position. + +The survey settings are covered in the next section. + +## Settings + +The survey can be further configured in the associated mission item (in the mission item list on the right hand side of the _Plan View_). + +### Camera + +Camera triggering behaviour depends on the camera/camera settings. +You can select an existing camera, custom camera, or manually enter the settings. +The list of available cameras (QGC 3.4) is given below. + +![Survey - Camera Select](../../../assets/plan/survey/survey_camera_select.jpg) + +#### Known Camera {#known\_camera} + +Selecting a known camera from the option dropdown generates a grid pattern based on the camera capabilities. + +![Survey - Camera Sony](../../../assets/plan/survey/survey_camera_sony.jpg) + +The default settings can be tuned for your survey using the configuration options: + +- **Landscape/Portrait** - Camera orientation relative to the "normal" orientation of the vehicle. +- **Overlap** - Overlap between each image capture. + This can be configured separately for when flying along grid lines or across them. +- Select one of: + - **Altitude** - Survey altitude (ground resolution will be calculated/displayed for this altitude). + - **Ground resolution** - Ground resolution for each image (altitude required to achieve this resolution calculated and shown). + +#### Custom Camera {#custom\_camera} + +Selecting the custom camera option allows you to specify the settings for a new camera in a similar way to a known camera. + +![Survey - Custom Camera](../../../assets/plan/survey/survey_camera_custom.jpg) + +The camera-specific settings are: + +- **Sensor width/height** - The size of the image sensor of the camera. +- **Image width/height** - The resolution of the image captured by the camera. +- **Focal Length** - The focal length of the camera lens. + +The remaining settings are the same as for a [known camera](#known_camera). + +#### Manual Camera + +The manual camera option allows you to specify desired survey height, trigger interval and appropriate grid spacing for your camera. + +![Survey - Manual Camera Settings](../../../assets/plan/survey/survey_camera_manual.jpg) + +The configurable options are: + +- **Altitude** - Survey altitude to fly the whole grid. +- **Trigger Distance** - The distance over ground between each camera shot. +- **Spacing** - Distance between adjacent grid (flight path) lines across the corridor. + +### Transects + +The _Transects_ section is used for grid settings that are independent of the camera used. + +![Survey - Transects](../../../assets/plan/survey/survey_transects.jpg) + +The configurable options are: + +- **Angle** - The angle of the grid lines, relative to North. + ![Survey - Angle](../../../assets/plan/survey/survey_transects_angle.jpg) +- **Turnaround dist** - Amount of additional distance to add outside the survey area for vehicle turn around. +- **Rotate Entry Point** - Press button to swap the start and end point of the survey. +- **Hover and capture image** - Hover to capture images (multicopter only). +- **Refly at 90 degree offset** - Check to refly the whole mission at a 90 degree offset. + ![Survey - Fly Offset](../../../assets/plan/survey/survey_transects_offset.jpg) +- **Images in turnarounds** - Check to take images when turning +- **Relative altitude** - Check to make specified altitudes relative to home (if unchecked they are AMSL). + +### Terrain + +By default, a flying vehicle will follow the survey path at a fixed altitude. +Enabling _Terrain Following_ makes the vehicle maintain a constant height relative to ground. + +![Survey - Terrain Following Settings](../../../assets/plan/survey/survey_terrain.jpg) + +:::info +Terrain following uses terrain heights queried from _AirMap_ servers. +::: + +The configurable options are: + +- **Vehicle follows terrain** - Check to enable terrain following (and display the following options). + - **Tolerance** - The accepted deviation in altitude from the target altitude. + - **Max Climb Rate** - Maximum climb rate when following terrain. + - **Max Descent Rate** - Maximum descent rate when following terrain. + +### Statistics + +The _Statistics_ section shows the calculated survey area, photo interval, photo spacing and planned photo count. + +![Survey - Statistics](../../../assets/plan/survey/survey_statistics.jpg) diff --git a/docs/ru/qgc-user-guide/plan_view/plan_geofence.md b/docs/ru/qgc-user-guide/plan_view/plan_geofence.md new file mode 100644 index 00000000000..49780949b6d --- /dev/null +++ b/docs/ru/qgc-user-guide/plan_view/plan_geofence.md @@ -0,0 +1,60 @@ +# Plan View - GeoFence + +GeoFences allow you to create virtual regions within which the vehicle can fly, or in which it is _not allowed_ to fly. +You can also configure the action taken if you fly outside permitted areas. + +![Geofence overview](../../../assets/plan/geofence/geofence_overview.jpg) + +:::info +**ArduPilot users:** GeoFence support is only supported by Rover 3.6 and Copter 3.7 or higher. It also requires usage of a Daily build or Stable 3.6 (once available). +_QGroundControl_ will not display the GeoFence options if they are not supported by the connected vehicle. +::: + +## Create a Geofence + +To create a GeoFence: + +1. Navigate to the Plan View + +2. Select the _Geofence_ radio button above the Mission Command List + + ![Select geofence radio button](../../../assets/plan/geofence/geofence_select.jpg) + +3. Insert a circular or polygon region by pressing the **Circular Fence** or **Polygon Fence** button, respectively. + A new region will be added to the map and to the associated list of fences below the buttons. + +:::tip +You can create multiple regions by pressing the buttons multiple times, allowing complex geofence definitions to be created. +::: + +- Circular region: + + ![Circular Geofence](../../../assets/plan/geofence/geofence_circular.jpg) + + - Move the region by dragging the central dot on the map + - Resize the circle by dragging the dot on the edge of the circle (or you can change the radius value in the fence panel). + +- Polygon region: + + ![Polygon Geofence](../../../assets/plan/geofence/geofence_polygon.jpg) + + - Move the vertices by dragging the filled dots + - Create new vertices by clicking the "unfilled" dots on the lines between the filled vertices. + +1. By default new regions are created as _inclusion_ zones (vehicles must stay within the region). + Change them to exclusion zones (where the vehicle can't travel) by unchecking the associated _Inclusion_ checkbox in the fence panel. + +## Edit/Delete a GeoFence + +You can select a geofence region to edit by selecting its _Edit_ radio button in the GeoFence panel. +You can then edit the region on the map as described in the previous section. + +Regions can be deleted by pressing the associated **Del** button. + +## Upload a GeoFence + +The GeoFence is uploaded in the same way as a mission, using **File** in the [Plan tools](../plan_view/plan_view.md). + +## Remaining tools + +The rest of the tools work exactly as they do while editing a Mission. diff --git a/docs/ru/qgc-user-guide/plan_view/plan_rally_points.md b/docs/ru/qgc-user-guide/plan_view/plan_rally_points.md new file mode 100644 index 00000000000..d23a284eb28 --- /dev/null +++ b/docs/ru/qgc-user-guide/plan_view/plan_rally_points.md @@ -0,0 +1,35 @@ +# Plan View - Rally Points + +Rally Points are alternative landing or loiter locations. +They are typically used to provide a safer or more convenient (e.g. closer) destination than the home position in Return/RTL mode. + +:::info +Rally Points are only supported by ArduPilot on Rover 3.6 and Copter 3.7 (or higher). +PX4 support is planned in PX4 v1.10 timeframes. +It also requires usage of a Daily build or Stable 3.6 (once available). +_QGroundControl_ will not display the Rally Point options if they are not supported by the connected vehicle. +::: + +![Rally Points](../../../assets/plan/rally/rally_points_overview.jpg) + +## Rally Point Usage + +To create Rally Points: + +1. Navigate to the Plan View +2. Select the _Rally_ radio button above the Mission Command List +3. Click the map wherever you want rally points. + - An **R** marker is added for each + - the currently active marker has a different colour (green) and can be edited using the _Rally Point_ panel. +4. Make any rally point active by selecting it on the map: + - Move the active rally point by either dragging it on the map or editing the position in the panel. + - Delete the active rally point by selecting the menu option on the _Rally Point_ panel + ![Delete Rally Point](../../../assets/plan/rally/rally_points_delete.jpg) + +## Upload Rally Points + +Rally points are uploaded in the same way as a mission, using **File** in the [Plan tools](../plan_view/plan_view.md). + +## Remaining tools + +The rest of the tools work exactly as they do while editing a Mission. diff --git a/docs/ru/qgc-user-guide/plan_view/plan_view.md b/docs/ru/qgc-user-guide/plan_view/plan_view.md new file mode 100644 index 00000000000..27e97e1375d --- /dev/null +++ b/docs/ru/qgc-user-guide/plan_view/plan_view.md @@ -0,0 +1,205 @@ +# Plan View + +The _Plan View_ is used to plan _autonomous missions_ for your vehicle, and upload them to the vehicle. Once the mission is [planned](#plan_mission) and sent to the vehicle, you switch to the [Fly View](../fly_view/fly_view.md) to fly the mission. + +It is also use to configure the [GeoFence](plan_geofence.md) and [Rally Points](plan_rally_points.md) if these are supported by the firmware. + + +![Plan View](../../../assets/plan/plan_view_overview.jpg) + +## UI Overview {#ui\_overview} + +The [screenshot above](#plan_screenshot) shows a simple mission plan that starts with a takeoff at the [Planned Home](#planned_home) position (H), +flies through three waypoints, and then lands on the last waypoint (i.e. waypoint 3). + +The main elements of the UI are: + +- **Map:** Displays the numbered indicators for the current mission, including the [Planned Home](#planned_home). + Click on the indicators to select them (for editing) or drag them around to reposition them. +- **Plan Toolbar:** Status information for the currently selected waypoint relative to the previous waypoint, as well as statistics for the entire mission (e.g. horizontal distance and time for mission). + - `Max telem dist` is the distance between the [Planned Home](#planned_home) and the furthest waypoint. + - When connected to a vehicle it also shows an **Upload** button, can be used to upload the plan to the vehicle. +- **[Plan Tools](#plan_tools):** Used to create and manage missions. +- **[Mission Command List/Overlay](#mission_command_list):** Displays the current list of mission items (select items to [edit](#mission_command_editors)). +- **Terrain Altitude Overlay:** Shows the relative altitude of each mission command. + +It shows you information related to the currently selected waypoint as well as statistics for the entire mission. + +## Planning a Mission {#plan\_mission} + +At very high level, the steps to create a mission are: + +1. Change to _Plan View_. +2. Add waypoints or commands to the mission and edit as needed. +3. Upload the mission to the vehicle. +4. Change to _Fly View_ and fly the mission. + +The following sections explain some of the details in the view. + +## Planned Home Position {#planned\_home} + +The _Planned Home_ shown in _Plan View_ is used to set the approximate start point when planning a mission (i.e. when a vehicle may not even be connected to QGC). +It is used by QGC to estimate mission times and to draw waypoint lines. + +![Planned Home Position](../../../assets/plan/mission/mission_settings_planned_home.jpg) + +You should move/drag the planned home position to roughly the location where you plan to takeoff. +The altitude for the planned home position is set in the [Mission Settings](#mission_settings) panel. + + + +:::tip +The Fly View displays the _actual_ home position set by the vehicle firmware when it arms (this is where the vehicle will return in Return/RTL mode). +::: + +## Plan Tools {#plan\_tools} + +The plan tools are used for adding individual waypoints, easing mission creation for complicated geometries, uploading/downloading/saving/restoring missions, and for navigating the map. The main tools are described below. + +:::info +**Center map**, **Zoom In**, **Zoom Out** tools help users better view and navigate the _Plan view_ map (they don't affect the mission commands sent to the vehicle). +::: + +### Add Waypoints + +Click on the **Add Waypoint** tool to activate it. While active, clicking on the map will add new mission waypoint at the clicked location. +The tool will stay active until you select it again. +Once you have added a waypoint, you can select it and drag it around to change its position. + +### File (Sync) {#file} + +The _File tools_ are used to move missions between the ground station and vehicle, and to save/restore them from files. +The tool displays an `!` to indicate that there are mission changes that you have not sent to the vehicle. + +:::info +Before you fly a mission you must upload it to the vehicle. +::: + +The _File tools_ provide the following functionality: + +- Upload (Send to vehicle) +- Download (Load from vehicle) +- Save/Save as to File, including as KML file. +- Load from File +- Remove All (removes all mission waypoints from _Plan view_ and from vehicle) + +### Pattern + +The [Pattern](Pattern.md) tool simplifies the creation of missions for flying complex geometries, including [surveys](../plan_view/pattern_survey.md) and [structure scans](../plan_view/pattern_structure_scan_v2.md). + +## Mission Command List {#mission\_command\_list} + +Mission commands for the current mission are listed on the right side of the view. +At the top are a set of options to switch between editing the mission, GeoFence and rally points. +Within the list you can select individual mission items to edit their values. + +![Mission Command List](../../../assets/plan/mission/mission_command_list.jpg) + +### Mission Command Editors {#mission\_command\_editors} + +Click on a mission command in the list to display its editor (in which you can set/change the command attributes). + +You can change the **type** of the command by clicking on the command name (for example: _Waypoint_). +This will display the _Select Mission Command_ dialog shown below. +By default this just displays the "Basic Commands", but you can use the **Category** drop down menu to display more (e.g. choose **All commands** to see all the options). + + + +To the right of each command name is a menu that you can click to access to additional options such as _Insert_ and _Delete_. + +:::info +The list of available commands will depend on firmware and vehicle type. +Examples may include: Waypoint, Start image capture, Jump to item (to repeat mission) and other commands. +::: + +### Mission Settings {#mission\_settings} + +The _Mission Start_ panel is the first item that appears in the [mission command list](#mission_command_list). +It may be used to specify a number default settings that may affect the start or end of the mission. + +![Mission Command List - showing mission settings](../../../assets/plan/mission_start.png) + +![Mission settings](../../../assets/plan/mission/mission_settings.png) + +#### Mission Defaults + +##### Waypoint alt + +Set the default altitude for the first mission item added to a plan (subsequent items take an initial altitude from the previous item). +This can also be used to change the altitude of all items in a plan to the same value; you will be prompted if you change the value when there are items in a plan. + +##### Flight speed + +Set a flight speed for the mission that is different than the default mission speed. + +#### Mission End + +##### Return to Launch after mission end + +Check this if you want your vehicle to Return/RTL after the final mission item. + +#### Planned Home Position + +The [Planned Home Position](#planned_home) section allows you to simulate the vehicle's home position while planning a mission. +This allows you to view the waypoint trajectory for your vehicle from takeoff to mission completion. + +![MissionSettings Planned Home Position Section](../../../assets/plan/mission/mission_settings_planned_home_position_section.jpg) + +:::info +This is only the _planned_ home position and you should place it where you plan to start the vehicle from. +It has no actual impact on flying the mission. +The actual home position of a vehicle is set by the vehicle itself when arming. +::: + +This section allows you to set the **Altitude** and **Set Home to Map Centre** +(you can move it to another position by dragging it on the map). + +#### Camera + +The camera section allows you to specify a camera action to take, control the gimbal and set your camera into photo or video mode. + +![MissionSettings Camera Section](../../../assets/plan/mission/mission_settings_camera_section.jpg) + +The available camera actions are: + +- No change (continue current action) +- Take photos (time) +- Take photos (distance) +- Stop taking photos +- Start recording video +- Stop recording video + +#### Vehicle Info + +The appropriate mission commands for the vehicle depend on the firmware and vehicle type. + +If you are planning a mission while you are _connected to a vehicle_ the firmware and vehicle type will be determined from the vehicle. +This section allows you to specify the vehicle firmware/type when not connected to a vehicle. + +![MissionSettings VehicleInfoSection](../../../assets/plan/mission/mission_settings_vehicle_info_section.jpg) + +The additional value that can be specified when planning a mission is the vehicle flight speed. +By specifying this value, total mission or survey times can be approximated even when not connected to a vehicle. + +## Troubleshooting + +### Mission (Plan) Upload/Download Failures {#plan\_transfer\_fail} + +Plan uploading and downloading can fail over a noisy communication link (affecting missions, GeoFence, and rally points). +If a failure occurs you should see a status message in the QGC UI similar to: + +> Mission transfer failed. Retry transfer. Error: Mission write mission count failed, maximum retries exceeded. + +The loss rate for your link can be viewed in [Settings View > MAVLink](../settings_view/mavlink.md). +The loss rate should be in the low single digits (i.e. maximum of 2 or 3): + +- A loss rate in the high single digits can lead to intermittent failures. +- Higher loss rates often lead to 100% failure. + +There is a much smaller possibility that issues are caused by bugs in either flight stack or QGC. +To analyse this possibility you can turn on [Console Logging](../settings_view/console_logging.md) for Plan upload/download and review the protocol message traffic. + +## Further Info + +- New Plan View features for [QGC release v3.2](../releases/stable_v3.2_long.md#plan_view) +- New Plan View features for [QGC release v3.3](../releases/stable_v3.3_long.md#plan_view) diff --git a/docs/ru/qgc-user-guide/releases/daily_build_new_features.md b/docs/ru/qgc-user-guide/releases/daily_build_new_features.md new file mode 100644 index 00000000000..6b298f7f00e --- /dev/null +++ b/docs/ru/qgc-user-guide/releases/daily_build_new_features.md @@ -0,0 +1,7 @@ +# Daily Build Major Changes + +This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ since the last [stable release](../releases/release_notes.md). +These features are available in [daily builds](../releases/daily_builds.md). +There is also a [Change Log](https://github.com/mavlink/qgroundcontrol/blob/master/ChangeLog.md) available for viewing. + +- TBD diff --git a/docs/ru/qgc-user-guide/releases/daily_builds.md b/docs/ru/qgc-user-guide/releases/daily_builds.md new file mode 100644 index 00000000000..0550549176e --- /dev/null +++ b/docs/ru/qgc-user-guide/releases/daily_builds.md @@ -0,0 +1,32 @@ +# Daily Builds + +Daily Builds of _QGroundControl_ have the absolute latest set of [new features](../releases/daily_build_new_features.md). + +:::warning +Daily Builds are less tested than stable builds. +Use at your own risk! +::: + +These can be downloaded from the links below (install as described in [Download and Install](../getting_started/download_and_install.md)): + +- [Windows](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl-installer.exe) + +- [OS X](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl.dmg) + + ::: info + QGroundControl continues to not be signed which causes problem on Catalina. To open QGC app for the first time: + + - Right-click the QGC app icon, select Open from the menu. You will only be presented with an option to Cancel. Select Cancel. + - Right-click the QGC app icon again, Open from the menu. This time you will be presented with the option to Open. + + ::: + +- [Linux](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl.AppImage) + +- [Android](https://play.google.com/store/apps/details?id=org.mavlink.qgroundcontrolbeta) - Google Play: Listed as _QGroundControl (Daily Test Build)_. + +- iOS currently unavailable + +:::info +The QGroundControl Continous Delivery pipeline from time to time might experience issues uploading to the Google Play store. You can find the daily build APK for Android devices for direct download here: [QGroundControl32.apk](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl32.apk), and [QGroundControl64.apk](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl64.apk) +::: diff --git a/docs/ru/qgc-user-guide/releases/index.md b/docs/ru/qgc-user-guide/releases/index.md new file mode 100644 index 00000000000..dec0acc68b7 --- /dev/null +++ b/docs/ru/qgc-user-guide/releases/index.md @@ -0,0 +1,3 @@ +# Releases + +This section contains information about releases and daily builds. diff --git a/docs/ru/qgc-user-guide/releases/privacy_policy.md b/docs/ru/qgc-user-guide/releases/privacy_policy.md new file mode 100644 index 00000000000..44718df6e95 --- /dev/null +++ b/docs/ru/qgc-user-guide/releases/privacy_policy.md @@ -0,0 +1,8 @@ +# Privacy Policy + +_QGroundControl_ may require access to personal and/or sensitive user data. None of this data is used outside of _QGroundControl_. + +The list below explains how some of the data is used: + +- Camera sensor: This is used for the purpose of overlaying the video with flight telemetry data. +- Location: This is used for tracking current user position on the map. diff --git a/docs/ru/qgc-user-guide/releases/release_notes.md b/docs/ru/qgc-user-guide/releases/release_notes.md new file mode 100644 index 00000000000..54dfa2f76de --- /dev/null +++ b/docs/ru/qgc-user-guide/releases/release_notes.md @@ -0,0 +1,255 @@ +# Release Notes + +This topic contains the cumulative release notes for _QGroundControl_. + +:::info +Stable build major/minor numbers are listed below. +_Patch_ release numbers are not listed, but can be found on the [Github release page](https://github.com/mavlink/qgroundcontrol/releases). +::: + +## Stable Version 4.0 (current) + +:::info +The format for Settings in QGC had to change in this release. Which means all QGC settings will be reset to defaults. +::: + +- Settings + - Language: Allow selection of language + - Optional [CSV Logging](../settings_view/csv.md) of telemetry data for improved accessibility. + - ArduPilot + - Mavlink: Configurable stream rate settings +- Setup + - Joystick + - New joystick setup ui + - Ability to configure held button to single or repeated action + - ArduPilot + - Motor Test + - ArduSub + - Automatic motor direction detection +- Plan + - Create Plan from template with wizard like progression for completing full Plan. + - Survey: Save commonly used settings as a Preset + - Polygon editing + - New editing tools ui + - Support for tracing a polygon from map locations + - ArduPilot + - Support for GeoFence and Rally Points using latest firmwares and mavlink v2 +- Fly + - Click to ROI support + - Added support for connecting to ADSB SBS server. Adds support for ADSB data from USB SDR Dongle running 'dump1090 --net' for example. + - Ability to turn on Heading to home, COG and Next Waypoint heading indicators in Compass. + - Video + - Add support for h.265 video streams + - Automatically add a [Video Overlay](../fly_view/video_overlay.md) with flight data as a subtitle for locally-recorded videos + - Vehicle type specific pre-flight checklists. Turn on from Settings. +- Analyze + - New Mavlink Inspector which includes charting support. Supported on all builds including Android and iOS. +- General + - Released Windows build are now 64 bit only + - Log Replay: Ability to specify replay speed + - ArduPilot + - Improved support for chibios firmwares and ArduPilot bootloader with respect to flashing and auto-connect. + +Additional notes for some features can be found here: [v4.0 (Additional Notes)](../releases/stable_v4.0_additional.md). + +## Stable Version 3.5 + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.5. + +- **Overall** + - Added Airmap integration to QGC. OSX build only. + - Bumped settings version (now 8). + This will cause all settings to be reset to defaults. + - Added Chinese and Turkish localization and partial German localization. + - Added support for the Taisync 2.4GHz ViUlinx digital HD wireless link. + - Fix loading of parameters from multiple components. + This especially affected WiFi connections. + - **ArduPilot** Support for ChibiOS firmware connect and flash. +- **Settings** + - **RTK** Add support for specifying fixed RTK based station location in Settings/General. + - **GCS Location** + - Added UDP Port option for NMEA GPS Device. + - GCS heading shown if available +- **Plan** + - **Polygons** Support loading polygons from SHP files. + - **Fixed Wing Landing Pattern** Add stop photo/video support. + Defaults to on such that doing an RTL will stop camera. + - **Edit Position dialog** Available on polygon vertices. +- **Fly** + - **Camera Page** Updated support for new MAVLInk camera messages. + Camera select, camera mode, start/stop photo/video, storage mangement... + - **Orbit** Support for changing rotation direction. + - **Instrument Panel** + - Added ESTIMATOR\_STATUS values to new estimatorStatus Vehicle FactGroup. + These are now available to display in instrument panel. + - Make Distance to GCS available for display from instrument panel. + - Make Heading to Home available for display from instrument panel. + +## Stable Version 3.4 + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.4. Not to mention the large number of bug fixes in each stable release. + +- **Settings** + - **Offline Maps** + - Center Tool allows you to specify a map location in lat/lon or UTM coordinates. Making it easier to get to the location you want to create an offline map for. + - Ability to pre-download terrain heights for offline use. + - **Help** Provides links to QGC user guide and forums. + +- **Setup** + - **Firmware** Ability to flash either PX4 or ArduPilot Flow firmware. + - PX4 Pro Firmware + - **Flight Modes** Specify channels for all available transmitter switches. + - **Tuning: Advanced** Initial implementation of vehicle PID tuning support. Note that this is a work in progress that will improve in 3.5 daily builds. + - ArduPilot Firmware + - **Power/Safety** Support for new multi-battery setup. + - **Trad Heli** New setup page. + +- **Plan** + + - **File Load/Save** New model for Plan file loading which matches a standard File Load/Save/Save As user model. + + - **Load KML** Ability to load a KML file directly from the Sync menu. You will be prompted for what type of Pattern you want to create from the KML if needed. + + - **Survey** Better support for irregular shaped polygons. + + - **[Corridor Scan](../plan_view/pattern_corridor_scan.md)** - Create a flight pattern which follows a poly-line. For example can be used to survey a road. + + - **[Fixed Wing Landing Pattern](../plan_view/pattern_fixed_wing_landing.md)** + - Landing area visually represented in Plan. + - Landing position/heading can be copied from Vehicle position/heading. + + - **Terrain** + + - Height of mission items can be specified as height above terrain. + - Survey and Corridor Scan can generate flight plans which follow terrain. + + ::: info + This feature does not support [ArduPilot terrain following](http://ardupilot.org/copter/docs/common-terrain-following.html). + ::: + + - **Edit Position** Set item position from vehicle position. + +- **Fly** + - **Pre-Flight Checklist** You can turn this on from Settings. It provides a generic checklist to follow prior to flight. Expect more feature to appear for this in 3.5 daily builds. + - **Instrument Panel** + - Many new values available for display. + - New Camera page which provides full camera control. Requires a camera which support new MavLink camera specification. + - **ArduPlane** Much better support for guided commands including QuadPlane support. + - **High Latency Links** Support for high latency links such as satellite connections. + Limits the traffic from QGC up to Vehicle on these links to reduce cost. + Supports HIGH\_LATENCY MavLink message. + Supports failover back/forth from high latency to normal link with dual link setup. + +## Stable Version 3.3 + +:::tip +More detailed release notes for version 3.3 can be found [here](../releases/stable_v3.3_long.md). +::: + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.3. Not to mention the large number of bug fixes of this release. + +- **Settings** + - Local NMEA GPS device support. + - Video Recording save settings. +- **Setup** + - **Parameter Editor** - Searching updates as you type characters for near immediate response to searches. + - **Joystick** - Android joystick support. +- **Plan** + - **NEW - Structure Scan Pattern** - Create a multi-layered flight pattern that captures images over vertical surfaces (polygonal or circular). Used for 3d model generation or vertical surface inspection. + - **Fixed Wing Landing Pattern** - You can now adjust the distance from the loiter to land point by either distance or glide slope fall rate. + - PX4 GeoFence and Rally Point support. + - Terrain height display in lower Mission Item altitude display +- **Fly** + - Start/Stop video recording. + - Better display of vehicle icons when connected to multiple vehicles. + - Multi-Vehicle View supports commands which apply to all vehicles. + - Displays vehicles reported from ADS-B sensor. +- **Analyze** + - **Mavlink console** - New support for communicating with Mavlink console. + - **Log Download** - Moved from Menu to Analyze view. + +## Stable Version 3.2 + +:::tip +More detailed release notes for version 3.2 can be found [here](../releases/stable_v3.2_long.md). +::: + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.2. + +- **Settings** + + - **File Save path** - Specify a save path for all files used by QGC. + - **Telemetry log auto-save** - Telemetry logs are now automatically saved without prompting. + - **AutoLoad Plans** - Used to automatically load a Plan onto a vehicle when it first connects. + - **RTK GPS** - Specify the Survey in accuracy and Minimum observation duration. + +- **Setup** + + - ArduPilot only + - **Pre-Flight Barometer and Airspeed calibration** - Now supported + - **Copy RC Trims** - Now supported + +- **Plan View** + + - **Plan files** - Missions are now saved as .plan files which include the mission, geo-fence and rally points. + - **Plan Toolbar** - New toolbar which shows you mission statistics and Upload button. + - **Mission Start** - Allows you to specify values such as flight speed and camera settings to start the mission with. + - **New Waypoint features** - Adjust heading and flight speed for each waypoint as well as camera settings. + - **Visual Gimbal direction** - Gimbal direction is shown on waypoint indicators. + - **Pattern tool** - Allows you to add complex patterns to a mission. + - Fixed Wing Landing (new) + - Survey (many new features) + - **Fixed Wing Landing Pattern** - Adds a landing pattern for fixed wings to your mission. + - **Survey** - New features + - **Take Images in Turnarounds** - Specify whether to take images through entire survey or just within each transect segment. + - **Hover and Capture** - Stop vehicle at each image location and take photo. + - **Refly at 90 degree offset** - Add additional pattern at 90 degree offset to original so get better image coverage. + - **Entry location** - Specify entry point for survey. + - **Polygon editing** - Simple on screen mechanism to drag, resize, add/remove points. Much better touch support. + +- **Fly View** + + - **Arm/Disarm** - Available from toolbar. + - **Guided Actions** - New action toolbar on the left. Supports: + - Takeoff + - Land + - RTL + - Pause + - Start Mission + - Resume Mission - after battery change + - Change Altitude + - Land Abort + - Set Waypoint + - Goto Location + - **Remove mission after vehicle lands** - Prompt to remove mission from vehicle after landing. + - **Flight Time** - Flight time is shown in instrument panel. + - **Multi-Vehicle View** - Better control of multiple vehicles. + +- **Analyze View** - New + + - **Log Download** - Moved to Analyze view from menu + - **Mavlink Console** - NSH shell access + +- **Support for third-party customized QGroundControl** + - Standard QGC supports multiple firmware types and multiple vehicle types. There is now support in QGC which allows a third-party to create their own custom version of QGC which is targeted specifically to their custom vehicle. They can then release their own version of QGC with their vehicle. + +## Stable Version 3.1 + +New Features + +- [Survey](../plan_view/pattern_survey.md) mission support +- [GeoFence](../plan_view/plan_geofence.md) support in Plan View +- [Rally Point](../plan_view/plan_rally_points.md) support in Plan View (ArduPilot only) +- ArduPilot onboard compass calibration +- Parameter editor search will now search as you type for quicker access +- Parameter display now supports unit conversion +- GeoTag images from log files (PX4 only) +- System health in instrument panel +- MAVLink 2.0 support (no signing yet) + +Major Bug Fixes + +- Fixed crash after disconnect from Vehicle +- Fixed android crash when using SiK Radios +- Many multi-vehicle fixes +- Bluetooth fixes diff --git a/docs/ru/qgc-user-guide/releases/stable_v3.2_long.md b/docs/ru/qgc-user-guide/releases/stable_v3.2_long.md new file mode 100644 index 00000000000..0056ad212fc --- /dev/null +++ b/docs/ru/qgc-user-guide/releases/stable_v3.2_long.md @@ -0,0 +1,265 @@ +# QGroundControl v3.2 Release Notes (Detailed) + +This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.2. + +## Settings + +### Telemetry log auto-save + +If you have _Save telemetry log after each flight_ turned on you will no longer be prompted as to where to save the log each time the vehicle disarms. +Logs will automatically be saved to the [Application Load/Save Path](../settings_view/general.md#load_save_path) + +For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#autosave_log). + +### AutoLoad plans + +If this setting is turned on, _QGroundControl_ will automatically upload a plan to the vehicle when it connects. +The plan file must be named **AutoLoad#.plan** where the `#` is replaced with the vehicle id. +The plan file must be located in the [Application Load/Save Path](../settings_view/general.md#load_save_path). + +For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#autoload_missions). + +### Application Load/Save Path + +You can now specify a save path which QGC will use as the default location to save files such as Parameters, Telemetry or Mission Plans. + +For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#load_save_path). + +### RTK GPS + +You can now specify the _Survey in accuracy_ and _Minimum observation duration_ for use with a connected RTK GPS. + +For more information see [Settings > General (RTK GPS)](../settings_view/general.md#rtk_gps). + +## Setup + +### ArduPilot - Pre-Flight Barometer and Airspeed calibration + +This is now supported from the Sensors page. + +### ArduPilot - Copy RC Trims + +This is now supported from the Copy Trims button on the Radio setup page. + +## Plan View {#plan\_view} + +### Plan Files + +Previous version of _QGroundControl_ saved missions, geo-fences and rally points in separate files (**.mission**, **.fence**, **.rally**). QGC now save all information related to a flight plan into a single file called a _Plan File_ with a file extension of **.plan**. + +Information about the format can be found in [Plan File Format](https://dev.qgroundcontrol.com/en/file_formats/plan.html) (QGC Developer Guide). + +### Plan Toolbar + +![Plan Toolbar](../../../assets/plan/plan_toolbar.jpg) + +The new _Plan Toolbar_ is displayed at the top of the [PlanView](../plan_view/plan_view.md). +It shows you information related to the currently selected waypoint as well as statistics for the entire mission. + +When connected to a vehicle it also shows an **Upload** button, which can be used to upload the plan to the vehicle. + +### Mission Settings + +The [Mission Settings](../plan_view/plan_view.md#mission_settings) panel allows you to specify values which apply to the entire mission, or settings you want to control right at the beginning of a mission. +This is the first item in the mission list on the right of the screen. + + + +#### Mission Defaults + +##### Waypoint alt + +This specifies the default altitude for newly added mission items. +If you update this value while you have a mission loaded it will prompt you to update all the the waypoints to this new altitude. + +##### Flight speed + +This allows you to set the flight speed for the mission to be different than the default mission speed. + +##### RTL after mission end + +Check this if you want your vehicle to RTL after the final mission item. + +#### Camera section + + + +The camera section allows you to specify a camera action to take, control the gimbal and set your camera into photo or video mode. + +The camera actions available are: + +- Continue current action +- Take photos (time) +- Take photos (distance) +- Stop taking photos +- Start recording video +- Stop recording video + +#### Vehicle Info section + + + +When planning a mission the firmware being run on the vehicle as well as the vehicle type must be known in order for QGroundControl to show you the mission commands which are appropriate for your vehicle. + +If you are planning a mission while you are connected to your vehicle the Firmware and Vehicle Type will be determined from the vehicle. If you are planning a mission while not connected to a vehicle you will need to specify this information yourself. + +The additional value that can be specified when planning a mission is the vehicle flight speed. By specifying this value, total mission or survey times can be approximated even when not connected to a vehicle. + +#### Planned Home Position + + + +The planned home position allows you to simulate the vehicle's home position while planning a mission. This way you see the waypoint trajectory for your vehicle from takeoff to mission completion. Keep in mind that this is only the "planned" home position and you should place it where you plan to start the vehicle from. It has no actual impact on flying the mission. The actual home position of a vehicle is set by the vehicle itself when arming. + +### New Waypoint features + + + +- You can now adjust heading and flight speed for each waypoint. +- There is a camera section available for camera changes on each waypoint. Explanation of Camera Section can be read under Mission Settings above. + +### Visual Gimbal direction + + + +If you specify gimbal yaw changes on waypoints, both the plan and fly views will show you a visual representation of the gimbal direction. + +### Pattern tool + +There is a new _Pattern tool_. The following patterns are supported: + +- Fixed Wing Landing (new) +- Survey (with new features) + +#### Fixed Wing Landing Pattern + +![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern.jpg) + +This adds a landing pattern for fixed wings to your mission. +The first point of the pattern is the loiter point which commands to vehicle to loiter to a specific altitude. +Once that altitude is reached, the vehicle will begin the landing sequence and fly down to the specified landing spot. + +Both the loiter and land points can be dragged to adjust. +Also all the various values associated with the pattern can be adjusted. + +For more information see [Fixed Wing Landing Pattern](../plan_view/pattern_fixed_wing_landing.md). + +#### Survey (new features) + +- Images are not automatically taken in the turnaround zone outside of the polygonal survey area. +- There is a new _Hover and Capture_ option which can be used to capture the highest quality image at each image location. The vehicle will stop at each image location prior to taking the image such that the vehicle is stable while the image is taken. +- There is a new option to re-fly the survey grid at a 90 degree angle to the previous pass. This allows you to generate much denser coverage for the images. + +![](../../../assets/plan/polygon_edit.jpg) + +Manipulating the survey area polygon is now easier to use on tablets with touch screens: + +- You can drag the entire polygon to a new location by dragging the center point handle. +- Each polygon vertex can be dragged to a new location. +- To remove a polygon vertex, simple click on the drag handle for it. +- Click on the **+** handles to add a new vertex between two existing vertices. + +## Fly View + +### RTK GPS + +RTK status is now shown in the toolbar. + +### Arm/Disarm + +There is an armed/disarmed indicator in the toolbar. You can click it to arm/disarm your vehicle. If you click Disarm in the toolbar while your vehicle is flying you will provided the option to Emergency Stop your vehicle. + +### Guided Actions + +- Takeoff +- Land +- RTL +- Pause +- Actions + - Start Mission + - Resume Mission + - Change Altitude + - Land Abort +- Direct interaction with map + - Set Waypoint + - Goto Location + +#### Resume Mission + +The Resume Mission guided action is used to resume a mission after performing an RTL from within the mission to perform a battery change. +After the vehicle lands from RTL and you have disconnected the battery **do not** disconnect QGC from the Vehicle. +Put in your new battery and QGC will detect the vehicle again and automatically restore the connection. +Once this happens you will be prompted with a Resume Mission confirmation slider. +If you want to resume the mission, confirm this and the mission will be rebuilt from your last waypoint traveled through. +Once the mission is rebuilt you will be presented with another Resume Mission slide which allows you to review the rebuilt mission before starting it again. +Confirm this Resume Mission slider to continue on with the mission. + +###### How resume mission rebuilding works + +In order to resume a mission you cannot simply continue it from the last mission item the vehicle ran. +The reason is is that may skip over important change speed commands or camera control commands which are prior to that item in the mission. +If you skipped over those the remainder of the mission will not run correctly. +In order to make resume mission work correctly QGC rebuilds the mission looking backwards from the last mission item flown and automatically appends relevant commands to the front of the mission. +By doing this the state of the mission prior to the resume point is restore. +The following mission commands are the ones scanned for: + +- `MAV_CMD_DO_CONTROL_VIDEO` +- `MAV_CMD_DO_SET_ROI` +- `MAV_CMD_DO_DIGICAM_CONFIGURE` +- `MAV_CMD_DO_DIGICAM_CONTROL` +- `MAV_CMD_DO_MOUNT_CONFIGURE` +- `MAV_CMD_DO_MOUNT_CONTROL` +- `MAV_CMD_DO_SET_CAM_TRIGG_DIST` +- `MAV_CMD_DO_FENCE_ENABLE` +- `MAV_CMD_IMAGE_START_CAPTURE` +- `MAV_CMD_IMAGE_STOP_CAPTURE` +- `MAV_CMD_VIDEO_START_CAPTURE` +- `MAV_CMD_VIDEO_STOP_CAPTURE` +- `MAV_CMD_DO_CHANGE_SPEED` +- `MAV_CMD_NAV_TAKEOFF` + +### Remove mission after vehicle lands + +You will be prompted to remove the mission from the vehicle after the mission completes and the vehicle lands and disarms. +This is meant to prevent issues where stale missions are unknowingly left on a vehicle cause unexpected behavior. + +### Instrument panel + +#### Camera trigger + +#### Flight Time + +Flight time is now available for display in the instrument panel. +For new users, flight time will be shown by default. +For existing users who have already modified their instrument panel values you will have to add it yourself if you want to use it. + +## [Analyze View](../analyze_view/index.md) + +- [Log Download](../analyze_view/log_download.md) moved to _Analyze View_ from menu. +- New [GeoTag Images](../analyze_view/geotag_images.md) support for PX4 Pro firmware +- New [MAVLink Console](../analyze_view/mavlink_console.md) which provides access the the _nsh shell_ running on the vehicle. + +## Multi-Vehicle View + +There is a new view available when you have multiple vehicles connected to QGC. It will only show up when more than one vehicle is connected. When that happens you will see an additional set of radio button at the top right of the Plan view. + + + +Click the **Multi-Vehicle** radio button to replace the instrument panel with the multi-vehicle list: + + + +The example above shows three vehicles. The numbers are the vehicle id. In the large font is the current flight mode. You can click the flight mode name to change to a different flight mode. To the right are small version of the instruments for each vehicle. You can command the vehicle to do the following actions from the control panel: + +- Arm/Disarm +- Start/Stop a mission +- Return to Launch +- Take Control back of the vehicle by returning to manual control from a mission. + +### Multi-Vehicle Gotchas - Unique vehicle ids + +Each vehicle connected to QGC must have a unique id. Otherwise QGC will think the vehicles are actually the same vehicle. The symptom of this is the Plan view jerking around as it tries to position itself to one vehicle and then the next. For PX4 Pro firmwares this is the `MAV_SYS_ID` parameter. For ArduPilot firmwares it is the `SYSID_THISMAV` parameter. + +## Support for third-party customized QGroundControl + +Standard QGC supports multiple firmware types and multiple vehicle types. There is now support in QGC which allows a third-party to create their own custom version of QGC which is targeted specifically to their custom vehicle. They can then release their own version of QGC with their vehicle. diff --git a/docs/ru/qgc-user-guide/releases/stable_v3.3_long.md b/docs/ru/qgc-user-guide/releases/stable_v3.3_long.md new file mode 100644 index 00000000000..4c2f86d680d --- /dev/null +++ b/docs/ru/qgc-user-guide/releases/stable_v3.3_long.md @@ -0,0 +1,96 @@ +# QGroundControl v3.3 Release Notes (Detailed) + +This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.3. + +## Detailed Notes + +### Settings View + +#### NMEA GPS Device support + +![NMEA GPS Device support](../../../assets/settings/general/NMEADevice.jpg) + +You can specify a connection to one of these devices on the General page. +The GPS information will then be used for ground station location and in turn follow me support. + +For more information see [Settings > General (AutoConnect to the following devices)](../settings_view/general.md#auto_connect). + +#### Video Recording + +![Video Recording](../../../assets/settings/video_recording.jpg) + +Videos will be saved to the Video directory of your QGC file save path. +You can also specify the maximum amount of space you want video files to consume. +After that size if exceeded the oldest video files will be removed. +Video Recording is turned on/off from the Video widget in the Fly View. + +For more information see [Settings > General (Video / Video Recording)](../settings_view/general.md#video). + +### Plan View {#plan\_view} + +#### Structure Scan + +A Structure Scan allows you to create a grid flight pattern that captures images over vertical surfaces (polygonal or circular). +These are typically used for the visual inspection or creation of 3d models of structures. + +Details [here](../plan_view/pattern_structure_scan_v2.md). + +#### New MAVLink GeoFence, Rally Point support + +![](../../../assets/plan/geofence_rally.jpg) + +QGC supports the new MAVLink GeoFence and Rally Point specification/protocol. This new system supports multiple polygonal and/or circular fences which can be specified as an exclusion or an inclusion fence. + +The fence which is currently selected by the "Edit" radio button will show the on screen editing controls such as the drag points for polygon editing. + +**Note** Only PX4 Pro firmware supports the new specification. ArduPilot does not yet support the new spec. Support for GeoFence/Rally is temporarily disabled in QGC until QGC ArduPilot code is reworked to the new architecture. + +#### Edit Position Dialog + +![](../../../assets/plan/edit_position_dialog.jpg) + +The Edit Position Dialog allows you to specify a detailed position for an item in either Geographic or UTM coordinate systems. It is available from the Polygon Tools menu as well as the hamburger menu of any mission item which specifies a coordinate: + +![](../../../assets/plan/mission_item_editor_hamburger.jpg) + +#### Polygon Tools + +![](../../../assets/plan/polygon_tools.jpg) + +You can now also click on the polygon center drag handle to bring up a set of polygon manipulation tools. The tools are available anywhere polygon editing is supported: Survey, Structure Scan, GeoFence, ... + +- Circle - Converts the polygon to a circular polygon. +- Polygon - Changes a circular polygon back to a rectangular polygon. +- Set radius - Set radius for circular polygons. +- Edit position - Displays the edit position dialog to specify a detailed position for the circular center. +- Load KML - Set polygon to polygon loaded from KML file. + +Circular polygon example: + + + +### Fly View + +#### Start/Stop Video Recording + +This is now a video record button in the video window. Settings for saved videos are available from General Page of Setup view. + +#### Multi-Vehicle vehicle indicators + +When you are connected to multiple vehicles the vehicle id will be shown below the vehicle icon. The active vehicle will be opaque and the inactive vehicles will be semi-transparent. + +![](../../../assets/fly/multi_vehicle_indicators.jpg) + +#### Multi-Vehicle View supports batch commands + +The multi-vehicle list now supports commands which apply to all vehicles. + +![](../../../assets/fly/multi_vehicle_list.jpg) + +The current list of available commands are Pause and Start Mission but that will be exapanded upon with further development. + +#### ADS-B sensor vehicle display + +Vehicle reported by ADS-B sensor on vehicle are shown on map as smaller blue icons with altitude and callsign below the icon. + +![](../../../assets/fly/adsb_vehicle.jpg) diff --git a/docs/ru/qgc-user-guide/releases/stable_v4.0_additional.md b/docs/ru/qgc-user-guide/releases/stable_v4.0_additional.md new file mode 100644 index 00000000000..9399f0d3702 --- /dev/null +++ b/docs/ru/qgc-user-guide/releases/stable_v4.0_additional.md @@ -0,0 +1,13 @@ +# QGroundControl v4.0 Release Notes (Additional) + +This topic contains additional notes about QGroundControl 4.0. +These should be integrated into main documentation in coming months (and this document deleted). + +- [Pattern Presets](../plan_view/pattern_presets.md) - Allows you to save settings for a Pattern item (Survey, Corridor Scan, ...) into a named preset. You can then use this preset over and over again as you create new Pattern. +- ArduPilot: + - Copter - PID Tuning support ![PID Tuning JPG](../../../assets/daily_build_changes/arducopter_pid_tuning.jpg) + - Copter - Additional Basic Tuning options ![Basic Tuning JPG](../../../assets/daily_build_changes/arducopter_basic_tuning.jpg) + - Copter/Rover - Frame setup ui ![Setup Frame Copter JPG](../../../assets/daily_build_changes/arducopter_setup_frame.jpg) + - Improved support for flashing ChibiOS firmware + - Improved support for connecting to ChibiOS bootloader boards + - Support configurable mavlink stream rates. Available from Settings/Mavlink page. ![Stream Rates JPG](../../../assets/daily_build_changes/arducopter_stream_rates.jpg) diff --git a/docs/ru/qgc-user-guide/settings_view/console_logging.md b/docs/ru/qgc-user-guide/settings_view/console_logging.md new file mode 100644 index 00000000000..e89bb78be30 --- /dev/null +++ b/docs/ru/qgc-user-guide/settings_view/console_logging.md @@ -0,0 +1,47 @@ +# Console Logging + +The _Console_ can be helpful tool for diagnosing _QGroundControl_ problems. It can be found in **SettingsView > Console**. + +![Console logging](../../../assets/support/console.jpg) + +Click the **Set Logging** button to enable/disable logging information displayed by _QGroundControl_. + +## Common Logging Options + +The most commmonly used logging options are listed below. + +| Option(s) | Description | +| ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `LinkManagerLog`, `MultiVehicleManagerLog` | Debug connection problems. | +| `LinkManagerVerboseLog` | Debug serial ports not being detected. Very noisy continuous output of available serial ports. | +| `FirmwareUpgradeLog` | Debug firmware flash issues. | +| `ParameterManagerLog` | Debug parameter load problems. | +| `ParameterManagerDebugCacheFailureLog` | Debug parameter cache crc misses. | +| `PlanManagerLog`, `MissionManagerLog`, `GeoFenceManagerLog`, `RallyPointManagerLog` | Debug Plan upload/download issues. | +| `RadioComponentControllerLog` | Debug Radio calibration issues. | + +## Logging from the Command Line + +An alternate mechanism for logging is using the `--logging` command line option. This is handy if you are trying to get logs from a situation where _QGroundControl_ crashes. + +How you do this and where the traces are output vary by OS: + +- Windows + - You must open a command prompt, change directory to the **qgroundcontrol.exe** location, and run it from there: + ```bash + cd "\Program Files (x86)\qgroundcontrol" + qgroundcontrol --logging:full + ``` + - When _QGroundControl_ starts you should see a separate console window open which will have the log output +- OSX + - You must run _QGroundControl_ from Terminal. The Terminal app is located in Applications/Utilities. Once Terminal is open paste the following into it: + ```bash + cd /Applications/qgroundcontrol.app/Contents/MacOS/ + ./qgroundcontrol --logging:full + ``` + - Log traces will output to the Terminal window. +- ## Linux + ```bash + ./qgroundcontrol-start.sh --logging:full + ``` + - Log traces will output to the shell you are running from. diff --git a/docs/ru/qgc-user-guide/settings_view/csv.md b/docs/ru/qgc-user-guide/settings_view/csv.md new file mode 100644 index 00000000000..ae227ea9238 --- /dev/null +++ b/docs/ru/qgc-user-guide/settings_view/csv.md @@ -0,0 +1,11 @@ +# CSV Logging + +![Csv checkbox](../../../assets/settings/general/csv.jpg) + +When checked, a CSV (comma-separated value) telemetry file will be created along with the usual **.tlog** telemetry file. +The file is only created if **Save log after each flight** is enabled, and is recorded for the same duration. + +This CSV file contains the most relevant vehicle telemetry data available for quick analysis such as GPS position, attitude, battery status, and others. +It is populated at 1 Hz and while it is not as detailed as the telemetry log, it is a lot easier to work with and quicker to extract data out of. + +The file can be opened by common spreadsheet software, including: Microsoft Excel, Google Sheets, LibreOffice Calc or OpenOffice Calc. diff --git a/docs/ru/qgc-user-guide/settings_view/general.md b/docs/ru/qgc-user-guide/settings_view/general.md new file mode 100644 index 00000000000..f88e660ef42 --- /dev/null +++ b/docs/ru/qgc-user-guide/settings_view/general.md @@ -0,0 +1,282 @@ +# General Settings (Settings View) + +The general settings (**SettingsView > General Settings**) are the main place for application-level configuration. +Settable values include: display units, autoconnection devices, video display and storage, RTK GPS, brand image, and other miscellaneous settings. + +:::info +Values are settable even if no vehicle is connected. Settings that require a vehicle restart are indicated in the UI. +::: + +![SettingsView - Full General Tab](../../../assets/settings/general/overview.jpg) + +## Units + +This section defines the display units used in the application. + +![Units settings](../../../assets/settings/general/units.jpg) + +The settings are: + +- **Distance**: Meters | Feet +- **Area**: SquareMetres | SquareFeet | SquareKilometers | Hectares | Acres | SquareMiles +- **Speed**: Metres/second | Feet/second | Miles/hour | Kilometres/hour | Knots +- **Temperature**: Celsius | Fahrenheit + +## Miscellaneous + +This section defines a number of miscellaneous settings, related to (non exhaustively): font sizes, colour schemes, map providers, map types, telemetry logging, audio output, low battery announcement levels, default mission altitude, [virtual joysticks](../settings_view/virtual_joystick.md), mission autoloading, default application file load/save path etc. + +![Miscellaneous settings](../../../assets/settings/general/miscellaneous.jpg) + +The settings are: + +- **Language**: System (System Language) | Bulgarian, Chinese, ... + + ![Display languages](../../../assets/settings/general/languages.jpg) + + Translations are generally built into the application and selected automatically based on the system language. + + Metadata downloaded from the vehicle (such as parameter descriptions) might have translations as well. + These are downloaded from the internet upon vehicle connection. The translations are then cached locally. + This means an internet connection during vehicle connection is required at least once. + +- **Color Scheme**: Indoor (Dark) | Outdoor (Light) + +- **Map Provider**: Google | Mapbox | Bing | Airmap | VWorld | Eniro | Statkart + +- **Map Type**: Road | Hybrid | Satellite + +- **Stream GCS Position**: Never | Always | When in Follow Me Flight Mode. + +- **UI Scaling**: UI scale percentage (affects fonts, icons, button sizes, layout etc.) + +- **Mute all audio output**: Turns off all audio output. + +- **Check for Internet Connection**: Uncheck to allow maps to be used in China/places where map tile downloads are likely to fail (stops the map-tile engine continually rechecking for an Internet connection). + +- **Autoload Missions**: If enabled, automatically upload a plan to the vehicle on connection. + - The plan file must be named **AutoLoad#.plan**, where the `#` is replaced with the vehicle id. + - The plan file must be located in the [Application Load/Save Path](#load_save_path). + +- **Clear all settings on next start**: Resets all settings to the default (including this one) when _QGroundControl_ restarts. + +- **Announce battery lower than**: Battery level at which _QGroundControl_ will start low battery announcements. + +- **Application Load/Save Path**: Default location for loading/saving application files, including: parameters, telemetry logs, and mission plans. + +## Data Persistence {#data\_persistence} + +![Data Persistence Settings](../../../assets/settings/general/data_persistence.jpg) + +The settings are: + +- **Disable all data persistence**: Check to prevent any data being saved or cached: logs, map tiles etc. + This setting disables the [telemetry logs section](#telemetry_logs). + +## Telemetry Logs from Vehicle {#telemetry\_logs} + +![Telemetry Logs from Vehicle Settings](../../../assets/settings/general/telemetry_logs.jpg) + +The settings are: + +- **Save log after each flight**: Telemetry logs (`.tlog`) automatically saved to the _Application Load/Save Path_ ([above](#load_save_path)) after flight. +- **Save logs even if vehicle was not armed**: Logs when a vehicle connects to _QGroundControl_. + Stops logging when the last vehicle disconnects. +- [**CSV Logging**](csv.md): Log subset of telemetry data to a CSV file. + +## Fly View {#fly\_view} + +![Fly View Settings](../../../assets/settings/general/fly_view.jpg) + +The settings are: + +- **Use Preflight Checklist**: Enable pre-flight checklist in Fly toolbar. + +- **Enforce Preflight Checklist**: Checklist completion is a pre-condition for arming. + +- **Keep Map Centered on Vehicle**: Forces map to center on the currently selected vehicle. + +- **Show Telemetry Log Replay Status Bar**: Display status bar for [Replaying Flight Data](../fly_view/replay_flight_data.md). + +- **Virtual Joystick**: Enable [virtual joysticks](../settings_view/virtual_joystick.md) (PX4 only) + +- **Use Vertical Instrument Panel**: Align instrument panel vertically rather than horizontally (default). + +- **Show additional heading indicators on Compass**: Adds additional indicators to the compass rose: + +- _Blue arrow_: course over ground. + +- _White house_: direction back to home. + +- _Green line_: Direction to next waypoint. + +- **Lock Compass Nose-Up**: Check to rotate the compass rose (default is to rotate the vehicle inside the compass indicateor). + +- **Guided Minimum Altitude**: Minimum value for guided actions altitude slider. + +- **Guided Maximum Altitude**: Minimum value for guided actions altitude slider. + +- **Go To Location Max Distance**: The maximum distance that a Go To location can be set from the current vehicle location (in guided mode). + +## Plan View {#plan\_view} + +![Plan View Settings](../../../assets/settings/general/plan_view.jpg) + +The settings are: + +- **Default Mission Altitude**: The default altitude used for the Mission Start Panel, and hence for the first waypoint. + +## AutoConnect to the following devices {#auto\_connect} + +This section defines the set of devices to which _QGroundControl_ will auto-connect. + +![Device autoconnect settings](../../../assets/settings/general/autoconnect_devices.jpg) + +Settings include: + +- **Pixhawk:** Autoconnect to Pixhawk-series device +- **SiK Radio:** Autoconnect to SiK (Telemetry) radio +- **PX4 Flow:** Autoconnect to PX4Flow device +- **LibrePilot:** Autoconnect to Libre Pilot autopilot +- **UDP:** Autoconnect to UDP +- **RTK GPS:** Autoconnect to RTK GPS device +- **NMEA GPS Device:** Autoconnect to an external GPS device to get ground station position ([see below](#nmea_gps)) + +### Ground Station Location (NMEA GPS Device) {#nmea\_gps} + +_QGroundControl_ will automatically use an internal GPS to display its own location on the map with a purple `Q` icon (if the GPS provides a heading, this will be also indicated by the icon). +It may also use the GPS as a location source for _Follow Me Mode_ - currently supported on [PX4 Multicopters only](https://docs.px4.io/en/flight_modes/follow_me.html). + +You can also configure QGC to connect to an external GPS device via a serial or UDP port. +The GPS device must support the ASCII NMEA format - this is normally the case. + +:::tip +A higher quality external GPS system may be useful even if the ground station has internal GPS support. +::: + +Use the _NMEA GPS Device_ drop-down selector to manually select the GPS device and other options: + +- USB connection: + + ![NMEA GPS Device - Serial](../../../assets/settings/general/nmea_gps_serial.jpg) + + - **NMEA GPS Device:** _Serial_ + - **NMEA GPS Baudrate**: The baudrate for the serial port + + :::tip + To troubleshoot serial GPS problems: Disable RTK GPS [auto connection](#auto_connect), close _QGroundControl_, reconnect your GPS, and open QGC. + ::: + +- Network connection: + + ![NMEA GPS Device - UDP](../../../assets/settings/general/nmea_gps_udp.jpg) + + - **NMEA GPS Device:** _UDP Port_. + - **NMEA Stream UDP Port**: The UDP port on which QGC will listen for NMEA data (QGC binds the port as a server) + +## RTK GPS {#rtk\_gps} + +This section allows you to specify the RTK GPS "Survey-in" settings, to save and reuse the result of a Survey-In operation, or to directly enter any other known position for the base station. + +![RTK GPS Settings](../../../assets/settings/general/rtk_gps.jpg) + +:::info +The _Survey-In_ process is a startup procedure required by RTK GPS systems to get an accurate estimate of the base station position. +The process takes measurements over time, leading to increasing position accuracy. +Both of the setting conditions must met for the Survey-in process to complete. +For more information see [RTK GPS](https://docs.px4.io/en/advanced_features/rtk-gps.html) (PX4 docs) and [GPS- How it works](http://ardupilot.org/copter/docs/common-gps-how-it-works.html#rtk-corrections) (ArduPilot docs). +::: + +:::tip +In order to save and reuse a base position (because Survey-In is time consuming!) perform Survey-In once, select _Use Specified Base Position_ and press **Save Current Base Position** to copy in the values for the last survey. +The values will then persist across QGC reboots until they are changed. +::: + +The settings are: + +- Perform Survey-In + - **Survey-in accuracy (U-blox only):** The minimum position accuracy for the RTK Survey-In process to complete. + - **Minimum observation duration:** The minimum time that will be taken for the RTK Survey-in process. +- Use Specified Base Position + - **Base Position Latitude:** Latitude of fixed RTK base station. + - **Base Position Longitude:** Longitude of fixed RTK base station. + - **Base Position Alt (WGS94):** Altitude of fixed RTK base station. + - **Base Position Accuracy:** Accuracy of base station position information. + - **Save Current Base Position** (button): Press to copy settings from the last Survey-In operation to the _Use Specified Base Position_ fields above. + +## ADSB Server {#adsb\_server} + +![ADSB\_Server Settings](../../../assets/settings/general/adbs_server.jpg) + +The settings are: + +- **Connect to ADSB SBS server**: Check to connect to ADSB server on startup. +- **Host address**: Host address of ADSB server +- **Server port**: Port of ADSB server + +QGC can consume ADSB messages in SBS format from a remote or local server (at the specified IP address/port) and display detected vehicles on the Fly View map. + +::: tip +One way to get ADSB information from nearby vehicles is to use [dump1090](https://github.com/antirez/dump1090) to serve the data from a connected RTL-SDR dongle to QGC. + +The steps are: + +1. Get an RTL-SDR dongle (and antenna) and attach it to your ground station computer (you may need to find compatible drivers for your OS). +2. Install _dump1090_ on your OS (either pre-built or build from source). +3. Run `dump1090 --net` to start broadcasting messages for detected vehicles on TCP localhost port 30003 (127.0.0.1:30003). +4. Enter the server (`127.0.0.1`) and port (`30003`) address in the QGC settings above. +5. Restart QGC to start seeing local vehicles on the map. + +::: + +## Video {#video} + +The _Video_ section is used to define the source and connection settings for video that will be displayed in _Fly View_. + +![Video settings](../../../assets/settings/general/video_udp.jpg) + +The settings are: + +- **Video Source**: Video Stream Disabled | RTSP Video Stream | UDP h.264 Video Stream | UDP h.265 Video Stream | TCP-MPEG2 Video Stream | MPEG-TS (h.264) Video Stream | Integrated Camera + + ::: info + If no video source is specified then no other video or _video recording_ settings will be displayed (above we see the settings when UDP source is selected). + ::: + +- **URL/Port**: Connection type-specific stream address (may be port or URL). + +- **Aspect Ratio**: Aspect ratio for scaling video in video widget (set to 0.0 to ignore scaling) + +- **Disabled When Disarmed**: Disable video feed when vehicle is disarmed. + +- **Low Latency Mode**: Enabling low latency mode reduces the video stream latency, but may cause frame loss and choppy video (especially with a poor network connection). + +## Video Recording + +The _Video Recording_ section is used to specify the file format and maximum allocated file storage for storing video. +Videos are saved to a sub-directory ("Video") of the [Application Load/Save Path](#load_save_path). + +![Video - without auto deletion](../../../assets/settings/general/video_recording.jpg) + +![Video - auto deletion](../../../assets/settings/general/video_recording_auto_delete.jpg) + +The settings are: + +- **Auto-Delete Files**: If checked, files are auto deleted when the specified amount of storage is used. +- **Max Storage Usage**: Maximum video file storage before video files are auto deleted. +- **Video File Format**: File format for the saved video recording: mkv, mov, mp4. + +## Brand Image + +This setting specifies the _brand image_ used for indoor/outdoor colour schemes. + +The brand image is displayed in place of the icon for the connected autopilot in the top right corner of the toolbar. +It is provided so that users can easily create screen/video captures that include a company logo/branding. + +![Brand Image](../../../assets/settings/general/brand_image.jpg) + +The settings are: + +- **Indoor Image**: Brand image used in [indoor color scheme](#colour_scheme) +- **Outdoor Image**: Brand image used in [outdoor color scheme](#colour_scheme) +- **Reset Default Brand Image**: Reset the brand image back to default. diff --git a/docs/ru/qgc-user-guide/settings_view/mavlink.md b/docs/ru/qgc-user-guide/settings_view/mavlink.md new file mode 100644 index 00000000000..05bf0cd5581 --- /dev/null +++ b/docs/ru/qgc-user-guide/settings_view/mavlink.md @@ -0,0 +1,81 @@ +# MAVLink Settings + +The MAVLink settings (**SettingsView > MAVLink**) allow you to configure options and view information specific to MAVLink communications. +This includes setting the MAVLink system ID for _QGroundControl_ and viewing link quality. + +The screen also allows you to manage [MAVLink 2 Log Streaming](#logging) (PX4 only), including _automating log upload to Flight Review_! + +![MAVLink settings screen](../../../assets/settings/mavlink/overview.png) + +## Ground Station {#ground\_station} + +This section sets the MAVLink properties and behaviour of _QGroundControl_. + +![Ground Station](../../../assets/settings/mavlink/ground_station.png) + +- **MAVLink System ID:** System ID of _QGroundControl_ on the MAVLink network (Default: 255). + Vehicles are typically allocated IDs from 1. + You may have to specify another ID if there are multiple ground stations or MAVLink applications on the network. +- **Emit heartbeat:** Disable emission of regular MAVLink HEARTBEAT message (Default: True). + Generally speaking, you should not turn this off. +- **Only accept MAVs with the same protocol version:** Set true to only connect to MAVLink 1 or to MAVLink 2 vehicles (Default: True). +- **Enable MAVLink forwarding:** Enable _QGroundControl_ to forward MAVLink messages from connected vehicles to another UDP endpoint (Default: False). + Note that this forwarding is one-way: from QGC to the specified host. + Any MAVLink messages that are received from the specified host will be ignored. + +## Link Status {#link\_status} + +This shows the status of MAVLink message transfer over the communications link. +A high **Loss rate** may lead to protocol errors for things like parameter download or mission upload/download. + +![Link Status](../../../assets/settings/mavlink/link_status.jpg) + +## MAVLink 2 Logging (PX4 only) {#logging} + +The _MAVLink 2 Logging_ settings (PX4 only) configure real-time log streaming from PX4 to _QGroundControl_ and upload of logs to [Flight Review](https://logs.px4.io). + +:::warning +MAVLink 2 Logging cannot be used on "basic" setups because it requires a constant high-rate MAVLink connection to the vehicle (it _may_ work over WiFI but will _not_ work over a Telemetry link). +::: + +:::tip +In theory log streaming allows real time analysis of data. +At time of writing real-time analysis has not yet been implemented. +::: + +The log format is the same as for SD Card logs (downloaded using [Analyze View > Log Download](../analyze_view/log_download.md)), but actual data logged may be slightly different because log start/stop time is controlled by _QGroundControl_ and because some dropouts may occur when streaming over a lossy channel. + +The _MAVLink 2 Logging_ section allows you to manually start and stop logging, and to enable automatic capture of logs. + +![MAVLink 2 Logging](../../../assets/settings/mavlink/mavlink2_logging.jpg) + +The _MAVLink 2 Log Uploads_ section allows you configure uploading of MAVLink logs to [Flight Review](https://logs.px4.io). +You can specify all the fields that you would otherwise have to directly enter in the site, and also choose whether logs are automatically or manually uploaded. + +![MAVLink 2 Log Uploads](../../../assets/settings/mavlink/mavlink2_log_uploads.jpg) + +The fields are: + +- **Email address for Log Uploads:** _Flight Review_ will email you a link to the upload at this address. + This is important as otherwise you will have no way to access a non-public log after upload. +- **Default Description:** Description/name of flight used for log. +- **Default Upload URL:** URL for upload of the log/log metadata. + This is set by default to the _Flight Review_ URL. +- **Video URL:** (Optional) URL for video of flight associated with log. + This may be included on the Flight Review page to ease analysis. +- **Wind Speed:** Used to aid debugging and filtering (from multiple flights). Allowed values: _Calm_ | _Breeze_ | _Gale_ | _Storm_. +- **Flight Rating:** Used to aid debugging and filtering (from multiple flights). Allowed values: _Crashed (Pilot Error)_ | _Crashed (Software or Hardware Issue)_ | _Unsatisfactory_ | _Good_ | _Great_. +- **Additional Feedback:** (Optional). Enter a more detailed description of the flight or behaviour. +- **Make this log publically available:** If set, the log will be visible and searchable on _Flight Review_. + If not set, it will only be available via the link emailed on upload. +- **Enable automatic log uploads:** If set, the log will automatically be uploaded on completion. +- **Delete log file after uploading:** If set, the log will automatically deleted after upload. + +The _Saved Log Files_ section is used to manually manage log uploads. +Use the checkboxes and buttons to select logs, and either delete or upload them. + +:::tip +You can change the parameters in _MAVLink 2 Log Uploads_ above to specify separate descriptions for uploaded logs. +::: + +![Saved log files](../../../assets/settings/mavlink/saved_log_files.jpg) diff --git a/docs/ru/qgc-user-guide/settings_view/offline_maps.md b/docs/ru/qgc-user-guide/settings_view/offline_maps.md new file mode 100644 index 00000000000..a3c0384c15b --- /dev/null +++ b/docs/ru/qgc-user-guide/settings_view/offline_maps.md @@ -0,0 +1,14 @@ +# Offline Maps + +![](../../../assets/settings/offline_maps.jpg) + +Offline Maps allows you to cache map tiles for use when not connected to the Internet. You can create multiple offline sets, each for a different location. + +## Add new set + +To create a new offline map set, click "Add new set". Which will take you to this page: +![](../../../assets/settings/offline_maps_add.jpg) + +From here you can name your set as well as specify the zoom levels you want to cache. Move the map to the position you want to cache and then set the zoom levels and click Download to cache the tiles. + +To the left you can see previews of the min and max zoom levels you have chosen. diff --git a/docs/ru/qgc-user-guide/settings_view/settings_view.md b/docs/ru/qgc-user-guide/settings_view/settings_view.md new file mode 100644 index 00000000000..d370436affa --- /dev/null +++ b/docs/ru/qgc-user-guide/settings_view/settings_view.md @@ -0,0 +1,19 @@ +# Settings View + +The _Settings View_ is used to configure the settings for the _QGroundControl_ application (rather than a specific vehicle). You do not have to have a vehicle connected to change these values. + +You can switch between the various settings options by clicking the buttons in the left-sidebar. + +![](../../../assets/settings/settings_view.jpg) + +## Settings Options + +**[General](general.md)**
The main application configuration settings. These are used to specify: display units, autoconnection devices, video display and storage, RTK GPS, etc. + +**Comm Links**
Allows you to manually create communication links and connect to them. _Keep in mind that normally this is not needed since QGroundControl will automatically connect to the most common devices._ + +**[Offline Maps](offline_maps.md)**
Allows you to cache maps for use while you have no Internet connection. + +**[MAVLink](mavlink.md)**
Settings associated with the MAVLink connection to a vehicle. + +**[Console](console_logging.md)**
Used to capture application logs for help with diagnosing application problems. diff --git a/docs/ru/qgc-user-guide/settings_view/virtual_joystick.md b/docs/ru/qgc-user-guide/settings_view/virtual_joystick.md new file mode 100644 index 00000000000..33544050b15 --- /dev/null +++ b/docs/ru/qgc-user-guide/settings_view/virtual_joystick.md @@ -0,0 +1,20 @@ +# Virtual Joystick + +_QGroundControl_ allows you to control a vehicle with on-screen virtual thumbsticks. These are displayed as shown below in the flight view. + +![QGroundControl Preferences > Enable Virtual Joystick](../../../assets/settings/joystick_virtual_joystick_displayed.jpg) + +:::info +Thumbstick control is not as responsive as using an RC Transmitter (because the information is sent over MAVLink). Another alternative is to use a [USB Joystick/Gamepad](../setup_view/joystick.md). +::: + +## Enable the thumbsticks + +To enable the virtual joysticks: + +1. Select the **Q** icon from the top toolbar +2. Open the **Application Settings** +3. Make sure you're on the **General** tab +4. Check the **Virtual joystick** box + + ![QGroundControl Application Settings > Enable Virtual joystick](../../../assets/settings/joystick_virtual_joystick_enable.png) diff --git a/docs/ru/qgc-user-guide/setup_view/airframe.md b/docs/ru/qgc-user-guide/setup_view/airframe.md new file mode 100644 index 00000000000..475afe234ed --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/airframe.md @@ -0,0 +1,7 @@ +# Airframe Setup + +This page allows you to configure the main airframe selection associated with your vehicle. +The view/process differs slightly based on the flight controller firmware used. + +- [Airframe (ArduPilot)](../setup_view/airframe_ardupilot.md) +- [Airframe (PX4)](../setup_view/airframe_px4.md) diff --git a/docs/ru/qgc-user-guide/setup_view/airframe_ardupilot.md b/docs/ru/qgc-user-guide/setup_view/airframe_ardupilot.md new file mode 100644 index 00000000000..d0dd811a1be --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/airframe_ardupilot.md @@ -0,0 +1,41 @@ +# Airframe Setup (ArduPilot) + +Airframe Setup is used to select the frame class and type that matches your vehicle + +:::info +Airframe Setup is only available on _ArduCopter_ and _ArduSub_ vehicles (it is not shown for _ArduPilot_ Rover or Plane vehicles). +::: + +## ArduCopter Airframe Setup + +To select the airframe in Copter: + +1. First select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Airframe** in the sidebar. + + ![Airframe config](../../../assets/setup/airframe/arducopter.jpg) + +2. Select the broad _Frame Class_ for your vehicle: + + ![Airframe type](../../../assets/setup/airframe/arducopter_class.jpg) + + ::: info + You will need to reboot the vehicle for class changes to take effect. + ::: + +3. Select the specific _Frame Type_ for your vehicle: + + ![Airframe type](../../../assets/setup/airframe/arducopter_type.jpg) + +## ArduSub Frame Setup {#ardusub} + +To select the frame type for Sub: + +1. First select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Frame** in the sidebar. +2. Select the frame type that matches your vehicle (selecting a frame applies the selection). +3. Make sure that all **green** thrusters have **clockwise** propellers and all **blue** thrusters have **counter-clockwise** propellers (or vice-versa). + + ![Select airframe type](../../../assets/setup/airframe_ardusub.jpg) + + - You can also click **Load Vehicle Default Parameters** to load default parameter set for ArduSub. + + ![Load vehicle params](../../../assets/setup/airframe_ardusub_parameters.jpg) diff --git a/docs/ru/qgc-user-guide/setup_view/airframe_px4.md b/docs/ru/qgc-user-guide/setup_view/airframe_px4.md new file mode 100644 index 00000000000..9a1dac51cb1 --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/airframe_px4.md @@ -0,0 +1,19 @@ +# Airframe Setup (PX4) + +To select the airframe in PX4: + +1. Start _QGroundControl_ and connect the vehicle. + +2. Select **QGroundControl icon > Vehicle Setup > Airframe** (sidebar) to open _Airframe Setup_. + +3. Select the broad vehicle group/type that matches your airframe and then use the dropdown within the group to choose the airframe that best matches your vehicle. + + ![Airframe options](../../../assets/setup/airframe_px4/airframe_px4.jpg) + + The example above shows _Generic Hexarotor X geometry_ selected from the _Hexarotor X_ group. + +4. Click the **Apply and Restart** button on the top right of the screen. + +5. Click **Apply** in the following prompt to save the settings and restart the vehicle. + + diff --git a/docs/ru/qgc-user-guide/setup_view/camera.md b/docs/ru/qgc-user-guide/setup_view/camera.md new file mode 100644 index 00000000000..0a63044c0a2 --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/camera.md @@ -0,0 +1,18 @@ +# Camera Setup + +The details of the page differ if you are using PX4 firmware or ArduPilot firmware. + +## ArduPilot Camera Setup + +![](../../../assets/setup/ardupilot_camera.jpg) + +## PX4 Camera Setup + +![PX4 Camera setup](../../../assets/setup/px4_camera.jpg) + +For more information see [Camera](http://docs.px4.io/master/en/peripherals/camera.html) (PX4 User Guide). + +:::info +The camera settings section is not available by default for FMUv2-based flight controllers (e.g. 3DR Pixhawk) because the camera module is not automatically included in firmware. +For more information see [this topic](http://docs.px4.io/master/en/advanced_config/parameters.html#parameter-not-in-firmware). +::: diff --git a/docs/ru/qgc-user-guide/setup_view/firmware.md b/docs/ru/qgc-user-guide/setup_view/firmware.md new file mode 100644 index 00000000000..0ca404450a4 --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/firmware.md @@ -0,0 +1,49 @@ +# Loading Firmware + +_QGroundControl_ **desktop** versions can install [PX4 Pro](http://px4.io/) or [ArduPilot](http://ardupilot.com) firmware onto Pixhawk-family flight-controller boards. By default QGC will install the current stable version of the selected autopilot, but you can also choose to install beta builds, daily builds, or custom firmware files. + +_QGroundControl_ can also install the firmware for SiK Radios and PX4 Flow devices. + +> **Caution** Loading Firmware is currently not available on tablet or phone versions of _QGroundControl_. + +## Connect Device for Firmware Update + +> **Caution** **Before you start installing Firmware** all USB connections to your vehicle must be _disconnected_ (both direct or through a telemetry radio). The vehicle must _not be_ powered by a battery. + +1. First select the **Gear** icon (_Vehicle Setup_) in the top toolbar and then **Firmware** in the sidebar. + +![Firmware disconnected](../../../assets/setup/firmware/firmware_disconnected.jpg) + +1. Connect your device (Pixhawk, SiK Radio, PX4 Flow) directly to your computer via USB. + + ::: info + Connect directly to a powered USB port on your machine (do not connect through a USB hub). + ::: + +## Select Firmware to Load + +Once the device is connected you can choose which firmware to load (_QGroundControl_ presents sensible options based on the connected hardware). + +1. For a Pixhawk-compatible board choose either **PX4 Flight Stack vX.X.X Stable Release** or **ArduPilot Flight Stack** radio buttons to download the _current stable release_. + + ![Select PX4](../../../assets/setup/firmware/firmware_select_default_px4.jpg) + + If you select _ArduPilot_ you will also have to choose the specific firmware and the type of vehicle (as shown below). + + ![Select ArduPilot](../../../assets/setup/firmware/firmware_selection_ardupilot.jpg) + +2. Check **Advanced settings** to select specific developer releases or install firmware from your local file system. + + ![ArduPilot - Advanced Settings](../../../assets/setup/firmware/firmware_selection_advanced_settings.jpg) + +## Update the firmware + +1. Click the **OK** button to start the update. + + The firmware will then proceed through a number of upgrade steps (downloading new firmware, erasing old firmware etc.). + Each step is printed to the screen and overall progress is displayed on a progress bar. + + ![Firmware Upgrade Complete](../../../assets/setup/firmware/firmware_upgrade_complete.jpg) + +Once the firmware has finished loading the device/vehicle will reboot and reconnect. +Next you will need to configure the [airframe](../setup_view/airframe.md) (and then sensors, radio, etc.) diff --git a/docs/ru/qgc-user-guide/setup_view/flight_modes.md b/docs/ru/qgc-user-guide/setup_view/flight_modes.md new file mode 100644 index 00000000000..382c8bee975 --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/flight_modes.md @@ -0,0 +1,62 @@ +# Flight Modes Setup + +The _Flight Modes_ section allows you to map flight modes to radio channel(s), and hence to the switches on your radio control transmitter. +Both flight mode setup and the available flight modes are different in PX4 and ArduPilot (and there are some differences between ArduCopter and ArduPlane). + +:::info +In order to set up flight modes you must already have already [configured your radio](../setup_view/radio.md), and [setup the transmitter](#transmitter-setup) (as shown below). +::: + +To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +For more flight stack specific setup see: + +- [ArduPilot Flight Modes Setup](../setup_view/flight_modes_ardupilot.md) +- [PX4 Flight Modes Setup](../setup_view/flight_modes_px4.md) + +## Transmitter Setup + +In order setup flight modes you will first need to configure your _transmitter_ to encode the physical positions of your mode switch(es) into a single channel. + +On both PX4 and ArduPilot you can assign up to 6 different flight modes to a single channel of your transmitter +It is common to use the positions of a 2- and a 3-position switch on the transmitter to represent the 6 flight modes. +Each combination of switches is then encoded as a particular PWM value that will be sent on a single channel. + +:::info +The single channel is selectable on PX4 and ArduPlane, but is fixed to channel 5 on Copter. +::: + +The process for this varies depending on the transmitter. +A number of setup examples are provided below. + +### Taranis + +These examples show several configurations for the _FrSky Taranis_ transmitter. + +#### Map 3-way Switch to a Single Channel + +If you only need to support selecting between two or three modes then you can map the modes to the positions just one 3-way switch. +Below we show how to map the Taranis 3-way "SD" switch to channel 5. + +Open the Taranis UI **MIXER** page and scroll down to **CH5**, as shown below: + +![Taranis - Map channel to switch](../../../assets/setup/flight_modes/taranis_single_channel_mode_selection_1.png) + +Press **ENT(ER)** to edit the **CH5** configuration then change the **Source** to be the _SD_ button. + +![Taranis - Configure channel](../../../assets/setup/flight_modes/taranis_single_channel_mode_selection_2.png) + +That's it! +Channel 5 will now output 3 different PWM values for the three different **SD** switch positions. + +#### Map Multiple Switches to a Single Channel + +Most transmitters do not have 6-way switches, so if you need to be able to support more modes than the number of switch positions available (up to 6) then you will have to represent them using multiple switches. +Commonly this is done by encoding the positions of a 2- and a 3-position switch into a single channel, so that each switch position combination results in a different PWM value. + +On the FrSky Taranis this process involves assigning a "logical switch" to each combination of positions of the two real switches. +Each logical switch is then assigned to a different PWM value on the same channel. + +This video shows how this is done with the _FrSky Taranis_ transmitter: https\://youtu.be/TFEjEQZqdVA + + diff --git a/docs/ru/qgc-user-guide/setup_view/flight_modes_ardupilot.md b/docs/ru/qgc-user-guide/setup_view/flight_modes_ardupilot.md new file mode 100644 index 00000000000..2f4978ced77 --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/flight_modes_ardupilot.md @@ -0,0 +1,54 @@ +# ArduPilot Flight Mode Setup + +The _Flight Modes_ section allows you to configure which flight modes and other actions are triggered by particular switches/switch positions on your RC transmitter. + +::: info +In order to set up flight modes you must already have + +> - [Configured your radio](../setup_view/radio.md) in order to set flight modes. +> - [Setup the RC transmitter](../setup_view/FlightModes.md#transmitter-setup) (Flight Modes > Transmitter Setup)> ::: + +To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +![Flight modes setup - ArduCopter](../../../assets/setup/flight_modes/ardupilot_copter.jpg) + +## Flight Mode Settings + +On ArduPilot you can assign up to 6 different flight modes to a single channel of your transmitter (the channel is selectable on Plane, but fixed to channel 5 on Copter). +ArduCopter also allows you to specify additional _Channel Options_ for channels 7-12. +These allow you to assign functions to these switches (for example, to turn on a camera, or return to launch). + +To set the flight modes: + +1. Turn on your RC transmitter. + +2. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + + ![Flight modes setup - ArduCopter](../../../assets/setup/flight_modes/ardupilot_copter.jpg) + + ::: info + The above image is a screenshot of the flight mode setup for ArduCopter. + ::: + +3. Select up to 6 flight modes in the drop downs. + +4. **ArduCopter only:** Select additional _Channel Options_ for channels 7-12. + +5. **ArduPlane only:** Select the mode channel from the dropdown. + + ![Flight modes setup - ArduPlane](../../../assets/setup/flight_modes/ardupilot_plane.jpg) + +6. Test that the modes are mapped to the right transmitter switches by selecting each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode). + +All values are automatically saved as they are changed. + +::: info +The ArduCopter screenshot above shows a typical setup for a three position flight mode switch with an additional option of RTL being on a channel 7 switch. +You can also setup 6 flight modes using two switches plus mixing on your transmitter. Scroll down to the center section of this [page](http://ardupilot.org/copter/docs/common-rc-transmitter-flight-mode-configuration.html#common-rc-transmitter-flight-mode-configuration) for tutorials on how to do that. +::: + +## See Also + +- [ArduCopter Flight Modes](http://ardupilot.org/copter/docs/flight-modes.html) +- [ArduPlane Flight Modes](http://ardupilot.org/plane/docs/flight-modes.html) +- [ArduCopter > Auxiliary Function Switches](https://ardupilot.org/copter/docs/channel-7-and-8-options.html#channel-7-and-8-options) - additional information about channel configuration. diff --git a/docs/ru/qgc-user-guide/setup_view/flight_modes_px4.md b/docs/ru/qgc-user-guide/setup_view/flight_modes_px4.md new file mode 100644 index 00000000000..2fac3ae0d8e --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/flight_modes_px4.md @@ -0,0 +1,50 @@ +# PX4 Flight Modes Setup + +The _Flight Modes_ section allows you to configure which [flight modes](http://docs.px4.io/master/en/getting_started/flight_modes.html) and other actions are triggered by particular switches/switch positions on your RC transmitter. + +::: info +In order to set up flight modes you must already have + +- [Configured your radio](../setup_view/radio.md) in order to set flight modes. +- [Setup the RC transmitter](../setup_view/FlightModes.md#transmitter-setup) (Flight Modes > Transmitter Setup) + ::: + +To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +![Flight modes single-channel](../../../assets/setup/flight_modes/px4_single_channel.jpg) + +## Flight Mode Settings + +The screen allows you to specify a "mode" channel and select up to 6 flight modes that will be activated based on the value sent on the channel. +You can also assign a small number of channels to trigger particular actions, such as deploying landing gear, or emergency shutdown (kill switch). + +The steps are: + +1. Turn on your RC transmitter. + +2. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + + ![Flight modes single-channel](../../../assets/setup/flight_modes/px4_single_channel.jpg) + +3. Specify _Flight Mode Settings_: + + - Select the transmitter **Mode channel** (shown as Channel 5 above). + - Select up to six **Flight Modes** for switch positions encoded in the channel. + + ::: info + Position mode, return mode and mission mode [are recommended](https://docs.px4.io/master/en/config/flight_mode.html#what-flight-modes-and-switches-should-i-set). + ::: + +4. Specify _Switch Settings_: + + - Select the channels that you want to map to specific actions - _Kill switch_, landing gear, etc. (if you have spare switches and channels on your transmitter). + +5. Test that the modes are mapped to the right transmitter switches: + - Check the _Channel Monitor_ to confirm that each switch moves the expected channel. + - Select each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode). + +All values are automatically saved as they are changed. + +## See Also + +- [PX4 Flight Modes](https://docs.px4.io/en/flight_modes/) diff --git a/docs/ru/qgc-user-guide/setup_view/joystick.md b/docs/ru/qgc-user-guide/setup_view/joystick.md new file mode 100644 index 00000000000..ffd4be052c0 --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/joystick.md @@ -0,0 +1,205 @@ +# Joystick Setup + +_QGroundControl_ allows you to control a vehicle using a joystick or gamepad instead of an RC Transmitter. + +:::info +Flying with a Joystick (or [virtual thumb-sticks](../settings_view/virtual_joystick.md)) requires a reliable high bandwidth telemetry channel to ensure that the vehicle is responsive to joystick movements (because joystick information is sent over MAVLink). +::: + +:::info +Joystick and Gamepad support is enabled using the cross-platform [SDL2](http://www.libsdl.org/index.php) library. +Compatibility with a particular controller depends on SDL (all buttons that are exposed by that API are displayed through the _QGroundControl_ UI). +A [number of common joysticks and gamepads](#supported-joysticks) are known to work. +::: + +:::info +The joystick is _enabled_ as the last step of the calibration process. +::: + +## Enabling PX4 Joystick Support + +To enable Joystick support in PX4 you need to set the parameter \[`COM_RC_IN_MODE`]\(h[ttp://localhost:8080/px4\_user\_guide/en](https://docs.px4.io/en/main/advanced_config/parameter_reference.html#COM_RC_IN_MODE) to `1` - _Joystick_. +If this parameter is `0` then _Joystick_ will not be offered as a setup option. + +This is enabled by default for PX4 SITL builds (see the [Parameters](../setup_view/parameters.md) topic for information on how to find and set a particular parameter). + +## Ardupilot Joystick Support + +All ArduPilot vehicles are supported. No parameter configuration is necessary. + +## Configuring the Joystick {#configure} + +To configure a joystick: + +1. Start _QGroundControl_ and connect to a vehicle. + +2. Connect the Joystick or Gamepad to a USB port. + +3. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Joystick** in the sidebar. + The screen below will appear. + + ![Joystick setup - PlayStation](../../../assets/setup/joystick_sony_playstation.jpg) + +4. Make sure your joystick is selected in the **Active joystick** dropdown. + +5. Go to the **Calibrate** Tab, press the **Start** button and then follow the on-screen instructions to calibrate/move the sticks. + + ![Joystick setup - Calibration](../../../assets/setup/joystick_calibration.jpg) + + The joystick is _enabled_ as the last step of the calibration process. + +6. Test the buttons and sticks work as intended by pressing them, and viewing the result in the Axis/Button monitor in the **General** tab. + +7. Select the flight modes/vehicle functions activated by each joystick button. + ![Joystick setup - Buttons](../../../assets/setup/joystick_buttons.jpg) + +## Advanced Options + +Some additional Options are available at the **Advanced** tab. +These options may be useful for specific, unsual setups, for increasing sensibility, and for handling noisy joysticks. + +### Throttle Options + +![Joystick setup - Throttle Modes](../../../assets/setup/joystick_throttle_modes.jpg) + +- **Center stick is zero throttle**: Centered or lowered stick sends 0 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), raised stick sends 1000. + - **Spring loaded throttle smoothing**: In this mode you control not the throttle itself, but the rate at which it increases/decreases. + This is useful for setups where the throttle stick is spring loaded, as the user can hold the desired throttle while releasing the stick. +- **Full down stick is zero throttle**: In this mode, lowered stick sends 0 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), centered stick 500, and raised 1000. +- **Allow negative thrust**: When in **Center stick is zero throttle** mode, this allows the user to send negative values by lowering the stick. + So that lowered stick sends -1000 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), centered sends zero, and raised stick sends 1000. + This mode is only enabled for vehicles that support negative thrust, such as [Rover](http://ardupilot.org/rover/index.html). + +### Expo + +The expo slider allows you to make the sticks less sensitive in the center, allowing finer control in this zone. + +![Joystick setup - Expo](../../../assets/setup/joystick_throttle_expo.jpg) + +The slider adjusts the curvature of the exponential curve. + +![Joystick setup - Expo Curve](../../../assets/setup/joystick_throttle_expo_curve.jpg) + +The higher the Expo value, the flatter the curve is at the center, and steeper it is at the edges. + +### Advanced Settings + +The advanced settings are not recommended for everyday users. +They can cause unpredicted results if used incorrectly. + +![Joystick setup - Advanced Settings](../../../assets/setup/joystick_advanced.jpg) + +The following settings are available: + +- **Enable Gimbal Control**: Enabled two additional channels for controlling a gimbal. + +- **Joystick Mode**: Changes what the joystick actually controls, and the MAVLink messages sent to the vehicle. + + - **Normal**: User controls as if using a regular RC radio, MAVLink [MANUAL\_CONTROL](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL) messages are used. + - **Attitude**: User controls the vehicle attitude, MAVLink [SET\_ATTITUDE\_TARGET](https://mavlink.io/en/messages/common.html#SET_ATTITUDE_TARGET) messages are used. + - **Position**: User controls the vehicle position, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **position** only are used. + - **Force**: User controls the forces applied to the vehicle, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **force** only are used. + - **Velocity**: User controls the forces applied to the vehicle, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **velocity** only are used. + +- **Axis Frequency**: When the joystick is idle (inputs are not changing), the joystick commands are sent to the vehicle at 5Hz. When the joystick is in use (input values are changing), the joystick commands are sent to the vehicle at the (higher) frequency configured by this setting. The default is 25Hz. + +- **Button Frequency**: Controls the frequency at which repeated button actions are sent. + +- **Enable Circle Correction**: RC controllers sticks describe a square, while joysticks usually describe a circle. + When this option is enabled a square is inscribed inside the joystick movement area to make it more like an RC controller (so it is possible to reach all four corners). The cost is decreased resolution, as the effective stick travel is reduced. + + - **Disabled:** When this is **disabled** the joystick position is sent to the vehicle unchanged (the way that it is read from the joystick device). + On some joysticks, the (roll, pitch) values are confined to the space of a circle inscribed inside of a square. + In this figure, point B would command full pitch forward and full roll right, but the joystick is not able to reach point B because the retainer is circular. + This means that you will not be able to achieve full roll and pitch deflection simultaneously. + + ![](../../../assets/setup/joystick_circle_correction.jpg) + + - **Enabled:** The joystick values are adjusted in software to ensure full range of commands. + The usable area of travel and resolution is decreased, however, because the area highlighted grey in the figure is no longer used. + + ![Circle correction enabled](../../../assets/setup/joystick_circle_correction2.jpg) + +- **Deadbands:** Deadbands allow input changes to be ignored when the sticks are near their neutral positions. + This helps to avoid noise or small oscillations on sensitive sticks which may be interpreted as commands, or small offsets when sticks do not re-center well. + They can be adjusted during the first step of the [calibration](#configure), or by dragging vertically on the corresponding axis monitor. + +## Supported Joysticks + +The following joysticks/controllers have been shown to work with relatively recent _QGroundControl_ builds. + +### Sony Playstation 3/4 Controllers + +Both these joysticks are highly recommended. +They work well "out of the box" and have many buttons that you can map to flight modes. + +#### Sony PS4 - DualShock 4 Controller V2 (Wireless setup) + +This controller supports both USB and Bluetooth wireless connection. +Wired USB connection usually works out of the box. +The wireless connection needs some setup. + +##### Linux Ubuntu setup + +To make the controller work wirelessly under Linux the [jstest-gtk](https://jstest-gtk.gitlab.io/) and [ds4drv](https://github.com/chrippa/ds4drv) utilities are needed. + +The steps are: + +1. Install _jstest-gtk_: + ``` + sudo apt install jstest-gtk + ``` +2. Install _ds4drv_: + ``` + sudo pip install ds4drv + ``` +3. Run ds4drv + ``` + sudo ds4drv + ``` +4. Hold **Share** button and then **PS** button until controller LED starts blinking rapidly. + The _ds4drv_ should then detect a new device. +5. Last of all, you should check the controller setup by running the _jstest-gtk_ utility. + +### FrSky Taranis XD9 plus + +The _FrSky Taranis XD9 plus_ remote control can also be connected as a joystick. +You will need to connect it via the USB port on the back. + +The Taranis does not allow you to use button options (to be precise, you can set the options, but toggling the buttons on your transmitter does not cause them to be pressed). + +:::info +The Taranis is an open system that is openly being worked on. +It is possible that at time of writing there is a firmware or configuration that allows it to work effectively as a joystick. +::: + +### Logitech Gamepad F310 + +The Logitech Gamepad F310 has been tested via USB on MacOSX "Sierra". + +### Logitech Extreme 3D Pro + +The [Logitech Extreme 3D Pro](http://gaming.logitech.com/en-ch/product/extreme-3d-pro-joystick) Joystick has been tested on all platforms (Linux, Windows, Mac OSX). +This is a single stick controller that can also be twisted. The main stick axes are used for pitch and roll, while the twist action is used for yaw. The throttle is mapped onto a separate wheel. + +### Logitech F710 Gamepad + + + +This gamepad is great for flying a multirotor manually via QGroundControl. It works on Windows, Linux and Mac OS. + +#### Mac OS Leopard / Lion Setup + +The F710 is detected under Leopard / Lion but is not automatically configured as an input device. +In order to get a working configuration, the F710 has to be recognised as _Rumblepad2_. + +First check how it is recognised: **Apple > About this Mac > Additional Information > System Report > USB**. +It is detected as "Logitech Cordless RumblePad 2" then nothing further needs to be done. + +If it is detected as a "Logitech Wireless 710", perform these steps: + +1. Unplug the USB receiver of the gamepad +2. Prepare to quickly plug it into a USB port +3. Hit the Logitech button (its silver with the Logitech Logo on it in the center of the pad) +4. Quickly connect the USB receiver to your Mac +5. The pad should now be detected in the system report as "Logitech Cordless RumblePad 2". If not, retry the above steps. diff --git a/docs/ru/qgc-user-guide/setup_view/motors.md b/docs/ru/qgc-user-guide/setup_view/motors.md new file mode 100644 index 00000000000..e190dca8b4e --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/motors.md @@ -0,0 +1,34 @@ +# Motor Setup + +Motor Setup is used to test individual motors/servos (for example, to verify that motors spin in the correct direction). + +:::tip +These instructions apply to PX4 and to most vehicle types on ArduPilot. +Vehicle-specific instructions are provided as sub-topics (e.g. [Motors Setup (ArduSub)](../setup_view/motors_ardusub.md)). +::: + +![Motors Test](../../../assets/setup/Motors.png) + +## Test Steps + +To test the motors: + +1. Remove all propellers. + + ::: warning + You must remove props before activating the motors! + ::: + +2. (_PX4-only_) Enable safety switch - if used. + +3. Slide the switch to enable motor sliders (labeled: _Propellers are removed - Enable motor sliders_). + +4. Adjust the individual sliders to spin the motors and confirm they spin in the correct direction. + + ::: info + The motors only spin after you release the slider and will automatically stop spinning after 3 seconds. + ::: + +## Additional Information + +- [Basic Configuration > Motor Setup](http://docs.px4.io/master/en/config/motors.html) (_PX4 User Guide_) - This contains additional PX4-specific information. diff --git a/docs/ru/qgc-user-guide/setup_view/motors_ardusub.md b/docs/ru/qgc-user-guide/setup_view/motors_ardusub.md new file mode 100644 index 00000000000..469d8995821 --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/motors_ardusub.md @@ -0,0 +1,43 @@ +# Motors Setup (ArduSub) + +In order for ArduSub to function properly, the motors must be correctly set up. + +If you just assembled your ROV, first make sure that the thrusters are connected to the correct outputs in the **Manual Test** section. +Drag each slider and make sure that the _correct motor_ spins accordingly to the frame displayed. + +Once you know that the thrusters are connected to the proper outputs you can check for _correct direction_ (forward/reverse) using either [automatic direction detection](#automatic) (recommended from ArduSub 4.0) or the [manual test](#manual). + +:::info +[Manual Test](#manual) is supported by ArduSub up to 3.5, while ArduSub 4.0 supports both [Manual Test](#manual) and [automatic direction detection](#automatic). +::: + +## Manual Test {#manual} + +The ArduSub motor setup allows you to test individual motors. +The sliders allow spinning each motor in forward or reverse mode, and the checkboxes under the sliders allow reversing the operation of individual thrusters. + +The image at the right shows the frame currently in use, along with the location and orientation of each thruster. +If the frame selection does not match your vehicle, first select the correct frame in the [Frame](../setup_view/airframe_ardupilot.md#ardusub) tab. + +To manually set up and test the motors, read and follow the instructions on the page. + +:::warning +Make sure the motors and propellers are clear from obstructions before sliding the switch to arm the vehicle and enable the test! +::: + +![Ardusub Motors Test](../../../assets/setup/motors-sub.jpg) + +## Automatic Direction Detection {#automatic} + +Ardusub 4.0 and newer support automatic detection of the motor directions. +This works by applying pulses to each motor, checking if the frame reacts as expected, and reversing the motor if necessary. +The process takes around one minute. + +To perform the automatic motor direction detection, navigate to **Vehicle Setup->Motors** tab, click the **Auto-Detect Directions** button and wait. +Additional output about the process will be shown next to the button as it runs. + +:::warning +This procedure still requires that the motors are connected to the _correct outputs_ as shown in the frame view! +::: + +![Ardusub Motors Auto-Setup](../../../assets/setup/motors-sub-auto.jpg) diff --git a/docs/ru/qgc-user-guide/setup_view/parameters.md b/docs/ru/qgc-user-guide/setup_view/parameters.md new file mode 100644 index 00000000000..8c12411227b --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/parameters.md @@ -0,0 +1,43 @@ +# Parameters + +The _Parameters_ screen allows you to find and modify any of the parameters associated with the vehicle. + +![Parameters Screen](../../../assets/setup/parameters_px4.jpg) + +:::info +PX4 Pro and ArduPilot use different parameter sets, but they are both managed as described in this section. +::: + +## Finding a Parameter + +The parameters are organized in groups. Select a group of parameters to view by clicking on the buttons to the left (in the image above the _Battery Calibration_ group is selected). + +You can also _search_ for a parameter by entering a term in the _Search_ field. This will show you a list of all parameter names and descriptions that contain the entered substring (press **Clear** to reset the search). + +![Parameters Search](../../../assets/setup/parameters_search.jpg) + +## Changing a Parameter + +To change the value of a parameter click on the parameter row in a group or search list. This will open a side dialog in which you can update the value (this dialog also provides additional detailed information about the parameter - including whether a reboot is required for the change to take effect). + +![Changing a parameter value](../../../assets/setup/parameters_changing.png) + +:::info +When you click **Save** the parameter is automatically and silently uploaded to the connected vehicle. Depending on the parameter, you may then need to reboot the flight controller for the change to take effect. +::: + +## Tools + +You can select additional options from the **Tools** menu on the top right hand side of the screen. + +![Tools menu](../../../assets/setup/parameters_tools_menu.png) + +**Refresh**
Refresh the parameter values by re-requesting all of them from the vehicle. + +**Reset all to defaults**
Reset all parameters to their original default values. + +**Load from file / Save to file**
Load parameters from an existing file or save your current parameter settings to a file. + +**Clear RC to Param**
This clears all associations between RC transmitter controls and parameters. For more information see: [Radio Setup > Param Tuning Channels](../setup_view/Radio.md#param-tuning-channels-px4). + +**Reboot Vehicle**
Reboot the vehicle (required after changing some parameters). diff --git a/docs/ru/qgc-user-guide/setup_view/power.md b/docs/ru/qgc-user-guide/setup_view/power.md new file mode 100644 index 00000000000..a87b436a697 --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/power.md @@ -0,0 +1,53 @@ +# Power Setup + +The _Power Setup_ screen is used to configure battery parameters and also provide advanced settings for propellers. + +![Battery Calibration](../../../assets/setup/px4_power.jpg) + +## Battery Voltage/Current Calibration + +Enter data for your battery/power module from its data sheet: number of cells, full voltage per cell, empty voltage per cell. If provided, also enter voltage divider and amps-per-volt information. + +_QGroundControl_ can be used to calculate appropriate voltage divider and amps-per-volt values from measurements: + +1. Measure the voltage from the battery using a multimeter. +2. Click **Calculate** next to the _Voltage divider_ field. On the prompt that appears: +3. Enter the measured voltage. +4. Click **Calculate** to generate a new voltage-divider value. +5. Click **Close** to save the value into the main form. +6. Measure the current from the battery. +7. Click **Calculate** next to the _Amps per volt_ field. On the prompt that appears: +8. Enter the measured current. +9. Click **Calculate** to generate a new _amps per volt_ value. +10. Click **Close** to save the value into the main form. + +## Advanced Power Settings + +Click the **Show Advanced Settings** checkbox to specify advanced power settings. + +### Voltage Drop on Full Load + +Batteries show less voltage at high throttle. Enter the difference in Volts between idle throttle and full throttle, divided by the number of battery cells. The default value should be used if unsure! + +:::warning +If the value is too high the battery may be deep-discharged and damaged. +::: + +## ESC PWM Minimum and Maximum Calibration + +To calibrate the ESC max/min PWM values: + +1. Remove the propellers. +2. Connect the vehicle to QGC via USB (only). +3. Click the **Calibrate** button. + +::: warning +Never attempt ESC calibration with props on. + +Motors should not spin during ESC calibration. +However if an ESC doesn't properly support/detect the calibration sequence then it will respond to the PWM input by running the motor at maximum speed. +::: + +## Other Settings + +Select the **Show UAVCAN Settings** checkbox to access additional settings for UAVCAN Bus Configuration and motor index and direction assignment. diff --git a/docs/ru/qgc-user-guide/setup_view/radio.md b/docs/ru/qgc-user-guide/setup_view/radio.md new file mode 100644 index 00000000000..94c73c6ee7c --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/radio.md @@ -0,0 +1,131 @@ +# Radio Setup + +Radio Setup is used to configure the mapping of your main transmitter attitude control sticks (roll, pitch, yaw, throttle) to channels, and to calibrate the minimum, maximum, trim and reverse settings for all other transmitter controls/RC channels. + +The main calibration process is identical for PX4 and ArduPilot (a number of additional flight-controller specific settings/tools are [detailed below](#additional-radio-setup)). + +:::info +Before you can calibrate the radio system the receiver and transmitter must be connected/bound. The process for binding a transmitter and receiver pair is hardware specific (see your manual for instructions). +::: + +## Performing the Calibration + +The calibration process is straightforward - you will be asked to move the sticks in a specific pattern that is shown on the transmitter diagram on the top right of the screen. Simply follow the instructions to complete calibration. + +To calibrate the radio: + +1. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Radio** in the sidebar. + +2. Turn on your RC transmitter. + +3. Press **OK** to start the calibration. + + ![Radio setup - before starting](../../../assets/setup/radio_start_setup.jpg) + + ::: info + The image above is for PX4 Pro. Calibration/top section is the same for both firmware, but the _Additional Radio setup_ section will differ. + ::: + +4. Set the _transmitter mode_ radio button that matches your transmitter configuration (this ensures that _QGroundControl_ displays the correct stick positions for you to follow during calibration). + + ![Radio setup - move sticks](../../../assets/setup/radio_sticks_throttle.jpg) + +5. Move the sticks to the positions indicated in the text (and on the transmitter image). Press **Next** when the sticks are in position. Repeat for all positions. + +6. When prompted, move all other switches and dials through their full range (you will be able to observe them moving on the _Channel Monitor_). + +7. Press **Next** to save the settings. + +Radio calibration is demonstrated in the [PX4 setup video here](https://youtu.be/91VGmdSlbo4?t=4m30s) (youtube). + +## Additional Radio Setup + +At the lower part of the _Radio Setup_ screen is firmware-specific _Additional Radio setup_ section. The options for each autopilot are shown below. + +| PX4 | ArduPilot | +| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| | | + +### Spectrum Bind (ArduPilot/PX4) + +Before you can calibrate the radio system the receiver and transmitter must be connected/bound. If you have a _Spektrum_ receiver you can put it in _bind mode_ using _QGroundControl_ as shown below (this can be particularly useful if you don't have easy physical access to the receiver on your vehicle). + +To bind a Spektrum transmitter/receiver: + +1. Select the **Spektrum Bind** button + +2. Select the radio button for your receiver + +3. Press **OK** + + ![Spektrum Bind](../../../assets/setup/radio_additional_setup_spectrum_bind_select_channels.jpg) + +4. Power on your Spektrum transmitter while holding down the bind button. + +### Copy Trims (PX4) + +This setting is used to copy the manual trim settings from your radio transmitter so that they can be applied automatically within the autopilot. After this is done you will need to remove the manually set trims. + +To copy the trims: + +1. Select **Copy Trims**. + +2. Center your sticks and move throttle all the way down. + +3. Press **Ok**. + + ![Copy Trims](../../../assets/setup/radio_additional_radio_setup_copy_trims_px4.jpg) + +4. Reset the trims on your transmitter back to zero. + +### AUX Passthrough Channels (PX4) + +AUX passthrough channels allow you to control arbitrary optional hardware from your transmitter (for example, a gripper). + +To use the AUX passthrough channels: + +1. Map up to 2 transmitter controls to separate channels. +2. Specify these channels to map to the AUX1 and AUX2 ports respectively, as shown below. Values are saved to the vehicle as soon as they are set. + + ![AUX1 and AUX2 RC passthrough channels](../../../assets/setup/radio_additional_setup_aux_passthrough_channels_px4.jpg) + +The flight controller will pass through the unmodified values from the specified channels out of AUX1/AUX2 to the connected servos/relays that drive your hardware. + +### Param Tuning Channels (PX4) + +Tuning channels allow you to map a transmitter tuning knob to a parameter (so that you can dynamically modify a parameter from your transmitter). + +:::tip +This feature is provided to enable manual in-flight tuning. +::: + +The channels used for parameter tuning are assigned in the _Radio_ setup (here!), while the mapping from each tuning channel to its associated parameter is defined in the _Parameter editor_. + +To set up tuning channels: + +1. Map up to 3 transmitter controls (dials or sliders) to separate channels. +2. Select the mapping of _PARAM Tuning Id_ to radio channels, using the selection lists. Values are saved to the vehicle as soon as they are set. + + ![Map radio channels to tuning channels](../../../assets/setup/radio_additional_radio_setup_param_tuning_px4.jpg) + +To map a PARAM tuning channel to a parameter: + +1. Open the **Parameters** sidebar. + +2. Select the parameter to map to your transmitter (this will open the _Parameter Editor_). + +3. Check the **Advanced Settings** checkbox. + +4. Click the **Set RC to Param...** button (this will pop-up the foreground dialog displayed below) + + ![Map tuning channels to parameters](../../../assets/setup/parameters_radio_channel_mapping_px4.jpg) + +5. Select the tuning channel to map (1, 2 or 3) from the _Parameter Tuning ID_ selection list. + +6. Press **OK** to close the dialog. + +7. Press **Save** to save all changes and close the _Parameter Editor_. + +:::tip +You can clear all parameter/tuning channel mappings by selecting menu **Tools > Clear RC to Param** at the top right of the _Parameters_ screen. +::: diff --git a/docs/ru/qgc-user-guide/setup_view/safety.md b/docs/ru/qgc-user-guide/setup_view/safety.md new file mode 100644 index 00000000000..f58ec5e50e5 --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/safety.md @@ -0,0 +1,13 @@ +# Safety Setup + +The _Safety Setup_ page allows you to configure the most important failsafe settings (other failsafe settings can be set via the [parameters](../setup_view/parameters.md) described in the failsafe documentation for each vehicle type). + +For ArduPilot safety page information see: [Safety (ArduPilot)](../setup_view/safety_ardupilot.md) + +The PX4 page is shown below. + +![Safety Setup - PX4](../../../assets/setup/px4_safety.jpg) + +:::info +For additional PX4 safety settings and information see: [Safety Configuration](https://docs.px4.io/en/config/safety.html). +::: diff --git a/docs/ru/qgc-user-guide/setup_view/safety_ardupilot.md b/docs/ru/qgc-user-guide/setup_view/safety_ardupilot.md new file mode 100644 index 00000000000..10719356fbc --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/safety_ardupilot.md @@ -0,0 +1,200 @@ +# Safety Setup (ArduPilot) + +The _Safety Setup_ page allows you to configure (vehicle specific) failsafe settings. + +:::tip +The setup page covers the most important safety options; other failsafe settings can be set via the [parameters](../setup_view/parameters.md) described in the failsafe documentation for each vehicle type. +::: + +:::tip +_QGroundControl_ does not support polygon fences or rally points on ArduPilot. +::: + +## Copter + +The Copter safety page is shown below. + +![Safety Setup - Copter (Ardupilot)](../../../assets/setup/safety/safety_arducopter.jpg) + +:::info +For additional safety settings and information see: [Failsafe](http://ardupilot.org/copter/docs/failsafe-landing-page.html). +::: + +### Battery Failsafe {#battery\_failsafe\_copter} + +This panel sets the [Battery Failsafe](http://ardupilot.org/copter/docs/failsafe-battery.html) parameters. +You can set low and critical thresholds for voltage and/or remaining capacity and define the action if the failsafe value is breached. +The thresholds can be disabled by setting them to zero. + +:::tip +If there is a second battery (enabled in the [Power Setup](../setup_view/power.md)) a second panel will be displayed with the same settings. +::: + +![Safety Setup - Battery1 Failsafe Triggers (Copter)](../../../assets/setup/safety/safety_arducopter_battery1_failsafe_triggers.jpg) + +The configuration options are: + +- **Low action** ([BATT\_FS\_LOW\_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-low-act-low-battery-failsafe-action)) - Select one of: None, Land, RTL, SmartRTL, SmartRTL or Land, Terminate. +- **Critical action** ([BATT\_FS\_CRT\_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-crt-act-critical-battery-failsafe-action)) - Select one of: None, Land, RTL, SmartRTL, SmartRTL or Land, Terminate. +- **Low voltage threshold** ([BATT\_LOW\_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-low-volt-low-battery-voltage)) - Battery voltage that triggers the _low action_. +- **Critical voltage threshold** ([BATT\_CRT\_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-crt-volt-critical-battery-voltage))- Battery voltage that triggers the _critical action_. +- **Low mAh threshold** ([BATT\_LOW\_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-low-mah-low-battery-capacity)) - Battery capacity that triggers the _low action_. +- **Critical mAh threshold** ([BATT\_CRT\_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-crt-mah-battery-critical-capacity)) - Battery capacity that triggers the _critical action_. + +### General Failsafe Triggers {#failsafe\_triggers\_copter} + +This panel enables the [GCS Failsafe](http://ardupilot.org/copter/docs/gcs-failsafe.html) +and enables/configures the throttle failsafe. + +![Safety Setup - General Failsafe Triggers (Copter)](../../../assets/setup/safety/safety_arducopter_general_failsafe_triggers.jpg) + +The configuration options are: + +- **Ground Station failsafe** - Disabled, Enabled always RTL, Enabled Continue with Mission in Auto Mode, Enabled Always SmartRTL or RTL, Enabled Always SmartRTL or Land. +- **Throttle failsafe** - Disabled, Always RTL, Continue with Mission in Auto Mode, Always land. +- **PWM Threshold** ([FS\_THR\_VALUE](http://ardupilot.org/copter/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. + +### Geofence {#geofence\_copter} + +This panel sets the parameters for the cylindrical [Simple Geofence](http://ardupilot.org/copter/docs/ac2_simple_geofence.html). +You can set whether the fence radius or height are enabled, the maximum values for causing a breach, and the action in the event of a breach. + +![Safety Setup - Geofence (Copter)](../../../assets/setup/safety/safety_arducopter_geofence.jpg) + +The configuration options are: + +- **Circle GeoFence enabled** ([FENCE\_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE\_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - Enable the circular geofence. +- **Altitude GeoFence enabled** ([FENCE\_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE\_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - Enable altitude geofence. +- Fence action ([FENCE\_ACTION](http://ardupilot.org/copter/docs/parameters.html#fence-action-fence-action)) One of: + - **Report only** - Report fence breach. + - **RTL or Land** - RTL or land on fence breach. +- **Max radius** ([FENCE\_RADIUS](http://ardupilot.org/copter/docs/parameters.html#fence-radius-circular-fence-radius)) - Circular fence radius that when broken causes RTL. +- **Max altitude** ([FENCE\_ALT\_MAX](http://ardupilot.org/copter/docs/parameters.html#fence-alt-max-fence-maximum-altitude))- Fence maximum altitude to trigger altitude geofence. + +### Return to Launch {#rtl\_copter} + +This panel sets the [RTL Mode](http://ardupilot.org/copter/docs/rtl-mode.html) behaviour. + +![Safety Setup - RTL (Copter)](../../../assets/setup/safety/safety_arducopter_return_to_launch.jpg) + +The configuration options are: + +- Select RTL return altitude ([RTL\_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): + - **Return at current altitude** - Return at current altitude. + - **Return at specified altitude** - Ascend to specified altitude to return if below current altitude. +- **Loiter above home for** ([RTL\_LOIT\_TIME](http://ardupilot.org/copter/docs/parameters.html#rtl-loit-time-rtl-loiter-time)) - Check to set a loiter time before landing. +- One of + - **Land with descent speed** ([LAND\_SPEED](http://ardupilot.org/copter/docs/parameters.html#land-speed-land-speed)) - Select final descent speed. + - **Final loiter altitude** ([RTL\_ALT\_FINAL](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-final-rtl-final-altitude)) - Select and set final altitude for landing after RTL or mission (set to 0 to land). + +### Arming Checks {#arming\_checks\_copter} + +This panel sets which [Pre-ARM Safety Checks](http://ardupilot.org/copter/docs/prearm_safety_check.html) are enabled. + +![Safety Setup - Arming Checks (Copter)](../../../assets/setup/safety/safety_arducopter_arming_checks.jpg) + +The configuration options are: + +- **Arming Checks to perform** ([ARMING\_CHECK](http://ardupilot.org/copter/docs/parameters.html#arming-check-arm-checks-to-peform-bitmask)) - Check all appropriate: Barometer, Compass, GPS lock, INS, Parameters, RC Channels, Board voltage, Battery Level, Airspeed, Logging Available, Hardware safety switch, GPS Configuration, System. + +## Plane + +The Plane safety page is shown below. + +![Safety Setup - Plane (Ardupilot)](../../../assets/setup/safety/safety_arduplane.jpg) + +:::info +For additional safety settings and information see: [Plane Failsafe Function](http://ardupilot.org/plane/docs/apms-failsafe-function.html) and [Advanced Failsafe Configuration](http://ardupilot.org/plane/docs/advanced-failsafe-configuration.html). +::: + +### Battery Failsafe {#battery\_failsafe\_plane} + +The plane battery failsafe is the same as for copter except there are different options for the [Low](http://ardupilot.org/plane/docs/parameters.html#batt-fs-low-act-low-battery-failsafe-action) and [Critical](http://ardupilot.org/plane/docs/parameters.html#batt-fs-crt-act-critical-battery-failsafe-action) actions: None, RTL, Land, Terminate. + +For more information see: [battery failsafe](#battery_failsafe_copter) (copter). + +### Failsafe Triggers {#failsafe\_triggers\_plane} + +This panel enables the [GCS Failsafe](http://ardupilot.org/plane/docs/advanced-failsafe-configuration.html#ground-station-communications-loss) and enables/configures the throttle failsafe. + +![Safety Setup - Failsafe Triggers (Plane)](../../../assets/setup/safety/safety_arduplane_failsafe_triggers.jpg) + +The configuration options are: + +- **Throttle PWM threshold** ([THR\_FS\_VALUE](http://ardupilot.org/plane/docs/parameters.html#thr-fs-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. +- **GCS failsafe** ([FS\_GCS\_ENABL](http://ardupilot.org/plane/docs/parameters.html#fs-gcs-enabl-gcs-failsafe-enable)) - Check to enable GCS failsafe. + +### Return to Launch {#rtl\_plane} + +This panel sets the [RTL Mode](http://ardupilot.org/copter/docs/rtl-mode.html) behaviour. + +![Safety Setup - RTL (Plane)](../../../assets/setup/safety/safety_arduplane_return_to_launch.jpg) + +The configuration options are: + +- Select RTL return altitude ([RTL\_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): + - **Return at current altitude** - Return at current altitude. + - **Return at specified altitude** - Ascend to specified altitude to return if below current altitude. + +### Arming Checks {#arming\_checks\_plane} + +[Arming Checks](#arming_checks_copter) are the same as for copter. + +## Rover + +The Rover safety page is shown below. + +![Safety Setup - Rover (Ardupilot)](../../../assets/setup/safety/safety_ardurover.jpg) + +:::info +For additional safety settings and information see: [Failsafes](http://ardupilot.org/rover/docs/rover-failsafes.html). +::: + +### Battery Failsafe {#battery\_failsafe\_rover} + +The rover battery failsafe is the same as for [copter](#battery_failsafe_copter). + +### Failsafe Triggers {#failsafe\_triggers\_rover} + +This panel enables the rover [Failsafes](http://ardupilot.org/rover/docs/rover-failsafes.html). + +![Safety Setup - Failsafe Triggers (Rover)](../../../assets/setup/safety/safety_ardurover_failsafe_triggers.jpg) + +The configuration options are: + +- **Ground Station failsafe** ([FS\_GCS\_ENABL](http://ardupilot.org/rover/docs/parameters.html#fs-gcs-enable-gcs-failsafe-enable)) - Check to enable GCS failsafe. +- **Throttle failsafe** ([FS\_THR\_ENABLE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-enable-throttle-failsafe-enable)) - Enable/disable throttle failsafe (value is _PWM threshold_ below). +- **PWM threshold** ([FS\_THR\_VALUE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. +- **Failsafe Crash Check** ([FS\_CRASH\_CHECK](http://ardupilot.org/rover/docs/parameters.html#fs-crash-check-crash-check-action)) - What to do in the event of a crash: Disabled, Hold, HoldAndDisarm + +### Arming Checks {#arming\_checks\_rover} + +[Arming Checks](#arming_checks_copter) are the same as for copter. + +## Sub + +The Sub safety page is shown below. + +![Safety Setup - Sub (Ardupilot)](../../../assets/setup/safety/safety_ardusub.jpg) + +:::info +For additional safety settings and information see: [Failsafes](https://www.ardusub.com/operators-manual/failsafes.html). +::: + +### Failsafe Actions {#failsafe\_actions\_sub} + +The configuration options are: + +- **GCS Heartbeat** - Select one of: Disabled, Warn only, Disarm, Enter depth hold mode, Enter surface mode. +- **Leak** - Select one of: Disabled, Warn only, Enter surface mode. + - **Detector Pin** - Select one of: Disabled, Pixhawk Aux (1-6), Pixhawk 3.3ADC(1-2), Pixhawk 6.6ADC. + - **Logic when Dry** - Select one of: Low, High. +- **Battery** - ?. +- **EKF** - Select one of: Disabled, Warn only, Disarm. +- **Pilot Input** - Select one of: Disabled, Warn only, Disarm. +- **Internal Temperature** - Select one of: Disabled, Warn only. +- **Internal Pressure** - Select one of: Disabled, Warn only. + +### Arming Checks {#arming\_checks\_sub} + +[Arming Checks](#arming_checks_copter) are the same as for copter. diff --git a/docs/ru/qgc-user-guide/setup_view/sensors.md b/docs/ru/qgc-user-guide/setup_view/sensors.md new file mode 100644 index 00000000000..4d7869856bf --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/sensors.md @@ -0,0 +1,15 @@ +# Sensors + +The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors +(the available sensors will depend on the autopilot firmware and vehicle type). + +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. + +Click on the button for each sensor to start its calibration sequence. + +Flight stack specific instructions are provided in the following topics: + +- [Sensors (ArduPilot)](../setup_view/sensors_ardupilot.md) +- [Sensors (PX4)](../setup_view/sensors_px4.md) diff --git a/docs/ru/qgc-user-guide/setup_view/sensors_ardupilot.md b/docs/ru/qgc-user-guide/setup_view/sensors_ardupilot.md new file mode 100644 index 00000000000..5aa8d72b3d4 --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/sensors_ardupilot.md @@ -0,0 +1,123 @@ +# Sensor Setup (ArduPilot) + +The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors +(the available sensors will depend on the vehicle type). + +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. + +Click on the button for each sensor to start its calibration sequence. + +![Sensors Setup screen Copter](../../../assets/setup/sensor/sensor_setup_overview_ardupilot.jpg) + +## Accelerometer {#accelerometer} + +To calibrate the flight controller accelerometers you will be asked to place and hold your vehicle a number of orientations (you will be prompted when to move between positions). + +The calibration steps are: + +1. Click the **Accelerometer** sensor button. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_ardupilot.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Click **OK** to start the calibration. + +3. Position the vehicle based on text instructions in the center display. + Click the **Next** button to capture each position. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_positions_ardupilot.jpg) + +## Compass {#compass} + +ArduPilot uses onboard calibration support that allows for more accurate calibration. + +:::info +Older ArduPilot firmware can be calibrated using the [same process as PX4](../setup_view/sensors_px4.md#compass). +::: + +You need to rotate the vehicle randomly around all axes until the progress bar fills all the way to the right and the calibration completes. When the calibration completes you will get the following results: + +![ArduPilot Compass Calibration Onboard Result](../../../assets/setup/sensor_compass_ardupilot_onboard_calibration_result.jpg) + +This shows you the quality of the calibration for each compass. Using these values you can determine whether you may want to turn off usage of poorly performing compasses. + +## Level Horizon {#level\_horizon} + +If the horizon (as shown in the HUD) is not level after completing accelerometer calibration you can calibrate the level horizon for your vehicle. +You will be asked to place the vehicle in a level orientation while it captures the information. + +1. Click the **Level Horizon** sensor button. + ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Place the vehicle in its level flight orientation on a level surface: + +- For planes this is the position during level flight (planes tend to have their wings slightly pitched up!) +- For copters this is the hover position. + +1. Click **OK** to start the calibration. + +## Pressure/Barometer {#pressure} + +This calibration set's the altitude to zero at the current pressure. + +To perform **Pressure** calibration: + +1. Click the **Calibrate Pressure** button and then **Ok**. + + ![Calibrate Pressure](../../../assets/setup/sensor/calibrate_pressure_ardupilot.jpg) + + The calibration result is immediately displayed: + + ![Calibrate Pressure Result](../../../assets/setup/sensor/calibrate_pressure_result_ardupilot.jpg) + +## CompassMot (Optional) + +CompassMot calibration is optional! It is recommended for vehicles that only have an internal compass and when there is significant interference on the compass from the motors, power wires, etc. +CompassMot only works well if you have a battery current monitor because the magnetic interference is linear with current drawn. + +To perform **CompassMot** calibration: + +1. Click the **CompassMot** sensor button. + + + +2. Follow the onscreen prompts. + + ![CompassMot calibration](../../../assets/setup/sensor_compass_mot.jpg) + +## Sensor Settings {#sensor\_settings} + +The _Sensor Settings_ section allows you to specify the compass orientation and which compasses are enabled. + +:::tip +You can skip this section if the flight controller and compass are mounted upright on the vehicle and facing the front (this is the default orientation - `ROTATION_NONE`). +::: + +If the autopilot/compass are mounted in any other way you will need to specify their orientations as YAW, PITCH and/or ROLL offsets relative to the forward-facing-upright orientation (clock-wise rotation around the Z, Y and X axis, respectively). + +![Flight Controller Orientation](../../../assets/setup/flight_controller_orientation.png) + +For example, the image below are at orientations: `ROTATION_NONE`, `ROTATION_YAW_90`,`ROTATION_YAW_180`,`ROTATION_YAW_270`. + +![Flight controller yaw rotation](../../../assets/setup/flight_controller_yaw_rotation.png) + +To set the orientation(s) and compasses used: + +1. Select the **Sensor Settings** button. + + ![Sensor Settings](../../../assets/setup/sensor/sensor_settings_ardupilot.jpg) + +2. Select the **AutoPilot Orientation**. + +3. Select the _orientation_ from **Compass 1 (primary/external) > Orientation** (or check **Compass2 (secondary, external) > Use Compass** to instead use the internal compass). + +4. Press **OK**. diff --git a/docs/ru/qgc-user-guide/setup_view/sensors_px4.md b/docs/ru/qgc-user-guide/setup_view/sensors_px4.md new file mode 100644 index 00000000000..de46f62fe63 --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/sensors_px4.md @@ -0,0 +1,163 @@ +# Sensor Setup (PX4) + +The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors +(the available sensors will depend on the vehicle type). + +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. + +Click on the button for each sensor to start its calibration sequence. + +![Sensors Setup screen for VTOL vehicle](../../../assets/setup/sensors_px4_vtol.jpg) + +:::info +The image shown is from a VTOL vehicle running PX4 firmware. +Other autopilot firmware and vehicles will offer slightly different options. +::: + +## Compass {#compass} + +The process guides you to position the vehicle in a number of set orientations and rotate the vehicle about the specified axis. + +The calibration steps are: + +1. Click the **Compass** sensor button + ![Select Compass calibration PX4](../../../assets/setup/sensor_compass_select_px4.jpg) + + ::: info + The default flight controller orientation is `ROTATION_NONE` (flight controller and compass mounted upright on the vehicle and facing the front). + You can set a different value here or in [Set Orientations](#flight_controller_orientation). + ::: + +2. Click **OK** to start the calibration. + +3. Place the vehicle in any of the orientations shown in red (incomplete) and hold it still. + Once prompted (the orientation-image turns yellow) rotate the vehicle around the specified axis in either/both directions. + Once the calibration is complete in that orientation the associated image on the screen will turn green. + ![Compass calibration steps on PX4](../../../assets/setup/sensor_compass_calibrate_px4.jpg) + +4. Repeat the calibration process for all vehicle orientations. + +Once you've rotated the vehicle in all the positions _QGroundControl_ will display _Calibration complete_ (all orientation images will be displayed in green and the progress bar will fill completely) +You can then proceed to the next sensor. + +## Gyroscope {#gyroscope} + +You will be guided to place the vehicle on a flat surface and keep it still. + +The calibration steps are: + +1. Click the **Gyroscope** sensor button + ![Select Gyroscope calibration PX4](../../../assets/setup/sensor/gyroscope_calibrate_px4.jpg) + +2. Place the vehicle on a surface and leave it still. + +3. Click **Ok** to start the calibration. + + The bar at the top shows the progress: + + ![Gyro calibration in progress on PX4](../../../assets/setup/sensor/gyroscope_calibrate_progress_px4.jpg) + +4. When finished, _QGroundControl_ will display _Calibration complete_ and the progress bar will fill completely. + ![Gyro calibration complete on PX4](../../../assets/setup/sensor/gyroscope_calibrate_complete_px4.jpg) + +:::info +If you move the vehicle during calibration, _QGroundControl_ will automatically restart the calibration. +::: + +You can then proceed to the next sensor. + +## Accelerometer {#accelerometer} + +To calibrate the flight controller accelerometers you will be asked to place and hold your vehicle a number of orientations (you will be prompted when to move between positions). + +The calibration steps are: + +1. Click the **Accelerometer** sensor button. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_px4.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Click **OK** to start the calibration. + +3. Position the vehicle as guided by the _images_ on the screen. This is very similar to compass calibration. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_positions_px4.jpg) + +4. Repeat the calibration process for all vehicle orientations. + +Once you've rotated the vehicle in all the positions _QGroundControl_ will display _Calibration complete_. + +You can then proceed to the next sensor. + +## Level Horizon + +If the horizon (as shown in the HUD) is not level after completing accelerometer calibration you can calibrate the level horizon for your vehicle. +You will be asked to place the vehicle in a level orientation while it captures the information. + +1. Click the **Level Horizon** sensor button. + ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Place the vehicle in its level flight orientation on a level surface: + +- For planes this is the position during level flight (planes tend to have their wings slightly pitched up!) +- For copters this is the hover position. + +1. Click **OK** to start the calibration. + +## Airspeed {#airspeed} + +The airspeed calibration needs to read a stable baseline with 0 airspeed in order to determine an offset. +Cup your hands over the pitot to block any wind (if calibrating the sensor indoors this is not needed) and then blow into the tube using your mouth (to signal completion of the calibration). + +To calibrate the airspeed sensor: + +1. Click the **Airspeed** sensor button + + ![Airspeed calibration](../../../assets/setup/sensors_airspeed.jpg) + +2. Cover the sensor (i.e. with your hand) + + ::: warning + Do not touch the sensor (obstruct any holes) during calibration. + ::: + +3. Click **OK** to start the calibration. + +4. Blow into the sensor. + +5. Wait for 2-3 seconds before removing the covering (calibration completes silently after several seconds) + +## Set Orientations {#flight\_controller\_orientation} + +:::tip +You can skip this section if the flight controller and compass are mounted upright on the vehicle and facing the front (this is the default orientation - `ROTATION_NONE`). +::: + +If the autopilot/compass are mounted in any other way you will need to specify their orientations as YAW, PITCH and/or ROLL offsets relative to the forward-facing-upright orientation (clock-wise rotation around the Z, Y and X axis, respectively). + + + +For example, the image below are at orientations: `ROTATION_NONE`, `ROTATION_YAW_90`,`ROTATION_YAW_180`,`ROTATION_YAW_270`. + + + +To set the orientation(s) on PX4: + +1. Select the **Set Orientations** button. + + + +2. Select the **AutoPilot Orientation**. + +3. Select the **External Compass Orientation** (this option will only be displayed if there is an external compass). + +4. Press **OK**. diff --git a/docs/ru/qgc-user-guide/setup_view/setup_view.md b/docs/ru/qgc-user-guide/setup_view/setup_view.md new file mode 100644 index 00000000000..6b3d32e9ecc --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/setup_view.md @@ -0,0 +1,37 @@ +# Setup View + +The Setup View is used to configure a new vehicle prior to first flight and/or tune a configured vehicle. + +![](../../../assets/setup/setup_view.jpg) + +## Setup Options + +To the left of the screen are the set of available setup options. A setup button is marked with a red icon if there are still settings needed to be adjusted/specified. You should not fly if any of these are red. In the above image the Radio setup is not yet complete. + +:::info +The set of options shown and the contents of each option may differ based on whether the vehicle is running PX4 Pro or ArduPilot firmware. The image above is from a vehicle which is running PX4 Pro firmware. +::: + +**Summary**
An overview of all the important setup options for your vehicle. Similar to the individual setup buttons, the summary blocks show a red indicator when those settings are not fully configured. + +**[Firmware](firmware.md)**
Flash new firmware onto your vehicle. + +**[Airframe](airframe.md)**
Specify the airframe type for the vehicle. + +**[Radio](radio.md)**
Calibrate your Radio Control Transmitter. + +**[Sensors](sensors.md)**
Calibrate the sensors on the vehicle. + +**[Flight Modes](flight_modes.md)**
Used to assign flight modes to your RC Transmitter switches. + +**[Power](power.md)**
Battery settings and additional power options such as ESC calibration. + +**[Motors](motors.md)**
Motors testing and setup. + +**[Safety](Safety.md)**
Specify settings for options related to Safety such as Return to Home or Failsafes. + +**[Tuning](tuning.md)**
Tune flight characteristics of the vehicle. + +**[Camera](camera.md)**
Configure settings for camera and gimbal. + +**[Parameters](parameters.md)**
Allows you to modify all parameters associated with your vehicle.

diff --git a/docs/ru/qgc-user-guide/setup_view/tuning.md b/docs/ru/qgc-user-guide/setup_view/tuning.md new file mode 100644 index 00000000000..13032afc2c0 --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/tuning.md @@ -0,0 +1,7 @@ +# Tuning Setup + +The Tuning page allows you to configure settings on your vehicle which control basic flight characteristics. +The details differ depending on flight stack: + +- [Tuning (ArduPilot)](../setup_view/tuning_ardupilot.md) +- [Tuning (PX4)](../setup_view/tuning_px4.md) diff --git a/docs/ru/qgc-user-guide/setup_view/tuning_arducopter.md b/docs/ru/qgc-user-guide/setup_view/tuning_arducopter.md new file mode 100644 index 00000000000..242f58b2417 --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/tuning_arducopter.md @@ -0,0 +1,48 @@ +# ArduCopter Tuning + +![ArduCopter Tuning Page](../../../assets/setup/tuning/arducopter.png) + +## Basic Tuning + +Adjust the flight characteristics by moving the desired slider to the left or right. + +## AutoTune + +AutoTune is used to automatically tune the rate parameters in order to provide the highest response without significant overshoot. + +Performing an AutoTune: + +- Select which axes you would like to tune. + + ::: tip + Tuning all axes at once can take a significant amount of time, which may cause you to run out of battery. + To prevent this choose to tune only one axis at a time. + ::: + +- Assign AutoTune to one of your transmitter switches. + Ensure that switch is in low position before taking off. + +- Take off and put the copter into AltHold. + +- Turn on AutoTune with your transmitter switch. + +- The copter will twitch around the specified axes for a few minutes. + +- When AutoTune completes the copter will change back to the original settings. + +- Move the AutoTune switch back to low position and then back to high to test the new settings. + +- Move the AutoTune switch to low to test previous settings. + +- To save new settings, land and disarm while AutoTune switch is in high position. + +Note: + +- Since AutoTune is done in AltHold your copter must already have a tuning which is minimally flyable in AltHold. + You can cancel AutoTune at any time by moving the AutoTune switch back to low position. +- You can reposition the copter using your transmitter at any time during AutoTune. + +### In-Flight Tuning + +This is an advanced option which allows you to tune a flight control parameter using one of your transmitter dial channels. +Select the control option from the dropdown and specify the min/max for the values to assign to the dial. diff --git a/docs/ru/qgc-user-guide/setup_view/tuning_ardupilot.md b/docs/ru/qgc-user-guide/setup_view/tuning_ardupilot.md new file mode 100644 index 00000000000..53d84b08bbf --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/tuning_ardupilot.md @@ -0,0 +1,4 @@ +# Tuning (ArduPilot) + +- [Tuning (ArduCopter)](../setup_view/tuning_arducopter.md) +- [Tuning (ArduSub)](../setup_view/tuning_ardusub.md) diff --git a/docs/ru/qgc-user-guide/setup_view/tuning_ardusub.md b/docs/ru/qgc-user-guide/setup_view/tuning_ardusub.md new file mode 100644 index 00000000000..0745cf3190e --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/tuning_ardusub.md @@ -0,0 +1,17 @@ +# ArduSub Tuning + +![ArduSub Tuning Page](../../../assets/setup/tuning/ardusub.jpg) + +## Basic Tuning + +This page allows changing the PID controller gains to better suit your vehicle and application. Changing these may help you get a snappier response for more precise movements, or a smoother response for recording cinematic footages. Adjust a parameter by moving the desired slider, or by clicking the increase/decrease buttons. There are three controllers that can be adjusted here: + +- [**Attitude Controller Parameters**](https://www.ardusub.com/operators-manual/full-parameter-list.html#atc-parameters) are the parameters for the controller responsible for keeping the vehicle oriented as you want it, assuming your vehicle has ability (enough motors/DOF) to do so. + +- **Position Controller Parameters** are the parameters for the controller responsible for positioning the vehicle at a point in 3D space. The **Z** parameters control how the depth control works (eg in [_Depth Hold_](https://www.ardusub.com/operators-manual/flight-modes.html#depth-hold) mode). The **XY** parameters affect how the vehicle controls the horizontal position in [_Position Enabled_](https://www.ardusub.com/operators-manual/flight-modes.html#position-enabled-modes) modes. + +- **Waypoint Navigation Parameters** are the parameters for the controller responsible for following waypoints in **Auto** and **Guided** mode. + + ::: warning + **Guided** and **Auto** modes are currently unsupported and some features are disabled in QGC. + ::: diff --git a/docs/ru/qgc-user-guide/setup_view/tuning_px4.md b/docs/ru/qgc-user-guide/setup_view/tuning_px4.md new file mode 100644 index 00000000000..76ed41fd803 --- /dev/null +++ b/docs/ru/qgc-user-guide/setup_view/tuning_px4.md @@ -0,0 +1,135 @@ +# Tuning (PX4) + +Tuning only needs to be done once, and is recommended unless you're using vehicle that has already been tuned by the manufacturer (and not modified since). + +[Auto-tuning](#autotune) should generally be used for frame types and controllers that support it (multicopter, fixed wing, and hybrid VTOL fixed wing vehicles). +The tuning UI also supports manual tuning of all controllers. + +![Tuning Setup > Autotune](../../../assets/setup/tuning/px4_autotune_hero.png) + +:::info +During [Airframe Setup](../config/airframe.md) you should have selected the frame that most closely matches your vehicle. +This will usually be tuned well enough to fly, and it _may_ also be sufficiently well tuned to run autotuning. +::: + +## Autotune + +Auto-tuning automates the process of tuning the PX4 rate and attitude controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional"). + +:::info +This guide shows the default usage of this feature. +Additional information and configuration can be found in the [PX4 Autotuning Guide](http://docs.px4.io/master/en/config/autotune.html) (PX4 User Guide). +::: + +### Pre-Autotuning Test + +Auto-tuning is performed while flying. +The vehicle must be able to fly and adequately stabilize itself before running auto-tune. +This test ensures that the vehicle can fly safely in position controlled modes. + +To make sure the vehicle is stable enough for auto-tuning: + +1. Perform a normal preflight safety checklist to ensure the flight zone is clear and has enough space. +2. Takeoff and prepare for the test + - **Multicopters:** Take off and hover at 1m above ground in **Altitude mode** or Stabilized mode. + - **Fixed-wing mode:** Take off and fly at cruise speed in **Position mode** or **Altitude mode**. +3. Use the RC transmitter roll stick to perform the following maneuver, tilting the vehicle just a few degrees: _roll left > roll right > center_ (The whole maneuver should take about 3 seconds). + The vehicle should stabilise itself within 2 oscillations. +4. Repeat the maneuver, tilting with larger amplitudes at each attempt. + If the vehicle can stabilise itself within 2 oscillations at \~20 degrees move to the next step. +5. Repeat the same maneuvers but on the pitch axis. + As above, start with small angles and confirm that the vehicle can itself within 2 oscillations before increasing the tilt. + +If the drone can stabilize itself within 2 oscillations it is ready for the auto-tuning procedure. + +If not, see the [PX4 User Guide > Autotuning > Troubleshooting](http://docs.px4.io/master/en/config/autotune.html#troubleshooting). + +### Auto-tuning procedure + +The auto-tuning sequence must be performed in a **safe flight zone, with enough space**. +It takes about 40 seconds (between 19 and 68 seconds). +For best results, we recommend running the test in calm weather conditions. + +:::info +Be ready to abort the autotuning process by moving the RC controller sticks. +::: + +The test steps are: + +1. Perform the [pre-tuning test](#pre-tuning-test) above. + +2. Takeoff using RC control and prepare for test: + - **Multicopters:** Takeoff using the remote controller in **Altitude mode**. + Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m). + - **VTOL in Fixed-wing mode:** Once flying at cruise speed, activate **Hold Mode**. + This will guide the plane to fly in circle at constant altitude and speed. + +3. In QGroundControl, open the menu: **Vehicle setup > PID Tuning** + + ![Tuning Setup > Autotune Enabled](../../../assets/setup/tuning/px4_autotune.png) + +4. Select either the _Rate Controller_ or _Attitude Controller_ tabs. + Ensure that the **Autotune enabled** button is enabled (this will display the **Autotune** button and remove the manual tuning selectors). + +5. Stop moving the joysticks and click on the **Autotune** button. + Read the warning popup and click on **OK** to start tuning. + +6. The drone will first start to perform quick roll motions followed by pitch and yaw motions. + The progress is shown in the progress bar, next to the _Autotune_ button. + +7. Apply the tuning: + - **Fixed Wing:** The tuning will be immediately/automatically be applied and tested in flight (by default). + PX4 will then run a 4 second test and revert the new tuning if a problem is detected. + - **Multicopters:** Manually land and disarm to apply the new tuning parameters. + Takeoff carefully and manually test that the vehicle is stable. + +8. If any strong oscillations occur, land immediately and follow the instructions in [PX4 User Guide > Autotuning > Troubleshooting](http://docs.px4.io/master/en/config/autotune.html#troubleshooting). + +
+ + + +A video of the process is shown below: + + + +## Manual Tuning + +Manual tuning is done in-flight, so your vehicle must already be tuned well enough to fly with (this is normally the case if you have selected an appropriate default airframe). + +The instructions below explain how you can use the manual tuning UI. +It is designed to be read/used in conjustion with the [PX4 Manual PID Tuning Guides](http://docs.px4.io/master/en/config/autotune.html#see-also), which provide more detailed hints on the kinds of step sizes to use when changing PID values. + +In overview: + +1. Takeoff using RC control and prepare for test: + - **Multicopters:** Takeoff using the remote controller in **Altitude mode**. + Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m). + - **Fixed-wing:** Once flying at cruise speed, activate **Hold Mode**. + This will guide the plane to fly in circle at constant altitude and speed. + +2. In QGroundControl, open the menu: **Vehicle setup > PID Tuning** + +3. Select the _Rate Controller_ tab. + Ensure that the **Autotune enabled** button is is turned off. + + ![PX4 Tuning - Manual - Rate controller](../../../assets/setup/tuning/px4_copter_manual_rate.png) + +4. Select the _Tuning axis_ to tune: **Roll**, **Pitch** or **Yaw** (each axis is tuned separately). + +5. Fly the vehicle, observing the tracking on the chart. + - Adjust the _Tuning Values_ (parameters) to improve the tracking shown on the graph using the slider. + - The values are automatically saved, but you may wish to use the **Save to Clipboard** and **Restore from Clipboard** buttons to store the last known good configuration. + - You can also **Clear**/**Stop** the chart using the buttons provided. + +6. Tune the other axes. + +7. Switch to the other controllers and repeat the process. + Screenshots of the tuning pages are shown below. + + ![PX4 Tuning - Manual - Attitude controller](../../../assets/setup/tuning/px4_copter_manual_attitude.png) + ![PX4 Tuning - Manual - Velocity controller](../../../assets/setup/tuning/px4_copter_manual_velocity.png) + ![PX4 Tuning - Manual - Position controller](../../../assets/setup/tuning/px4_copter_manual_velocity.png) diff --git a/docs/ru/qgc-user-guide/support/support.md b/docs/ru/qgc-user-guide/support/support.md new file mode 100644 index 00000000000..0a379a572f9 --- /dev/null +++ b/docs/ru/qgc-user-guide/support/support.md @@ -0,0 +1,57 @@ +# Support + +This user guide is meant to be the main provider of support for _QGroundControl_. +If you find incorrect or missing information please report an [Issue](https://github.com/mavlink/qgc-user-guide/issues). + +_Questions_ about how to use _QGroundControl_ should be raised in the discussion forum for the associated flight stack: + +- [PX4 Pro Flight Stack](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-usage) (discuss.px4.io). +- [ArduPilot Flight Stack](http://discuss.ardupilot.org/c/ground-control-software/qgroundcontrol) (discuss.ardupilot.org). + +These forums are also the best place to start discussions on bugs/problems you are having with _QGroundControl_ and or feature requests you would like to make. From there you may be directed to entering information in a GitHub Issue for further resolution. + +### Developer Chat {#developer\_chat} + +_QGroundControl_ developers (and many regular/deeply-involved users) can be found on the [#QGroundControl channel on the Dronecode Discord](https://discord.gg/dronecode). + +## GitHub Issues + +Issues are used to track bugs against _QGroundControl_ as well as feature requests for later versions. The current list of issues can be found on [GitHub here](https://github.com/mavlink/qgroundcontrol/issues). + +:::info +Please contact our developers using the support forums **before** creating GitHub issues for either bugs or feature requests. +::: + +### Reporting Bugs + +If you are directed to create an issue, please use the "Bug report" template and provide all information specified in the template. + +##### Reporting Crashes from Windows Builds + +When QGC crashes a crash dump file will be place in the Users LocalAppData directory. To navigate to that directory use the Start/Run command. You can bring this up window WinKey+R. Type into that `%localappdata%` for Open and click Ok. Crash dumps will be in a `QGCCrashDumps` folder in that directory. You should find a new **.dmp** file there. Add a link to that file in a GitHub Issue when reporting you problem. + +##### Reporting Hangs from Windows Builds + +If Windows is telling you the _QGroundControl program is unresponsive_ use the following steps to report the hang: + +1. Open _Task Manager_ (right-click TaskBar, select **Task Manager**) +2. Switch to the Processes tab and local **qgroundcontrol.exe** +3. Right-click on **groundcontrol.exe** and select **Create Dump File** +4. Place the dump file in a public location +5. Add a link to the **.dmp** file and above details in the GitHub issue. + +### Feature Requests + +If you are directed to create a feature request after discussion on support forums please use the "Feature request" template which has some helpful information on required details. + +## Troubleshooting + +Troubleshooting information is linked from [here](../troubleshooting/index.md). + +### Console Logging + +_Console Logs_ can be helpful when diagnosing _QGroundControl_ problems. For more information see: [Console Logging](../settings_view/console_logging.md). + +## Help Improve these Docs! + +Just like _QGroundControl_ itself, the user guide is an open source, user created and supported GitBook. We welcome [Pull Requests](https://github.com/mavlink/qgc-user-guide/pulls) against the guide for fixes and/or updates. diff --git a/docs/ru/qgc-user-guide/toolbar/toolbar.md b/docs/ru/qgc-user-guide/toolbar/toolbar.md new file mode 100644 index 00000000000..f5e666186d2 --- /dev/null +++ b/docs/ru/qgc-user-guide/toolbar/toolbar.md @@ -0,0 +1,37 @@ +# Main Toolbar + +The main toolbar provides access to select the different application views, and high level status information for connected vehicles. +The toolbar is the same in all views except for "PlanView" (which has a single icon to take you back to "Fly" view). + +## View-select icons + +The following icons are used to switch between the main _Views_. These are displayed even if no vehicle is connected. + +![Settings view icon](../../../assets/toolbar/toolbar_view_select_settings.jpg) **[Settings](../settings_view/settings_view.md)**
Configure the _QGroundControl_ application. + +![Setup view icon](../../../assets/toolbar/toolbar_view_select_setup.jpg) **[Setup](../setup_view/setup_view.md)**
Configure and tune your vehicle. + +![Plan view icon](../../../assets/toolbar/toolbar_view_select_plan.jpg) **[Plan](../plan_view/plan_view.md)**
Create autonomous missions. + +![Fly icon](../../../assets/toolbar/toolbar_view_select_fly.jpg) **[Fly](../fly_view/fly_view.md)**
Monitor your vehicle(s) while flying, including streaming video. + +![Analyze icon](../../../assets/toolbar/toolbar_view_select_analyse.jpg) **[Analyze](../analyze_view/index.md)**
Download logs, geotag images from a survey mission, access the MAVLink console. + +## Status icons + +Status icons are displayed when _QGroundControl_ is connected to a vehicle. +These show the high level status of the vehicle, and can be clicked to see more detailed information. + +![](../../../assets/toolbar/toolbar_status_message.jpg) ![yield](../../../assets/toolbar/toolbar_status_critical.jpg) **Vehicle Messages**
Click to show a list of messages from the vehicle. Note that version on the right is displayed when there are critical messages. + +![](../../../assets/toolbar/toolbar_status_gps.jpg) **GPS Status**
Shows you satellite count and curent HDOP. + +![](../../../assets/toolbar/toolbar_status_rc.jpg) **RC RSSI**
RC signal strength information. + +![](../../../assets/toolbar/toolbar_status_telemetry.jpg) **Telemetry RSSI**
Telemetry signals strength information. + +![](../../../assets/toolbar/toolbar_status_battery.jpg) **Battery**
Remaining battery percent. + +![](../../../assets/toolbar/toolbar_status_flight_mode.jpg) **Flight Mode**
Current flight mode. Click to change flight mode. + +![](../../../assets/toolbar/toolbar_status_rtk_gps.jpg) **RTK GPS Survey-In Status**
Shows you progress of RTK GPS Survey-In process. diff --git a/docs/ru/qgc-user-guide/troubleshooting/index.md b/docs/ru/qgc-user-guide/troubleshooting/index.md new file mode 100644 index 00000000000..81150a50b89 --- /dev/null +++ b/docs/ru/qgc-user-guide/troubleshooting/index.md @@ -0,0 +1,8 @@ +## Troubleshooting + +Troubleshooting information is provided in two sections: + +- [QGC Setup](../troubleshooting/qgc_setup.md) - Troubleshooting _QGroundControl_ installation and setup. +- [QGC Usage](../troubleshooting/qgc_usage.md) - Troubleshooting problems when **using** _QGroundControl_ to interact with a vehicle. + +If your questions are still unresolved, please check the [Support](../support/support.md) page for more information on getting help. diff --git a/docs/ru/qgc-user-guide/troubleshooting/parameter_download.md b/docs/ru/qgc-user-guide/troubleshooting/parameter_download.md new file mode 100644 index 00000000000..547c9f1ae27 --- /dev/null +++ b/docs/ru/qgc-user-guide/troubleshooting/parameter_download.md @@ -0,0 +1,15 @@ +# Parameter Download failures + +The majority of parameter download failures are caused by a communication link which is noisy and has a high loss rate. +Although the parameter protocol has retry logic for such a case it will eventually give up. +At which point you will get an error stating that QGC was unable to retrieve the full set or parameters. + +Although you can still fly the vehicle in this state it is not recommended. +Also the vehicle setup pages will not be available. + +You can see the loss rate for your link from the [Settings View > MAVLink](../settings_view/mavlink.md) page. +Even a loss rate in the high single digits can lead to intermittent failures of the plan protocols. +Higher loss rates could leads to 100% failure. + +There is also the more remote possibility of either firmware or QGC bugs. +To see the details of the back and forth message traffic of the protocol you can turn on [Console Logging](../settings_view/console_logging.md) for the Parameter Protocol. diff --git a/docs/ru/qgc-user-guide/troubleshooting/plan_upload_download.md b/docs/ru/qgc-user-guide/troubleshooting/plan_upload_download.md new file mode 100644 index 00000000000..6475ded936b --- /dev/null +++ b/docs/ru/qgc-user-guide/troubleshooting/plan_upload_download.md @@ -0,0 +1,5 @@ +# Mission Upload/Download failures + +Although the protocol for uploading and download Plans (Mission, GeoFence, Rally Points) to a vehicle includes retry logic it can still fail over a communication link which is running at a high loss rate. + +For more information see: [Plan View > Mission (Plan) Upload/Download Failures](../plan_view/plan_view.md#plan_transfer_fail) diff --git a/docs/tr/SUMMARY.md b/docs/tr/SUMMARY.md index 7f643fabe5e..ec1e00b8b9a 100644 --- a/docs/tr/SUMMARY.md +++ b/docs/tr/SUMMARY.md @@ -5,9 +5,11 @@ - [Download and Install](qgc-user-guide/getting_started/download_and_install.md) - [Toolbar/Menu](qgc-user-guide/toolbar/toolbar.md) - [Support](qgc-user-guide/support/support.md) + - [Fly](qgc-user-guide/fly_view/fly_view.md) - [Replay Flight Data](qgc-user-guide/fly_view/replay_flight_data.md) - [Video Overlay](qgc-user-guide/fly_view/video_overlay.md) + - [Plan](qgc-user-guide/plan_view/plan_view.md) - [GeoFence](qgc-user-guide/plan_view/plan_geofence.md) - [Rally Points](qgc-user-guide/plan_view/plan_rally_points.md) @@ -17,6 +19,7 @@ - [Corridor Scan](qgc-user-guide/plan_view/pattern_corridor_scan.md) - [Fixed Wing Landing Pattern](qgc-user-guide/plan_view/pattern_fixed_wing_landing.md) - [Pattern Presets](qgc-user-guide/plan_view/pattern_presets.md) + - [Vehicle Setup](qgc-user-guide/setup_view/setup_view.md) - [Firmware](qgc-user-guide/setup_view/firmware.md) - [Airframe](qgc-user-guide/setup_view/airframe.md) @@ -42,6 +45,7 @@ - [Camera](qgc-user-guide/setup_view/camera.md) - [Joystick](qgc-user-guide/setup_view/joystick.md) - [Parameters](qgc-user-guide/setup_view/parameters.md) + - [Application Settings](qgc-user-guide/settings_view/settings_view.md) - [General](qgc-user-guide/settings_view/general.md) - [CSV Logging](qgc-user-guide/settings_view/csv.md) @@ -49,11 +53,13 @@ - [MAVLink](qgc-user-guide/settings_view/mavlink.md) - [Console Logging](qgc-user-guide/settings_view/console_logging.md) - [Virtual Joystick (PX4)](qgc-user-guide/settings_view/virtual_joystick.md) + - [Analyze](qgc-user-guide/analyze_view/index.md) - [Log Download](qgc-user-guide/analyze_view/log_download.md) - [GeoTag Images (PX4)](qgc-user-guide/analyze_view/geotag_images.md) - [MAVLink Console (PX4)](qgc-user-guide/analyze_view/mavlink_console.md) - [MAVLink Inspector](qgc-user-guide/analyze_view/mavlink_inspector.md) + - [Releases](qgc-user-guide/releases/index.md) - [Release Notes](qgc-user-guide/releases/release_notes.md) - [v4.0 (Additional Notes)](qgc-user-guide/releases/stable_v4.0_additional.md) @@ -62,6 +68,7 @@ - [Daily Builds](qgc-user-guide/releases/daily_builds.md) - [Daily Build New Features](qgc-user-guide/releases/daily_build_new_features.md) - [Privacy Policy](qgc-user-guide/releases/privacy_policy.md) + - [Troubleshooting](qgc-user-guide/troubleshooting/index.md) - [Setup Problems](qgc-user-guide/troubleshooting/qgc_setup.md) diff --git a/docs/tr/docs/en/SUMMARY.md b/docs/tr/docs/en/SUMMARY.md new file mode 100644 index 00000000000..ec1e00b8b9a --- /dev/null +++ b/docs/tr/docs/en/SUMMARY.md @@ -0,0 +1,122 @@ +# Sidebar + +- [Overview](qgc-user-guide/index.md) + - [Quick Start](qgc-user-guide/getting_started/quick_start.md) + - [Download and Install](qgc-user-guide/getting_started/download_and_install.md) + - [Toolbar/Menu](qgc-user-guide/toolbar/toolbar.md) + - [Support](qgc-user-guide/support/support.md) + +- [Fly](qgc-user-guide/fly_view/fly_view.md) + - [Replay Flight Data](qgc-user-guide/fly_view/replay_flight_data.md) + - [Video Overlay](qgc-user-guide/fly_view/video_overlay.md) + +- [Plan](qgc-user-guide/plan_view/plan_view.md) + - [GeoFence](qgc-user-guide/plan_view/plan_geofence.md) + - [Rally Points](qgc-user-guide/plan_view/plan_rally_points.md) + - [Pattern](qgc-user-guide/plan_view/pattern.md) + - [Survey](qgc-user-guide/plan_view/pattern_survey.md) + - [Structure Scan](qgc-user-guide/plan_view/pattern_structure_scan_v2.md) + - [Corridor Scan](qgc-user-guide/plan_view/pattern_corridor_scan.md) + - [Fixed Wing Landing Pattern](qgc-user-guide/plan_view/pattern_fixed_wing_landing.md) + - [Pattern Presets](qgc-user-guide/plan_view/pattern_presets.md) + +- [Vehicle Setup](qgc-user-guide/setup_view/setup_view.md) + - [Firmware](qgc-user-guide/setup_view/firmware.md) + - [Airframe](qgc-user-guide/setup_view/airframe.md) + - [Airframe (ArduPilot)](qgc-user-guide/setup_view/airframe_ardupilot.md) + - [Airframe (PX4)](qgc-user-guide/setup_view/airframe_px4.md) + - [Radio](qgc-user-guide/setup_view/radio.md) + - [Sensors](qgc-user-guide/setup_view/sensors.md) + - [Sensors (ArduPilot)](qgc-user-guide/setup_view/sensors_ardupilot.md) + - [Sensors (PX4)](qgc-user-guide/setup_view/sensors_px4.md) + - [Flight Modes](qgc-user-guide/setup_view/flight_modes.md) + - [ArduPilot Flight Modes Setup](qgc-user-guide/setup_view/flight_modes_ardupilot.md) + - [PX4 Flight Modes Setup](qgc-user-guide/setup_view/flight_modes_px4.md) + - [Power](qgc-user-guide/setup_view/power.md) + - [Motors](qgc-user-guide/setup_view/motors.md) + - [Motors (ArduSub)](qgc-user-guide/setup_view/motors_ardusub.md) + - [Safety](qgc-user-guide/setup_view/safety.md) + - [Safety (ArduPilot)](qgc-user-guide/setup_view/safety_ardupilot.md) + - [Tuning](qgc-user-guide/setup_view/tuning.md) + - [Tuning (ArduPilot)](qgc-user-guide/setup_view/tuning_ardupilot.md) + - [ArduCopter Tuning](qgc-user-guide/setup_view/tuning_arducopter.md) + - [ArduSub Tuning](qgc-user-guide/setup_view/tuning_ardusub.md) + - [Tuning (PX4)](qgc-user-guide/setup_view/tuning_px4.md) + - [Camera](qgc-user-guide/setup_view/camera.md) + - [Joystick](qgc-user-guide/setup_view/joystick.md) + - [Parameters](qgc-user-guide/setup_view/parameters.md) + +- [Application Settings](qgc-user-guide/settings_view/settings_view.md) + - [General](qgc-user-guide/settings_view/general.md) + - [CSV Logging](qgc-user-guide/settings_view/csv.md) + - [Offline Maps](qgc-user-guide/settings_view/offline_maps.md) + - [MAVLink](qgc-user-guide/settings_view/mavlink.md) + - [Console Logging](qgc-user-guide/settings_view/console_logging.md) + - [Virtual Joystick (PX4)](qgc-user-guide/settings_view/virtual_joystick.md) + +- [Analyze](qgc-user-guide/analyze_view/index.md) + - [Log Download](qgc-user-guide/analyze_view/log_download.md) + - [GeoTag Images (PX4)](qgc-user-guide/analyze_view/geotag_images.md) + - [MAVLink Console (PX4)](qgc-user-guide/analyze_view/mavlink_console.md) + - [MAVLink Inspector](qgc-user-guide/analyze_view/mavlink_inspector.md) + +- [Releases](qgc-user-guide/releases/index.md) + - [Release Notes](qgc-user-guide/releases/release_notes.md) + - [v4.0 (Additional Notes)](qgc-user-guide/releases/stable_v4.0_additional.md) + - [v3.3 (Detailed)](qgc-user-guide/releases/stable_v3.3_long.md) + - [v3.2 (Detailed)](qgc-user-guide/releases/stable_v3.2_long.md) + - [Daily Builds](qgc-user-guide/releases/daily_builds.md) + - [Daily Build New Features](qgc-user-guide/releases/daily_build_new_features.md) + - [Privacy Policy](qgc-user-guide/releases/privacy_policy.md) + +- [Troubleshooting](qgc-user-guide/troubleshooting/index.md) + + - [Setup Problems](qgc-user-guide/troubleshooting/qgc_setup.md) + - [Usage Problems](qgc-user-guide/troubleshooting/qgc_usage.md) + - [Connection problems](qgc-user-guide/troubleshooting/vehicle_connection.md) + - [Parameter Download failures](qgc-user-guide/troubleshooting/parameter_download.md) + - [Plan Upload/Download failures](qgc-user-guide/troubleshooting/plan_upload_download.md) + - [Resume Mission failures](qgc-user-guide/troubleshooting/resume_mission.md) + +- [Developer's Guide](qgc-dev-guide/index.md) + - [Getting Started with source & builds](qgc-dev-guide/getting_started/index.md) + - [Build using Containers](qgc-dev-guide/getting_started/container.md) + - [Using QGC on CentOS](qgc-dev-guide/getting_started/cent_os.md) + - [QGC Release/Branching Process](qgc-dev-guide/release_branching_process.md) + - [Communication Flow](qgc-dev-guide/communication_flow.md) + - [Plugin Architecture](qgc-dev-guide/firmware_plugin.md) + - [Class Hierarchy](qgc-dev-guide/classes/index.md) + - [User Interface Design](qgc-dev-guide/user_interface_design/index.md) + - [Multi-Device Design Pattern](qgc-dev-guide/user_interface_design/multi_device_pattern.md) + - [Font and Colour Palette](qgc-dev-guide/user_interface_design/font_palette.md) + - [UI Controls](qgc-dev-guide/user_interface_design/controls.md) + - [Fact System](qgc-dev-guide/fact_system.md) + - [Top Level Views](qgc-dev-guide/views/index.md) + - [Settings View](qgc-dev-guide/views/settings.md) + - [Setup View](qgc-dev-guide/views/setup.md) + - [Plan View](qgc-dev-guide/views/plan.md) + - [Dynamic UI for mission item editing](qgc-dev-guide/plan/mission_command_tree.md) + - [Fly View](qgc-dev-guide/views/fly.md) + - [File Formats](qgc-dev-guide/file_formats/index.md) + - [Parameters](qgc-dev-guide/file_formats/parameters.md) + - [Plan](qgc-dev-guide/file_formats/plan.md) + - [MAVLink Logs](qgc-dev-guide/file_formats/mavlink.md) + - [Developer Tools](qgc-dev-guide/tools/index.md) + - [Mock Link](qgc-dev-guide/tools/mock_link.md) + - [Command Line Options](qgc-dev-guide/command_line_options.md) + - [Custom Builds](qgc-dev-guide/custom_build/custom_build.md) + - [Initial Repository Setup For Custom Build](qgc-dev-guide/custom_build/create_repos.md) + - [Custom Build Plugins](qgc-dev-guide/custom_build/plugins.md) + - [Resources Overrides](qgc-dev-guide/custom_build/resource_override.md) + - [Customization](qgc-dev-guide/custom_build/customization.md) + - [First Run Prompts](qgc-dev-guide/custom_build/first_run_prompts.md) + - [Toolbar customization](qgc-dev-guide/custom_build/toolbar.md) + - [Fly View Customization](qgc-dev-guide/custom_build/fly_view.md) + - [Release/Branching Process For Custom Builds](qgc-dev-guide/custom_build/release_branching_process.md) + - [MAVLink](qgc-dev-guide/custom_build/mavlink.md) + - [Code Submission](qgc-dev-guide/contribute/index.md) + - [Developer Call](qgc-dev-guide/contribute/dev_call.md) + - [Coding Style](qgc-dev-guide/contribute/coding_style.md) + - [Unit Tests](qgc-dev-guide/contribute/unit_tests.md) + - [Pull Requests](qgc-dev-guide/contribute/pull_requests.md) + - [Licenses](qgc-dev-guide/contribute/licences.md) diff --git a/docs/tr/docs/en/index.md b/docs/tr/docs/en/index.md new file mode 100644 index 00000000000..f5ea85cbc0e --- /dev/null +++ b/docs/tr/docs/en/index.md @@ -0,0 +1,27 @@ +--- +layout: home +hero: + name: QGroundControl Guide + tagline: For beginners, experienced users, and developers + actions: + - theme: brand + text: User Guide + link: /en/qgc-user-guide/index.md + - theme: brand + - theme: brand + text: Dev Guide + link: /en/qgc-dev-guide/index.md +features: + - title: Multiple flight stacks + details: Full setup/configuration of ArduPilot and PX4 Pro powered vehicles + - title: Mission planning + details: Autonomous flight with path planning, surveys, safe landing + - title: Flight map + details: Map shows vehicle position, flight track, waypoints and vehicle instruments + - title: Video overlay + details: FPV video streaming and instrument overlays. + - title: Multiple vehicles + details: Manage multiple vehicles and different types of vehicles + - title: Broad OS support + details: Windows, OS X, Linux platforms, iOS and Android devices +--- diff --git a/docs/tr/docs/en/qgc-dev-guide/classes/index.md b/docs/tr/docs/en/qgc-dev-guide/classes/index.md new file mode 100644 index 00000000000..4a60cb304c8 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/classes/index.md @@ -0,0 +1,27 @@ +# Class Hierarchy (high level) + +## LinkManager, LinkInterface + +A "Link" in QGC is a specific type of communication pipe with the vehicle such as a serial port or UDP over WiFi. The base class for all links is LinkInterface. Each link runs on it's own thread and sends bytes to MAVLinkProtocol. + +The `LinkManager` object keeps track of all open links in the system. `LinkManager` also manages automatic connections through serial and UDP links. + +## MAVLinkProtocol + +There is a single `MAVLinkProtocol` object in the system. It's job is to take incoming bytes from a link and translate them into MAVLink messages. MAVLink HEARTBEAT messages are routed to `MultiVehicleManager`. All MAVLink messages are routed to Vehicle's which are associated with the link. + +## MultiVehicleManager + +There is a single `MultiVehicleManager` object within the system. When it receives a HEARTBEAT on a link which has not been previously seen it creates a Vehicle object. `MultiVehicleManager` also keeps tracks of all Vehicles in the system and handles switching from one active vehicle to another and correctly handling a vehicle being removed. + +## Vehicle + +The Vehicle object is the main interface through which the QGC code communicates with the physical vehicle. + +Note: There is also a UAS object associated with each Vehicle which is a deprecated class and is slowly being phased out with all functionality moving to the Vehicle class. No new code should be added here. + +## FirmwarePlugin, FirmwarePluginManager + +The FirmwarePlugin class is the base class for firmware plugins. A firmware plugin contains the firmware specific code, such that the Vehicle object is clean with respect to it supporting a single standard interface to the UI. + +FirmwarePluginManager is a factory class which creates a FirmwarePlugin instance based on the MAV\_AUTOPILOT/MAV\_TYPE combination for the Vehicle. diff --git a/docs/tr/docs/en/qgc-dev-guide/command_line_options.md b/docs/tr/docs/en/qgc-dev-guide/command_line_options.md new file mode 100644 index 00000000000..a66cd53ef4d --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/command_line_options.md @@ -0,0 +1,46 @@ +# Command Line Options + +You can start _QGroundControl_ with command line options. These are used to enable logging, run unit tests, and simulate different host environments for testing. + +## Starting QGroundControl with Options + +You will need to open a command prompt or terminal, change directory to where **qgroundcontrol.exe** is stored, and then run it. This is shown below for each platform (using the `--logging:full` option): + +Windows Command Prompt: + +```bash +cd "\Program Files (x86)\qgroundcontrol" +qgroundcontrol --logging:full +``` + +OSX Terminal app (**Applications/Utilities**): + +```bash +cd /Applications/qgroundcontrol.app/Contents/MacOS/ +./qgroundcontrol --logging:full +``` + +Linux Terminal: + +```bash +./qgroundcontrol-start.sh --logging:full +``` + +## Options + +The options/command line arguments are listed in the table below. + +| Option | Description | +| --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| `--clear-settings` | Clears the app settings (reverts _QGroundControl_ back to default settings). | +| `--logging:full` | Turns on full logging. See [Console Logging](https://docs.qgroundcontrol.com/en/settings_view/console_logging.html#logging-from-the-command-line). | +| `--logging:full,LinkManagerVerboseLog,ParameterLoaderLog` | Turns on full logging and turns off the following listed comma-separated logging options. | +| `--logging:LinkManagerLog,ParameterLoaderLog` | Turns on the specified comma separated logging options | +| `--unittest:name` | (Debug builds only) Runs the specified unit test. Leave off `:name` to run all tests. | +| `--unittest-stress:name` | (Debug builds only) Runs the specified unit test 20 times in a row. Leave off :name to run all tests. | +| `--fake-mobile` | Simulates running on a mobile device. | +| `--test-high-dpi` | Simulates running _QGroundControl_ on a high DPI device. | + +Notes: + +- Unit tests are included in debug builds automatically (as part of _QGroundControl_). _QGroundControl_ runs under the control of the unit test (it does not start normally). diff --git a/docs/tr/docs/en/qgc-dev-guide/communication_flow.md b/docs/tr/docs/en/qgc-dev-guide/communication_flow.md new file mode 100644 index 00000000000..17e838f8250 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/communication_flow.md @@ -0,0 +1,15 @@ +# Communication Flow + +Description of the high level communication flow which takes place during a vehicle auto-connect. + +- LinkManager always has a UDP port open waiting for a vehicle heartbeat +- LinkManager detects a new known device type (Pixhawk, SiK Radio, PX4 Flow) that makes a UDP connection to the computer + - LinkManager creates a new SerialLink between the computer and the device +- Incoming bytes from the Link are sent to MAVLinkProtocol +- MAVLinkProtocol converts the bytes into a MAVLink message +- If the message is a `HEARTBEAT` the MultiVehicleManager is notified +- MultiVehicleManager is notified of the `HEARTBEAT` and creates a new vehicle object based on the information in the `HEARTBEAT` message +- The vehicle object instantiates the plugins that matches the vehicle +- The ParameterLoader associated with the vehicle object sends a `PARAM_REQUEST_LIST` to the connected device to load parameters using the parameter protocol +- Once the parameter load is complete, the MissionManager associated with the vehicle object requests the mission items from the connected device using the mission protocol +- Once parameter load is complete, the VehicleComponents display their UI in the Setup view diff --git a/docs/tr/docs/en/qgc-dev-guide/contribute/coding_style.md b/docs/tr/docs/en/qgc-dev-guide/contribute/coding_style.md new file mode 100644 index 00000000000..3d4d62420c1 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/contribute/coding_style.md @@ -0,0 +1,12 @@ +# Coding Style + +High level style information: + +- Tabs expanded to 4 spaces +- Pascal/CamelCase naming conventions + +The style itself is documents in the following example files: + +- [CodingStyle.cc](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.cc) +- [CodingStyle.h](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.h) +- [CodingStyle.qml](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.qml) diff --git a/docs/tr/docs/en/qgc-dev-guide/contribute/dev_call.md b/docs/tr/docs/en/qgc-dev-guide/contribute/dev_call.md new file mode 100644 index 00000000000..6464fc34d78 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/contribute/dev_call.md @@ -0,0 +1,38 @@ +# Bi-Weekly Dev Call + +The QGroundControl developer team syncs up on technical details and in-depth analysis. There is also a space in the agenda to discuss pull requests, major impacting issues and Q\&A. + +## Who Should attend: + +- Community members +- Core project maintiners +- Component maintainers +- Dronecode members + +:::info +The calls are open for anyone interested to attend, it's a great opportunity to meet the team and contribute to the ongoing development of the project. +::: + +## What gets discussed? + +The main agenda for the call is very simple, and usually remains the same with a few exceptions which are made aware to the community in advance. The calls typically last up to 60 minutes. + +The developer team goes through the issue tracker, including the current queue of Pull Requests, + +## Agenda + +While the agenda below is the norm, we might + +- Community Q\&A (Open mic, you can bring your own topics, we can discuss your PRs/Issues/Questions) +- Update on the project [High Priority Issues](https://github.com/mavlink/qgroundcontrol/projects/2) tracker +- Developer team coordination + +:::info +If you want to guarantee your Pull Request get's discussed on the next developer call, make sure you add the "dev-call" label on GitHub. We expect the author and the assigned reviewer to be on the call. +::: + +## Schedule + +- Time: Bi-Weekly on Tuesdays at 17h00 CET, 12h00 EST, 08h00 PST ([subscribe to the calendar](https://www.dronecode.org/calendar/)) +- The call is hosted on Jitsi the open platform ([QGC Bi-Weekly](https://meet.jit.si/GCS-bi-weekly)) +- the Agenda is published on the [PX4 Discuss - weekly-dev-call](https://discuss.px4.io/c/weekly-dev-call/qgc-developer-call/48) diff --git a/docs/tr/docs/en/qgc-dev-guide/contribute/index.md b/docs/tr/docs/en/qgc-dev-guide/contribute/index.md new file mode 100644 index 00000000000..0fd55b4e573 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/contribute/index.md @@ -0,0 +1,7 @@ +# Code Submission + +This section contains topics about the contributing code, including coding style, testing and the format of pull requests. + +:::info +QGroundControl (QGC) is [dual-licensed as Apache 2.0 and GPLv3](../contribute/licences.md). All contributions have to be made under both licenses. +::: diff --git a/docs/tr/docs/en/qgc-dev-guide/contribute/licences.md b/docs/tr/docs/en/qgc-dev-guide/contribute/licences.md new file mode 100644 index 00000000000..20c157a0d2f --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/contribute/licences.md @@ -0,0 +1,30 @@ +# Licences + +## QGroundControl License + +_QGroundControl_ (QGC) is dual-licensed as Apache 2.0 and GPLv3. All contributions have to be made under both licenses. Users of the codebase are free to use it under either license. + +:::warning +_QGroundControl_ licensing rules out the re-use of any copyleft (e.g. GPL) licensed code. All contributions must be original or from a compatible license (BSD 2/3 clause, MIT, Apache 2.0). +::: + +The dual approach is necessary to be able to offer _QGroundControl_ through the iOS and Android app stores and offers the open source community choice. + +### Apache 2.0 License + +The [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) License is a permissive license which allows QGC to be built and used in any environment, including proprietary applications. It allows QGC to be built for mobile app stores. When building with Apache 2.0 a commercial Qt license is required. + +### GPL v3 License + +The [GPL v3 License](http://www.gnu.org/licenses/gpl-3.0.en.html) is a strong copyleft license. When building QGC under this license the open source version of Qt can be used. Our licensing grants the permission to use a later version of the license, however, contributions have to be made under 3.0. + +## Documentation, Artwork, Images + +The QGroundControl documentation, artwork and images are licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). + +## See Also + +- [qgroundcontrol/COPYING.md](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md) +- [qgroundcontrol/CONTRIBUTING.md](https://github.com/mavlink/qgroundcontrol/blob/master/CONTRIBUTING.md) +- [qgc-user-guide/LICENSE](https://github.com/mavlink/qgc-user-guide/blob/master/LICENSE) +- [qgc-dev-guide/LICENSE](https://github.com/mavlink/qgc-dev-guide/blob/master/LICENSE) diff --git a/docs/tr/docs/en/qgc-dev-guide/contribute/pull_requests.md b/docs/tr/docs/en/qgc-dev-guide/contribute/pull_requests.md new file mode 100644 index 00000000000..fe120dcf7dc --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/contribute/pull_requests.md @@ -0,0 +1,3 @@ +# Pull Requests + +All pull requests go through the QGC CI build system which builds release and debug version. Builds will fail if there are compiler warnings. Also unit tests are run against supported OS debug builds. diff --git a/docs/tr/docs/en/qgc-dev-guide/contribute/unit_tests.md b/docs/tr/docs/en/qgc-dev-guide/contribute/unit_tests.md new file mode 100644 index 00000000000..e8c14fe7b4b --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/contribute/unit_tests.md @@ -0,0 +1,20 @@ +# Unit Tests + +_QGroundControl_ (QGC) contains a set of unit tests that must pass before a pull request will be accepted. The addition of new complex subsystems to QGC should include a corresponding new unit test to test it. + +The full list of unit tests can be found in [UnitTestList.cc](https://github.com/mavlink/qgroundcontrol/blob/master/src/qgcunittest/UnitTestList.cc). + +To run unit tests: + +1. Build in `debug` mode with `UNITTEST_BUILD` definition. +2. Copy the **deploy/qgroundcontrol-start.sh** script in the **debug** directory +3. Run _all_ unit tests from the command line using the `--unittest` command line option. + For Linux this is done as shown: + ``` + qgroundcontrol-start.sh --unittest + ``` +4. Run _individual_ unit tests by specifying the test name as well: `--unittest:RadioConfigTest`. + For Linux this is done as shown: + ``` + qgroundcontrol-start.sh --unittest:RadioConfigTest + ``` diff --git a/docs/tr/docs/en/qgc-dev-guide/custom_build/create_repos.md b/docs/tr/docs/en/qgc-dev-guide/custom_build/create_repos.md new file mode 100644 index 00000000000..c4bce8ee142 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/custom_build/create_repos.md @@ -0,0 +1,15 @@ +# Initial Repository Setup For Custom Build + +The suggested mechanism for working on QGC and a custom build version of QGC is to have two separate repositories. The first repo is your main QGC fork. The second repo is your custom build repo. + +## Main QGC Respository + +This repo is used to work on changes to mainline QGC. When creating your own custom build it is not uncommon to discover that you may need a tweak/addition to the custom build to achieve what you want. By discussing those needed changes firsthand with QGC devs and submitting pulls to make the custom build architecture better you make QGC more powerful for everyone and give back to the community. + +The best way to create this repo is to fork the regular QGC repo to your own GitHub account. + +## Custom Build Repository + +This is where you will do your main custom build development. All changes here should be within the custom directory as opposed to bleeding out into the regular QGC codebase. + +Since you can only fork a repo once, the way to create this repo is to "Create a new repository" in your GitHub account. Do not add any additional files to it like gitignore, readme's and so forth. Once it is created you will be given the option to setup up the Repo. Now you can select to "import code from another repository". Just import the regular QGC repo using the "Import Code" button. diff --git a/docs/tr/docs/en/qgc-dev-guide/custom_build/custom_build.md b/docs/tr/docs/en/qgc-dev-guide/custom_build/custom_build.md new file mode 100644 index 00000000000..ff37e9b1c14 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/custom_build/custom_build.md @@ -0,0 +1,26 @@ +# Custom Builds + +A custom build allows third parties to create their own version of QGC in a way that allows them to easily keep up to date with changes which are being made in regular QGC. QGC has an architecture built into it which allows custom builds to modify and add to the feature set of regular QGC. + +Some possibilities with a custom build + +- Fully brand your build +- Define a single flight stack to avoid carrying over unnecessary code +- Implement your own, autopilot and firmware plugin overrides +- Implement your own camera manager and plugin overrides +- Implement your own QtQuick interface module +- Implement your own toolbar, toolbar indicators and UI navigation +- Implement your own Fly View overlay (and how to hide elements from QGC such as the flight widget) +- Implement your own, custom QtQuick camera control +- Implement your own, custom Pre-flight Checklist +- Define your own resources for all of the above + +One of the downsides of QGC providing both generic support for any vehicle which supports mavlink as well as providing firmware specific support for both PX4 Pro and ArduPilot is complexity of the user interface. Since QGC doesn't know any information about your vehicle ahead of time it requires UI bits which can get in the way if the vehicle you fly only uses PX4 Pro firmware and is a multi-rotor vehicle. If that is a known thing then the UI can be simplified in various places. Also QGC targets both DIY users who are building their own vehicles from scratch as well as commercial users of off the shelf vehicles. Setting up a DIY drone from scratch requires all sort of functionality which is not needed for users of off the shelf vehicles. So for off the shelf vehicle users all the DIY specific stuff is just extra noise they need to look past. Creating a custom build allows you to specify exact details for your vehicle and hide things which are irrelevant thus creating an even simple user experience for your users than regular generic QGC. + +There is a plugin architecture in QGC which allows for this custom build creation. They can be found in QGCCorePlugin.h, FirmwarePlugin.h and AutoPilotPlugin.h associated classes. To create a custom build you create subclasses of the standard plugins overriding the set of methods which are appropriate for you usage. + +There is also a mechanism which allows you to override resources so you can change the smaller visual elements in QGC. + +Also internal to QGC is the concept of an "Advanced Mode". Whereas a standard QGC builds always runs in advanced mode. A custom build always starts out in regular/not advanced mode. There is an easier mechanism in the build to turn on advanced mode which is to click the fly view button 5 times in a row fairly quickly. If you do this in a custom build you will be warned about entering advanced mode. The concept here is to hide things which normal users should not have access to behind advanced mode. For example a commercial vehicle will not need access to most setup pages which are oriented to DIY setup. So a custom build can hide this. The custom example code shows how to do this. + +If you want to understand the possibilities, the first step is to read through those files which document what is possible. Next look through the [`custom-example`](https://github.com/mavlink/qgroundcontrol/tree/master/custom-example) source code including the [README](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/README.md). diff --git a/docs/tr/docs/en/qgc-dev-guide/custom_build/customization.md b/docs/tr/docs/en/qgc-dev-guide/custom_build/customization.md new file mode 100644 index 00000000000..b97b5c63371 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/custom_build/customization.md @@ -0,0 +1,7 @@ +# Customization + +The following topics explain how to customise various views and other parts of the UI. + +- [First Run Prompts](../custom_build/first_run_prompts.md) +- [Toolbar customization](../custom_build/toolbar.md) +- [Fly View Customization](../custom_build/fly_view.md) diff --git a/docs/tr/docs/en/qgc-dev-guide/custom_build/first_run_prompts.md b/docs/tr/docs/en/qgc-dev-guide/custom_build/first_run_prompts.md new file mode 100644 index 00000000000..77d779da1b6 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/custom_build/first_run_prompts.md @@ -0,0 +1,54 @@ +# First Run Prompts + +When QGC is started for the first time it prompts the user to specify some initial settings. At the time of writing this documentation those are: + +- Unit Settings - What units does the user want to use for display. +- Offline Vehicle Settings - Vehicle information for creating Plans while not connected to a vehicle. + +The custom build architecure includes mechanisms for a custom build to both override the display of these prompts and/or create your own first run prompts. + +## First Run Prompt Dialog + +Each first run prompt is a simple dialog which can display ui to the user. Whether the specific dialog has already been show to the user or not is stored in a setting. Here is the code for the upstream first run prompt dialogs: + +- [Units Settings](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirstRunPromptDialogs/UnitsFirstRunPrompt.qml) +- [Offline Vehicle Settings](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirstRunPromptDialogs/OfflineVehicleFirstRunPrompt.qml) + +## Standard First Run Prompt Dialogs + +Each dialog has a unique ID associated with it. When that dialog is shown to the user that ID is registered as having already been displayed so it only happens once (unless you clear settings). The set of first run prompt which are included with upstream QGC are considered the "Standard" set. QGC gets the list of standard prompts to display from the `QGCCorePlugin::firstRunPromptStdIds` call. + +``` + /// Returns the standard list of first run prompt ids for possible display. Actual display is based on the + /// current AppSettings::firstRunPromptIds value. The order of this list also determines the order the prompts + /// will be displayed in. + virtual QList firstRunPromptStdIds(void); +``` + +You can override this method in your custom build if you want to hide some of those. + +## Custom First Run Prompt Dialogs + +Custom builds have the ability to create their own set of additional first run prompts as needed through the use of the following QGCCorePlugin method overrides: + +``` + /// Returns the custom build list of first run prompt ids for possible display. Actual display is based on the + /// current AppSettings::firstRunPromptIds value. The order of this list also determines the order the prompts + /// will be displayed in. + virtual QList firstRunPromptCustomIds(void); +``` + +``` + /// Returns the resource which contains the specified first run prompt for display + Q_INVOKABLE virtual QString firstRunPromptResource(int id); +``` + +Your QGCCorePlugin should override these two methods as well as provide static consts for the ids of your new first run prompts. Look at how the standard set is implemented for how to do this and take the same approach. + +## Order Of Display + +The set of first run prompts shown to the user are in the order returned by the `QGCCorePlugin::firstRunPromptStdIds` and `QGCCorePlugin::firstRunPromptCustomIds` with standard prompts shown before the custom prompts. Only the prompts which have not been previously shown to the user are shown. + +## Always On Prompts + +By setting the `markAsShownOnClose: false` property in your prompt ui implementation you can create a prompt which will show up each time QGC starts. This can be used for things like showing usage tips to your users. If you do this it is best to make sure that this is displayed last. diff --git a/docs/tr/docs/en/qgc-dev-guide/custom_build/fly_view.md b/docs/tr/docs/en/qgc-dev-guide/custom_build/fly_view.md new file mode 100644 index 00000000000..e6b3342817f --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/custom_build/fly_view.md @@ -0,0 +1,42 @@ +# Fly View Customization + +The Fly View is designed in such a way that it can be cusomtized in multiple ways from simple to more complex. It is designed in three separate layers each of which are customizable providing different levels of change. + +## Layers + +- There are three layers to the fly view from top to bottom visually: + - [`FlyView.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyView.qml) This is the base layer of ui and business logic to control map and video switching. + - [`FlyViewWidgetsOverlay.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyViewWidgetLayer.qml) This layer includes all the remaining widgets for the fly view. + - [`FlyViewCustomLayer.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyViewCustomLayer.qml) This is a layer you override using resource override to add your own custom layer. + +### Inset Negotiation using `QGCToolInsets` + +An important aspect of the Fly View is that it needs to understand how much central space it has in the middle of it's map window which is not obstructed by ui widgets which are at the edges of the window. It uses this information to pan the map when the vehicle goes out of view. This need to be done not only for the window edges but also for the widgets themselve such that the map pans before it goes under a widget. + +This is done through the use of the [`QGCToolInsets`](https://github.com/mavlink/qgroundcontrol/blob/master/src/QmlControls/QGCToolInsets.qml) object included in each layer. This objects provides inset information for each window edge informing the system as to how much real estate is taken up by edge based ui. Each layer is given the insets of the layer below it through `parentToolInsets` and then reports back the new insets taking into account the layer below and it's own additions through `toolInsets`. The final results total inset is then given to the map so it can do the right thing. The best way to understand this is to look at both the upstream and custom example code. + +### `FlyView.qml` + +The base layer for the view is also the most complex from ui interactions and business logic. It includes the main display elements of map and video as well as the guided controls. Although you can resource override this layer it is not recommended. And if you do you better really (really) know what you are doing. The reason it is a separate layer is to make the layer above much simpler and easier to customize. + +### `FlyViewWidgetsOverlay.qml` + +This layer contains all the remaining controls of the fly view. You have the ability to hide the controls through use of [`QGCFlyViewOptions`](https://github.com/mavlink/qgroundcontrol/blob/master/src/api/QGCOptions.h). But in order to change the layout of the upstream controls you must use a resource override. If you look at the source you'll see that the controls themselves are well encapsulated such that it should not be that difficult to create your own override which repositions them and/or adds your own ui. While maintaining a connection to the upstream implementaions of the controls. + +### `FlyViewCustomLayer.qml` + +This provides the simplest customization ability to the Fly View. Allowing you the add ui elements which are additive to the existing upstream controls. The upstream code adds no ui elements and is meant to be the basis for your own custom code used as a resource override for this qml. The custom example code provides you with an example of how to do it. + +## Recommendations + +### Simple customization + +The best place to start is using a custom layer override plus turning off ui elements from the widgets layer (if needed). I would recommend trying to stick with only this if at all possible. It provides the greatest abilty to not get screwed by upstream changes in the layers below. + +### Moderate complexity customization + +If you really need to reposition upstream ui elements then your only choice is overriding `FlyViewWidgetsOverlay.qml`. By doing this you are distancing yourself a bit from upstream changes. Although you will still get changes in the upstream controls for free. If there is a whole new control added to the fly view upstream you won't get it until you add it to your own override. + +### Highly complex customization + +The last and least recommended customization mechanism is overriding `FlyView.qml`. By doing this you are distancing yourself even further from getting upstream changes for free. diff --git a/docs/tr/docs/en/qgc-dev-guide/custom_build/mavlink.md b/docs/tr/docs/en/qgc-dev-guide/custom_build/mavlink.md new file mode 100644 index 00000000000..6fa5d685d9f --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/custom_build/mavlink.md @@ -0,0 +1,15 @@ +# MAVLink Customisation + +QGC communicates with flight stacks using [MAVLink](https://mavlink.io/en/), a very lightweight messaging protocol that has been designed for the drone ecosystem. + +QGC includes the [all.xml](https://mavlink.io/en/messages/all.html) dialect by default. The `all.xml` includes all other dialects in the [mavlink/mavlink](https://github.com/mavlink/mavlink/tree/master/message_definitions/v1.0) repository, and allows it to communicate with both PX4 and Ardupilot. +Previous versions of QGC (v4.2.8 and earlier), used the `ArduPilotMega.xml` dialect. + +In order to add support for a new set of messages you should add them to [development.xml](https://mavlink.io/en/messages/development.html), [ArduPilotMega.xml](https://mavlink.io/en/messages/ardupilotmega.html), or [common.xml](https://mavlink.io/en/messages/common.html) (for PX4), or fork _QGroundControl_ and include your own dialect. + +To modify the version of MAVLink used by QGC: + +- Replace the pre-build C library at [/qgroundcontrol/libs/mavlink/include/mavlink](https://github.com/mavlink/qgroundcontrol/tree/master/libs/mavlink/include/mavlink). + - By default this is a submodule importing https\://github.com/mavlink/c\_library\_v2 + - You can change the submodule, or [build your own libraries](https://mavlink.io/en/getting_started/generate_libraries.html) using the MAVLink toolchain. +- You can change the whole dialect used by setting it in [`MAVLINK_CONF`](https://github.com/mavlink/qgroundcontrol/blob/master/QGCExternalLibs.pri#L52) when running _qmake_. diff --git a/docs/tr/docs/en/qgc-dev-guide/custom_build/plugins.md b/docs/tr/docs/en/qgc-dev-guide/custom_build/plugins.md new file mode 100644 index 00000000000..5bbc45c97c4 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/custom_build/plugins.md @@ -0,0 +1,7 @@ +# Custom Build Plugins + +The mechanisms for customizing QGC for a custom build is through the existing `FirmwarePlugin`, `AutoPilotPlugin` and `QGCCorePlugin` architectures. By creating subclasses of these plugins in your custom build you can change the behavior of QGC to suit your needs without needed to modify the upstream code. + +## QGCCorePlugin + +This allows you to modify the parts of QGC which are not directly related to vehicle but are related to the QGC application itself. This includes things like application settings, color palettes, branding and so forth. diff --git a/docs/tr/docs/en/qgc-dev-guide/custom_build/release_branching_process.md b/docs/tr/docs/en/qgc-dev-guide/custom_build/release_branching_process.md new file mode 100644 index 00000000000..41e143a59f1 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/custom_build/release_branching_process.md @@ -0,0 +1,44 @@ +# Release Process for Custom Builds \[WIP Docs] + +One of the trickier aspects of creating your own custom build is the process to keep it up to date with regular QGC. This document describes a suggested process to follow. But in reality you are welcome to use whatever branching and release strategy you want for your custom builds. + +## Upstream QGC release/branching strategy + +The best place to start is understanding the mechanism QGC uses to do it's own releases. We will layer a custom build release process on top of that. You can find standard QGC [release process here](../release_branching_process.md). + +## Custom build/release types + +Regular QGC has two main build types: Stable and Daily. The build type for a custom build is more complex. Throughout this discussion we will use the term "upstream" to refer to the main QGC repo (https\://github.com/mavlink/qgroundcontrol). Also when we talk about a "new" upstream stable release, this means a major/minor release, not a patch release. + +### Synchronized Stable + +This type of release is synchronized with the release of an upstream stable. Once QGC releases stable you then release a version of your custom build which is based on this stable. This build will include all the new features from upstream including the new feature in your own custom code. + +### Out-Of-Band Stable + +This a subsequent release of your custom build after you have released a synchronized stable but prior to upstream releasing a new stable. It only includes new features from your own custom build and include no new features from upstream. Work on this type of release would occur on a branch which is either based on your latest synchronized stable or your last out of band release if it exists. You can release out of band stable releases at any time past your first synchronized stable release. + +### Daily + +Your custom daily builds are built from your `master` branch. It is important to keep your custom master up to date with QGC master. If you lag behind you may be surprised by upstream features which require some effort to integrate with your build. Or you may even require changes to "core" QGC in order to work with your code. +If you don't let QGC development team know soon enough, it may end up being too late to get things changed. + +## Options for your first build + +### Starting with a Synchronized Stable release + +It is suggested that you start with releasing a Synchronized Stable. This isn't necessary but it is the simplest way to get started. To set your self up for a synchronized stable you create your own branch for development which is based on the upstream current stable. + +### Starting with Daily builds + +The reason why you may consider this as your starting point is because you need features which are only in upstream master for your own custom builds. In this case you will have to live with releasing custom Daily builds until the next upstream stable. At which point you would release you first Synchronized Stable. For this setup you use your master branch and keep it in sync with upstream master as you develop. + +## After you release your first Synchronized Stable + +### Patch Releases + +As upstream QGC does patch releases on Stable you should also release your own patch releases based on upstream to keep your stable up to date with latest criticial bug fixes. + +### Out-Of-Band, Daily: One or the other or both? + +At this point you can decide which type of releases you want to follow. You can also decide to possibly do both. You can do smaller new features which don't require new upstream features using out of band releases. And you can do major new feature work as daily/master until the point you can do a new synchronized stable. diff --git a/docs/tr/docs/en/qgc-dev-guide/custom_build/resource_override.md b/docs/tr/docs/en/qgc-dev-guide/custom_build/resource_override.md new file mode 100644 index 00000000000..2c8fa94eba1 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/custom_build/resource_override.md @@ -0,0 +1,24 @@ +# Resource Overrides + +A "resource" in QGC source code terminology is anything found in the [qgroundcontrol.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgroundcontrol.qrc) and [qgcresources.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgcresources.qrc) file. By overriding a resource you can replace it with your own version of it. This could be as simple as a single icon, or as complex as replacing an entire Vehicle Setup page of qml ui code. + +Be aware that using resource overrides does not isolate you from upstream QGC changes like the plugin architecture does. In a sense you are directly modify the upstream QGC resources used by the main code. + +## Exclusion Files + +The first step to overriding a resource is to "exclude" it from the standard portion of the upstream build. This means that you are going to provide that resource in your own custom build resource file(s). There are two files which achieve this: qgroundcontrol.exclusion and [qgcresources.exclusion](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/qgcresources.exclusion). They correspond directly with the \*.qrc counterparts. In order to exclude a resource, copy the resource line from the .qrc file into the appropriate .exclusion file. + +## Custom version of excluded resources + +You must include the custom version of the overriden resouce in you custom build resource file. The resource alias must exactly match the upstream alias. The name and actual location of the resource can be anywhere within your custom directory structure. + +## Generating the new modified versions of standard QGC resource file + +This is done using the `updateqrc.py` python script. It will read the upstream `qgroundcontrol.qrc` and `qgcresources.qrc` file and the corresponding exclusion files and output new versions of these files in your custom directory. These new versions will not have the resources you specified to exclude in them. The build system for custom builds uses these generated files (if they exist) to build with instead of the upstream versions. The generated version of these file should be added to your repo. Also whenever you update the upstream portion of QGC in your custom repo you must re-run `python updateqrc.py` to generate new version of the files since the upstream resources may have changed. + +## Custom Build Example + +You can see an examples of custom build qgcresource overrides in the repo custom build example: + +- [qgcresources.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/qgcresources.exclusion) +- [custom.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/custom.qrc) diff --git a/docs/tr/docs/en/qgc-dev-guide/custom_build/toolbar.md b/docs/tr/docs/en/qgc-dev-guide/custom_build/toolbar.md new file mode 100644 index 00000000000..662cb8db4ae --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/custom_build/toolbar.md @@ -0,0 +1,51 @@ +# Toolbar Customization + +The toolbar can be customized in a number of ways to fit your custom build needs. The toolbar internally is made up of a number of sections from left to right: + +- View Switching +- Indicators + - App Indicators + - Vehicle Indicators + - Vehicle Mode Indicators +- Connection Management +- Branding + +The Indicator section varies based on the view currently displayed: + +- Fly View - Shows all indicators +- Plan View - Show no indicators and has its own custom indicator section for Plan status values +- Other Views - Do not show Vehicle Mode Indicators + +## Customization Possibilities + +### Indicators + +You can add your own indicators for display or remove any of the upstream indicators. The mechanism you use depends on the indicator type. + +#### App Indicators + +These provide information to the user which is not associated with a vehicle. For example RTK status. To manipulate the list of app indicators you use `QGCPlugin::toolbarIndicators`. + +#### Vehicle Indicators + +These are indicators which are associated with information about the vehicle. They are only available when a vehicle is connected. To manipulate the list of vehicle indicators you override `FirmwarePlugin::toolIndicators`. + +#### Vehicle Mode Indicators + +These are indicators which are associated with information about the vehicle. They require additional UI provided by the Fly View to complete their actions. An example is Arming and Disarming. They are only available when a vehicle is connected. To manipulate the list of vehicle mode indicators you override `FirmwarePlugin::modeIndicators`. + +### Modifying the toolbar UI itself + +This is accomplished by using resource overrides on the qml files associated with the toolbar. This provides a high level of customization but also a higher level of complexity. The primary ui for the toolbar is in `MainToolBar.qml`. The main window code in `MainRootWindow.qml` interacts with the toolbar to show different indicator sections based on current view as well as whether the mode indicators show or not also based on current view. + +If you want full control over the toolbar then you can override `MainToolBar.qml` and make your own completely different version. You will need to pay special attention to the interactions of the main toolbar with `MainRootWindow.qml` since you are going to need to replicated those interactions in your own custom version. + +There are two standard indicator ui sections of the toolbar: + +#### `MainToolBarIndicators.qml` + +This is used for all views except Plan. It display all the indicators in a row. Although you can override this file, in reality it doesn't do much other than layout for indicators. + +#### `PlanToolBarIndicators.qml` + +This is used by the Plan view to show the status values. If you want to change that ui you can override this file and provide your own custom version. diff --git a/docs/tr/docs/en/qgc-dev-guide/fact_system.md b/docs/tr/docs/en/qgc-dev-guide/fact_system.md new file mode 100644 index 00000000000..5e7f5242d9c --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/fact_system.md @@ -0,0 +1,33 @@ +# Fact System + +The Fact System provides a set of capabilities which standardizes and simplifies the creation of the QGC user interface. + +## Fact {#fact} + +A Fact represents a single value within the system. + +## FactMetaData + +There is `FactMetaData` associated with each fact. It provides details on the Fact in order to drive automatic user interface generation and validation. + +## Fact Controls + +A Fact Control is a QML user interface control which connects to a Fact and it's `FactMetaData` to provide a control to the user to modify/display the value associated with the Fact. + +## FactGroup + +A _Fact Group_ is a group of [Facts](#fact). +It is used to organise facts and manage user defined facts. + +## Custom Build Support + +User defined facts can be added by overriding `factGroups` function of `FirmwarePlugin` in a custom firmware plugin class. +These functions return a name to fact group map that is used to identify added fact groups. +A custom fact group can be added by extending `FactGroup` class. +FactMetaDatas could be defined using the appopriate `FactGroup` constructor by providing a json file containing necessery information. + +Changing the metadata of existing facts is also possible by overriding `adjustMetaData` of `FirmwarePlugin` class. + +A fact associated with a vehicle (including facts belonging to fact groups returned in `factGroups` function of the vehicles Firmware plugin) can be reached using `getFact("factName")` or `getFact("factGroupName.factName")` + +For additional information please refer to comments in [FirmwarePlugin.h](https://github.com/mavlink/qgroundcontrol/blob/v4.0.8/src/FirmwarePlugin/FirmwarePlugin.h). diff --git a/docs/tr/docs/en/qgc-dev-guide/file_formats/index.md b/docs/tr/docs/en/qgc-dev-guide/file_formats/index.md new file mode 100644 index 00000000000..cf8a409129a --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/file_formats/index.md @@ -0,0 +1,3 @@ +# File Formats + +This section contains topics about the file formats used/supported by _QGroundControl_. diff --git a/docs/tr/docs/en/qgc-dev-guide/file_formats/mavlink.md b/docs/tr/docs/en/qgc-dev-guide/file_formats/mavlink.md new file mode 100644 index 00000000000..8a55c8289af --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/file_formats/mavlink.md @@ -0,0 +1,27 @@ +# MAVLink Log Format + +_QGroundControl_ allows you to generate plain MAVLink packet logs that can be +replayed (with QGroundControl) to watch a mission again for analysis. + +The format is binary: + +- Byte 1-8: Timestamp in microseconds since Unix epoch as unsigned 64 bit integer +- Byte 9-271: MAVLink packet (263 bytes maximum packet length, not all bytes have to be actual data, the packet might be shorter. Includes packet start sign) + +## Debugging + +To check your data, open your written file in a hex editor. You should see after 8 bytes **0x55**. The first 8 bytes should also convert to a valid timestamp, so something either close to zero or around the number **1294571828792000** (which is the current Unix epoch timestamp in microseconds). + +## C++ Sketch for logging MAVLink + +The code fragment below shows how to implement logging using [C++ streams](http://www.cplusplus.com/reference/iostream/istream/) from the C++ standard library. + +```cpp +//write into mavlink logfile +const int len = MAVLINK_MAX_PACKET_LEN+sizeof(uint64_t); +uint8_t buf[len]; +uint64_t time = getSystemTimeUsecs(); +memcpy(buf, (void*)&time, sizeof(uint64_t)); +mavlink_msg_to_send_buffer(buf+sizeof(uint64_t), msg); +mavlinkFile << buf << flush; +``` diff --git a/docs/tr/docs/en/qgc-dev-guide/file_formats/parameters.md b/docs/tr/docs/en/qgc-dev-guide/file_formats/parameters.md new file mode 100644 index 00000000000..60fd66a3638 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/file_formats/parameters.md @@ -0,0 +1,25 @@ +# Parameters File Format + +``` +# Onboard parameters for Vehicle 1 +# +# # Vehicle-Id Component-Id Name Value Type +1 1 ACRO_LOCKING 0 2 +1 1 ACRO_PITCH_RATE 180 4 +1 1 ACRO_ROLL_RATE 180 4 +1 1 ADSB_ENABLE 0 2 +``` + +Above is an example of a parameter file with four parameters. The file can include as many parameters as needed. + +Comments are preceded with a `#`. + +This header: `# MAV ID COMPONENT ID PARAM NAME VALUE` describes the format for each row: + +- `Vehicle-Id` Vehicle id +- `Component-Id` Component id for parameter +- `Name` Parameter name +- `Value` Parameter value +- `Type` Parameter type using MAVLink `MAV_PARAM_TYPE_*` enum values + +A parameter file contains the parameters for a single Vehicle. It can contain parameters for multiple components within that Vehicle. diff --git a/docs/tr/docs/en/qgc-dev-guide/file_formats/plan.md b/docs/tr/docs/en/qgc-dev-guide/file_formats/plan.md new file mode 100644 index 00000000000..914571983f2 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/file_formats/plan.md @@ -0,0 +1,489 @@ +# Plan File Format + +Plan files are stored in JSON file format and contain mission items and (optional) geo-fence and rally-points. +Below you can see the top level format of a Plan file + +:::tip +This is "near-minimal" - a plan must contain at least one mission item. +The plan fence and rally points are also used in modes when no mission is running. +::: + +```json +{ + "fileType": "Plan", + "geoFence": { + "circles": [], + "polygons": [], + "version": 2 + }, + "groundStation": "QGroundControl", + "mission": {}, + "rallyPoints": { + "points": [], + "version": 2 + }, + "version": 1 +} +``` + +The main fields are: + +| Key | Description | +| ------------------------------ | ------------------------------------------------------------------------------ | +| `version` | The version for this file. Current version is 1. | +| `fileType` | Must be `"Plan"`. | +| `groundStation` | The name of the ground station which created this file (here _QGroundControl_) | +| [`mission`](#mission) | The mission associated with this flight plan. | +| [`geoFence`](#geofence) | (Optional) Geofence information for this plan. | +| [`rallyPoints`](#rally_points) | (Optional) Rally/Safe point information for this plan | + +## Mission Object {#mission} + +The structure of the mission object is shown below. +The `items` field contains a comma-separated list of mission items (it must contain at least one mission item, as shown below). +The list may be a mix of both [SimpleItem](#mission_simple_item) and [ComplexItem](#mission_complex_item) objects. + +```json + "mission": { + "cruiseSpeed": 15, + "firmwareType": 12, + "globalPlanAltitudeMode": 1, + "hoverSpeed": 5, + "items": [ + { + "AMSLAltAboveTerrain": null, + "Altitude": 50, + "AltitudeMode": 0, + "autoContinue": true, + "command": 22, + "doJumpId": 1, + "frame": 3, + "params": [ + 15, + 0, + 0, + null, + 47.3985099, + 8.5451002, + 50 + ], + "type": "SimpleItem" + } + ], + "plannedHomePosition": [ + 47.3977419, + 8.545594, + 487.989 + ], + "vehicleType": 2, + "version": 2 + }, +``` + +The following values are required: + +| Key | Description | +| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version for the mission object. Current version is 2. | +| `firmwareType` | The firmware type for which this mission was created. This is one of the [MAV\_AUTOPILOT](https://mavlink.io/en/messages/common.html#MAV_AUTOPILOT) enum values. | +| `globalPlanAltitudeMode` | The global plan-wide altitude mode setting. This is used by plan items that don't specify an `"AltitudeMode"`. | +| `vehicleType` | The vehicle type for which this mission was created. This is one of the [MAV\_TYPE](https://mavlink.io/en/messages/common.html#MAV_TYPE) enum values. | +| `cruiseSpeed` | The default forward speed for Fixed wing or VTOL vehicles (i.e. when moving between waypoints). | +| `hoverSpeed` | The default forward speed for multi-rotor vehicles. | +| `items` | The list of mission item objects associated with the mission . The list may contain either/both [SimpleItem](#mission_simple_item) and [ComplexItem](#mission_complex_item) objects. | +| `plannedHomePosition` | The planned home position is shown on the map and used for mission planning when no vehicle is connected. The array values shown above are (from top): latitude, longitude and AMSL altitude. | + +The format of the simple and complex items is given below. + +### `SimpleItem` - Simple Mission Item {#mission\_simple\_item} + +A simple item represents a single MAVLink [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM) command. + +``` + { + "AMSLAltAboveTerrain": null, + "Altitude": 50, + "AltitudeMode": 0, + "autoContinue": true, + "command": 22, + "doJumpId": 1, + "frame": 3, + "params": [ + 15, + 0, + 0, + null, + 47.3985099, + 8.5451002, + 50 + ], + "type": "SimpleItem" + } +``` + +The field mapping is shown below. + +| Key | Description | +| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | `SimpleItem` for a simple item | +| `AMSLAltAboveTerrain` | Altitude value shown to the user. | +| `Altitude` | | +| `AltitudeMode` | | +| `autoContinue` | [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).autoContinue | +| `command` | The command ([MAV\_CMD](https://mavlink.io/en/messages/common.html#MAV_CMD)) for this mission item - see [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).command. | +| `doJumpId` | The target id for the current mission item in DO\_JUMP commands. These are auto-numbered from 1. | +| `frame` | [MAV\_FRAME](https://mavlink.io/en/messages/common.html#MAV_FRAME) (see [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).frame) | +| `params` | [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).param1,2,3,4,x,y,z (values depends on the particular [MAV\_CMD](https://mavlink.io/en/messages/common.html#MAV_CMD)). | + +### Complex Mission Item {#mission\_complex\_item} + +A complex item is a higher level encapsulation of multiple `MISSION_ITEM` objects treated as a single entity. + +There are currently three types of complex mission items: + +- [Survey](#survey) +- [Corridor Scan](#corridor_scan) +- [Structure Scan](#structure_scan) + +#### Survey - Complex Mission Item {#survey} + +The object definition for a `Survey` complex mission item is given below. + +``` +{ + "TransectStyleComplexItem": { + ... + }, + "angle": 0, + "complexItemType": "survey", + "entryLocation": 0, + "flyAlternateTransects": false, + "polygon": [ + [ + -37.75170619863631, + 144.98414811224316 + ], + ... + [ + -37.75170619863631, + 144.99457681259048 + ] + ], + "type": "ComplexItem", + "version": 4 + }, +``` + +Complex items have these values associated with them: + +| Key | Description | +| ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version number for this `survey` definition. Current version is 3. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `survey` | +| [`TransectStyleComplexItem`](#TransectStyleComplexItem) | The common base definition for Survey and CorridorScan complex items. | +| `angle` | The angle for the transect paths (degrees). | +| `entryLocation` | ? | +| `flyAlternateTransects` | If true, the vehicle will skip every other transect and then come back at the end and fly these alternates. This can be used for fixed wing aircraft when the turnaround would be too acute for the vehicle to make the turn. | +| `polygon` | The polygon array which represents the polygonal survey area. Each point is a latitude, longitude pair for a polygon vertex. | + +#### Corridor Scan {#corridor\_scan} + +The object definition for a `CorridorScan` complex mission item is given below. + +``` + { + "CorridorWidth": 50, + "EntryPoint": 0, + "TransectStyleComplexItem": { + ... + }, + }, + "complexItemType": "CorridorScan", + "polyline": [ + [ + -37.75234887156983, + 144.9893624624168 + ], + ... + [ + -37.75491914850321, + 144.9893624624168 + ] + ], + "type": "ComplexItem", + "version": 2 + }, +``` + +| Key | Description | +| ------------------------------------------------------- | --------------------------------------------------------------------- | +| `version` | The version for this `CorridorScan` definition. Current version is 3. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `CorridorScan` | +| `CorridorWidth` | ? | +| `EntryPoint` | ? | +| [`TransectStyleComplexItem`](#TransectStyleComplexItem) | The common base definition for Survey and CorridorScan complex items. | +| `polyline` | ? | + +#### Structure Scan {#structure\_scan} + +The object definition for a `StructureScan` complex mission item is given below. + +```json + { + "Altitude": 50, + "CameraCalc": { + "AdjustedFootprintFrontal": 25, + "AdjustedFootprintSide": 25, + "CameraName": "Manual (no camera specs)", + "DistanceToSurface": 10, + "DistanceToSurfaceRelative": true, + "version": 1 + }, + "Layers": 1, + "StructureHeight": 25, + "altitudeRelative": true, + "complexItemType": "StructureScan", + "polygon": [ + [ + -37.753184359536355, + 144.98879374063998 + ], + ... + [ + -37.75408368012594, + 144.98879374063998 + ] + ], + "type": "ComplexItem", + "version": 2 + } +``` + +| Key | Description | +| --------------------------- | ---------------------------------------------------------------------- | +| `version` | The version for this `StructureScan` definition. Current version is 2. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `StructureScan` | +| `Altitude` | ? | +| [`CameraCalc`](#CameraCalc) | ? | +| `Layers` | ? | +| `StructureHeight` | ? | +| `altitudeRelative` | `true`: `altitude` is relative to home, `false`: `altitude` is AMSL. | +| `polygon` | ? | + +#### `TransectStyleComplexItem` {#TransectStyleComplexItem} + +`TransectStyleComplexItem` contains the common base definition for [`survey`](#survey) and [`CorridorScan`](#CorridorScan) complex items. + +```json + "TransectStyleComplexItem": { + "CameraCalc": { + ... + }, + "CameraTriggerInTurnAround": true, + "FollowTerrain": false, + "HoverAndCapture": false, + "Items": [ + ... + ], + "Refly90Degrees": false, + "TurnAroundDistance": 10, + "VisualTransectPoints": [ + [ + -37.75161626657736, + 144.98414811224316 + ], + ... + [ + -37.75565155437309, + 144.99438539496475 + ] + ], + "version": 1 + }, +``` + +| Key | Description | +| --------------------------- | --------------------------------------------------------------------------------- | +| `version` | The version for this `TransectStyleComplexItem` definition. Current version is 1. | +| [`CameraCalc`](#CameraCalc) | ? | +| `CameraTriggerInTurnAround` | ? (boolean) | +| `FollowTerrain` | ? (boolean) | +| `HoverAndCapture` | ? (boolean) | +| `Items` | ? | +| `Refly90Degrees` | ? (boolean) | +| `TurnAroundDistance` | The distance to fly past the polygon edge prior to turning for the next transect. | +| `VisualTransectPoints` | ? | + +##### CameraCalc {#CameraCalc} + +The `CameraCalc` contains camera information used for a survey, corridor or structure scan. + +``` + "CameraCalc": { + "AdjustedFootprintFrontal": 272.4, + "AdjustedFootprintSide": 409.2, + "CameraName": "Sony ILCE-QX1", + "DistanceToSurface": 940.6896551724138, + "DistanceToSurfaceRelative": true, + "FixedOrientation": false, + "FocalLength": 16, + "FrontalOverlap": 70, + "ImageDensity": 25, + "ImageHeight": 3632, + "ImageWidth": 5456, + "Landscape": true, + "MinTriggerInterval": 0, + "SensorHeight": 15.4, + "SensorWidth": 23.2, + "SideOverlap": 70, + "ValueSetIsDistance": false, + "version": 1 + }, +``` + +| Key | Description | +| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version for this `CameraCalc` definition. Current version is 1. | +| `AdjustedFootprintFrontal` | ? | +| `AdjustedFootprintSide` | ? | +| `DistanceToSurface` | ? Units? | +| `DistanceToSurfaceRelative` | ? | +| `CameraName` | Name of camera being used (must correspond to one of the cameras known to _QGroundControl_ or: `Manual (no camera specs)` for manual setup, `Custom Camera` for a custom setup. The keys listed after this point are not specified for a "Manual" camera definition. | +| `FixedOrientation` | ? (boolean) | +| `FocalLength` | Focal length of camera lens in millimeters. | +| `FrontalOverlap` | Percentage of frontal image overlap. | +| `ImageDensity` | ? | +| `ImageHeight` | Image height in px | +| `ImageWidth` | Image width in px | +| `Landscape` | `true`: Camera installed in landscape orientation on vehicle, `false`: Camera installed in portrait orientation on vehicle. | +| `MinTriggerInterval` | ? | +| `SensorHeight` | Sensor height in millimeters. | +| `SensorWidth` | Sensor width in millimeters. | +| `SideOverlap` | Percentage of side image overlap. | +| `ValueSetIsDistance` | ? (boolean) | + +## GeoFence {#geofence} + +Geofence information is optional. +The plan can contain an arbitrary number of geofences defined in terms of polygons and circles. + +The minimal definition is shown below. + +```json + "geoFence": { + "circles": [ + ], + "polygons": [ + ], + "version": 2 + }, +``` + +The fields are: + +| Key | Description | +| ------------------------------- | ----------------------------------------------------------------------------- | +| `version` | The version number for the geofence plan format. The documented version is 2. | +| [`circles`](#circle_geofence) | List containing circle geofence definitions (comma separated). | +| [`polygons`](#polygon_geofence) | List containing polygon geofence definitions (comma separated). | + +### Circle Geofence {#circle\_geofence} + +Each circular geofence is defined in a separate item, as shown below (multiple comma-separated items can be defined). +The items define the centre and radius of the circle, and whether or not the specific geofence is activated. + +```json +{ + "circle": { + "center": [47.39756763610029, 8.544649762407738], + "radius": 319.85 + }, + "inclusion": true, + "version": 1 +} +``` + +The fields are: + +| Key | Description | +| ----------- | -------------------------------------------------------------------------------------------------- | +| `version` | The version number for the geofence "circle" plan format. The documented version is 1. | +| `circle` | The definition of the circle. Includes `centre` (latitude, longitude) and `radisu` as shown above. | +| `inclusion` | Whether or not the geofence is enabled (true) or disabled. | + +### Polygon Geofence {#polygon\_geofence} + +Each polygon geofence is defined in a separate item, as shown below (multiple comma-separated items can be defined). +The geofence includes a set of points defined with a clockwise winding (i.e. they must enclose an area). + +```json + { + "inclusion": true, + "polygon": [ + [ + 47.39807773798406, + 8.543834631785785 + ], + [ + 47.39983519888905, + 8.550024648373267 + ], + [ + 47.39641100087146, + 8.54499282423751 + ], + [ + 47.395590322265186, + 8.539435808992085 + ] + ], + "version": 1 + } + ], + "version": 2 + } +``` + +The fields are: + +| Key | Description | +| ----------- | ------------------------------------------------------------------------------------------------------------------------------ | +| `version` | The version number for the geofence "polygon" plan format. The documented version is 2. | +| `polygon` | A list of points for the polygon. Each point contains a latitude and longitude. The points are ordered in a clockwise winding. | +| `inclusion` | Whether or not the geofence is enabled (true) or disabled. | + +## Rally Points {#rally\_points} + +Rally point information is optional. +The plan can contain an arbitrary number of rally points, each of which has a latitude, longitude, and altitude (above home position). + +A definition with two points is shown below. + +```json + + "rallyPoints": { + "points": [ + [ + 47.39760401, + 8.5509154, + 50 + ], + [ + 47.39902017, + 8.54263274, + 50 + ] + ], + "version": 2 + } +``` + +The fields are: + +| Key | Description | +| --------- | -------------------------------------------------------------------------------- | +| `version` | The version number for the rally point plan format. The documented version is 2. | +| `points` | A list of rally points. | diff --git a/docs/tr/docs/en/qgc-dev-guide/firmware_plugin.md b/docs/tr/docs/en/qgc-dev-guide/firmware_plugin.md new file mode 100644 index 00000000000..95d0c3ddc74 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/firmware_plugin.md @@ -0,0 +1,23 @@ +# Plugin Architecture + +Although the MAVLink spec defines a standard communication protocol to communicate with a vehicle. There are many aspects of that spec that are up for interpretation by the firmware developers. Because of this there are many cases where communication with a vehicle running one firmware is be slightly different than communication with a vehicle running a different firmware in order to accomplish the same task. Also each firmware may implement a different subset of the MAVLink command set. + +Another major issue is that the MAVLink spec does not cover vehicle configuration or a common parameter set. Due to this all code which relates to vehicle setup ends up being firmware specific. Also any code which must refer to a specific parameter is also firmware specific. + +Given all of these differences between firmware implementations it can be quite tricky to create a single ground station application that can support each without having the codebase degrade into a massive pile of if/then/else statements peppered everywhere based on the firmware the vehicle is using. + +QGC uses a plugin architecture to isolate the firmware specific code from the code which is generic to all firmwares. There are two main plugins which accomplish this `FirmwarePlugin` and `AutoPilotPlugin`. + +This plugin architecture is also used by custom builds to allow ever further customization beyond when standard QGC can provide. + +## FirmwarePlugin + +This is used to create a standard interface to parts of Mavlink which are generally not standardized. + +## AutoPilotPlugin + +This is used to provide the user interface for Vehicle Setup. + +## QGCCorePlugin + +This is used to expose features of the QGC application itself which are not related to a Vehicle through a standard interface. This is then used by custom builds to adjust the QGC feature set to their needs. diff --git a/docs/tr/docs/en/qgc-dev-guide/getting_started/cent_os.md b/docs/tr/docs/en/qgc-dev-guide/getting_started/cent_os.md new file mode 100644 index 00000000000..c709b04874b --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/getting_started/cent_os.md @@ -0,0 +1,220 @@ +# Using QGC on CentOS 7 + +## OS Installation + +To install CentOS 7: + +1. Fetch the latest [CentOS 7 ISO from here](http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso) +2. Make a bootable USB stick out of the ISO e.g. by [following this guide](https://linuxize.com/post/how-to-create-a-bootable-centos-7-usb-stick/). +3. Boot the target device from the stick. + +The following examples show how to boot the target device from the stick. + +**Example:** _Panasonic Toughpad FZ-M1_ (attaching a keyboard and mouse to the device to follow this guide is recommended). + +1. Enter the BIOS menu by holding **Delete** on an attached USB keyboard or pressing all hardware buttons around the power button during boot. +2. Once inside the BIOS switch to the _Exit_ tab using the arrow keys or the touchscreen. +3. Select your previously created and plugged in USB stick under Boot device override. + +**Example** [UAV Components Micronav](https://www.uavcomp.com/command-control/micronav/) device: + +1. The setup of CentOS will not start with the default configuration. + To solve this + 1. Go to the BIOS menu as explained in the example above. + 2. Disable the "Extension Port" device under the "Advanced" tab. + 3. "Exit and save" the BIOS menu on the Exit page of the BIOS and try again. + 4. After CentOS is installed, you revert the changes again so that the Microhard network works. +2. Make sure to never do a warm reboot but always first shut down the device if you want to reboot into Linux. + Otherwise the Microhard network adapter will not work properly and slows down the whole system. + +### CentOS Software Selection Installation Options + +These were the options used to setup a CentOS development system. +Use it as a guideline. + +![CentOS Installation](../../../assets/dev_getting_started/centos/centos_installation.png) + +![CentOS Software Selection](../../../assets/dev_getting_started/centos/centos_sw_selection.png) + +### Update GStreamer + +Once CentOS is installed and booted we need to set up the environment for QGC. +First, we need to update GStreamer to a more recent version. +This guide follows Alice Wonder's tips found here: https\://media.librelamp.com + +``` +sudo yum install epel-release -y +wget http://awel.domblogger.net/7/media/x86_64/awel-media-release-7-6.noarch.rpm +sudo yum localinstall awel-media-release-7-6.noarch.rpm -y +sudo yum clean all +sudo yum update +sudo yum install gstreamer1* --skip-broken -y +``` + +**Note:** Make sure these are installed (vaapi for Intel GPUs) + +``` +sudo yum install gstreamer1-vaapi +sudo yum install gstreamer1-libav +``` + +**Note:** Install these to enable hardware accelerated video decoding + +``` +sudo yum install libva +sudo yum install libva-utils +sudo yum install libva-intel-driver +``` + +If libva-intel-driver is not found you can download it and install it manually + +``` +wget http://download1.rpmfusion.org/free/el/updates/7/x86_64/l/libva-intel-driver-1.8.3-4.el7.x86_64.rpm +sudo yum localinstall libva-intel-driver-1.8.3-4.el7.x86_64.rpm -y +``` + +### Installing SDL2 + +SDL2 is used for joystick support. + +``` +sudo yum install SDL2 SDL2-devel -y +``` + +### Update Kernel (optional) + +:::tip +If your Joystick gets recognized and shows up as `/dev/input/js0` when you run the command `/dev/input/*` you can skip this step. +::: + +We recommend updating the kernel for: + +- Better touch screen responsiveness. +- Correct recognition of some USB devices - in particular joysticks. + +The following joysticks are known not do work out of the box with the default CentOS 7 kernel (3.10.0): + +- Logitech F310 +- Microsoft Xbox 360 controller (USB) + +To fix the joystick not being recognized (even if the same unit is working under Windows or Ubuntu) please [follow this guide to update the kernel](https://www.howtoforge.com/tutorial/how-to-upgrade-kernel-in-centos-7-server/). + +Here's a short summary of the commands that you need to execute to update the kernel: + +``` +sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org +sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm +sudo yum --enablerepo=elrepo-kernel install kernel-ml -y +``` + +Reboot your device afterwards and make sure the new kernel version shows up as the default start option in the GRUB menu on boot. + +:::info +You might need to disable secure boot in the BIOS to allow the new kernel to be booted. +::: + +## Running QGC on CentOS + +Before launching QGC, you need to make sure the current user has access to the dialout group (serial port access permission): + +``` +sudo usermod -a -G dialout $USER +``` + +### Firewall + +The default firewall security level of Red Hat distributions like CentOS block MAVLink communication and also the camera video stream. +So you need to create rules to open the incoming ports for MAVLink and camera stream. +For non-production local environment testing purposes ONLY you can temporarily disable the firewall using the following commands ([from here](https://www.liquidweb.com/kb/how-to-stop-and-disable-firewalld-on-centos-7/)): + +Temporary: + +``` +systemctl stop firewalld +``` + +Permanent (at your own risk): + +``` +systemctl disable firewalld +``` + +Undo permanent change: + +``` +systemctl enable firewalld +``` + +### Connection problems with multiple networks + +In our test with CentOS we had problems when connecting to multiple networks through multiple network devices even with appropriate IP address and subnet assignment. + +Issues consisted of: + +- Losing Internet access when connecting to a second network +- Having flaky connection to the vehicle with a lot of hiccups and packet losses (e.g. 30 seconds perfect connection 4 seconds of packet loss in a regular pattern) + +If you face any of these problems avoid them by only connecting one network at a time e.g. switching between WiFi and Microhard. + +### Executing a Prebuilt QGC Binary + +- Get hold of an archive containing a prebuilt binary of QGC for CentOS. + At the moment there is no automatic deployment for this build if you urgently need one get in touch with the developers. +- [Unpack the archive](https://www.hostdime.com/kb/hd/command-line/how-to-tar-untar-and-zip-files). +- Go inside the unpacked files and locate the script named `qgroundcontrol-run.sh` +- Run it by executing the command + ``` + ./qgroundcontrol-run.sh + ``` + +## Building QGC on CentOS + +### Installing Qt + +``` +mkdir ~/devel +cd ~/devel +``` + +Install Qt 5.12.4 from the Qt installation script that can be downloaded [here](https://www.qt.io/download-thank-you?os=linux\&hsLang=en). +Once downloaded, make it executable and run it: + +``` +chmod +x qt-unified-linux-x64-3.1.1-online.run +./qt-unified-linux-x64-3.1.1-online.run +``` + +Select the following options and install it under `~/devel/Qt`: + +![Qt Software Selection](../../../assets/dev_getting_started/centos/qt_setup.png) + +### Clone and Build QGC + +``` +git clone --recursive https://github.com/mavlink/qgroundcontrol.git +mkdir build +cd build +``` + +For a debug/test build: + +``` +../Qt/5.12.4/gcc_64/bin/qmake ../qgroundcontrol/qgroundcontrol.pro -spec linux-g++ CONFIG+=debug +``` + +For a release build: + +``` +../Qt/5.12.4/gcc_64/bin/qmake ../qgroundcontrol/qgroundcontrol.pro -spec linux-g++ CONFIG+=qtquickcompiler +``` + +Build it: + +``` +make -j4 +``` + +You can alternatively launch _QtCreator_ (found under `~/devel/Qt/Tools/QtCreator/bin/qtcreator`), load the `qgroundcontro.pro` project and build/debug from within its IDE. + +By default, this will build the regular QGC. +To build the sample, customized UI version, follow [these instructions](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/README.md). diff --git a/docs/tr/docs/en/qgc-dev-guide/getting_started/container.md b/docs/tr/docs/en/qgc-dev-guide/getting_started/container.md new file mode 100644 index 00000000000..3bdda672439 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/getting_started/container.md @@ -0,0 +1,81 @@ +# Building using Containers + +The community created a docker image that makes it much easier to build a Linux-based QGC application. +This can give you a massive boost in productivity and help with testing. + +## About the Container + +The Container is located in the `./deploy/docker` directory. +It's based on ubuntu 20.04. +It pre-installs all the dependencies at build time, including Qt, thanks to a script located in the same directory, `install-qt-linux.sh`. +The main advantage of using the container is the usage of the `CMake` build system and its many improvements over `qmake` + +## Building the Container + +Before using the container, you have to build the image. +You can accomplish this using docker, running the following script from the root of the QGC source code directory. + +``` +docker build --file ./deploy/docker/Dockerfile-build-linux -t qgc-linux-docker . +``` + +:::info +The `-t` flag is essential. +Keep in mind this is tagging the image for later reference since you can have multiple builds of the same container +::: + +::: info +If building on a Mac computer with an M1 chip you must also specify the build option `--platform linux/x86_64` as shown: + +``` +docker build --platform linux/x86_64 --file ./deploy/docker/Dockerfile-build-linux -t qgc-linux-docker . +``` + +Otherwise you will get a build error like: + +``` +qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory +``` + +::: + +## Building QGC using the Container + +To use the container to build QGC, you first need to define a directory to save the artifacts. +We recommend you create a `build` directory on the source tree and then run the docker image using the tag provided above as follows, from the root directory: + +``` +mkdir build +docker run --rm -v ${PWD}:/project/source -v ${PWD}/build:/project/build qgc-linux-docker +``` + +::: info +If using the script to build the Linux image on a Windows host, you would need to reference the PWD differently. +On Windows the docker command is: + +``` +docker run --rm -v %cd%:/project/source -v %cd%/build:/project/build qgc-linux-docker +``` + +::: + +Depending on your system resources, or the resources assigned to your Docker Daemon, the build step can take some time. + +## Troubleshooting + +### Windows: 'bash\r': No such file or directory + +This error indicates that a Linux script is being run with Windows line endings, which might occur if `git` was configured to use Windows line endings: + +``` + > [4/7] RUN /tmp/qt/install-qt-linux.sh: +#9 0.445 /usr/bin/env: 'bash\r': No such file or directory +``` + +One fix is to force Linux line endings using the command: + +``` +git config --global core.autocrlf false +``` + +Then update/recreate your local repository. diff --git a/docs/tr/docs/en/qgc-dev-guide/getting_started/index.md b/docs/tr/docs/en/qgc-dev-guide/getting_started/index.md new file mode 100644 index 00000000000..c01c1af6e99 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/getting_started/index.md @@ -0,0 +1,238 @@ +--- +qt_version: 5.15.2 +--- + +# Getting Started + +This topic explains how to get the _QGroundControl_ source code and build it either natively or within a _Vagrant_ environment. +It also provides information about optional or OS specific functionality. + +## Daily Builds + +If you just want to test (and not debug) a recent build of _QGroundControl_ you can use the [Daily Build](https://docs.qgroundcontrol.com/en/releases/daily_builds.html). Versions are provided for all platforms. + +## Source Code + +Source code for _QGroundControl_ is kept on GitHub here: https\://github.com/mavlink/qgroundcontrol. +It is [dual-licensed under Apache 2.0 and GPLv3](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md). + +To get the source files: + +1. Clone the repo (or your fork) including submodules: + ``` + git clone --recursive -j8 https://github.com/mavlink/qgroundcontrol.git + ``` +2. Update submodules (required each time you pull new source code): + ``` + git submodule update --recursive + ``` + +:::tip +Github source-code zip files cannot be used because these do not contain the appropriate submodule source code. +You must use git! +::: + +## Build QGroundControl + +### Using Containers + +We support Linux builds using a container found on the source tree of the repository, which can help you develop and deploy the QGC apps without having to install any of the requirements on your local environment. + +[Container Guide](../getting_started/container.md) + +### Native Builds + +_QGroundControl_ builds are supported for macOS, Linux, Windows, iOS and Android. +_QGroundControl_ uses [Qt](http://www.qt.io) as its cross-platform support library and uses [QtCreator](http://doc.qt.io/qtcreator/index.html) as its default build environment. + +- **macOS:** v10.11 or higher +- **Ubuntu:** 64 bit, gcc compiler +- **Windows:** Vista or higher, [Visual Studio 2019 compiler](#vs) (64 bit) +- **iOS:** 10.0 and higher +- **Android:** Android 5.0 and later. + - Standard QGC is built against ndk version 19. + - Java JDK 11 is required. +- **Qt version:** {{ $frontmatter.qt\_version }} **(only)** + + ::: warning + **Do not use any other version of Qt!** + QGC has been thoroughly tested with the specified version of Qt ({{ $frontmatter.qt\_version }}). + There is a significant risk that other Qt versions will inject bugs that affect stability and safety (even if QGC compiles). + ::: + +For more information see: [Qt 5 supported platform list](http://doc.qt.io/qt-5/supported-platforms.html). + +:::info +Native [CentOS Builds](../getting_started/cent_os.md) are also supported, but are documented separately (as the tested environment is different). +::: + +#### Install Visual Studio 2019 (Windows Only) {#vs} + +The Windows compiler can be found here: [Visual Studio 2019 compiler](https://visualstudio.microsoft.com/vs/older-downloads/) (64 bit) + +When installing, select _Desktop development with C++_ as shown: + +![Visual Studio 2019 - Select Desktop Environment with C++](../../../assets/dev_getting_started/visual_studio_select_features.png) + +:::info +Visual Studio is ONLY used to get the compiler. Actually building _QGroundControl_ should be done using [Qt Creator](#qt-creator) or [qmake](#qmake) as outlined below. +::: + +#### Install Qt + +You **need to install Qt as described below** instead of using pre-built packages from say, a Linux distribution, because _QGroundControl_ needs access to private Qt headers. + +To install Qt: + +1. Download and run the [Qt Online Installer](http://www.qt.io/download-open-source) + - **Ubuntu:** + - Set the downloaded file to executable using: `chmod +x`. + - Install to default location for use with **./qgroundcontrol-start.sh.** If you install Qt to a non-default location you will need to modify **qgroundcontrol-start.sh** in order to run downloaded builds. + +2. In the installer _Select Components_ dialog choose: {{ $frontmatter.qt\_version }}. + + ::: info + If the version needed is not displayed, check the archive (show archive and refresh). + ::: + + Then install just the following components: + + - **Windows**: _MSVC 2019 64 bit_ + - **MacOS**: _macOS_ + - **Linux**: _Desktop gcc 64-bit_ + - All: + - _Qt Charts_ + - _Android ARMv7_ (optional, used to build Android) + + ![QtCreator Select Components (Windows)](../../../assets/dev_getting_started/qt_creator_select_components.jpg) + +3. Install Additional Packages (Platform Specific) + + - **Ubuntu:** `sudo apt-get install speech-dispatcher libudev-dev libsdl2-dev patchelf build-essential curl` + - **Fedora:** `sudo dnf install speech-dispatcher SDL2-devel SDL2 systemd-devel patchelf` + - **Arch Linux:** `pacman -Sy speech-dispatcher patchelf` + - **Android:** [Qt Android Setup](http://doc.qt.io/qt-5/androidgs.html) + + ::: info + JDK11 is required (install if needed)! + ::: + +4. Install Optional/OS-Specific Functionality + + ::: info + Optional features that are dependent on the operating system and user-installed libraries are linked/described below. + These features can be forcibly enabled/disabled by specifying additional values to qmake. + ::: + + - **Video Streaming/Gstreamer:** - see [Video Streaming](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoReceiver/README.md). + - **Airmap SDK:** - TBD. + +5. Disable platform-specific optional features that are enabled (but not installed), by default. + + ::: info + This currently applies to Airmap on Linux, which is optional but enabled by default. + ::: + + - **Ubuntu:** + - Airmap: Create a file named **user\_config.pri** (in the repo root directory) containing the text `DEFINES += DISABLE_AIRMAP`. + This can be done in a bash terminal using the command: + ``` + echo -e "DEFINES += DISABLE_AIRMAP\r\n" | tee user_config.pri + ``` + +#### Building using Qt Creator {#qt-creator} + +1. Launch _Qt Creator_ and open the **qgroundcontrol.pro** project. + +2. In the **Projects** section, select the appropriate kit for your needs: + + - **OSX:** Desktop Qt {{ $frontmatter.qt\_version }} clang 64 bit + + ::: info + iOS builds must be built using [XCode](http://doc.qt.io/qt-5/ios-support.html). + ::: + + - **Ubuntu:** Desktop Qt {{ $frontmatter.qt\_version }} GCC 64bit + + - **Windows:** Desktop Qt {{ $frontmatter.qt\_version }} MSVC2019 **64bit** + + - **Android:** Android for armeabi-v7a (GCC 4.9, Qt {{ $frontmatter.qt\_version }}) + - JDK11 is required. + You can confirm it is being used by reviewing the project setting: **Projects > Manage Kits > Devices > Android (tab) > Android Settings > _JDK location_**. + +3. Build using the "hammer" (or "play") icons: + + ![QtCreator Build Button](../../../assets/dev_getting_started/qt_creator_build_qgc.png) + +#### Build using qmake on CLI {#qmake} + +Example commands to build a default QGC and run it afterwards: + +1. Make sure you cloned the repository and updated the submodules before, see chapter _Source Code_ above and switch into the repository folder: + ``` + cd qgroundcontrol + ``` + +2. Create and enter a shadow build directory: + ``` + mkdir build + cd build + ``` + +3. Configure the build using the qmake script in the root of the repository: + ``` + qmake ../ + ``` + +4. Run make to compile and link. + To accelerate the process things you can use the `-j{number of threads}` parameter. + + ``` + make -j12 + ``` + + ::: info + You can also specify build time flags here. + For example, you could disable airmap inclusion using the command: + + ``` + DEFINES+=DISABLE_AIRMAP make build + ``` + + ::: + +5. Run the QGroundcontrol binary that was just built: + ``` + ./staging/QGroundControl + ``` + +### Vagrant + +[Vagrant](https://www.vagrantup.com/) can be used to build and run _QGroundControl_ within a Linux virtual machine (the build can also be run on the host machine if it is compatible). + +1. [Download](https://www.vagrantup.com/downloads.html) and [Install](https://www.vagrantup.com/docs/getting-started/) Vagrant +2. From the root directory of the _QGroundControl_ repository run `vagrant up` +3. To use the graphical environment run `vagrant reload` + +### Additional Build Notes for all Supported OS + +- **Parallel builds:** For non Windows builds, you can use the `-j#` option to run parellel builds. +- **Location of built files:** Individual build file results can be found in the `build_debug` or `build_release` directories. The built executable can be found in the `debug` or `release` directory. +- **If you get this error when running _QGroundControl_**: `/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version 'GLIBCXX_3.4.20' not found.`, you need to either update to the latest _gcc_, or install the latest _libstdc++.6_ using: `sudo apt-get install libstdc++6`. +- **Unit tests:** To run the [unit tests](../contribute/unit_tests.md), build in `debug` mode with `UNITTEST_BUILD` definition, and then copy `deploy/qgroundcontrol-start.sh` script into the `debug` directory before running the tests. + +## Building QGC Installation Files + +You can additionally create installation file(s) for _QGroundControl_ as part of the normal build process. + +:::tip +On Windows you will need to first install [NSIS](https://sourceforge.net/projects/nsis/). +::: + +To add support for installation file creation you need to add `CONFIG+=installer` to your project file, or when you call _qmake_. + +To do this in _Qt Creator_: + +- Open **Projects > Build > Build Steps > qmake > Additional arguments**. +- Enter `CONFIG+=installer` as shown: + ![Installer](../../../assets/dev_getting_started/qt_project_installer.png) diff --git a/docs/tr/docs/en/qgc-dev-guide/index.md b/docs/tr/docs/en/qgc-dev-guide/index.md new file mode 100644 index 00000000000..22020d391d3 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/index.md @@ -0,0 +1,68 @@ +# QGroundControl Dev Guide + +[![Releases](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases) [![Discuss](https://img.shields.io/badge/discuss-dev-ff69b4.svg)](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-developers) + +This developer guide is the best source for information if you want to build, modify or extend [QGroundControl](http://qgroundcontrol.com) (QGC). +It shows how to obtain and build the source code, explains how QGC works, and provides guidelines for contributing code to the project. + +:::tip +This part of the guide is for **developers**! +::: + +:::warning +This is an active work in progress - information should be correct, but may not be complete! +If you find that it is missing helpful information (or errors) please raise an issue. +::: + +## Design Philosophy + +QGC is designed to provide a single codebase that can run across multiple OS platforms as well as multiple device sizes and styles. + +The QGC user interface is implemented using [Qt QML](http://doc.qt.io/qt-5/qtqml-index.html). QML provides for hardware acceleration which is a key feature on lower powered devices such as tablets or phones. QML also provides features which allows us to more easily create a single user interface which can adapt itself to differing screen sizes and resolution. + +The QGC UI targets itself more towards a tablet+touch style of UI than a desktop mouse-based UI. This make a single UI easier to create since tablet style UI also tends to work fine on desktop/laptops. + +## Support {#support} + +Development questions can be raised in the [QGroundControl Developer](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-developers) discuss category. + +## Contribution + +Information about contributing, including coding styles, testing and licenses can be found in [Code Submissions](contribute/index.md). + +:::tip +We expect all contributors to adhere to the [QGroundControl code of conduct](https://github.com/mavlink/qgroundcontrol/blob/master/CODE_OF_CONDUCT.md). +This code aims to foster an open and welcoming environment. +::: + +### Coordination Call + +The developer team meets bi-weekly to discuss the highest priority issues, project coordination, and discuss any Issues, PRs, or Questions from the Community. ([Developer Call Details](contribute/dev_call.md)) + +### Translations + +We use [Crowdin](https://crowdin.com) to make it easier to manage translation for both _QGroundControl_ and the documentation. + +The translation projects (and join links) are listed below: + +- [QGroundControl](https://crowdin.com/project/qgroundcontrol) ([join](https://crwd.in/qgroundcontrol)) +- [QGroundControl User Guide](https://crowdin.com/project/qgroundcontrol-user-guide) ([join](https://crwd.in/qgroundcontrol-user-guide)) +- [QGroundControl Developer Guide](https://crowdin.com/project/qgroundcontrol-developer-guide) ([join](https://crwd.in/qgroundcontrol-developer-guide)) + +The PX4 Developer Guide contains additional information about the (common) docs/translation toolchain: + +- [Documentation](https://dev.px4.io/en/contribute/docs.html) +- [Translation](https://dev.px4.io/en/contribute/docs.html) + +## License + +_QGroundControl_ source code is [dual-licensed under Apache 2.0 and GPLv3](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md). +For more information see: [Licenses](contribute/licences.md). + +## Governance + +The QGroundControl mission planner is hosted under the governance of the [Dronecode Project](https://www.dronecode.org/). + +Dronecode Logo Linux Foundation Logo + +
 
diff --git a/docs/tr/docs/en/qgc-dev-guide/plan/mission_command_tree.md b/docs/tr/docs/en/qgc-dev-guide/plan/mission_command_tree.md new file mode 100644 index 00000000000..55441b4e3fc --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/plan/mission_command_tree.md @@ -0,0 +1,196 @@ +# Mission Command Tree + +QGC creates the user interface for editing a specific mission item command dynamically from a hierarchy of json metadata. This hierarchy is called the Mission Command Tree. This way only json metadata must be created when new commands are added. + +## Why a tree? + +The tree is needed to deal with the idosyncracies of differening firmware supporting commands differently and/or different vehicle types supporting the commands in different ways. The simplest example of that is mavlink spec may include command parameters which are not supported by all firmwares. Or command parameters which are only valid for certain vehicle types. Also in some cases a GCS may decide to hide some of the command parameters from view to end users since they are too complex or cause usability problems. + +The tree is the MissionCommandTree class: [MissionCommandTree.cc](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.cc), [MissionCommandTree.h](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.h) + +### Tree Root + +The root of the tree is json metadata which matches the mavlink spec exactly. + +Here you can see an example of the root [json](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoCommon.json#L27) for `MAV_CMD_NAV_WAYPOINT`: + +``` + { + "id": 16, + "rawName": "MAV_CMD_NAV_WAYPOINT", + "friendlyName": "Waypoint", + "description": "Travel to a position in 3D space.", + "specifiesCoordinate": true, + "friendlyEdit": true, + "category": "Basic", + "param1": { + "label": "Hold", + "units": "secs", + "default": 0, + "decimalPlaces": 0 + }, + "param2": { + "label": "Acceptance", + "units": "m", + "default": 3, + "decimalPlaces": 2 + }, + "param3": { + "label": "PassThru", + "units": "m", + "default": 0, + "decimalPlaces": 2 + }, + "param4": { + "label": "Yaw", + "units": "deg", + "nanUnchanged": true, + "default": null, + "decimalPlaces": 2 + } + }, +``` + +Note: In reality this based information should be provided by mavlink itself and not needed to be part of a GCS. + +### Leaf Nodes + +The leaf nodes then provides metadata which can override values for the command and/or remove parameters from display to the user. The full tree hierarchy is this: + +- Root - Generic Mavlink + - Vehicle Type Specific - Vehicle specific overrides to the generic spec + - Firmware Type Specific - One optional leaf node for each firmware type (PX4/ArduPilot) + - Vehicle Type Specific - One optional leaf node for each vehicel type (FW/MR/VTOL/Rover/Sub) + +Note: In reality this override capability should be part of mavlink spec and should be able to be queried from the vehicle. + +### Building the instance tree from the full tree + +Since the json metadata provides information for all firmware/vehicle type combinations the actual tree to use must be built based on the firmware and vehicle type which is being used to create a Plan. This is done through a process call "collapsing" the full tree to a firmware/vehicle specific tree ([code](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.cc#L119)). + +The steps are as follows: + +- Add the root to the instance tree +- Apply the vehicle type specific overrides to the instance tree +- Apply the firmware type specific overrides to the instance tree +- Apply the firmware/vehicle type specific overrides to the instance tree + +The resulting Mission Command Tree is then used to build UI for the Plan View item editors. In reality it is used for more than just that, there are many other places where knowing more information about a specific command id is useful. + +## Example hierarchy for `MAV_CMD_NAV_WAYPOINT` + +Let's walk through an example hierarchy for `MAV_CMD_NAV_WAYPOINT`. Root information is shown above. + +### Root - Vehicle Type Specific leaf node + +The next level of the hiearchy is generic mavlink but vehicle specific. Json files are here: [MR](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoMultiRotor.json), [FW](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoFixedWing.json), [ROVER](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoRover.json), [Sub](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoSub.json), [VTOL](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoVTOL.json). And here are the overrides for (Fixed Wings)(https\://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoFixedWing.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "4" + }, +``` + +What this does is remove the editing UI for param4 which is Yaw and not used by fixed wings. Since this is a leaf node of the root, this applies to all fixed wing vehicle no matter the firmware type. + +### Root - Firmware Type Specific leaf node + +The next level of the hiearchy are overrides which are specific to a firmware type but apply to all vehicle types. Once again lets loook at the waypoint overrides: + +[ArduPilot](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/APM/MavCmdInfoCommon.json#L6): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2" + }, +``` + +[PX4](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/PX4/MavCmdInfoCommon.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2,3" + }, +``` + +You can see that for both firmwares param2 which is acceptance radius is removed from the editing ui. This is a QGC specific decision. It is generally safer and easier to use the firmwares generic acceptance radius handling than the specify a value. So we've decided to hide it from users. + +You can also see that for PX4 param3/PassThru is removed since it is not supported by PX. + +### Root - Firmware Type Specific - Vehicle Type Specific leaf node + +The last level of the hiearchy is both firmware and vehicle type specific. + +[ArduPilot/MR](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/APM/MavCmdInfoMultiRotor.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2,3,4" + }, +``` + +Here you can see that for an ArduPilot Multi-Rotor vehicle param2/3/4 Acceptance/PassThru/Yaw are removed. Yaw for example is removed because it is not supported. Due to quirk of how this code works, you need to repeat the overrides from the lower level. + +## Mission Command UI Info + +Two classes define the metadata associated with a command: + +- MissionCommandUIInfo - Metadata for the entire command +- MissionCmdParamInfo - Metadata for a param in a command + +The source is commented with full details of the json keys which are supported. + +[MissionCommandUIInfo](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandUIInfo.h#L82): + +``` +/// UI Information associated with a mission command (MAV_CMD) +/// +/// MissionCommandUIInfo is used to automatically generate editing ui for a MAV_CMD. This object also supports the concept of only having a set of partial +/// information for the command. This is used to create overrides of the base command information. For on override just specify the keys you want to modify +/// from the base command ui info. To override param ui info you must specify the entire MissionParamInfo object. +/// +/// The json format for a MissionCommandUIInfo object is: +/// +/// Key Type Default Description +/// id int reauired MAV_CMD id +/// comment string Used to add a comment +/// rawName string required MAV_CMD enum name, should only be set of base tree information +/// friendlyName string rawName Short description of command +/// description string Long description of command +/// specifiesCoordinate bool false true: Command specifies a lat/lon/alt coordinate +/// specifiesAltitudeOnly bool false true: Command specifies an altitude only (no coordinate) +/// standaloneCoordinate bool false true: Vehicle does not fly through coordinate associated with command (exampl: ROI) +/// isLandCommand bool false true: Command specifies a land command (LAND, VTOL_LAND, ...) +/// friendlyEdit bool false true: Command supports friendly editing dialog, false: Command supports 'Show all values" style editing only +/// category string Advanced Category which this command belongs to +/// paramRemove string Used by an override to remove params, example: "1,3" will remove params 1 and 3 on the override +/// param[1-7] object MissionCommandParamInfo object +/// +``` + +[MissionCmdParamInfo](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandUIInfo.h#L25): + +``` +/// UI Information associated with a mission command (MAV_CMD) parameter +/// +/// MissionCommandParamInfo is used to automatically generate editing ui for a parameter associated with a MAV_CMD. +/// +/// The json format for a MissionCmdParamInfo object is: +/// +/// Key Type Default Description +/// label string required Label for text field +/// units string Units for value, should use FactMetaData units strings in order to get automatic translation +/// default double 0.0/NaN Default value for param. If no default value specified and nanUnchanged == true, then defaultValue is NaN. +/// decimalPlaces int 7 Number of decimal places to show for value +/// enumStrings string Strings to show in combo box for selection +/// enumValues string Values associated with each enum string +/// nanUnchanged bool false True: value can be set to NaN to signal unchanged +``` diff --git a/docs/tr/docs/en/qgc-dev-guide/release_branching_process.md b/docs/tr/docs/en/qgc-dev-guide/release_branching_process.md new file mode 100644 index 00000000000..8cff755d051 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/release_branching_process.md @@ -0,0 +1,81 @@ +# QGroundControl Release/Branching process + +## Semantic Versioning + +QGC uses semantic versioning for the version numbers associated with its releases. +Semantic versioning is a 3-component number in the format of `vX.Y.Z`, where: + +- `X` is the major version. +- `Y` is the minor version. +- `Z` is the patch version. + +## Stable Builds + +The current stable build is the highest quality build available for QGC. +[Patch releases](#patch_releases) of the stable build are regularly made to fix important issues. + +Stable builds are built from a separate branch that is named with the format: `Stable_VX.Y` (note, there is no patch number!) +The branch has one or more git tags for each patch release (with the format `vX.Y.Z`), indicating the point in the repo source code that the associated patch release was created from. + +### Patch Releases {#patch\_releases} + +A patch release contains fixes to the stable release that are important enough to _require_ an update, and are safe enough that the stable release continues to maintain high quality. + +Patch releases increment the patch version number only. + +### Patch - Development Stage + +Approved fixes to the stable release are commited to the current stable branch. +These fixes continue to queue up in the stable branch until a patch release is made (see next step). + +Commits/changes to the stable branch must also be brought over to the master branch (either through cherry pick or separate pulls). + +### Patch - Release Stage + +At the point where the decision is made to do a patch release, the release binaries are created and a new _tag_ is added to the stable branch (with the same patch release number) indicating the associated source code. + +:::info +New branches are not created for patch releases - only for major and minor releases. +::: + +## Daily Builds + +### Development Stage + +Daily builds are built from the `master` branch, and this is where all new major feature development happens. +The state of master represents either the next minor point release, or a new major version release (depending on the level of change). + +There are no git tags associated with a released daily builds. +The released daily build will always match repo HEAD. + +### Release Stage + +When the decision is made to release a new major/minor version the master branch tends to go through an intial lockdown mode. +This is where only important fixes for the release are accepted as pull requests. + +:::info +During the lockdown phase, new features are not allowed in master. +::: + +Once the level of fixes associated with the release slows down to a low level, a new stable branch is created (at this point the `master` branch can move forward again as the latest and greatest). + +Fixes continue in the stable branch until it is deemed ready to release (ideally after a short time)! +At that point the new stable branch is tagged with the new version tag and the first stable release is made. + +## Custom Builds + +A proposed strategy for branching on custom builds can be found [here](custom_build/release_branching_process.md). + +## Process to create a new Stable + +### Major/Minor Version + +1. Create a branch from master named `Stable_VX.Y` where `X` is the major version number and `Y` is the minor version number. +2. Create a tag on the HEAD of master name `dX.Y` where the minor version is one greater than the new Stable. For example if you are create a new Stable 4.2 version then the tag would be 'd4.3'. This tag is used to create the version numbers for Android daily builds. Example: `git tag -a d4.3.0 -m "QGroundControl Daily Android Version Base"`. +3. Create an annotated tag on the newly created Stable branch named `vX.Y.0` with the correct major/minor version number. Example: `git tag -a v4.2.0 -m "QGroundControl v4.2.0"`. Pushing this tag to the repo will start a build. +4. Once the build completes verify the builds are pushed up to S3 correctly and sanity check that they at least boot correctly. Location on S3 will be `https://qgroundcontrol.s3.us-west-2.amazonaws.com/latest/...`. +5. Update the `https://qgroundcontrol.s3.us-west-2.amazonaws.com/builds/latest/QGC.version.txt` text file to the latest Stable version. This will notify uses there is a new Stable available the next time they launch QGC. + +### Patch Version + +Creating a new Patch Version is the same except you skip steps 1 and 2 and in step 3 you bump the patch version number up as needed. diff --git a/docs/tr/docs/en/qgc-dev-guide/tools/index.md b/docs/tr/docs/en/qgc-dev-guide/tools/index.md new file mode 100644 index 00000000000..d2f1bd88502 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/tools/index.md @@ -0,0 +1,20 @@ +# Developer Tools + +_QGroundControl_ makes a number of tools available primarily for autopilot developers. +These ease common developer tasks including setting up simulated connections for testing, +and accessing the System Shell over MAVLink. + +:::info +[Build the source in debug mode](https://github.com/mavlink/qgroundcontrol#supported-builds) to enable these tools. +::: + +Tools include: + +- **[Mock Link](../tools/mock_link.md)** (Daily Builds only) - Creates and stops multiple simulated vehicle links. +- **[Replay Flight Data](https://docs.qgroundcontrol.com/en/app_menu/replay_flight_data.html)** - Replay a telemetry log (User Guide). +- **[MAVLink Inspector](https://docs.qgroundcontrol.com/en/app_menu/mavlink_inspector.html)** - Display received MAVLink messages/values. +- **[MAVLink Analyzer](https://docs.qgroundcontrol.com/en/app_menu/mavlink_analyzer.html)** - Plot trends for MAVLink messages/values. +- **[Custom Command Widget](https://docs.qgroundcontrol.com/en/app_menu/custom_command_widget.html)** - Load custom/test QML UI at runtime. +- **[Onboard Files](https://docs.qgroundcontrol.com/en/app_menu/onboard_files.html)** - Navigate vehicle file system and upload/download files. +- **[HIL Config Widget](https://docs.qgroundcontrol.com/en/app_menu/hil_config.html)** - Settings for HIL simulators. +- **[MAVLink Console](https://docs.qgroundcontrol.com/en/analyze_view/mavlink_console.html)** (PX4 Only) - Connect to the PX4 nsh shell and send commands. diff --git a/docs/tr/docs/en/qgc-dev-guide/tools/mock_link.md b/docs/tr/docs/en/qgc-dev-guide/tools/mock_link.md new file mode 100644 index 00000000000..bbb8878c9c2 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/tools/mock_link.md @@ -0,0 +1,33 @@ +# Mock Link + +_Mock Link_ allows you to create and stop links to multiple simulated (mock) vehicles in _QGroundControl_ debug builds. + +The simulation does not support flight, but does allow easy testing of: + +- Mission upload/download +- Viewing and changing parameters +- Testing most setup pages +- Multiple vehicle UIs + +It is particularly useful for unit testing error cases for mission upload/download. + +## Using Mock Link + +To use _Mock Link_: + +1. Create a debug build by [building the source](https://github.com/mavlink/qgroundcontrol#supported-builds). + +2. Access _Mock Link_ by selecting the _Application Settings_ icon in the top toolbar and then **Mock Link** in the sidebar: + + ![](../../../assets/dev_tools/mocklink_waiting_for_connection.jpg) + +3. The buttons in the panel can be clicked to create a vehicle link of the associated type. + + - Each time you click a button a new connection will be created. + - When there is more than one connection the multiple-vehicle UI will appear. + + ![](../../../assets/dev_tools/mocklink_connected.jpg) + +4. Click the **Stop one Mock Link** to stop the currently active vehicle. + +Using _Mock Link_ is then more or less the same as using any other vehicle, except that the simulation does not allow flight. diff --git a/docs/tr/docs/en/qgc-dev-guide/user_interface_design/controls.md b/docs/tr/docs/en/qgc-dev-guide/user_interface_design/controls.md new file mode 100644 index 00000000000..16bbca6fbed --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/user_interface_design/controls.md @@ -0,0 +1,35 @@ +# User Interface Controls + +QGC provides a base set of controls for building user interface. In general they tend to be thin layers above the base QML Controls supported by Qt which respect the QGC color palette. + +``` +import QGroundControl.Controls 1.0 +``` + +## Qt Controls + +The following controls are QGC variants of standard Qt QML Controls. They provide the same functionality as the corresponding Qt controls except for the fact that they are drawn using the QGC palette. + +- QGCButton +- QGCCheckBox +- QGCColoredImage +- QGCComboBox +- QGCFlickable +- QGCLabel +- QGCMovableItem +- QGCRadioButton +- QGCSlider +- QGCTextField + +## QGC Controls + +These custom controls are exclusive to QGC and are used to create standard UI elements. + +- DropButton - RoundButton which drops out a panel of options when clicked. Example is Sync button in Plan view. +- ExclusiveGroupItem - Used as a base Item for custom controls which supports the QML ExclusiveGroup concept. +- QGCView - Base control for all top level views in the system. Provides support for FactPanels and displaying QGCViewDialogs and QGCViewMessages. +- QGCViewDialog - Dialog which pops out from the right side of a QGCView. You can specific the accept/reject buttons for the dialog as well as the dialog contents. Example usage is when you click on a parameter and it brings up the value editor dialog. +- QGCViewMessage - A simplified version of QGCViewDialog which allows you to specify buttons and a simple text message. +- QGCViewPanel - The main view contents inside of a QGCView. +- RoundButton - A round button control which uses an image as its inner contents. +- SetupPage - The base control for all Setup vehicle component pages. Provides a title, description and component page contents area. diff --git a/docs/tr/docs/en/qgc-dev-guide/user_interface_design/font_palette.md b/docs/tr/docs/en/qgc-dev-guide/user_interface_design/font_palette.md new file mode 100644 index 00000000000..b9472025352 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/user_interface_design/font_palette.md @@ -0,0 +1,20 @@ +# Font and Palette + +QGC has a standard set of fonts and color palette which should be used by all user interface. + +``` +import QGroundControl.Palette 1.0 +import QGroundControl.ScreenTools 1.0 +``` + +## QGCPalette + +This item exposes the QGC color palette. There are two variants of this palette: light and dark. The light palette is meant for outdoor use and the dark palette is for indoor. Normally you should never specify a color directly for UI, you should always use one from the palette. If you don't follow this rule, the user interface you create will not be capable of changing from a light/dark style. + +## QGCMapPalette + +The map palette is used for colors which are used to draw over a map. Due to the the different map styles, specifically satellite and street you need to have different colors to draw over them legibly. Satellite maps needs lighter colors to be seen whereas street maps need darker colors to be seen. The `QGCMapPalette` item provides a set of colors for this as well as the ability to switch between light and dark colors over maps. + +## ScreenTools + +The ScreenTools item provides values which you can use to specify font sizing. It also provides information on screen size and whether QGC is running on a mobile device. diff --git a/docs/tr/docs/en/qgc-dev-guide/user_interface_design/index.md b/docs/tr/docs/en/qgc-dev-guide/user_interface_design/index.md new file mode 100644 index 00000000000..caff40d9801 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/user_interface_design/index.md @@ -0,0 +1,11 @@ +# User Interface Design + +The main pattern for UI design in QGC is a UI page written in QML, many times communicating with a custom "Controller" written in C++. This follows a somewhat hacked variant of the MVC design pattern. + +The QML code binds to information associated with the system through the following mechanisms: + +- The custom controller +- The global `QGroundControl` object which provides access to things like the active Vehicle +- The FactSystem which provides access to parameters and in some cases custom Facts. + +Note: Due to the complexity of the QML used in QGC as well as it's reliance on communication with C++ objects to drive the ui it is not possible to use the QML Designer provided by Qt to edit QML. diff --git a/docs/tr/docs/en/qgc-dev-guide/user_interface_design/multi_device_pattern.md b/docs/tr/docs/en/qgc-dev-guide/user_interface_design/multi_device_pattern.md new file mode 100644 index 00000000000..241be1409f4 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/user_interface_design/multi_device_pattern.md @@ -0,0 +1,52 @@ +# Multi-Device Design Pattern + +QGroundControl is designed to run on multiple device types from desktop to laptop to tablet to small phone sized screens using mouse and touch. Below is the description of how QGC does it and the reasoning behind it. + +## Efficient 1 person dev team + +The design pattern that QGC development uses to solve this problem is based around making new feature development quick and allowing the code base to be testable and maintained by a very small team (let's say 1 developer as the default dev team size). The pattern to achieve this is followed very strictly, because not following it will lead to slower dev times and lower quality. + +Supporting this 1 person dev team concept leads to some tough decisions which not everyone may be happy about. But it does lead to QGC being released on many OS and form factors using a single codebase. This is something most other ground stations out there are not capable of achieving. + +What about contributors you ask? QGC has a decent amount of contributors. Can't they help move things past this 1 person dev team concept? Yes QGC has quite a few contributors. But unfortunately they come and go over time. And when they go, the code they contributed still must be maintained. Hence you fall back to the 1 person dev team concept which is mostly what has been around as an average over the last three years of development. + +## Target Device + +The priority target for QGC UI design is a tablet, both from a touch standpoint and a screen size standpoint (think 10" Samsung Galaxy tab). Other device types and sizes may see some sacrifices of visuals and/or usability due to this decision. The current order when making priority based decisions is Tablet, Laptop, Desktop, Phone (any small screen). + +### Phone sized screen support + +As specified above, at this point smaller phone sized screens are the lowest level priority for QGC. More focus is put onto making active flight level displays, such as the Fly view, more usable. Less focus is placed on Setup related views such as Setup and Plan. Those specific views are tested to be functionally usable on small screens but they may be painful to use. + +## Development tools used + +### Qt Layout controls + +QGC does not have differently coded UIs which are targeted to different screen sizes and/or form factors. In general it uses QML Layout capabilities to reflow a single set of QML UI code to fit different form factors. In some cases it provides less detail on small screen sizes to make things fit. But that is a simple visibility pattern. + +### FactSystem + +Internal to QGC is a system which is used to manage all of the individual pieces of data within the system. This data model is then connected to controls. + +### Heavy reliance on reusable controls + +QGC UI is developed from a base set of reusable controls and UI elements. This way any new feature added to a reusable control is now available throughout the UI. These reusable controls also connect to FactSystem Facts which then automatically provides appropriate UI. + +## Cons for this design pattern + +- The QGC user interface ends up being a hybrid style of desktop/laptop/tablet/phone. Hence not necessarily looking or feeling like it is optimized to any of these. +- Given the target device priority list and the fact that QGC tends to just re-layout the same UI elements to fit different form factors you will find this hybrid approach gets worse as you get farther away from the priority target. Hence small phone sized screens taking the worst hit on usability. +- The QGC reusable control set may not provide the absolute best UI in some cases. But it is still used to prevent the creation of additional maintenance surface area. +- Since the QGC UI uses the same UI code for all OSes, QGC does not follow the UI design guidelines specified by the OS itself. It has it's own visual style which is somewhat of a hybrid of things picked from each OS. Hence the UI looks and works mostly the same on all OS. Once again this means for example that QGC running on Android won't necessarily look like an android app. Or QGC running on an iPhone will not look or work like most other iPhone apps. That said the QGC visual/functional style should be understandable to these OS users. + +## Pros for this design pattern + +- It takes less time to design a new feature since the UI coding is done once using this hybrid model and control set. Layout reflow is quite capable in Qt QML and becomes second nature once you get used to it. +- A piece of UI can be functionally tested on one platform since the functional code is the same across all form factors. Only layout flow must be visually checked on multiple devices but this is fairly easily done using the mobile simulators. In most cases this is what is needed: + - Use desktop build, resizing windows to test reflow. This will generally cover a tablet sized screen as well. + - Use a mobile simulator to visually verify a phone sized screen. On OSX XCode iPhone simulator works really well. +- All of the above are critical to keeping our hypothetical 1 person dev team efficient and to keep quality high. + +## Future directions + +- Raise phone (small screen) level prioritization to be more equal to Tablet. Current thinking is that this won't happen until a 3.3 release time frame (release after current one being worked on). diff --git a/docs/tr/docs/en/qgc-dev-guide/views/fly.md b/docs/tr/docs/en/qgc-dev-guide/views/fly.md new file mode 100644 index 00000000000..a9f5a8e6c7c --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/views/fly.md @@ -0,0 +1,8 @@ +# Fly View + +- Top level QML code is in **FlightDisplayView\.qml** +- QML code communicates with `MissionController` (C++) for mission display +- Instrument widgets communicate with active Vehicle object +- Two main inner views are: + - `FlightDisplayViewMap` + - `FlightDisplayViewVideo` diff --git a/docs/tr/docs/en/qgc-dev-guide/views/index.md b/docs/tr/docs/en/qgc-dev-guide/views/index.md new file mode 100644 index 00000000000..9cf9e09ef22 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/views/index.md @@ -0,0 +1,3 @@ +# Top Level Views + +This section contains topics about the code for the top level views: settings, setup, plan and fly. diff --git a/docs/tr/docs/en/qgc-dev-guide/views/plan.md b/docs/tr/docs/en/qgc-dev-guide/views/plan.md new file mode 100644 index 00000000000..8ca6765fdf6 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/views/plan.md @@ -0,0 +1,5 @@ +# Plan View + +- Top level QML code is in [PlanView.qml](https://github.com/mavlink/qgroundcontrol/blob/master/src/plan_view/PlanView.qml) +- Main visual UI is a FlightMap control +- QML communicates with MissionController (C++) which provides the view with the mission item data and methods diff --git a/docs/tr/docs/en/qgc-dev-guide/views/settings.md b/docs/tr/docs/en/qgc-dev-guide/views/settings.md new file mode 100644 index 00000000000..8ac25ed099b --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/views/settings.md @@ -0,0 +1,4 @@ +# Settings View + +- Top level QML code is **AppSettings.qml** +- Each button loads a separate QML page diff --git a/docs/tr/docs/en/qgc-dev-guide/views/setup.md b/docs/tr/docs/en/qgc-dev-guide/views/setup.md new file mode 100644 index 00000000000..0dd51a0b157 --- /dev/null +++ b/docs/tr/docs/en/qgc-dev-guide/views/setup.md @@ -0,0 +1,5 @@ +# Setup View + +- Top level QML code implemented in **SetupView\.qml** +- Fixed set of buttons/pages: Summary, Firmware +- Remainder of buttons/pages come from AutoPilotPlugin VehicleComponent list diff --git a/docs/tr/docs/en/qgc-user-guide/analyze_view/geotag_images.md b/docs/tr/docs/en/qgc-user-guide/analyze_view/geotag_images.md new file mode 100644 index 00000000000..2b5f9547c1a --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/analyze_view/geotag_images.md @@ -0,0 +1,13 @@ +# GeoTag Images (Analyze View) + +The _GeoTag Images_ screen (**Analyze > GeoTag Images**) allows you to geotag images from a survey mission using information in the flight log. + +:::info +This feature only works with _PX4_ flight stack logs. +ArduPilot is not supported. +::: + +![Analyze View GeoTag Images](../../../assets/analyze/geotag_images.jpg) + +Select the log file, image directory and (optionally) output directory for geotagged images using the buttons provided. +Click **Start Tagging** to generate the geotagged images. diff --git a/docs/tr/docs/en/qgc-user-guide/analyze_view/index.md b/docs/tr/docs/en/qgc-user-guide/analyze_view/index.md new file mode 100644 index 00000000000..7c507283f39 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/analyze_view/index.md @@ -0,0 +1,12 @@ +# Analyze View + +The _Analyze View_ is accessed by selecting the _QGroundControl_ application menu ("Q" icon in the top left corner) and then selecting the **Analyze Tools** button (from the _Select Tool_ popup). + +![Analyze ](../../../assets/analyze/menu_analyze_tool.png) + +The view provides tools to: + +- [Download Logs](../analyze_view/log_download.md) — List, download and clear logs on the vehicle. +- [GeoTag Images (PX4)](../analyze_view/geotag_images.md) — Geotag survey mission images using the flight log (on a computer). +- [MAVLink Console (PX4)](../analyze_view/mavlink_console.md) — Access the the nsh shell running on the vehicle. +- [MAVLink Inspector](../analyze_view/mavlink_inspector.md) — Display and chart received MAVLink messages/values. diff --git a/docs/tr/docs/en/qgc-user-guide/analyze_view/log_download.md b/docs/tr/docs/en/qgc-user-guide/analyze_view/log_download.md new file mode 100644 index 00000000000..90ac5b82174 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/analyze_view/log_download.md @@ -0,0 +1,6 @@ +# Log Download (Analyze View) + +The _Log Download_ screen (**Analyze > Log Download**) is used to list (_Refresh_), +_Download_ and _Erase All_ log files from the connected vehicle. + +![Analyze View Log Download](../../../assets/analyze/log_download.jpg) diff --git a/docs/tr/docs/en/qgc-user-guide/analyze_view/mavlink_console.md b/docs/tr/docs/en/qgc-user-guide/analyze_view/mavlink_console.md new file mode 100644 index 00000000000..69c0eae0df2 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/analyze_view/mavlink_console.md @@ -0,0 +1,20 @@ +# MAVLink Console (Analyze View) + +The MAVLink Console (**Analyze > Mavlink Console**) allows you to connect to the PX4 [System Console](https://docs.px4.io/main/en/debug/system_console.html) and send commands. + +:::info +The console only works when connected to _hardware_ running the _PX4_ flight stack. +PX4 SITL and ArduPilot are not supported. +::: + +:::tip +This is a very useful feature for developers as it allows deep access to the system. In particular, if you are connected via Wifi, you can have this same level of access while the vehicle is flying. +::: + +![Analyze View MAVLink Console](../../../assets/analyze/mavlink_console.jpg) + +The view does not display any output except in response to commands. +Once the vehicle is connected, you can enter commands in the bar provided (for a full list of available commands enter: `?`). + +Command output is displayed in the view above the command bar. +Click **Show Latest** to jump to the bottom of the command output. diff --git a/docs/tr/docs/en/qgc-user-guide/analyze_view/mavlink_inspector.md b/docs/tr/docs/en/qgc-user-guide/analyze_view/mavlink_inspector.md new file mode 100644 index 00000000000..127fc65ce6a --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/analyze_view/mavlink_inspector.md @@ -0,0 +1,42 @@ +# MAVLink Inspector + +The _MAVLink Inspector_ provides real-time information and charting of MAVLink traffic received by _QGroundControl_. + +:::warning +This feature is intended primarily for **autopilot developers**/**vehicle creators**. +It is only supported on desktop builds (Windows, Linux, Mac OS). +::: + +![MAVLink inspector](../../../assets/analyze/mavlink_inspector/mavlink_inspector.jpg) + +The inspector lists all received messages for the current vehicle, along with their source component id and update frequency. +You can drill down into individual messages to get the message id, source component id, and the values of all the individual fields. +You can also chart field values in real time, selecting multiple fields from multiple messages to display on one of two charts. + +To use the _MAVLink Inspector_: + +1. Open _Analyze View_ by selecting the _QGroundControl_ application menu ("Q" icon in top left corner) and then choosing the **Analyze Tools** button (from the _Select Tool_ popup). + ![Analyze ](../../../assets/analyze/menu_analyze_tool.png) + +2. Select the **MAVLink Inspector** from the sidebar. + + ![MAVLink inspector menu](../../../assets/analyze/mavlink_inspector/mavlink_inspector_menu.jpg) + + The view will start populating with messages as they are received. + +3. Select a message to see its fields and their (dynamically updating) value: + + ![MAVLink inspector: message detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_message_details.jpg) + +4. Add fields to charts by enabling the adjacent checkboxes (plot 1 is displayed below plot 2). + + ![MAVLink inspector: chart fields detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_plot1.jpg) + + - Fields can be added to only one chart. + + - A chart can have multiple fields, and fields from multiple messages (these are listed above each chart). + Messages containing fields that are being charted are highlighted with an asterisk. + + ![MAVLink inspector: chart fields detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_charted_messages.jpg) + + - The _Scale_ and _Range_ are set to sensible values, but can be modified if needed. diff --git a/docs/tr/docs/en/qgc-user-guide/fly_view/fly_view.md b/docs/tr/docs/en/qgc-user-guide/fly_view/fly_view.md new file mode 100644 index 00000000000..4e0edc42877 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/fly_view/fly_view.md @@ -0,0 +1,437 @@ +# Fly View + +The Fly View is used to command and monitor the vehicle when flying. + +You can use it to: + +- Run an automated [pre-flight checklist](#preflight_checklist). +- Arm the vehicle (or check why it won't arm). +- Control missions: [start](#start_mission), [continue](#continue_mission), [pause](#pause), and [resume](#resume_mission). +- Guide the vehicle to [arm](#arm)/[disarm](#disarm)/[emergency stop](#emergency_stop), [takeoff](#takeoff)/[land](#land), [change altitude](#change_altitude), [go to](#goto) or [orbit](#orbit) a particular location, and [return/RTL](#rtl). +- Switch between a map view and a video view (if available) +- Display video, mission, telemetry, and other information for the current vehicle, and also switch between connected vehicles. + +![Fly View](../../../assets/fly/fly_view_overview.jpg) + +## UI Overview + +The screenshot above shows the main elements of the fly view: + +- **Map:** Displays the positions of all connected vehicles and the mission for the current vehicle. + - You can drag the map to move it around (the map automatically re-centres after a certain amount of time). + - Once flying, you can click on the map to set a [Go to](#goto) or [Orbit at](#orbit) location. +- **Fly Toolbar:** Key status information for sensors (GPS, battery, RC control), and vehicle state (Flight mode, Armed/Disarmed status). + - Select the sensor indicators to view more detail. + - Press the _Flight mode_ text (e.g. "Hold") to select a new mode. + Not every mode may be available. + - The text next to the **Q** icon indicates the flight readiness using text: "Not Ready", "Ready to Fly", "Flying", and status using colour: "green" (all good!), amber (a warning), red (serious problem). + Select the text when the background is amber or red to find out the cause of any preflight issues (QGC 4.2.0 and later). + You can also select the text to reach a button to arm/disarm/emergency-stop the vehicle. +- **Fly tools:** You can use these to: + - Toggle between takeoff/land. + - Pause/restart the current operation (e.g. landing, or the mission). + - Safety return (also known as RTL or Return). + - The _Action_ button offers other appropriate options for the current state (these overlay the _Confirmation Slider_). + Actions include changing the altitude or continuing a mission. + - Enable the [preflight checklist](#preflight_checklist) (tool option disabled by default). +- **[Instrument Panel](#instrument_panel):** A widget that displays vehicle telemetry. +- **Attitude/Compass**: A widget that provides virtual horizon and heading information. +- **Camera Tools**: A widget for switching between still and video modes, starting/stopping capture, and controlling camera settings. +- **[Video/Switcher](#video_switcher):** Toggle between video or map in a window. + - Press the element to switch _Video_ and _Map_ to foreground. + - _QGroundControl_ supports RTP and RTSP video streaming over your vehicles UDP connection. + It also supports directly connected UVC devices. + QGC video support is further discussed in the [Video README](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoStreaming/README.md). + - A [Telemetry Overlay](../fly_view/video_overlay.md) is automatically generated as a subtitle file +- **Confirmation Slider:** Context sensitive slider to confirm requested actions. + Slide to start operation. Press **X** to cancel. + +There are a number of other elements that are not displayed by default/are only displayed in certain conditions. +For example, the multi-vehicle selector is only displayed if you have multiple vehicles, and the preflight checklist tool button is only displayed if the appropriate setting is enabled. + +## Instrument Panel (Telemetry) {#instrument\_panel} + +The instrument panel displays telemetry information about the current vehicle. + +![Instrument Panel - for values/telemetry](../../../assets/fly/instrument_panel/instrument_panel_default_values.png) + +The default values include altitude (relative to the home location), horizontal and vertical speed, total flight time, and distance between vehicle and ground station. + +You can configure where the information is displayed by hovering over the panel and selecting the left-side square tool. +This toggles the position of the panel between bottom centre and right-centre. + +![Instrument Panel - hover for move/edit tools](../../../assets/fly/instrument_panel/instrument_panel_tools_move_edit.png) + +You configure what information is display by selecting the edit/pencil icon. +The grid will then display "+" and "-" icons that you can use to add or remove rows and columns (and the pencil icon is replaced by a "lock" icon that you can use to save the settings). + +![Instrument Panel - add rows/columns](../../../assets/fly/instrument_panel/instrument_panel_tools_edit_on.png) + +Select a value to launch its "Value Display" editor. +This allows you to change the icon, text, size, units and so on of the current telemetry value. + +![Instrument Panel - edit a value](../../../assets/fly/instrument_panel/instrument_panel_tools_edit_value.png) + +The selection list on the top left is used to change the source of the telemetry. +By default this is the vehicle, but you can use the selector to choose a particular sensor type. + +![Instrument Panel - value type](../../../assets/fly/instrument_panel/instrument_panel_edit_value_type.png) + +The selection list on the top right is used to select a particular telemetry value for the vehicle or sensor. + +![Instrument Panel - value options](../../../assets/fly/instrument_panel/instrument_panel_edit_value_options.png) + +### Camera {#camera\_instrument\_page} + +The camera panel is used to capture still images and video, and to configure the camera. + +![Camera Panel](../../../assets/fly/camera_panel/camera_mavlink.png) + +The camera capture and configuration options depend on the connected camera. +The configuration options are selected using the panel gear icon. +The configuration for a simple autopilot-connected camera are shown below. + +![Camera Panel - minimal settings](../../../assets/fly/camera_panel/camera_settings_minimal.png) + +When connected to camera that supports the [MAVLink Camera Protocol](https://mavlink.io/en/services/camera.html) you can additionally configure and use other camera services that it makes available. +For example, if your camera supports video mode you will be able to switch between still image capture and video mode, and start/stop recording. + +![Camera Panel - MAVLink settings](../../../assets/fly/camera_panel/camera_settings_mavlink.png) + +::: info +Most of the settings that are displayed depend on the camera (they are defined in its [MAVLink Camera Definition File](https://mavlink.io/en/services/camera_def.html)). + +> A few common settings at the end are hard-coded: Photo Mode (Single/Time Lapse), Photo Interval (if Time Lapse), Reset Camera Defaults (sends a reset command to the camera), Format (storage) +> ::: + +### Video Stream {#video\_instrument\_page} + +The video page is used to enable/disable video streaming. +When enabled, you can start/stop the video stream, enable a grid overlay, change how the image fits the screen, and record the video locally with QGC. + +![Instrument Page - Video Stream](../../../assets/fly/instrument_page_video_stream.jpg) + +## Actions/Tasks + +The following sections describe how to perform common operations/tasks in the Fly View. + +::: info +Many of the available options depend on both the vehicle type and its current state. +::: + +### Pre Flight Checklist {#preflight\_checklist} + +An automated preflight checklist can be used to run through standard checks that the vehicle is configured correctly and it is safe to fly. + +To view the checklist, first enable the tool by navigating to [Application Settings > General > Fly View](../settings_view/general.md) and selecting the **Use preflight checklist** checkbox. +The tool will then be added to the _Flight Tools_. +Press it to open the checklist: + +![Pre Flight Checklist](../../../assets/fly/pre_flight_checklist.jpg) + +Once you have performed each test, select it on the UI to mark it as complete. + +### Arming and Preflight Checks {#arm} + +Arming a vehicle starts the motors in preparation for takeoff. +You will only be able to arm the vehicle if it is safe and ready to fly. + +:::tip +Generally, if the vehicle is ready to arm, _QGroundControl_ will arm the vehicle for you if you start a mission or takeoff. +::: + +The vehicle is ready to fly in all modes if the status text says "Ready to Fly" and the background is green. + +![Vehicle state - ready to fly green/ready background](../../../assets/fly/vehicle_states/ready_to_fly_ok.png) + +If the background is amber then it is ready to take off in the current mode, but may not be able to switch to other modes. +If the background is red and the text is "Not Ready" then you will not be able to arm in the current mode. + +![Vehicle state - ready to fly amber/warning background](../../../assets/fly/vehicle_states/ready_to_fly_warning.png) +![Vehicle state - not ready](../../../assets/fly/vehicle_states/not_ready.png) + +From QGC 4.2.0 (at time of writing, a daily build) you can find out the exact cause of the warning or error, and possible solutions, by pushing the status text. + +This launches the preflight arming checks popup with a list of all preflight warnings. +The toggle on the right expands each error with additional information and possible solutions. + +![UI To check arming warnings](../../../assets/fly/vehicle_states/arming_preflight_check_ui.png) + +Once each issue is resolved it will disappear from the UI. +When all issues blocking arming have been removed you can use the arm button to display the arming confirmation slider, and arm the vehicle (or you can just take off - note that the vehicles will (by default) disarm automatically if you do not take off after a few seconds. + +![Arm confirmation slider](../../../assets/fly/vehicle_states/arming_slider.png) + +::: info +The status text also displays when flying. + +> ![Vehicle state - armed](../../../assets/fly/vehicle_states/armed.png) > ![Vehicle state - flying](../../../assets/fly/vehicle_states/flying.png) +> +> The arming checks UI will open even when flying, allowing you to emergency disarm. +> ::: + +### Disarm {#disarm} + +Disarming the vehicle when landed stops the motors (making the vehicle safe). + +Generally you do not need to explicitly disarm as vehicles will disarm automatically after landing, or shortly after arming if you do not take off. + +If needed, you can do so from the Arming Preflight Checks UI. + +![Disarming](../../../assets/fly/vehicle_states/arming_ui_landed_disarm.png) + +You will then need to use the disarming slider. + +![disarm slider](../../../assets/fly/vehicle_states/disarm_slider.png) + +::: info +Disarming the vehicle while it is flying is called an [Emergency Stop](#emergency_stop) +::: + +### Emergency Stop {#emergency\_stop} + +Emergency stop is effectively the same as disarming the vehicle while it is flying. +Your vehicle will crash! + +If needed, you can do so from the Arming Preflight Checks UI. + +![Disarming when flying](../../../assets/fly/vehicle_states/arming_ui_flying_disarm.png) + +You will then need to use the emergency disarming slider. + +![Emergency disarm slider](../../../assets/fly/vehicle_states/emergency_disarm_slider.png) + +### Takeoff {#takeoff} + +:::tip +If you are starting a mission for a multicopter, _QGroundControl_ will automatically perform the takeoff step. +::: + +To takeoff (when landed): + +1. Press the **Takeoff** button in the _Fly Tools_ (this will toggle to a **Land** button after taking off). +2. Optionally set the takeoff altitude in the right-side vertical slider. +3. Confirm takeoff using the slider. + +![takeoff](../../../assets/fly/takeoff.jpg) + +### Land {#land} + +You can land at the current position at any time while flying: + +1. Press the **Land** button in the _Fly Tools_ (this will toggle to a **Takeoff** button when landed). +2. Confirm landing using the slider. + +![land](../../../assets/fly/land.jpg) + +### RTL/Return + +Return to a "safe point" at any time while flying: + +1. Press the **RTL** button in the _Fly Tools_. +2. Confirm RTL using the slider. + +![rtl](../../../assets/fly/rtl.jpg) + +:::info +Vehicles commonly return to the "home" (takeoff) location and land. +This behaviour depends on the vehicle type and configuration. +For example, rally points or mission landings may be used as alternative return targets. +::: + +### Change Altitude {#change\_altitude} + +You can change altitude while flying, except when in a mission: + +1. Press the **Action** button on the _Fly Tools_ + +2. Select the _Change Altitude_ action from the dialog. + + ![Continue Mission/Change Altitude action](../../../assets/fly/continue_mission_change_altitude_action.jpg) + +3. Move the vertical slider to the desired altitude, then drag the confirmation slider to start the action. + + ![Change altitude](../../../assets/fly/change_altitude.jpg) + +### Goto Location {#goto} + +After taking off you can specify that you want to fly to a particular location. + +1. Left click/Press on the map where you want the vehicle to move and select **Go to location** on the popup. + +![Goto or orbit](../../../assets/fly/goto_or_orbit.jpg) + +1. The location will be displayed on the map, along with a confirmation slider. + + ![Goto confirmation](../../../assets/fly/goto.jpg) + +2. When you're ready, drag the slider to start the operation (or press the **X** icon to cancel it). + +:::info +Goto points must be set within 1 km of the vehicle (hard-coded in QGC). +::: + +### Orbit Location {#orbit} + +After taking off you can specify that you want to orbit a particular location. + +1. Left click/Press on the map (near the centre of your desired orbit) and select **Orbit at location** on the popup. + +![Goto or orbit](../../../assets/fly/goto_or_orbit.jpg) + +1. The proposed orbit will be displayed on the map, along with a confirmation sider. + + ![Orbit confirmation](../../../assets/fly/orbit.jpg) + + - Select and drag the central marker to move the orbit location. + - Select and drag the dot on the outer circle to change the orbit radius + +2. When you're ready, drag the slider to start the operation (or press the **X** icon to cancel it). + +### Pause + +You can pause most operations, including taking off, landing, RTL, mission execution, orbit at location. +The vehicle behaviour when paused depends on the vehicle type; typically a multicopter will hover, and a fixed wing vehicle will circle. + +:::info +You cannot pause a _Goto location_ operation. +::: + +To pause: + +1. Press the **Pause** button in the _Fly Tools_. +2. Optionally set a new altitude using the right-side vertical slider. +3. Confirm the pause using the slider. + +![pause](../../../assets/fly/pause.jpg) + +### Missions + +#### Start Mission {#start\_mission} + +You can start a mission when the vehicle is landed (the start mission confirmation slider is often displayed by default). + +To start a mission from landed: + +1. Press the **Action** button on the _Fly Tools_ + +2. Select the _Start Mission_ action from the dialog. + + ![Start mission action](../../../assets/fly/start_mission_action.jpg) + + (to display the confirmation slider) + +3. When the confirmation slider appears, drag it to start the mission. + + ![Start mission](../../../assets/fly/start_mission.jpg) + +#### Continue Mission {#continue\_mission} + +You can _continue_ mission from the _next_ waypoint when you're flying (the _Continue Mission_ confirmation slider is often displayed by default after you takeoff). + +:::info +Continue and [Resume mission](#resume_mission) are different! +Continue is used to restart a mission that has been paused, or where you have taken off, so you've already missed a takeoff mission command. +Resume mission is used when you've used a RTL or landed midway through a mission (e.g. for a battery change) and then wish to continue the next mission item (i.e. it takes you to where you were up to in the mission, rather than continuing from your place in the mission). +::: + +You can continue the current mission while (unless already in a mission!): + +1. Press the **Action** button on the _Fly Tools_ + +2. Select the _Continue Mission_ action from the dialog. + + ![Continue Mission/Change Altitude action](../../../assets/fly/continue_mission_change_altitude_action.jpg) + +3. Drag the confirmation slider to continue the mission. + + ![Continue Mission](../../../assets/fly/continue_mission.jpg) + +#### Resume Mission {#resume\_mission} + +_Resume Mission_ is used to resume a mission after performing an [RTL/Return](#rtl) or [Land](#land) from within a mission (in order, for example, to perform a battery change). + +:::info +If you are performing a battery change, **do not** disconnect QGC from the vehicle after disconnecting the battery. +After you insert the new battery _QGroundControl_ will detect the vehicle again and automatically restore the connection. +::: + +After landing you will be prompted with a _Flight Plan complete_ dialog, which gives you the option to remove the plan from the vehicle, leave it on the vehicle, or to resume the mission from the last waypoint that was traveled through. + +![Resume Mission](../../../assets/fly/resume_mission.jpg) + +If you select to resume the mission, then _QGroundControl_ will rebuild the mission and upload it to the vehicle. +Then use the _Start Mission_ slider to continue the mission. + +The image below shows the mission that was rebuilt after the Return shown above. + +![Resume Rebuilt Mission](../../../assets/fly/resume_mission_rebuilt.jpg) + +:::info +A mission cannot simply resume from the last mission item that the vehicle executed, because there may be multiple items at the last waypoint that affect the next stage of the mission (e.g. speed commands or camera control commands). +Instead _QGroundControl_ rebuilds the mission, starting from the last mission item flown, and automatically prepending any relevant commands to the front of the mission. +::: + +#### Remove Mission Prompt After Landing {#resume\_mission\_prompt} + +You will be prompted to remove the mission from the vehicle after the mission completes and the vehicle lands and disarms. +This is meant to prevent issues where stale missions are unknowingly left on a vehicle, potentially resulting in unexpected behavior. + +### Display Video {#video\_switcher} + +When video streaming is enabled, _QGroundControl_ will display the video stream for the currently selected vehicle in the "video switcher window" at the bottom left of the map. +You can press the switcher anywhere to toggle _Video_ and _Map_ to foreground (in the image below, the video is shown in the foreground). + +![Video Stream Record](../../../assets/fly/video_record.jpg) + +:::info +Video streaming is configured/enabled in [Application Settings > General tab > Video](../settings_view/general.md#video). +::: + +You can further configure video display using controls on the switcher: + +![Video Pop](../../../assets/fly/video_pop.jpg) + +- Resize the switcher by dragging the icon in the top right corner. +- Hide the switcher by pressing the toggle icon in the lower left. +- Detach the video switcher window by pressing on the icon in its top left corner + (once detached, you can move and resize the window just like any other in your OS). + If you close the detached window the switcher will re-lock to the QGC Fly view. + +### Record Video + +If supported by the camera and vehicle, _QGroundControl_ can start and stop video recording on the camera itself. _QGroundControl_ can also record the video stream and save it locally. + +:::tip +Video stored on the camera may be of much higher quality, but it is likely that your ground station will have a much larger recording capacity. +::: + +#### Record Video Stream (on GCS) + +Video stream recording is controlled on the [video stream instrument page](#video_instrument_page). +Press the red circle to start recording a new video (a new video file is created each time the circle is pressed); the circle will change into a red square while recording is in progress. + +![Video Stream Record](../../../assets/fly/video_record.jpg) + +Video stream recording is configured in the [Application Settings > General tab](../settings_view/general.md): + +- [Video Recording](../settings_view/general.md#video-recording) - specifies the recording file format and storage limits. + + ::: info + Videos are saved in Matroska format (.mkv) by default. + This format is relatively robust against corruption in case of errors. + ::: + +- [Miscellaneous](../settings_view/general.md#miscellaneous) - Streamed video is saved under the **Application Load/Save Path**. + +:::tip +The stored video includes just the video stream itself. +To record video with QGroundControl application elements displayed, you should use separate screen recording software. +::: + +#### Record Video on Camera + +Start/stop video recording _on the camera itself_ using the [camera instrument page](#camera_instrument_page). +First toggle to video mode, then select the red button to start recording. + +![Instrument Page - Camera MAVLink Settings](../../../assets/fly/instrument_page_camera_mavlink.jpg) diff --git a/docs/tr/docs/en/qgc-user-guide/fly_view/replay_flight_data.md b/docs/tr/docs/en/qgc-user-guide/fly_view/replay_flight_data.md new file mode 100644 index 00000000000..280359e29eb --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/fly_view/replay_flight_data.md @@ -0,0 +1,40 @@ +# Replay Flight Data + +:::warning +This feature is intended primarily for **autopilot developers**/**vehicle creators**. +It is only supported on desktop builds (Windows, Linux, Mac OS). +::: + +The _Replay Flight Data_ feature allows users to replay a telemetry log, enabling review of past or problematic flights. +The flight can be started, paused, stopped, restarted etc. + +:::info +_QGroundControl_ treats flight replay like an active connection. +When you pause/stop playing, the ground station will report "Communication Lost" and wait for disconnection or for more messages. +::: + +To replay a flight: + +1. Disconnect any active connections. + +2. Select **Application Settings > General > Fly View** + +3. Check **Show Telemetry Log Replay Status Bar** to toggle the flight replay bar at the bottom of the screen. + + ![Toggle Flight Replay](../../../assets/fly/flight_replay/flight_replay_toggle.jpg) + +4. Select the **Load Telemetry Log** button in the bar to display a _file selection_ dialog. + - Choose a log file to replay from the available telemetry logs. + - _QGroundControl_ will immediately start playing the log. + +5. When a log is loaded you can use the: + - **Pause/Play** button to pause and restart playing. + - _Slider_ to drag to a new position in the log. + - _Rate_ selector to choose the playback speed. + +6. To stop replay (i.e. to load a new file to replay), first pause the flight, and then select **Disconnect** (when it appears). + After disconnecting, the **Load Telemetry Log** button will be displayed. + +:::tip +You can inspect the running replay in more detail using the [MAVLink Inspector](../analyze_view/mavlink_inspector.md). +::: diff --git a/docs/tr/docs/en/qgc-user-guide/fly_view/video_overlay.md b/docs/tr/docs/en/qgc-user-guide/fly_view/video_overlay.md new file mode 100644 index 00000000000..a43f80d34d6 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/fly_view/video_overlay.md @@ -0,0 +1,42 @@ +# Video Overlay + +When QGroundControl is recording a video stream to a file, it will also export a subtitle file with telemetry data that can be used to overlay the telemetry on the video during playback. Whichever telemetry values are selected for display in the telemetry [values widget](FlyView.md#values-telemetry) will also be exported to the overlay. The overlay values are updated at 1Hz. + +![Values Widget](../../../assets/fly/overlay_widget.png) + +The selected values are laid out in three columns to optimize the screen utilization. +![Overlay in action](../../../assets/fly/overlay_capture.png) + +## Playing + +The overlay can be used with any player that [supports the SubStation Alpha](https://en.wikipedia.org/wiki/SubStation_Alpha#Players_and_renderers) subtitle format. +Most players will open both files together when you try to play the video. They need to be in the same folder and with the same name, which is how they are created by QGC. + +## Permanent Video Subtitles using Handbrake + +Subtitles can be permanently added to a video file using [HandBrake](https://handbrake.fr/). +This will make the subtitles permanently visible on any video player. + +Open **HandBrake**, you should see its main interface. +Click **Open** and select the video file. + +![Handbrake UI showing how to open video file](../../../assets/fly/video_overlay/1-open.png) + +With the video file loaded, switch to the subtitles tab. +Click **Add** to load the subtitle file. + +![Handbrake UI screenshot showing how to add subtitles](../../../assets/fly/video_overlay/2-subtitles.png) + +Choose **import SSA** ([ASS](https://en.wikipedia.org/wiki/SubStation_Alpha#Advanced_SubStation_Alpha) is an extension of SSA). + +![Import SSA file](../../../assets/fly/video_overlay/3-ssa.png) + +Load the **.ass** file corresponding to your video and tick the **Burn into video** checkbox. + +![burn](../../../assets/fly/video_overlay/4-openandburn.png) + +Choose where you want to save the new file and click **Start**. + +![Start burning new file](../../../assets/fly/video_overlay/5-start.png) + +This will start burning the subtitle and video to a new file. diff --git a/docs/tr/docs/en/qgc-user-guide/getting_started/download_and_install.md b/docs/tr/docs/en/qgc-user-guide/getting_started/download_and_install.md new file mode 100644 index 00000000000..1ff59f859cc --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/getting_started/download_and_install.md @@ -0,0 +1,106 @@ +# Download and Install + +The sections below can be used to download the [current stable release](../releases/release_notes.md) of _QGroundControl_ for each platform. + +:::tip +See [Troubleshooting QGC Setup](../troubleshooting/qgc_setup.md) if _QGroundControl_ doesn't start and run properly after installation! +::: + +## System Requirements + +QGC should run well on any modern computer or mobile device. Performance will depend on the system environment, 3rd party applications, and available system resources. +More capable hardware will provide a better experience. +A computer with at least 8Gb RAM, an SSD, Nvidia or AMD graphics and an i5 or better CPU will be suitable for most applications. + +For the best experience and compatibility, we recommend you the newest version of your operating system. + +## Windows {#windows} + +_QGroundControl_ can be installed on 64 bit versions of Windows: + +1. Download [QGroundControl-installer.exe](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl-installer.exe). +2. Double click the executable to launch the installer. + +:::info +The Windows installer creates 3 shortcuts: **QGroundControl**, **GPU Compatibility Mode**, **GPU Safe Mode**. +Use the first shortcut unless you experience startup or video rendering issues. +For more information see [Troubleshooting QGC Setup > Windows: UI Rendering/Video Driver Issues](../troubleshooting/qgc_setup.md#opengl_troubleshooting). +::: + +:::info +Prebuilt _QGroundControl_ versions from 4.0 onwards are 64-bit only. +It is possible to manually build 32 bit versions (this is not supported by the dev team). +::: + +## Mac OS X {#macOS} + +_QGroundControl_ can be installed on macOS 10.11 or later: + + + + + +1. Download [QGroundControl.dmg](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.dmg). +2. Double-click the .dmg file to mount it, then drag the _QGroundControl_ application to your _Application_ folder. + +::: info +QGroundControl continues to not be signed which causes problem on Catalina. To open QGC app for the first time: + +- Right-click the QGC app icon, select Open from the menu. You will only be presented with an option to Cancel. Select Cancel. +- Right-click the QGC app icon again, Open from the menu. This time you will be presented with the option to Open. + ::: + +## Ubuntu Linux {#ubuntu} + +_QGroundControl_ can be installed/run on Ubuntu LTS 20.04 (and later). + +Ubuntu comes with a serial modem manager that interferes with any robotics related use of a serial port (or USB serial). +Before installing _QGroundControl_ you should remove the modem manager and grant yourself permissions to access the serial port. +You also need to install _GStreamer_ in order to support video streaming. + +Before installing _QGroundControl_ for the first time: + +1. On the command prompt enter: + ```sh + sudo usermod -a -G dialout $USER + sudo apt-get remove modemmanager -y + sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y + sudo apt install libqt5gui5 -y + sudo apt install libfuse2 -y + ``` + +2. Logout and login again to enable the change to user permissions. + +  +To install _QGroundControl_: + +1. Download [QGroundControl.AppImage](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.AppImage). +2. Install (and run) using the terminal commands: + ```sh + chmod +x ./QGroundControl.AppImage + ./QGroundControl.AppImage (or double click) + ``` + +::: info +There are known [video steaming issues](../troubleshooting/qgc_setup.md#dual_vga) on Ubuntu 18.04 systems with dual adaptors. +::: + +:::info +Prebuilt _QGroundControl_ versions from 4.0 cannot run on Ubuntu 16.04. +To run these versions on Ubuntu 16.04 you can [build QGroundControl from source without video libraries](https://dev.qgroundcontrol.com/en/getting_started/). +::: + +## Android {#android} + +_QGroundControl_ is temporily unavailable from the Google Play Store. You can install manually from here: + +- [Android 32 bit APK](https://qgroundcontrol.s3-us-west-2.amazonaws.com/latest/QGroundControl32.apk) +- [Android 64 bit APK](https://qgroundcontrol.s3-us-west-2.amazonaws.com/latest/QGroundControl64.apk) + +## Old Stable Releases + +Old stable releases can be found on GitHub. + +## Daily Builds + +Daily builds can be [downloaded from here](../releases/daily_builds.md). diff --git a/docs/tr/docs/en/qgc-user-guide/getting_started/quick_start.md b/docs/tr/docs/en/qgc-user-guide/getting_started/quick_start.md new file mode 100644 index 00000000000..616f3c188fd --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/getting_started/quick_start.md @@ -0,0 +1,27 @@ +# QGroundControl Quick Start + +Getting _QGroundControl_ up and running is quick and easy: + +1. [Download and install](../getting_started/download_and_install.md) the application. +2. Start _QGroundControl_. +3. Attach your vehicle to the ground station device via USB, through a telemetry radio, or over WiFi. _QGroundControl_ should detect your vehicle and connect to it automatically. + +That's it! If the vehicle is ready to fly, _QGroundControl_ should display [Fly View](../fly_view/fly_view.md) as shown below (otherwise it will open [Setup View](../setup_view/setup_view.md)). + +![](../../../assets/quickstart/fly_view_connected_vehicle.jpg) + +A good way to become familiar with _QGroundControl_ is to start experimenting: + +- Use the [toolbar](../toolbar/toolbar.md) to switch between the main views: + - [Settings](../settings_view/settings_view.md): Configure the _QGroundControl_ application. + - [Setup](../setup_view/setup_view.md): Configure and tune your vehicle. + - [Plan](../plan_view/plan_view.md): Create autonomous missions. + - [Fly](../fly_view/fly_view.md): Monitor your vehicle(s) while flying, including streaming video. + - \[Analyze] \*\* Description of Analyze view is missing \*\* +- Click the _Status icons_ on the toolbar to find out the status of the connected vehicle. + +While the UI is fairly intuitive, this documentation can also be referenced to find out more. + +:::info +Make sure QGC has an internet connection when you connect a new vehicle. This will allow it to get the latest parameter and other metadata for the vehicle, along with [translations](../settings_view/general.md#miscellaneous). +::: diff --git a/docs/tr/docs/en/qgc-user-guide/index.md b/docs/tr/docs/en/qgc-user-guide/index.md new file mode 100644 index 00000000000..9a7b80beba3 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/index.md @@ -0,0 +1,27 @@ +# QGroundControl User Guide + +[![Releases](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases) [![Discuss](https://img.shields.io/badge/discuss-px4-ff69b4.svg)](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-usage) [![Discuss](https://img.shields.io/badge/discuss-ardupilot-ff69b4.svg)](http://discuss.ardupilot.org/c/ground-control-software/qgroundcontrol) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mavlink/qgroundcontrol?utm_source=badge\&utm_medium=badge\&utm_campaign=pr-badge\&utm_content=badge) [![Slack](../../assets/site/slack.svg)](https://join.slack.com/t/px4/shared_invite/zt-si4xo5qs-R4baYFmMjlrT4rQK5yUnaA) + +_QGroundControl_ provides full flight control and vehicle setup for PX4 or ArduPilot powered vehicles. +It provides easy and straightforward usage for beginners, while still delivering high end feature support for experienced users. + +**Key Features:** + +- Full setup/configuration of ArduPilot and PX4 Pro powered vehicles. +- Flight support for vehicles running PX4 and ArduPilot (or any other autopilot that communicates using the MAVLink protocol). +- Mission planning for autonomous flight. +- Flight map display showing vehicle position, flight track, waypoints and vehicle instruments. +- Video streaming with instrument display overlays. +- Support for managing multiple vehicles. +- QGC runs on Windows, OS X, Linux platforms, iOS and Android devices. + +![](../../assets/quickstart/connected_vehicle.jpg) + +:::info +This guide is an active work in progress. +The information provided should be correct, but you may find missing information or incomplete pages. +::: + +:::tip +Information about _QGroundControl_ development, architecture, contributing, and translating can be found in the [Developers Guide](https://dev.qgroundcontrol.com/en/). +::: diff --git a/docs/tr/docs/en/qgc-user-guide/plan_view/pattern.md b/docs/tr/docs/en/qgc-user-guide/plan_view/pattern.md new file mode 100644 index 00000000000..805e06765e0 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/plan_view/pattern.md @@ -0,0 +1,13 @@ +# Pattern + +The _Pattern tools_ (in the [PlanView](../plan_view/plan_view.md) _Plan Tools_) allow you to specify complex flight patterns using a simple graphical UI. +The available pattern tools depend on the vehicle (and support for the vehicle-type in the flight stack). + +![Pattern Tool (Plan Tools)](../../../assets/plan/pattern/pattern_tool.jpg) + +| Pattern | Description | Vehicles | +| ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | +| [Survey](../plan_view/pattern_survey.md) | Create a grid flight pattern over a polygonal area.
You can specify the polygon as well as the specifications for the grid and camera settings appropriate for creating geotagged images. | All | +| [Structure Scan](../plan_view/pattern_structure_scan_v2.md) | Create a grid flight pattern that captures images over vertical surfaces (polygonal or circular).
These are typically used for the visual inspection or creation of 3D models of structures. | MultiCopter, VTOL | +| [Corridor Scan](../plan_view/pattern_corridor_scan.md) | Create a flight pattern which follows a poly-line (for example, to survey a road). | All | +| [Fixed Wing Landing](../plan_view/pattern_fixed_wing_landing.md) | Add a landing pattern for fixed wing vehicles to a mission. | Fixed Wing | diff --git a/docs/tr/docs/en/qgc-user-guide/plan_view/pattern_corridor_scan.md b/docs/tr/docs/en/qgc-user-guide/plan_view/pattern_corridor_scan.md new file mode 100644 index 00000000000..d5195290484 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/plan_view/pattern_corridor_scan.md @@ -0,0 +1,102 @@ +# Corridor Scan (Plan Pattern) + +A corridor scan allows you to create a flight pattern that follows a poly-line. This can be used to, for example, survey a road. It is supported on all autopilots and vehicle types. + +> **Important** When planning a Corridor Scan using camera specifications the ground elevations under your survey area are assumed to be at the same altitude as your launch/home location. If the ground elevation under your survey area is either higher or lower than your launch/home location the effective overlap in your images will be less or more (respectively) than calculated. If ground elevation under your survey area is significantly higher than your launch/home location you could inadvertently plan a mission which causes the vehicle to fly into trees, obstacles, or the ground. Use Terrain Follow to create a survey that more closely maintains the desired altitude above terrain that has significant elevation differences from your launch/home altitude. + +![Corridor Scan](../../../assets/plan/corridor_scan.jpg) + +You can specify the path, the width of the corridor, and camera settings appropriate for creating geotagged images. + +## Creating a Scan + +To create a corridor scan: + +1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + +2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Corridor Scan_. + + ![Corridor Scan](../../../assets/plan/corridor_scan_menu.jpg) + + This will add a corridor to the map, and a _Corridor Scan_ item to the mission list (on the right). + +3. On the map drag the ends of the corridor to the start and end positions of the scan, respectively. + +4. Click the `(+)` symbol at the centre of a line to create a new vertix. + The new vertix can then be dragged into position to follow the path of the desired corridor. + +The corridor scan settings are covered in the next section. + +## Settings + +The corridor scan can be further configured in the associated mission item (in the mission item list on the right hand side of the Plan View). + +### Camera + +Camera triggering behaviour depends on the camera/camera settings. +You can select an existing camera or manually enter the settings. +The list of available cameras (QGC 3.4) is given below. + +![Corridor Scan - Select Camera](../../../assets/plan/corridor_scan_settings_camera_select.jpg) + +#### Known Camera + +Selecting a known camera from the option dropdown allows you to generate a grid pattern based on the camera's specifications. + +![Corridor Scan - Camera Settings Canon SX260](../../../assets/plan/corridor_scan_settings_camera_canon_sx260.jpg) + +The configurable options are: + +- **Landscape/Portrait** - Camera orientation relative to the "normal" orientation of the vehicle. +- **Image Overlap** - Overlap between each image. +- Select one of: + - **Altitude** - Survey altitude (ground resolution will be calculated/displayed for this altitude). + - **Ground resolution** - Ground resolution for each image (altitude required to achieve this resolution calculated and shown). + +#### Manual Camera + +The manual camera option allows you to specify desired survey height, trigger interval and appropriate grid spacing for your camera. + +![Corridor Scan - Manual Camera Settings](../../../assets/plan/corridor_scan_settings_camera_manual.jpg) + +The configurable options are: + +- **Altitude** - Survey altitude. +- **Trigger Distance** - The distance over ground between each camera shot. +- **Spacing** - Distance between adjacent grid (flight path) lines across the corridor. + +### Corridor + +![Corridor Scan - Corridor Settings](../../../assets/plan/corridor_scan_settings_corridor.jpg) + +The configurable options are: + +- **Width** - Set the width of the scan around the polyline that defines the path. +- **Turnaround dist** - Amount of additional distance to add outside the survey area for vehicle turn around. +- **Take images in turnarounds** - Check to enable image capture a turnaround points. +- **Relative altitude** - Check to specify a relative altitude. This is only supported for manual grids that are not using [terrain following](#terrain_following). +- **Rotate entry point** - Press button to swap the start and end point of the corridor scan. + +### Terrain Following {#terrain\_following} + +By default a flying vehicle will follow the corridor path at a fixed altitude. +Enabling _Terrain Following_ makes the vehicle maintain a constant height relative to ground. + +![Corridor Scan - Terrain Following Settings](../../../assets/plan/corridor_scan_settings_terrain.jpg) + +:::info +Terrain following uses terrain heights queried from _AirMap_ servers. +::: + +The configurable options are: + +- **Vehicle follows terrain** - Check to enable terrain following (and display the following options). + - **Tolerance** - The accepted deviation in altitude from the target altitude. + - **Max Climb Rate** - Maximum climb rate when following terrain. + - **Max Descent Rate** - Maximum descent rate when following terrain. + +### Statistics + +The _Statistics_ section shows the calculated survey area, photo interval, photo spacing and planned photo count. + +![Corridor Scan - Statistics](../../../assets/plan/corridor_scan_settings_statistics.jpg) diff --git a/docs/tr/docs/en/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md b/docs/tr/docs/en/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md new file mode 100644 index 00000000000..451aefb2881 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md @@ -0,0 +1,77 @@ +# Fixed Wing Landing Pattern (Plan Pattern) + +The _Fixed Wing Landing Pattern_ tool allows you to add a fixed wing landing pattern to a mission. +It is supported on both ArduPilot and PX4. + +![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern.jpg) + +The first point of the pattern is a loiter point with a specific altitude and the second is a landing point. +The vehicle will loiter at the first point until it reaches the target altitude, and then begin the landing sequence to fly down to the specified landing spot. + +Both the loiter and land points can be dragged to new positions, and a number of other settings can be configured in the associated mission item. + +## Creating a Landing Pattern + +To create a landing pattern: + +1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + +2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Fixed Wing Landing Pattern_. + + ![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern_menu.jpg) + + This will add a _Landing Pattern_ item to the mission list (on the right). + + ![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern_mission_item_initial.jpg) + +3. Click on the map to create both the loiter point and the landing point. + These can be moved on the map. + +Additional settings are covered in the next section. + +## Settings + +The landing pattern can be further configured in the associated mission item (in the mission item list on the right hand side of the Plan View). + +### Loiter Point + +The _Loiter Point_ settings are used to configure the loiter altitude, radius and direction. + +![Landing Pattern - Loiter Point](../../../assets/plan/pattern/fixed_wing_landing_pattern_settings_loiter.jpg) + +The configurable options are: + +- **Altitude** - Loiter altitude. +- **Radius** - Loiter radius. +- **Loiter clockwise** - Check to loiter in a clockwise direction (anti-clockwise is the default). + +### Landing Point + +The _Landing Point_ settings are used to configure the landing position and path. + +![Landing Pattern - Landing Point](../../../assets/plan/pattern/fixed_wing_landing_pattern_settings_landing.jpg) + +The configurable options are: + +- **Heading** - Heading from loiter point to land point. +- **Altitude** - Altitude for landing point (nominally zero). +- _Radio Buttons_ + - **Landing Dist** - Distance between loiter point and landing point. + - **Glide Slope** - Glide slope between loiter point and landing point. +- **Altitudes relative to home** - Check to set all altitudes in mission item to be relative to home (default is AMSL). + +## Implementation + +This pattern creates three mission items: + +- `DO_LAND_START` - If you abort a landing it sends `DO_GO_AROUND` to the vehicle, which then causes the mission to return to this point and try to land again. +- `NAV_LOITER_TO_ALT` - Start point for landing +- `NAV_LAND` - End point for landing + +The vehicle flares to landing using a flight path generated by the firmware between the `NAV_LOITER_TO_ALT` point and the `NAV_LAND` point. + +If those two locations violate the vehicle's flare constraints (e.g. descent angle is too steep) an error will be raised after you upload the invalid mission to the vehicle. + +:::info +On PX4, violating the flare constraints sends an error message to the ground station at upload time, and the autopilot will refuse to start the mission (since it fails integrity checks). +::: diff --git a/docs/tr/docs/en/qgc-user-guide/plan_view/pattern_presets.md b/docs/tr/docs/en/qgc-user-guide/plan_view/pattern_presets.md new file mode 100644 index 00000000000..fc94879d5d6 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/plan_view/pattern_presets.md @@ -0,0 +1,34 @@ +# Plan View - Pattern Presets + +Allows you to save commonly used settings as a named preset. + +:::info +Currently only supported by Survey. Support for other Patterns is in development. +::: + +## Managing Presets + +![Preset Combo](../../../assets/plan/pattern/pattern_preset_combo.jpg) + +Pattern items have a new selection at the top which allows you to manage presets: + +- **Custom (specify all settings)** This allows you to _not_ use a preset and specify all settings manually. +- **Save Settings As Preset** Saves the current settings as a named preset. +- **Delete Current Preset** Deletes the currently selected preset. +- **Presets:** Below this item will be listed the available presets for this pattern. + +## Creating/Updating A Preset + +![Preset Save](../../../assets/plan/pattern/pattern_preset_save.jpg) + +When you select **Save Settings As Preset** you will be prompted for the preset name. To save new settings for an existing preset select **Save Settings As Preset** while a preset is currently selected. + +You can also specify whether you want to save the currently selected camera in the preset. If you choose not to save the camera with the preset then the current camera will be used when loading the preset. You will also be able to change to a different camera when using the preset. Unless you fly your vehicle with different cameras at different times with the same preset you should select to save the camera in the preset. + +## Viewing Preset Settings + +If you want to view what the exact settings are for a Preset switch back to **Custom (specify all settings)** which will show you all the settings. Then you can switch back to using the named preset when done. + +## Presets In A Plan File + +The currently selected Preset is also saved in the Plan file such that when you load the Plan back the preset will once again be selected. Keep in mind that presets are specific to your version of QGroundControl. If you share a Plan file with a preset with another user, incorrect behavior may occur if that other user also has a preset of the same name but different settings. diff --git a/docs/tr/docs/en/qgc-user-guide/plan_view/pattern_structure_scan_v2.md b/docs/tr/docs/en/qgc-user-guide/plan_view/pattern_structure_scan_v2.md new file mode 100644 index 00000000000..c3a73eba65d --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/plan_view/pattern_structure_scan_v2.md @@ -0,0 +1,99 @@ +# Structure Scan (Plan Pattern) + +A _Structure Scan_ allows you to create a grid flight pattern that captures images over _vertical surfaces_ (e.g. walls) around a structure with an arbitrary polygonal (or circular) ground footprint. +Structure Scans are typically used for the visual inspection or creating 3D models of structures. + +_Structure Scans_ may be inserted into a mission using the Plan view **Pattern > Structure Scan** tool. + +:::info +The new version of _Structure Scan_ can't read older _Structure Scan_ plans. They will need to be recreated. +::: + +:::warning +This feature is not yet supported by ArduPilot firmware. +It is supported in PX4. +::: + +## Overview + +The image below shows a screenshot of structure scan. +The green polygon is used to mark out the ground footprint of the structure, while the white line around it indicates the vehicle flight path. +The green numbered circle on the flight path is the scan entry/exit point (where the scan starts). + +![Structure Scan](../../../assets/plan/structure_scan_v2/structure_scan.jpg) + +The scan divides the structure evenly into layers; the vehicle flies all the way around the structure at a particular altitude and _scan distance_ from the structure, then repeats the process at each layer until the whole surface has been scanned. + +![Layer JPG](../../../assets/plan/structure_scan_v2/layers.jpg) + +Users can set the _scan bottom altitude_ to avoid obstacles at the bottom of the structure, and the _extrance/exit altitude_ to avoid obstacles as the vehicle travels to/from the scan. + +## Creating a Scan + +To create a scan: + +1. In the **Plan View** select **Pattern tool > Structure Scan**. + +![Create Scan JPG](../../../assets/plan/structure_scan_v2/create_scan.jpg) + +1. This will create a simple square structure scan on the map. + + ![Initial Polygon](../../../assets/plan/structure_scan_v2/initial_polygon_scan.jpg) + + The region shown in green must be modified so that it surrounds the structure. + + - Drag the opaque vertices on the map to the edge of the structure (example circled in mauve above). + - If the structure footprint is more than a simple square you can click the semi-transparent circles between the vertices to create a new vertix. + +2. You can also change to a circular footprint by clicking on the central "vertix" (marked in red) and selecting _Circle_ in the popup menu. + + ![Circle Scan](../../../assets/plan/structure_scan_v2/circle_scan.jpg). + + - From the popup menu you can switch back to a polygon footprint and change the radius and/or position of the scan. + - Drag the central vertix to position the centre of the circle. + +3. The rest of the configuration is handled using the _Structure Scan_ editor on the right hand side of the view. + First select whether you want to perform a manual scan, a scan using a particular camera, or a scan using a custom camera definition. + + ::: info + The main difference between the modes is that predefined cameras are already set up to correctly calculate an effective layer height and trigger distance. + ::: + + Options for the different modes are shown below. + + ![Structure Scan editor](../../../assets/plan/structure_scan_v2/editor_options.jpg) + +The user can always configure the following settings: + +- **Start scan from top/bottom:** The direction in which layers are scanned. +- **Structure height:** The height of the object being scanned. +- **Scan distance:** Distance from the structure to the flight path. +- **Entrance/Exit Alt:** Use this setting to avoid obstacles between the last/next waypoint and the structure to be scanned. + - The vehicle will fly to the _Entrance/Exit_ point at this altitude and then descend to the initial layer to start the scan. + - The vehicle will ascend to this altitude after completing the scan and then move to the next waypoint. +- **Scan Bottom Alt:** Use this setting to avoid obstacles around the base of the structure. + This adjust the bottom of the structure to be above the ground, and hence the altitude of the first scan + (the height of the lowest layer flight path is shown in the scan statistics as _Bottom Layer Alt_. +- **Rotate Entry Point:** Move the start/finish point to the next vertix/position on the flight path. + +The remaining settings depend on the _camera mode_: + +- _Manual Mode_ allows you to specify: + - **Layer height:** The height of each layer. + - **Trigger Distance:** The distance between each camera trigger. + The camera is only triggered while flying the layer path. + It does not trigger images while transitioning from one layer to the next. + - **Gimbal Pitch** - Gimbal pitch you want to use for the scan. + +- _Known/pre-defined cameras_ automatically calculates layer heights and image triggering from required image overlap, and allows you to trade off scan distance and require image resolution. + It also ensures that the camera is pointed directly at the surface when it is capturing images (i.e. at a right angle rather than some tangent). + The settings are: + + - **Camera Orientation:** Portrait or Landscape + - _Overlap_: + - **Front Lap:** Image overlap from top to bottom (increasing shrinks layer height and increases layer count). + - **Side Lap:** Image overlap at sides (increasing takes more images in each lap/layer scan). + - **Scan distance:** Distance from the structure to the flight path. + - **Ground Res:** Required image resolution/sample quality of surface. + +- _Custom camera_ selection allows you to enter your own camera characteristics, but otherwise behaves the same as a predefined camera. diff --git a/docs/tr/docs/en/qgc-user-guide/plan_view/pattern_survey.md b/docs/tr/docs/en/qgc-user-guide/plan_view/pattern_survey.md new file mode 100644 index 00000000000..db492c27206 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/plan_view/pattern_survey.md @@ -0,0 +1,130 @@ +# Survey (Plan Pattern) + +A survey allows you to create a grid flight pattern over a polygonal area. +You can specify an arbitrary polygon, the angle and other properties of the grid, and camera settings appropriate for creating geotagged images. + +::: warning +If the survey area has significant elevation variation then consider enabling [Terrain Following](#terrain). + +When planning a Survey using camera specifications, the ground under the survey area are assumed to be flat - i.e. at the same altitude as the launch/home location. +If the ground elevation under the survey is either higher or lower than the home location the effective overlap in images will be less or more (respectively) than calculated. +If ground elevation under the survey area is _significantly_ higher than the home location you could inadvertently plan a mission path that causes the vehicle to fly into ground-level obstacles. + +Using terrain following ensures that the survey more closely matches the desired altitude above terrain, and reduces the likelihood of planning a mission that is too close to ground level. +::: + +![Survey](../../../assets/plan/survey/survey.jpg) + +## Creating a Survey + +To create a survey: + +1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + +2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Survey_. + + ![Survey Menu](../../../assets/plan/survey/survey_menu.jpg) + + This will add a survey grid to the map, and a _Survey_ item to the mission list (on the right). + +3. On the map drag the vertices to change the shape of the polygon. + +4. Click the `(+)` symbol between existing vertices to create a new vertix. + The new vertix can then be dragged into a new position. + +The survey settings are covered in the next section. + +## Settings + +The survey can be further configured in the associated mission item (in the mission item list on the right hand side of the _Plan View_). + +### Camera + +Camera triggering behaviour depends on the camera/camera settings. +You can select an existing camera, custom camera, or manually enter the settings. +The list of available cameras (QGC 3.4) is given below. + +![Survey - Camera Select](../../../assets/plan/survey/survey_camera_select.jpg) + +#### Known Camera {#known\_camera} + +Selecting a known camera from the option dropdown generates a grid pattern based on the camera capabilities. + +![Survey - Camera Sony](../../../assets/plan/survey/survey_camera_sony.jpg) + +The default settings can be tuned for your survey using the configuration options: + +- **Landscape/Portrait** - Camera orientation relative to the "normal" orientation of the vehicle. +- **Overlap** - Overlap between each image capture. + This can be configured separately for when flying along grid lines or across them. +- Select one of: + - **Altitude** - Survey altitude (ground resolution will be calculated/displayed for this altitude). + - **Ground resolution** - Ground resolution for each image (altitude required to achieve this resolution calculated and shown). + +#### Custom Camera {#custom\_camera} + +Selecting the custom camera option allows you to specify the settings for a new camera in a similar way to a known camera. + +![Survey - Custom Camera](../../../assets/plan/survey/survey_camera_custom.jpg) + +The camera-specific settings are: + +- **Sensor width/height** - The size of the image sensor of the camera. +- **Image width/height** - The resolution of the image captured by the camera. +- **Focal Length** - The focal length of the camera lens. + +The remaining settings are the same as for a [known camera](#known_camera). + +#### Manual Camera + +The manual camera option allows you to specify desired survey height, trigger interval and appropriate grid spacing for your camera. + +![Survey - Manual Camera Settings](../../../assets/plan/survey/survey_camera_manual.jpg) + +The configurable options are: + +- **Altitude** - Survey altitude to fly the whole grid. +- **Trigger Distance** - The distance over ground between each camera shot. +- **Spacing** - Distance between adjacent grid (flight path) lines across the corridor. + +### Transects + +The _Transects_ section is used for grid settings that are independent of the camera used. + +![Survey - Transects](../../../assets/plan/survey/survey_transects.jpg) + +The configurable options are: + +- **Angle** - The angle of the grid lines, relative to North. + ![Survey - Angle](../../../assets/plan/survey/survey_transects_angle.jpg) +- **Turnaround dist** - Amount of additional distance to add outside the survey area for vehicle turn around. +- **Rotate Entry Point** - Press button to swap the start and end point of the survey. +- **Hover and capture image** - Hover to capture images (multicopter only). +- **Refly at 90 degree offset** - Check to refly the whole mission at a 90 degree offset. + ![Survey - Fly Offset](../../../assets/plan/survey/survey_transects_offset.jpg) +- **Images in turnarounds** - Check to take images when turning +- **Relative altitude** - Check to make specified altitudes relative to home (if unchecked they are AMSL). + +### Terrain + +By default, a flying vehicle will follow the survey path at a fixed altitude. +Enabling _Terrain Following_ makes the vehicle maintain a constant height relative to ground. + +![Survey - Terrain Following Settings](../../../assets/plan/survey/survey_terrain.jpg) + +:::info +Terrain following uses terrain heights queried from _AirMap_ servers. +::: + +The configurable options are: + +- **Vehicle follows terrain** - Check to enable terrain following (and display the following options). + - **Tolerance** - The accepted deviation in altitude from the target altitude. + - **Max Climb Rate** - Maximum climb rate when following terrain. + - **Max Descent Rate** - Maximum descent rate when following terrain. + +### Statistics + +The _Statistics_ section shows the calculated survey area, photo interval, photo spacing and planned photo count. + +![Survey - Statistics](../../../assets/plan/survey/survey_statistics.jpg) diff --git a/docs/tr/docs/en/qgc-user-guide/plan_view/plan_geofence.md b/docs/tr/docs/en/qgc-user-guide/plan_view/plan_geofence.md new file mode 100644 index 00000000000..49780949b6d --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/plan_view/plan_geofence.md @@ -0,0 +1,60 @@ +# Plan View - GeoFence + +GeoFences allow you to create virtual regions within which the vehicle can fly, or in which it is _not allowed_ to fly. +You can also configure the action taken if you fly outside permitted areas. + +![Geofence overview](../../../assets/plan/geofence/geofence_overview.jpg) + +:::info +**ArduPilot users:** GeoFence support is only supported by Rover 3.6 and Copter 3.7 or higher. It also requires usage of a Daily build or Stable 3.6 (once available). +_QGroundControl_ will not display the GeoFence options if they are not supported by the connected vehicle. +::: + +## Create a Geofence + +To create a GeoFence: + +1. Navigate to the Plan View + +2. Select the _Geofence_ radio button above the Mission Command List + + ![Select geofence radio button](../../../assets/plan/geofence/geofence_select.jpg) + +3. Insert a circular or polygon region by pressing the **Circular Fence** or **Polygon Fence** button, respectively. + A new region will be added to the map and to the associated list of fences below the buttons. + +:::tip +You can create multiple regions by pressing the buttons multiple times, allowing complex geofence definitions to be created. +::: + +- Circular region: + + ![Circular Geofence](../../../assets/plan/geofence/geofence_circular.jpg) + + - Move the region by dragging the central dot on the map + - Resize the circle by dragging the dot on the edge of the circle (or you can change the radius value in the fence panel). + +- Polygon region: + + ![Polygon Geofence](../../../assets/plan/geofence/geofence_polygon.jpg) + + - Move the vertices by dragging the filled dots + - Create new vertices by clicking the "unfilled" dots on the lines between the filled vertices. + +1. By default new regions are created as _inclusion_ zones (vehicles must stay within the region). + Change them to exclusion zones (where the vehicle can't travel) by unchecking the associated _Inclusion_ checkbox in the fence panel. + +## Edit/Delete a GeoFence + +You can select a geofence region to edit by selecting its _Edit_ radio button in the GeoFence panel. +You can then edit the region on the map as described in the previous section. + +Regions can be deleted by pressing the associated **Del** button. + +## Upload a GeoFence + +The GeoFence is uploaded in the same way as a mission, using **File** in the [Plan tools](../plan_view/plan_view.md). + +## Remaining tools + +The rest of the tools work exactly as they do while editing a Mission. diff --git a/docs/tr/docs/en/qgc-user-guide/plan_view/plan_rally_points.md b/docs/tr/docs/en/qgc-user-guide/plan_view/plan_rally_points.md new file mode 100644 index 00000000000..d23a284eb28 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/plan_view/plan_rally_points.md @@ -0,0 +1,35 @@ +# Plan View - Rally Points + +Rally Points are alternative landing or loiter locations. +They are typically used to provide a safer or more convenient (e.g. closer) destination than the home position in Return/RTL mode. + +:::info +Rally Points are only supported by ArduPilot on Rover 3.6 and Copter 3.7 (or higher). +PX4 support is planned in PX4 v1.10 timeframes. +It also requires usage of a Daily build or Stable 3.6 (once available). +_QGroundControl_ will not display the Rally Point options if they are not supported by the connected vehicle. +::: + +![Rally Points](../../../assets/plan/rally/rally_points_overview.jpg) + +## Rally Point Usage + +To create Rally Points: + +1. Navigate to the Plan View +2. Select the _Rally_ radio button above the Mission Command List +3. Click the map wherever you want rally points. + - An **R** marker is added for each + - the currently active marker has a different colour (green) and can be edited using the _Rally Point_ panel. +4. Make any rally point active by selecting it on the map: + - Move the active rally point by either dragging it on the map or editing the position in the panel. + - Delete the active rally point by selecting the menu option on the _Rally Point_ panel + ![Delete Rally Point](../../../assets/plan/rally/rally_points_delete.jpg) + +## Upload Rally Points + +Rally points are uploaded in the same way as a mission, using **File** in the [Plan tools](../plan_view/plan_view.md). + +## Remaining tools + +The rest of the tools work exactly as they do while editing a Mission. diff --git a/docs/tr/docs/en/qgc-user-guide/plan_view/plan_view.md b/docs/tr/docs/en/qgc-user-guide/plan_view/plan_view.md new file mode 100644 index 00000000000..27e97e1375d --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/plan_view/plan_view.md @@ -0,0 +1,205 @@ +# Plan View + +The _Plan View_ is used to plan _autonomous missions_ for your vehicle, and upload them to the vehicle. Once the mission is [planned](#plan_mission) and sent to the vehicle, you switch to the [Fly View](../fly_view/fly_view.md) to fly the mission. + +It is also use to configure the [GeoFence](plan_geofence.md) and [Rally Points](plan_rally_points.md) if these are supported by the firmware. + + +![Plan View](../../../assets/plan/plan_view_overview.jpg) + +## UI Overview {#ui\_overview} + +The [screenshot above](#plan_screenshot) shows a simple mission plan that starts with a takeoff at the [Planned Home](#planned_home) position (H), +flies through three waypoints, and then lands on the last waypoint (i.e. waypoint 3). + +The main elements of the UI are: + +- **Map:** Displays the numbered indicators for the current mission, including the [Planned Home](#planned_home). + Click on the indicators to select them (for editing) or drag them around to reposition them. +- **Plan Toolbar:** Status information for the currently selected waypoint relative to the previous waypoint, as well as statistics for the entire mission (e.g. horizontal distance and time for mission). + - `Max telem dist` is the distance between the [Planned Home](#planned_home) and the furthest waypoint. + - When connected to a vehicle it also shows an **Upload** button, can be used to upload the plan to the vehicle. +- **[Plan Tools](#plan_tools):** Used to create and manage missions. +- **[Mission Command List/Overlay](#mission_command_list):** Displays the current list of mission items (select items to [edit](#mission_command_editors)). +- **Terrain Altitude Overlay:** Shows the relative altitude of each mission command. + +It shows you information related to the currently selected waypoint as well as statistics for the entire mission. + +## Planning a Mission {#plan\_mission} + +At very high level, the steps to create a mission are: + +1. Change to _Plan View_. +2. Add waypoints or commands to the mission and edit as needed. +3. Upload the mission to the vehicle. +4. Change to _Fly View_ and fly the mission. + +The following sections explain some of the details in the view. + +## Planned Home Position {#planned\_home} + +The _Planned Home_ shown in _Plan View_ is used to set the approximate start point when planning a mission (i.e. when a vehicle may not even be connected to QGC). +It is used by QGC to estimate mission times and to draw waypoint lines. + +![Planned Home Position](../../../assets/plan/mission/mission_settings_planned_home.jpg) + +You should move/drag the planned home position to roughly the location where you plan to takeoff. +The altitude for the planned home position is set in the [Mission Settings](#mission_settings) panel. + + + +:::tip +The Fly View displays the _actual_ home position set by the vehicle firmware when it arms (this is where the vehicle will return in Return/RTL mode). +::: + +## Plan Tools {#plan\_tools} + +The plan tools are used for adding individual waypoints, easing mission creation for complicated geometries, uploading/downloading/saving/restoring missions, and for navigating the map. The main tools are described below. + +:::info +**Center map**, **Zoom In**, **Zoom Out** tools help users better view and navigate the _Plan view_ map (they don't affect the mission commands sent to the vehicle). +::: + +### Add Waypoints + +Click on the **Add Waypoint** tool to activate it. While active, clicking on the map will add new mission waypoint at the clicked location. +The tool will stay active until you select it again. +Once you have added a waypoint, you can select it and drag it around to change its position. + +### File (Sync) {#file} + +The _File tools_ are used to move missions between the ground station and vehicle, and to save/restore them from files. +The tool displays an `!` to indicate that there are mission changes that you have not sent to the vehicle. + +:::info +Before you fly a mission you must upload it to the vehicle. +::: + +The _File tools_ provide the following functionality: + +- Upload (Send to vehicle) +- Download (Load from vehicle) +- Save/Save as to File, including as KML file. +- Load from File +- Remove All (removes all mission waypoints from _Plan view_ and from vehicle) + +### Pattern + +The [Pattern](Pattern.md) tool simplifies the creation of missions for flying complex geometries, including [surveys](../plan_view/pattern_survey.md) and [structure scans](../plan_view/pattern_structure_scan_v2.md). + +## Mission Command List {#mission\_command\_list} + +Mission commands for the current mission are listed on the right side of the view. +At the top are a set of options to switch between editing the mission, GeoFence and rally points. +Within the list you can select individual mission items to edit their values. + +![Mission Command List](../../../assets/plan/mission/mission_command_list.jpg) + +### Mission Command Editors {#mission\_command\_editors} + +Click on a mission command in the list to display its editor (in which you can set/change the command attributes). + +You can change the **type** of the command by clicking on the command name (for example: _Waypoint_). +This will display the _Select Mission Command_ dialog shown below. +By default this just displays the "Basic Commands", but you can use the **Category** drop down menu to display more (e.g. choose **All commands** to see all the options). + + + +To the right of each command name is a menu that you can click to access to additional options such as _Insert_ and _Delete_. + +:::info +The list of available commands will depend on firmware and vehicle type. +Examples may include: Waypoint, Start image capture, Jump to item (to repeat mission) and other commands. +::: + +### Mission Settings {#mission\_settings} + +The _Mission Start_ panel is the first item that appears in the [mission command list](#mission_command_list). +It may be used to specify a number default settings that may affect the start or end of the mission. + +![Mission Command List - showing mission settings](../../../assets/plan/mission_start.png) + +![Mission settings](../../../assets/plan/mission/mission_settings.png) + +#### Mission Defaults + +##### Waypoint alt + +Set the default altitude for the first mission item added to a plan (subsequent items take an initial altitude from the previous item). +This can also be used to change the altitude of all items in a plan to the same value; you will be prompted if you change the value when there are items in a plan. + +##### Flight speed + +Set a flight speed for the mission that is different than the default mission speed. + +#### Mission End + +##### Return to Launch after mission end + +Check this if you want your vehicle to Return/RTL after the final mission item. + +#### Planned Home Position + +The [Planned Home Position](#planned_home) section allows you to simulate the vehicle's home position while planning a mission. +This allows you to view the waypoint trajectory for your vehicle from takeoff to mission completion. + +![MissionSettings Planned Home Position Section](../../../assets/plan/mission/mission_settings_planned_home_position_section.jpg) + +:::info +This is only the _planned_ home position and you should place it where you plan to start the vehicle from. +It has no actual impact on flying the mission. +The actual home position of a vehicle is set by the vehicle itself when arming. +::: + +This section allows you to set the **Altitude** and **Set Home to Map Centre** +(you can move it to another position by dragging it on the map). + +#### Camera + +The camera section allows you to specify a camera action to take, control the gimbal and set your camera into photo or video mode. + +![MissionSettings Camera Section](../../../assets/plan/mission/mission_settings_camera_section.jpg) + +The available camera actions are: + +- No change (continue current action) +- Take photos (time) +- Take photos (distance) +- Stop taking photos +- Start recording video +- Stop recording video + +#### Vehicle Info + +The appropriate mission commands for the vehicle depend on the firmware and vehicle type. + +If you are planning a mission while you are _connected to a vehicle_ the firmware and vehicle type will be determined from the vehicle. +This section allows you to specify the vehicle firmware/type when not connected to a vehicle. + +![MissionSettings VehicleInfoSection](../../../assets/plan/mission/mission_settings_vehicle_info_section.jpg) + +The additional value that can be specified when planning a mission is the vehicle flight speed. +By specifying this value, total mission or survey times can be approximated even when not connected to a vehicle. + +## Troubleshooting + +### Mission (Plan) Upload/Download Failures {#plan\_transfer\_fail} + +Plan uploading and downloading can fail over a noisy communication link (affecting missions, GeoFence, and rally points). +If a failure occurs you should see a status message in the QGC UI similar to: + +> Mission transfer failed. Retry transfer. Error: Mission write mission count failed, maximum retries exceeded. + +The loss rate for your link can be viewed in [Settings View > MAVLink](../settings_view/mavlink.md). +The loss rate should be in the low single digits (i.e. maximum of 2 or 3): + +- A loss rate in the high single digits can lead to intermittent failures. +- Higher loss rates often lead to 100% failure. + +There is a much smaller possibility that issues are caused by bugs in either flight stack or QGC. +To analyse this possibility you can turn on [Console Logging](../settings_view/console_logging.md) for Plan upload/download and review the protocol message traffic. + +## Further Info + +- New Plan View features for [QGC release v3.2](../releases/stable_v3.2_long.md#plan_view) +- New Plan View features for [QGC release v3.3](../releases/stable_v3.3_long.md#plan_view) diff --git a/docs/tr/docs/en/qgc-user-guide/releases/daily_build_new_features.md b/docs/tr/docs/en/qgc-user-guide/releases/daily_build_new_features.md new file mode 100644 index 00000000000..6b298f7f00e --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/releases/daily_build_new_features.md @@ -0,0 +1,7 @@ +# Daily Build Major Changes + +This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ since the last [stable release](../releases/release_notes.md). +These features are available in [daily builds](../releases/daily_builds.md). +There is also a [Change Log](https://github.com/mavlink/qgroundcontrol/blob/master/ChangeLog.md) available for viewing. + +- TBD diff --git a/docs/tr/docs/en/qgc-user-guide/releases/daily_builds.md b/docs/tr/docs/en/qgc-user-guide/releases/daily_builds.md new file mode 100644 index 00000000000..0550549176e --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/releases/daily_builds.md @@ -0,0 +1,32 @@ +# Daily Builds + +Daily Builds of _QGroundControl_ have the absolute latest set of [new features](../releases/daily_build_new_features.md). + +:::warning +Daily Builds are less tested than stable builds. +Use at your own risk! +::: + +These can be downloaded from the links below (install as described in [Download and Install](../getting_started/download_and_install.md)): + +- [Windows](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl-installer.exe) + +- [OS X](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl.dmg) + + ::: info + QGroundControl continues to not be signed which causes problem on Catalina. To open QGC app for the first time: + + - Right-click the QGC app icon, select Open from the menu. You will only be presented with an option to Cancel. Select Cancel. + - Right-click the QGC app icon again, Open from the menu. This time you will be presented with the option to Open. + + ::: + +- [Linux](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl.AppImage) + +- [Android](https://play.google.com/store/apps/details?id=org.mavlink.qgroundcontrolbeta) - Google Play: Listed as _QGroundControl (Daily Test Build)_. + +- iOS currently unavailable + +:::info +The QGroundControl Continous Delivery pipeline from time to time might experience issues uploading to the Google Play store. You can find the daily build APK for Android devices for direct download here: [QGroundControl32.apk](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl32.apk), and [QGroundControl64.apk](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl64.apk) +::: diff --git a/docs/tr/docs/en/qgc-user-guide/releases/index.md b/docs/tr/docs/en/qgc-user-guide/releases/index.md new file mode 100644 index 00000000000..dec0acc68b7 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/releases/index.md @@ -0,0 +1,3 @@ +# Releases + +This section contains information about releases and daily builds. diff --git a/docs/tr/docs/en/qgc-user-guide/releases/privacy_policy.md b/docs/tr/docs/en/qgc-user-guide/releases/privacy_policy.md new file mode 100644 index 00000000000..44718df6e95 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/releases/privacy_policy.md @@ -0,0 +1,8 @@ +# Privacy Policy + +_QGroundControl_ may require access to personal and/or sensitive user data. None of this data is used outside of _QGroundControl_. + +The list below explains how some of the data is used: + +- Camera sensor: This is used for the purpose of overlaying the video with flight telemetry data. +- Location: This is used for tracking current user position on the map. diff --git a/docs/tr/docs/en/qgc-user-guide/releases/release_notes.md b/docs/tr/docs/en/qgc-user-guide/releases/release_notes.md new file mode 100644 index 00000000000..54dfa2f76de --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/releases/release_notes.md @@ -0,0 +1,255 @@ +# Release Notes + +This topic contains the cumulative release notes for _QGroundControl_. + +:::info +Stable build major/minor numbers are listed below. +_Patch_ release numbers are not listed, but can be found on the [Github release page](https://github.com/mavlink/qgroundcontrol/releases). +::: + +## Stable Version 4.0 (current) + +:::info +The format for Settings in QGC had to change in this release. Which means all QGC settings will be reset to defaults. +::: + +- Settings + - Language: Allow selection of language + - Optional [CSV Logging](../settings_view/csv.md) of telemetry data for improved accessibility. + - ArduPilot + - Mavlink: Configurable stream rate settings +- Setup + - Joystick + - New joystick setup ui + - Ability to configure held button to single or repeated action + - ArduPilot + - Motor Test + - ArduSub + - Automatic motor direction detection +- Plan + - Create Plan from template with wizard like progression for completing full Plan. + - Survey: Save commonly used settings as a Preset + - Polygon editing + - New editing tools ui + - Support for tracing a polygon from map locations + - ArduPilot + - Support for GeoFence and Rally Points using latest firmwares and mavlink v2 +- Fly + - Click to ROI support + - Added support for connecting to ADSB SBS server. Adds support for ADSB data from USB SDR Dongle running 'dump1090 --net' for example. + - Ability to turn on Heading to home, COG and Next Waypoint heading indicators in Compass. + - Video + - Add support for h.265 video streams + - Automatically add a [Video Overlay](../fly_view/video_overlay.md) with flight data as a subtitle for locally-recorded videos + - Vehicle type specific pre-flight checklists. Turn on from Settings. +- Analyze + - New Mavlink Inspector which includes charting support. Supported on all builds including Android and iOS. +- General + - Released Windows build are now 64 bit only + - Log Replay: Ability to specify replay speed + - ArduPilot + - Improved support for chibios firmwares and ArduPilot bootloader with respect to flashing and auto-connect. + +Additional notes for some features can be found here: [v4.0 (Additional Notes)](../releases/stable_v4.0_additional.md). + +## Stable Version 3.5 + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.5. + +- **Overall** + - Added Airmap integration to QGC. OSX build only. + - Bumped settings version (now 8). + This will cause all settings to be reset to defaults. + - Added Chinese and Turkish localization and partial German localization. + - Added support for the Taisync 2.4GHz ViUlinx digital HD wireless link. + - Fix loading of parameters from multiple components. + This especially affected WiFi connections. + - **ArduPilot** Support for ChibiOS firmware connect and flash. +- **Settings** + - **RTK** Add support for specifying fixed RTK based station location in Settings/General. + - **GCS Location** + - Added UDP Port option for NMEA GPS Device. + - GCS heading shown if available +- **Plan** + - **Polygons** Support loading polygons from SHP files. + - **Fixed Wing Landing Pattern** Add stop photo/video support. + Defaults to on such that doing an RTL will stop camera. + - **Edit Position dialog** Available on polygon vertices. +- **Fly** + - **Camera Page** Updated support for new MAVLInk camera messages. + Camera select, camera mode, start/stop photo/video, storage mangement... + - **Orbit** Support for changing rotation direction. + - **Instrument Panel** + - Added ESTIMATOR\_STATUS values to new estimatorStatus Vehicle FactGroup. + These are now available to display in instrument panel. + - Make Distance to GCS available for display from instrument panel. + - Make Heading to Home available for display from instrument panel. + +## Stable Version 3.4 + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.4. Not to mention the large number of bug fixes in each stable release. + +- **Settings** + - **Offline Maps** + - Center Tool allows you to specify a map location in lat/lon or UTM coordinates. Making it easier to get to the location you want to create an offline map for. + - Ability to pre-download terrain heights for offline use. + - **Help** Provides links to QGC user guide and forums. + +- **Setup** + - **Firmware** Ability to flash either PX4 or ArduPilot Flow firmware. + - PX4 Pro Firmware + - **Flight Modes** Specify channels for all available transmitter switches. + - **Tuning: Advanced** Initial implementation of vehicle PID tuning support. Note that this is a work in progress that will improve in 3.5 daily builds. + - ArduPilot Firmware + - **Power/Safety** Support for new multi-battery setup. + - **Trad Heli** New setup page. + +- **Plan** + + - **File Load/Save** New model for Plan file loading which matches a standard File Load/Save/Save As user model. + + - **Load KML** Ability to load a KML file directly from the Sync menu. You will be prompted for what type of Pattern you want to create from the KML if needed. + + - **Survey** Better support for irregular shaped polygons. + + - **[Corridor Scan](../plan_view/pattern_corridor_scan.md)** - Create a flight pattern which follows a poly-line. For example can be used to survey a road. + + - **[Fixed Wing Landing Pattern](../plan_view/pattern_fixed_wing_landing.md)** + - Landing area visually represented in Plan. + - Landing position/heading can be copied from Vehicle position/heading. + + - **Terrain** + + - Height of mission items can be specified as height above terrain. + - Survey and Corridor Scan can generate flight plans which follow terrain. + + ::: info + This feature does not support [ArduPilot terrain following](http://ardupilot.org/copter/docs/common-terrain-following.html). + ::: + + - **Edit Position** Set item position from vehicle position. + +- **Fly** + - **Pre-Flight Checklist** You can turn this on from Settings. It provides a generic checklist to follow prior to flight. Expect more feature to appear for this in 3.5 daily builds. + - **Instrument Panel** + - Many new values available for display. + - New Camera page which provides full camera control. Requires a camera which support new MavLink camera specification. + - **ArduPlane** Much better support for guided commands including QuadPlane support. + - **High Latency Links** Support for high latency links such as satellite connections. + Limits the traffic from QGC up to Vehicle on these links to reduce cost. + Supports HIGH\_LATENCY MavLink message. + Supports failover back/forth from high latency to normal link with dual link setup. + +## Stable Version 3.3 + +:::tip +More detailed release notes for version 3.3 can be found [here](../releases/stable_v3.3_long.md). +::: + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.3. Not to mention the large number of bug fixes of this release. + +- **Settings** + - Local NMEA GPS device support. + - Video Recording save settings. +- **Setup** + - **Parameter Editor** - Searching updates as you type characters for near immediate response to searches. + - **Joystick** - Android joystick support. +- **Plan** + - **NEW - Structure Scan Pattern** - Create a multi-layered flight pattern that captures images over vertical surfaces (polygonal or circular). Used for 3d model generation or vertical surface inspection. + - **Fixed Wing Landing Pattern** - You can now adjust the distance from the loiter to land point by either distance or glide slope fall rate. + - PX4 GeoFence and Rally Point support. + - Terrain height display in lower Mission Item altitude display +- **Fly** + - Start/Stop video recording. + - Better display of vehicle icons when connected to multiple vehicles. + - Multi-Vehicle View supports commands which apply to all vehicles. + - Displays vehicles reported from ADS-B sensor. +- **Analyze** + - **Mavlink console** - New support for communicating with Mavlink console. + - **Log Download** - Moved from Menu to Analyze view. + +## Stable Version 3.2 + +:::tip +More detailed release notes for version 3.2 can be found [here](../releases/stable_v3.2_long.md). +::: + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.2. + +- **Settings** + + - **File Save path** - Specify a save path for all files used by QGC. + - **Telemetry log auto-save** - Telemetry logs are now automatically saved without prompting. + - **AutoLoad Plans** - Used to automatically load a Plan onto a vehicle when it first connects. + - **RTK GPS** - Specify the Survey in accuracy and Minimum observation duration. + +- **Setup** + + - ArduPilot only + - **Pre-Flight Barometer and Airspeed calibration** - Now supported + - **Copy RC Trims** - Now supported + +- **Plan View** + + - **Plan files** - Missions are now saved as .plan files which include the mission, geo-fence and rally points. + - **Plan Toolbar** - New toolbar which shows you mission statistics and Upload button. + - **Mission Start** - Allows you to specify values such as flight speed and camera settings to start the mission with. + - **New Waypoint features** - Adjust heading and flight speed for each waypoint as well as camera settings. + - **Visual Gimbal direction** - Gimbal direction is shown on waypoint indicators. + - **Pattern tool** - Allows you to add complex patterns to a mission. + - Fixed Wing Landing (new) + - Survey (many new features) + - **Fixed Wing Landing Pattern** - Adds a landing pattern for fixed wings to your mission. + - **Survey** - New features + - **Take Images in Turnarounds** - Specify whether to take images through entire survey or just within each transect segment. + - **Hover and Capture** - Stop vehicle at each image location and take photo. + - **Refly at 90 degree offset** - Add additional pattern at 90 degree offset to original so get better image coverage. + - **Entry location** - Specify entry point for survey. + - **Polygon editing** - Simple on screen mechanism to drag, resize, add/remove points. Much better touch support. + +- **Fly View** + + - **Arm/Disarm** - Available from toolbar. + - **Guided Actions** - New action toolbar on the left. Supports: + - Takeoff + - Land + - RTL + - Pause + - Start Mission + - Resume Mission - after battery change + - Change Altitude + - Land Abort + - Set Waypoint + - Goto Location + - **Remove mission after vehicle lands** - Prompt to remove mission from vehicle after landing. + - **Flight Time** - Flight time is shown in instrument panel. + - **Multi-Vehicle View** - Better control of multiple vehicles. + +- **Analyze View** - New + + - **Log Download** - Moved to Analyze view from menu + - **Mavlink Console** - NSH shell access + +- **Support for third-party customized QGroundControl** + - Standard QGC supports multiple firmware types and multiple vehicle types. There is now support in QGC which allows a third-party to create their own custom version of QGC which is targeted specifically to their custom vehicle. They can then release their own version of QGC with their vehicle. + +## Stable Version 3.1 + +New Features + +- [Survey](../plan_view/pattern_survey.md) mission support +- [GeoFence](../plan_view/plan_geofence.md) support in Plan View +- [Rally Point](../plan_view/plan_rally_points.md) support in Plan View (ArduPilot only) +- ArduPilot onboard compass calibration +- Parameter editor search will now search as you type for quicker access +- Parameter display now supports unit conversion +- GeoTag images from log files (PX4 only) +- System health in instrument panel +- MAVLink 2.0 support (no signing yet) + +Major Bug Fixes + +- Fixed crash after disconnect from Vehicle +- Fixed android crash when using SiK Radios +- Many multi-vehicle fixes +- Bluetooth fixes diff --git a/docs/tr/docs/en/qgc-user-guide/releases/stable_v3.2_long.md b/docs/tr/docs/en/qgc-user-guide/releases/stable_v3.2_long.md new file mode 100644 index 00000000000..0056ad212fc --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/releases/stable_v3.2_long.md @@ -0,0 +1,265 @@ +# QGroundControl v3.2 Release Notes (Detailed) + +This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.2. + +## Settings + +### Telemetry log auto-save + +If you have _Save telemetry log after each flight_ turned on you will no longer be prompted as to where to save the log each time the vehicle disarms. +Logs will automatically be saved to the [Application Load/Save Path](../settings_view/general.md#load_save_path) + +For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#autosave_log). + +### AutoLoad plans + +If this setting is turned on, _QGroundControl_ will automatically upload a plan to the vehicle when it connects. +The plan file must be named **AutoLoad#.plan** where the `#` is replaced with the vehicle id. +The plan file must be located in the [Application Load/Save Path](../settings_view/general.md#load_save_path). + +For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#autoload_missions). + +### Application Load/Save Path + +You can now specify a save path which QGC will use as the default location to save files such as Parameters, Telemetry or Mission Plans. + +For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#load_save_path). + +### RTK GPS + +You can now specify the _Survey in accuracy_ and _Minimum observation duration_ for use with a connected RTK GPS. + +For more information see [Settings > General (RTK GPS)](../settings_view/general.md#rtk_gps). + +## Setup + +### ArduPilot - Pre-Flight Barometer and Airspeed calibration + +This is now supported from the Sensors page. + +### ArduPilot - Copy RC Trims + +This is now supported from the Copy Trims button on the Radio setup page. + +## Plan View {#plan\_view} + +### Plan Files + +Previous version of _QGroundControl_ saved missions, geo-fences and rally points in separate files (**.mission**, **.fence**, **.rally**). QGC now save all information related to a flight plan into a single file called a _Plan File_ with a file extension of **.plan**. + +Information about the format can be found in [Plan File Format](https://dev.qgroundcontrol.com/en/file_formats/plan.html) (QGC Developer Guide). + +### Plan Toolbar + +![Plan Toolbar](../../../assets/plan/plan_toolbar.jpg) + +The new _Plan Toolbar_ is displayed at the top of the [PlanView](../plan_view/plan_view.md). +It shows you information related to the currently selected waypoint as well as statistics for the entire mission. + +When connected to a vehicle it also shows an **Upload** button, which can be used to upload the plan to the vehicle. + +### Mission Settings + +The [Mission Settings](../plan_view/plan_view.md#mission_settings) panel allows you to specify values which apply to the entire mission, or settings you want to control right at the beginning of a mission. +This is the first item in the mission list on the right of the screen. + + + +#### Mission Defaults + +##### Waypoint alt + +This specifies the default altitude for newly added mission items. +If you update this value while you have a mission loaded it will prompt you to update all the the waypoints to this new altitude. + +##### Flight speed + +This allows you to set the flight speed for the mission to be different than the default mission speed. + +##### RTL after mission end + +Check this if you want your vehicle to RTL after the final mission item. + +#### Camera section + + + +The camera section allows you to specify a camera action to take, control the gimbal and set your camera into photo or video mode. + +The camera actions available are: + +- Continue current action +- Take photos (time) +- Take photos (distance) +- Stop taking photos +- Start recording video +- Stop recording video + +#### Vehicle Info section + + + +When planning a mission the firmware being run on the vehicle as well as the vehicle type must be known in order for QGroundControl to show you the mission commands which are appropriate for your vehicle. + +If you are planning a mission while you are connected to your vehicle the Firmware and Vehicle Type will be determined from the vehicle. If you are planning a mission while not connected to a vehicle you will need to specify this information yourself. + +The additional value that can be specified when planning a mission is the vehicle flight speed. By specifying this value, total mission or survey times can be approximated even when not connected to a vehicle. + +#### Planned Home Position + + + +The planned home position allows you to simulate the vehicle's home position while planning a mission. This way you see the waypoint trajectory for your vehicle from takeoff to mission completion. Keep in mind that this is only the "planned" home position and you should place it where you plan to start the vehicle from. It has no actual impact on flying the mission. The actual home position of a vehicle is set by the vehicle itself when arming. + +### New Waypoint features + + + +- You can now adjust heading and flight speed for each waypoint. +- There is a camera section available for camera changes on each waypoint. Explanation of Camera Section can be read under Mission Settings above. + +### Visual Gimbal direction + + + +If you specify gimbal yaw changes on waypoints, both the plan and fly views will show you a visual representation of the gimbal direction. + +### Pattern tool + +There is a new _Pattern tool_. The following patterns are supported: + +- Fixed Wing Landing (new) +- Survey (with new features) + +#### Fixed Wing Landing Pattern + +![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern.jpg) + +This adds a landing pattern for fixed wings to your mission. +The first point of the pattern is the loiter point which commands to vehicle to loiter to a specific altitude. +Once that altitude is reached, the vehicle will begin the landing sequence and fly down to the specified landing spot. + +Both the loiter and land points can be dragged to adjust. +Also all the various values associated with the pattern can be adjusted. + +For more information see [Fixed Wing Landing Pattern](../plan_view/pattern_fixed_wing_landing.md). + +#### Survey (new features) + +- Images are not automatically taken in the turnaround zone outside of the polygonal survey area. +- There is a new _Hover and Capture_ option which can be used to capture the highest quality image at each image location. The vehicle will stop at each image location prior to taking the image such that the vehicle is stable while the image is taken. +- There is a new option to re-fly the survey grid at a 90 degree angle to the previous pass. This allows you to generate much denser coverage for the images. + +![](../../../assets/plan/polygon_edit.jpg) + +Manipulating the survey area polygon is now easier to use on tablets with touch screens: + +- You can drag the entire polygon to a new location by dragging the center point handle. +- Each polygon vertex can be dragged to a new location. +- To remove a polygon vertex, simple click on the drag handle for it. +- Click on the **+** handles to add a new vertex between two existing vertices. + +## Fly View + +### RTK GPS + +RTK status is now shown in the toolbar. + +### Arm/Disarm + +There is an armed/disarmed indicator in the toolbar. You can click it to arm/disarm your vehicle. If you click Disarm in the toolbar while your vehicle is flying you will provided the option to Emergency Stop your vehicle. + +### Guided Actions + +- Takeoff +- Land +- RTL +- Pause +- Actions + - Start Mission + - Resume Mission + - Change Altitude + - Land Abort +- Direct interaction with map + - Set Waypoint + - Goto Location + +#### Resume Mission + +The Resume Mission guided action is used to resume a mission after performing an RTL from within the mission to perform a battery change. +After the vehicle lands from RTL and you have disconnected the battery **do not** disconnect QGC from the Vehicle. +Put in your new battery and QGC will detect the vehicle again and automatically restore the connection. +Once this happens you will be prompted with a Resume Mission confirmation slider. +If you want to resume the mission, confirm this and the mission will be rebuilt from your last waypoint traveled through. +Once the mission is rebuilt you will be presented with another Resume Mission slide which allows you to review the rebuilt mission before starting it again. +Confirm this Resume Mission slider to continue on with the mission. + +###### How resume mission rebuilding works + +In order to resume a mission you cannot simply continue it from the last mission item the vehicle ran. +The reason is is that may skip over important change speed commands or camera control commands which are prior to that item in the mission. +If you skipped over those the remainder of the mission will not run correctly. +In order to make resume mission work correctly QGC rebuilds the mission looking backwards from the last mission item flown and automatically appends relevant commands to the front of the mission. +By doing this the state of the mission prior to the resume point is restore. +The following mission commands are the ones scanned for: + +- `MAV_CMD_DO_CONTROL_VIDEO` +- `MAV_CMD_DO_SET_ROI` +- `MAV_CMD_DO_DIGICAM_CONFIGURE` +- `MAV_CMD_DO_DIGICAM_CONTROL` +- `MAV_CMD_DO_MOUNT_CONFIGURE` +- `MAV_CMD_DO_MOUNT_CONTROL` +- `MAV_CMD_DO_SET_CAM_TRIGG_DIST` +- `MAV_CMD_DO_FENCE_ENABLE` +- `MAV_CMD_IMAGE_START_CAPTURE` +- `MAV_CMD_IMAGE_STOP_CAPTURE` +- `MAV_CMD_VIDEO_START_CAPTURE` +- `MAV_CMD_VIDEO_STOP_CAPTURE` +- `MAV_CMD_DO_CHANGE_SPEED` +- `MAV_CMD_NAV_TAKEOFF` + +### Remove mission after vehicle lands + +You will be prompted to remove the mission from the vehicle after the mission completes and the vehicle lands and disarms. +This is meant to prevent issues where stale missions are unknowingly left on a vehicle cause unexpected behavior. + +### Instrument panel + +#### Camera trigger + +#### Flight Time + +Flight time is now available for display in the instrument panel. +For new users, flight time will be shown by default. +For existing users who have already modified their instrument panel values you will have to add it yourself if you want to use it. + +## [Analyze View](../analyze_view/index.md) + +- [Log Download](../analyze_view/log_download.md) moved to _Analyze View_ from menu. +- New [GeoTag Images](../analyze_view/geotag_images.md) support for PX4 Pro firmware +- New [MAVLink Console](../analyze_view/mavlink_console.md) which provides access the the _nsh shell_ running on the vehicle. + +## Multi-Vehicle View + +There is a new view available when you have multiple vehicles connected to QGC. It will only show up when more than one vehicle is connected. When that happens you will see an additional set of radio button at the top right of the Plan view. + + + +Click the **Multi-Vehicle** radio button to replace the instrument panel with the multi-vehicle list: + + + +The example above shows three vehicles. The numbers are the vehicle id. In the large font is the current flight mode. You can click the flight mode name to change to a different flight mode. To the right are small version of the instruments for each vehicle. You can command the vehicle to do the following actions from the control panel: + +- Arm/Disarm +- Start/Stop a mission +- Return to Launch +- Take Control back of the vehicle by returning to manual control from a mission. + +### Multi-Vehicle Gotchas - Unique vehicle ids + +Each vehicle connected to QGC must have a unique id. Otherwise QGC will think the vehicles are actually the same vehicle. The symptom of this is the Plan view jerking around as it tries to position itself to one vehicle and then the next. For PX4 Pro firmwares this is the `MAV_SYS_ID` parameter. For ArduPilot firmwares it is the `SYSID_THISMAV` parameter. + +## Support for third-party customized QGroundControl + +Standard QGC supports multiple firmware types and multiple vehicle types. There is now support in QGC which allows a third-party to create their own custom version of QGC which is targeted specifically to their custom vehicle. They can then release their own version of QGC with their vehicle. diff --git a/docs/tr/docs/en/qgc-user-guide/releases/stable_v3.3_long.md b/docs/tr/docs/en/qgc-user-guide/releases/stable_v3.3_long.md new file mode 100644 index 00000000000..4c2f86d680d --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/releases/stable_v3.3_long.md @@ -0,0 +1,96 @@ +# QGroundControl v3.3 Release Notes (Detailed) + +This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.3. + +## Detailed Notes + +### Settings View + +#### NMEA GPS Device support + +![NMEA GPS Device support](../../../assets/settings/general/NMEADevice.jpg) + +You can specify a connection to one of these devices on the General page. +The GPS information will then be used for ground station location and in turn follow me support. + +For more information see [Settings > General (AutoConnect to the following devices)](../settings_view/general.md#auto_connect). + +#### Video Recording + +![Video Recording](../../../assets/settings/video_recording.jpg) + +Videos will be saved to the Video directory of your QGC file save path. +You can also specify the maximum amount of space you want video files to consume. +After that size if exceeded the oldest video files will be removed. +Video Recording is turned on/off from the Video widget in the Fly View. + +For more information see [Settings > General (Video / Video Recording)](../settings_view/general.md#video). + +### Plan View {#plan\_view} + +#### Structure Scan + +A Structure Scan allows you to create a grid flight pattern that captures images over vertical surfaces (polygonal or circular). +These are typically used for the visual inspection or creation of 3d models of structures. + +Details [here](../plan_view/pattern_structure_scan_v2.md). + +#### New MAVLink GeoFence, Rally Point support + +![](../../../assets/plan/geofence_rally.jpg) + +QGC supports the new MAVLink GeoFence and Rally Point specification/protocol. This new system supports multiple polygonal and/or circular fences which can be specified as an exclusion or an inclusion fence. + +The fence which is currently selected by the "Edit" radio button will show the on screen editing controls such as the drag points for polygon editing. + +**Note** Only PX4 Pro firmware supports the new specification. ArduPilot does not yet support the new spec. Support for GeoFence/Rally is temporarily disabled in QGC until QGC ArduPilot code is reworked to the new architecture. + +#### Edit Position Dialog + +![](../../../assets/plan/edit_position_dialog.jpg) + +The Edit Position Dialog allows you to specify a detailed position for an item in either Geographic or UTM coordinate systems. It is available from the Polygon Tools menu as well as the hamburger menu of any mission item which specifies a coordinate: + +![](../../../assets/plan/mission_item_editor_hamburger.jpg) + +#### Polygon Tools + +![](../../../assets/plan/polygon_tools.jpg) + +You can now also click on the polygon center drag handle to bring up a set of polygon manipulation tools. The tools are available anywhere polygon editing is supported: Survey, Structure Scan, GeoFence, ... + +- Circle - Converts the polygon to a circular polygon. +- Polygon - Changes a circular polygon back to a rectangular polygon. +- Set radius - Set radius for circular polygons. +- Edit position - Displays the edit position dialog to specify a detailed position for the circular center. +- Load KML - Set polygon to polygon loaded from KML file. + +Circular polygon example: + + + +### Fly View + +#### Start/Stop Video Recording + +This is now a video record button in the video window. Settings for saved videos are available from General Page of Setup view. + +#### Multi-Vehicle vehicle indicators + +When you are connected to multiple vehicles the vehicle id will be shown below the vehicle icon. The active vehicle will be opaque and the inactive vehicles will be semi-transparent. + +![](../../../assets/fly/multi_vehicle_indicators.jpg) + +#### Multi-Vehicle View supports batch commands + +The multi-vehicle list now supports commands which apply to all vehicles. + +![](../../../assets/fly/multi_vehicle_list.jpg) + +The current list of available commands are Pause and Start Mission but that will be exapanded upon with further development. + +#### ADS-B sensor vehicle display + +Vehicle reported by ADS-B sensor on vehicle are shown on map as smaller blue icons with altitude and callsign below the icon. + +![](../../../assets/fly/adsb_vehicle.jpg) diff --git a/docs/tr/docs/en/qgc-user-guide/releases/stable_v4.0_additional.md b/docs/tr/docs/en/qgc-user-guide/releases/stable_v4.0_additional.md new file mode 100644 index 00000000000..9399f0d3702 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/releases/stable_v4.0_additional.md @@ -0,0 +1,13 @@ +# QGroundControl v4.0 Release Notes (Additional) + +This topic contains additional notes about QGroundControl 4.0. +These should be integrated into main documentation in coming months (and this document deleted). + +- [Pattern Presets](../plan_view/pattern_presets.md) - Allows you to save settings for a Pattern item (Survey, Corridor Scan, ...) into a named preset. You can then use this preset over and over again as you create new Pattern. +- ArduPilot: + - Copter - PID Tuning support ![PID Tuning JPG](../../../assets/daily_build_changes/arducopter_pid_tuning.jpg) + - Copter - Additional Basic Tuning options ![Basic Tuning JPG](../../../assets/daily_build_changes/arducopter_basic_tuning.jpg) + - Copter/Rover - Frame setup ui ![Setup Frame Copter JPG](../../../assets/daily_build_changes/arducopter_setup_frame.jpg) + - Improved support for flashing ChibiOS firmware + - Improved support for connecting to ChibiOS bootloader boards + - Support configurable mavlink stream rates. Available from Settings/Mavlink page. ![Stream Rates JPG](../../../assets/daily_build_changes/arducopter_stream_rates.jpg) diff --git a/docs/tr/docs/en/qgc-user-guide/settings_view/console_logging.md b/docs/tr/docs/en/qgc-user-guide/settings_view/console_logging.md new file mode 100644 index 00000000000..e89bb78be30 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/settings_view/console_logging.md @@ -0,0 +1,47 @@ +# Console Logging + +The _Console_ can be helpful tool for diagnosing _QGroundControl_ problems. It can be found in **SettingsView > Console**. + +![Console logging](../../../assets/support/console.jpg) + +Click the **Set Logging** button to enable/disable logging information displayed by _QGroundControl_. + +## Common Logging Options + +The most commmonly used logging options are listed below. + +| Option(s) | Description | +| ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `LinkManagerLog`, `MultiVehicleManagerLog` | Debug connection problems. | +| `LinkManagerVerboseLog` | Debug serial ports not being detected. Very noisy continuous output of available serial ports. | +| `FirmwareUpgradeLog` | Debug firmware flash issues. | +| `ParameterManagerLog` | Debug parameter load problems. | +| `ParameterManagerDebugCacheFailureLog` | Debug parameter cache crc misses. | +| `PlanManagerLog`, `MissionManagerLog`, `GeoFenceManagerLog`, `RallyPointManagerLog` | Debug Plan upload/download issues. | +| `RadioComponentControllerLog` | Debug Radio calibration issues. | + +## Logging from the Command Line + +An alternate mechanism for logging is using the `--logging` command line option. This is handy if you are trying to get logs from a situation where _QGroundControl_ crashes. + +How you do this and where the traces are output vary by OS: + +- Windows + - You must open a command prompt, change directory to the **qgroundcontrol.exe** location, and run it from there: + ```bash + cd "\Program Files (x86)\qgroundcontrol" + qgroundcontrol --logging:full + ``` + - When _QGroundControl_ starts you should see a separate console window open which will have the log output +- OSX + - You must run _QGroundControl_ from Terminal. The Terminal app is located in Applications/Utilities. Once Terminal is open paste the following into it: + ```bash + cd /Applications/qgroundcontrol.app/Contents/MacOS/ + ./qgroundcontrol --logging:full + ``` + - Log traces will output to the Terminal window. +- ## Linux + ```bash + ./qgroundcontrol-start.sh --logging:full + ``` + - Log traces will output to the shell you are running from. diff --git a/docs/tr/docs/en/qgc-user-guide/settings_view/csv.md b/docs/tr/docs/en/qgc-user-guide/settings_view/csv.md new file mode 100644 index 00000000000..ae227ea9238 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/settings_view/csv.md @@ -0,0 +1,11 @@ +# CSV Logging + +![Csv checkbox](../../../assets/settings/general/csv.jpg) + +When checked, a CSV (comma-separated value) telemetry file will be created along with the usual **.tlog** telemetry file. +The file is only created if **Save log after each flight** is enabled, and is recorded for the same duration. + +This CSV file contains the most relevant vehicle telemetry data available for quick analysis such as GPS position, attitude, battery status, and others. +It is populated at 1 Hz and while it is not as detailed as the telemetry log, it is a lot easier to work with and quicker to extract data out of. + +The file can be opened by common spreadsheet software, including: Microsoft Excel, Google Sheets, LibreOffice Calc or OpenOffice Calc. diff --git a/docs/tr/docs/en/qgc-user-guide/settings_view/general.md b/docs/tr/docs/en/qgc-user-guide/settings_view/general.md new file mode 100644 index 00000000000..f88e660ef42 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/settings_view/general.md @@ -0,0 +1,282 @@ +# General Settings (Settings View) + +The general settings (**SettingsView > General Settings**) are the main place for application-level configuration. +Settable values include: display units, autoconnection devices, video display and storage, RTK GPS, brand image, and other miscellaneous settings. + +:::info +Values are settable even if no vehicle is connected. Settings that require a vehicle restart are indicated in the UI. +::: + +![SettingsView - Full General Tab](../../../assets/settings/general/overview.jpg) + +## Units + +This section defines the display units used in the application. + +![Units settings](../../../assets/settings/general/units.jpg) + +The settings are: + +- **Distance**: Meters | Feet +- **Area**: SquareMetres | SquareFeet | SquareKilometers | Hectares | Acres | SquareMiles +- **Speed**: Metres/second | Feet/second | Miles/hour | Kilometres/hour | Knots +- **Temperature**: Celsius | Fahrenheit + +## Miscellaneous + +This section defines a number of miscellaneous settings, related to (non exhaustively): font sizes, colour schemes, map providers, map types, telemetry logging, audio output, low battery announcement levels, default mission altitude, [virtual joysticks](../settings_view/virtual_joystick.md), mission autoloading, default application file load/save path etc. + +![Miscellaneous settings](../../../assets/settings/general/miscellaneous.jpg) + +The settings are: + +- **Language**: System (System Language) | Bulgarian, Chinese, ... + + ![Display languages](../../../assets/settings/general/languages.jpg) + + Translations are generally built into the application and selected automatically based on the system language. + + Metadata downloaded from the vehicle (such as parameter descriptions) might have translations as well. + These are downloaded from the internet upon vehicle connection. The translations are then cached locally. + This means an internet connection during vehicle connection is required at least once. + +- **Color Scheme**: Indoor (Dark) | Outdoor (Light) + +- **Map Provider**: Google | Mapbox | Bing | Airmap | VWorld | Eniro | Statkart + +- **Map Type**: Road | Hybrid | Satellite + +- **Stream GCS Position**: Never | Always | When in Follow Me Flight Mode. + +- **UI Scaling**: UI scale percentage (affects fonts, icons, button sizes, layout etc.) + +- **Mute all audio output**: Turns off all audio output. + +- **Check for Internet Connection**: Uncheck to allow maps to be used in China/places where map tile downloads are likely to fail (stops the map-tile engine continually rechecking for an Internet connection). + +- **Autoload Missions**: If enabled, automatically upload a plan to the vehicle on connection. + - The plan file must be named **AutoLoad#.plan**, where the `#` is replaced with the vehicle id. + - The plan file must be located in the [Application Load/Save Path](#load_save_path). + +- **Clear all settings on next start**: Resets all settings to the default (including this one) when _QGroundControl_ restarts. + +- **Announce battery lower than**: Battery level at which _QGroundControl_ will start low battery announcements. + +- **Application Load/Save Path**: Default location for loading/saving application files, including: parameters, telemetry logs, and mission plans. + +## Data Persistence {#data\_persistence} + +![Data Persistence Settings](../../../assets/settings/general/data_persistence.jpg) + +The settings are: + +- **Disable all data persistence**: Check to prevent any data being saved or cached: logs, map tiles etc. + This setting disables the [telemetry logs section](#telemetry_logs). + +## Telemetry Logs from Vehicle {#telemetry\_logs} + +![Telemetry Logs from Vehicle Settings](../../../assets/settings/general/telemetry_logs.jpg) + +The settings are: + +- **Save log after each flight**: Telemetry logs (`.tlog`) automatically saved to the _Application Load/Save Path_ ([above](#load_save_path)) after flight. +- **Save logs even if vehicle was not armed**: Logs when a vehicle connects to _QGroundControl_. + Stops logging when the last vehicle disconnects. +- [**CSV Logging**](csv.md): Log subset of telemetry data to a CSV file. + +## Fly View {#fly\_view} + +![Fly View Settings](../../../assets/settings/general/fly_view.jpg) + +The settings are: + +- **Use Preflight Checklist**: Enable pre-flight checklist in Fly toolbar. + +- **Enforce Preflight Checklist**: Checklist completion is a pre-condition for arming. + +- **Keep Map Centered on Vehicle**: Forces map to center on the currently selected vehicle. + +- **Show Telemetry Log Replay Status Bar**: Display status bar for [Replaying Flight Data](../fly_view/replay_flight_data.md). + +- **Virtual Joystick**: Enable [virtual joysticks](../settings_view/virtual_joystick.md) (PX4 only) + +- **Use Vertical Instrument Panel**: Align instrument panel vertically rather than horizontally (default). + +- **Show additional heading indicators on Compass**: Adds additional indicators to the compass rose: + +- _Blue arrow_: course over ground. + +- _White house_: direction back to home. + +- _Green line_: Direction to next waypoint. + +- **Lock Compass Nose-Up**: Check to rotate the compass rose (default is to rotate the vehicle inside the compass indicateor). + +- **Guided Minimum Altitude**: Minimum value for guided actions altitude slider. + +- **Guided Maximum Altitude**: Minimum value for guided actions altitude slider. + +- **Go To Location Max Distance**: The maximum distance that a Go To location can be set from the current vehicle location (in guided mode). + +## Plan View {#plan\_view} + +![Plan View Settings](../../../assets/settings/general/plan_view.jpg) + +The settings are: + +- **Default Mission Altitude**: The default altitude used for the Mission Start Panel, and hence for the first waypoint. + +## AutoConnect to the following devices {#auto\_connect} + +This section defines the set of devices to which _QGroundControl_ will auto-connect. + +![Device autoconnect settings](../../../assets/settings/general/autoconnect_devices.jpg) + +Settings include: + +- **Pixhawk:** Autoconnect to Pixhawk-series device +- **SiK Radio:** Autoconnect to SiK (Telemetry) radio +- **PX4 Flow:** Autoconnect to PX4Flow device +- **LibrePilot:** Autoconnect to Libre Pilot autopilot +- **UDP:** Autoconnect to UDP +- **RTK GPS:** Autoconnect to RTK GPS device +- **NMEA GPS Device:** Autoconnect to an external GPS device to get ground station position ([see below](#nmea_gps)) + +### Ground Station Location (NMEA GPS Device) {#nmea\_gps} + +_QGroundControl_ will automatically use an internal GPS to display its own location on the map with a purple `Q` icon (if the GPS provides a heading, this will be also indicated by the icon). +It may also use the GPS as a location source for _Follow Me Mode_ - currently supported on [PX4 Multicopters only](https://docs.px4.io/en/flight_modes/follow_me.html). + +You can also configure QGC to connect to an external GPS device via a serial or UDP port. +The GPS device must support the ASCII NMEA format - this is normally the case. + +:::tip +A higher quality external GPS system may be useful even if the ground station has internal GPS support. +::: + +Use the _NMEA GPS Device_ drop-down selector to manually select the GPS device and other options: + +- USB connection: + + ![NMEA GPS Device - Serial](../../../assets/settings/general/nmea_gps_serial.jpg) + + - **NMEA GPS Device:** _Serial_ + - **NMEA GPS Baudrate**: The baudrate for the serial port + + :::tip + To troubleshoot serial GPS problems: Disable RTK GPS [auto connection](#auto_connect), close _QGroundControl_, reconnect your GPS, and open QGC. + ::: + +- Network connection: + + ![NMEA GPS Device - UDP](../../../assets/settings/general/nmea_gps_udp.jpg) + + - **NMEA GPS Device:** _UDP Port_. + - **NMEA Stream UDP Port**: The UDP port on which QGC will listen for NMEA data (QGC binds the port as a server) + +## RTK GPS {#rtk\_gps} + +This section allows you to specify the RTK GPS "Survey-in" settings, to save and reuse the result of a Survey-In operation, or to directly enter any other known position for the base station. + +![RTK GPS Settings](../../../assets/settings/general/rtk_gps.jpg) + +:::info +The _Survey-In_ process is a startup procedure required by RTK GPS systems to get an accurate estimate of the base station position. +The process takes measurements over time, leading to increasing position accuracy. +Both of the setting conditions must met for the Survey-in process to complete. +For more information see [RTK GPS](https://docs.px4.io/en/advanced_features/rtk-gps.html) (PX4 docs) and [GPS- How it works](http://ardupilot.org/copter/docs/common-gps-how-it-works.html#rtk-corrections) (ArduPilot docs). +::: + +:::tip +In order to save and reuse a base position (because Survey-In is time consuming!) perform Survey-In once, select _Use Specified Base Position_ and press **Save Current Base Position** to copy in the values for the last survey. +The values will then persist across QGC reboots until they are changed. +::: + +The settings are: + +- Perform Survey-In + - **Survey-in accuracy (U-blox only):** The minimum position accuracy for the RTK Survey-In process to complete. + - **Minimum observation duration:** The minimum time that will be taken for the RTK Survey-in process. +- Use Specified Base Position + - **Base Position Latitude:** Latitude of fixed RTK base station. + - **Base Position Longitude:** Longitude of fixed RTK base station. + - **Base Position Alt (WGS94):** Altitude of fixed RTK base station. + - **Base Position Accuracy:** Accuracy of base station position information. + - **Save Current Base Position** (button): Press to copy settings from the last Survey-In operation to the _Use Specified Base Position_ fields above. + +## ADSB Server {#adsb\_server} + +![ADSB\_Server Settings](../../../assets/settings/general/adbs_server.jpg) + +The settings are: + +- **Connect to ADSB SBS server**: Check to connect to ADSB server on startup. +- **Host address**: Host address of ADSB server +- **Server port**: Port of ADSB server + +QGC can consume ADSB messages in SBS format from a remote or local server (at the specified IP address/port) and display detected vehicles on the Fly View map. + +::: tip +One way to get ADSB information from nearby vehicles is to use [dump1090](https://github.com/antirez/dump1090) to serve the data from a connected RTL-SDR dongle to QGC. + +The steps are: + +1. Get an RTL-SDR dongle (and antenna) and attach it to your ground station computer (you may need to find compatible drivers for your OS). +2. Install _dump1090_ on your OS (either pre-built or build from source). +3. Run `dump1090 --net` to start broadcasting messages for detected vehicles on TCP localhost port 30003 (127.0.0.1:30003). +4. Enter the server (`127.0.0.1`) and port (`30003`) address in the QGC settings above. +5. Restart QGC to start seeing local vehicles on the map. + +::: + +## Video {#video} + +The _Video_ section is used to define the source and connection settings for video that will be displayed in _Fly View_. + +![Video settings](../../../assets/settings/general/video_udp.jpg) + +The settings are: + +- **Video Source**: Video Stream Disabled | RTSP Video Stream | UDP h.264 Video Stream | UDP h.265 Video Stream | TCP-MPEG2 Video Stream | MPEG-TS (h.264) Video Stream | Integrated Camera + + ::: info + If no video source is specified then no other video or _video recording_ settings will be displayed (above we see the settings when UDP source is selected). + ::: + +- **URL/Port**: Connection type-specific stream address (may be port or URL). + +- **Aspect Ratio**: Aspect ratio for scaling video in video widget (set to 0.0 to ignore scaling) + +- **Disabled When Disarmed**: Disable video feed when vehicle is disarmed. + +- **Low Latency Mode**: Enabling low latency mode reduces the video stream latency, but may cause frame loss and choppy video (especially with a poor network connection). + +## Video Recording + +The _Video Recording_ section is used to specify the file format and maximum allocated file storage for storing video. +Videos are saved to a sub-directory ("Video") of the [Application Load/Save Path](#load_save_path). + +![Video - without auto deletion](../../../assets/settings/general/video_recording.jpg) + +![Video - auto deletion](../../../assets/settings/general/video_recording_auto_delete.jpg) + +The settings are: + +- **Auto-Delete Files**: If checked, files are auto deleted when the specified amount of storage is used. +- **Max Storage Usage**: Maximum video file storage before video files are auto deleted. +- **Video File Format**: File format for the saved video recording: mkv, mov, mp4. + +## Brand Image + +This setting specifies the _brand image_ used for indoor/outdoor colour schemes. + +The brand image is displayed in place of the icon for the connected autopilot in the top right corner of the toolbar. +It is provided so that users can easily create screen/video captures that include a company logo/branding. + +![Brand Image](../../../assets/settings/general/brand_image.jpg) + +The settings are: + +- **Indoor Image**: Brand image used in [indoor color scheme](#colour_scheme) +- **Outdoor Image**: Brand image used in [outdoor color scheme](#colour_scheme) +- **Reset Default Brand Image**: Reset the brand image back to default. diff --git a/docs/tr/docs/en/qgc-user-guide/settings_view/mavlink.md b/docs/tr/docs/en/qgc-user-guide/settings_view/mavlink.md new file mode 100644 index 00000000000..05bf0cd5581 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/settings_view/mavlink.md @@ -0,0 +1,81 @@ +# MAVLink Settings + +The MAVLink settings (**SettingsView > MAVLink**) allow you to configure options and view information specific to MAVLink communications. +This includes setting the MAVLink system ID for _QGroundControl_ and viewing link quality. + +The screen also allows you to manage [MAVLink 2 Log Streaming](#logging) (PX4 only), including _automating log upload to Flight Review_! + +![MAVLink settings screen](../../../assets/settings/mavlink/overview.png) + +## Ground Station {#ground\_station} + +This section sets the MAVLink properties and behaviour of _QGroundControl_. + +![Ground Station](../../../assets/settings/mavlink/ground_station.png) + +- **MAVLink System ID:** System ID of _QGroundControl_ on the MAVLink network (Default: 255). + Vehicles are typically allocated IDs from 1. + You may have to specify another ID if there are multiple ground stations or MAVLink applications on the network. +- **Emit heartbeat:** Disable emission of regular MAVLink HEARTBEAT message (Default: True). + Generally speaking, you should not turn this off. +- **Only accept MAVs with the same protocol version:** Set true to only connect to MAVLink 1 or to MAVLink 2 vehicles (Default: True). +- **Enable MAVLink forwarding:** Enable _QGroundControl_ to forward MAVLink messages from connected vehicles to another UDP endpoint (Default: False). + Note that this forwarding is one-way: from QGC to the specified host. + Any MAVLink messages that are received from the specified host will be ignored. + +## Link Status {#link\_status} + +This shows the status of MAVLink message transfer over the communications link. +A high **Loss rate** may lead to protocol errors for things like parameter download or mission upload/download. + +![Link Status](../../../assets/settings/mavlink/link_status.jpg) + +## MAVLink 2 Logging (PX4 only) {#logging} + +The _MAVLink 2 Logging_ settings (PX4 only) configure real-time log streaming from PX4 to _QGroundControl_ and upload of logs to [Flight Review](https://logs.px4.io). + +:::warning +MAVLink 2 Logging cannot be used on "basic" setups because it requires a constant high-rate MAVLink connection to the vehicle (it _may_ work over WiFI but will _not_ work over a Telemetry link). +::: + +:::tip +In theory log streaming allows real time analysis of data. +At time of writing real-time analysis has not yet been implemented. +::: + +The log format is the same as for SD Card logs (downloaded using [Analyze View > Log Download](../analyze_view/log_download.md)), but actual data logged may be slightly different because log start/stop time is controlled by _QGroundControl_ and because some dropouts may occur when streaming over a lossy channel. + +The _MAVLink 2 Logging_ section allows you to manually start and stop logging, and to enable automatic capture of logs. + +![MAVLink 2 Logging](../../../assets/settings/mavlink/mavlink2_logging.jpg) + +The _MAVLink 2 Log Uploads_ section allows you configure uploading of MAVLink logs to [Flight Review](https://logs.px4.io). +You can specify all the fields that you would otherwise have to directly enter in the site, and also choose whether logs are automatically or manually uploaded. + +![MAVLink 2 Log Uploads](../../../assets/settings/mavlink/mavlink2_log_uploads.jpg) + +The fields are: + +- **Email address for Log Uploads:** _Flight Review_ will email you a link to the upload at this address. + This is important as otherwise you will have no way to access a non-public log after upload. +- **Default Description:** Description/name of flight used for log. +- **Default Upload URL:** URL for upload of the log/log metadata. + This is set by default to the _Flight Review_ URL. +- **Video URL:** (Optional) URL for video of flight associated with log. + This may be included on the Flight Review page to ease analysis. +- **Wind Speed:** Used to aid debugging and filtering (from multiple flights). Allowed values: _Calm_ | _Breeze_ | _Gale_ | _Storm_. +- **Flight Rating:** Used to aid debugging and filtering (from multiple flights). Allowed values: _Crashed (Pilot Error)_ | _Crashed (Software or Hardware Issue)_ | _Unsatisfactory_ | _Good_ | _Great_. +- **Additional Feedback:** (Optional). Enter a more detailed description of the flight or behaviour. +- **Make this log publically available:** If set, the log will be visible and searchable on _Flight Review_. + If not set, it will only be available via the link emailed on upload. +- **Enable automatic log uploads:** If set, the log will automatically be uploaded on completion. +- **Delete log file after uploading:** If set, the log will automatically deleted after upload. + +The _Saved Log Files_ section is used to manually manage log uploads. +Use the checkboxes and buttons to select logs, and either delete or upload them. + +:::tip +You can change the parameters in _MAVLink 2 Log Uploads_ above to specify separate descriptions for uploaded logs. +::: + +![Saved log files](../../../assets/settings/mavlink/saved_log_files.jpg) diff --git a/docs/tr/docs/en/qgc-user-guide/settings_view/offline_maps.md b/docs/tr/docs/en/qgc-user-guide/settings_view/offline_maps.md new file mode 100644 index 00000000000..a3c0384c15b --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/settings_view/offline_maps.md @@ -0,0 +1,14 @@ +# Offline Maps + +![](../../../assets/settings/offline_maps.jpg) + +Offline Maps allows you to cache map tiles for use when not connected to the Internet. You can create multiple offline sets, each for a different location. + +## Add new set + +To create a new offline map set, click "Add new set". Which will take you to this page: +![](../../../assets/settings/offline_maps_add.jpg) + +From here you can name your set as well as specify the zoom levels you want to cache. Move the map to the position you want to cache and then set the zoom levels and click Download to cache the tiles. + +To the left you can see previews of the min and max zoom levels you have chosen. diff --git a/docs/tr/docs/en/qgc-user-guide/settings_view/settings_view.md b/docs/tr/docs/en/qgc-user-guide/settings_view/settings_view.md new file mode 100644 index 00000000000..d370436affa --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/settings_view/settings_view.md @@ -0,0 +1,19 @@ +# Settings View + +The _Settings View_ is used to configure the settings for the _QGroundControl_ application (rather than a specific vehicle). You do not have to have a vehicle connected to change these values. + +You can switch between the various settings options by clicking the buttons in the left-sidebar. + +![](../../../assets/settings/settings_view.jpg) + +## Settings Options + +**[General](general.md)**
The main application configuration settings. These are used to specify: display units, autoconnection devices, video display and storage, RTK GPS, etc. + +**Comm Links**
Allows you to manually create communication links and connect to them. _Keep in mind that normally this is not needed since QGroundControl will automatically connect to the most common devices._ + +**[Offline Maps](offline_maps.md)**
Allows you to cache maps for use while you have no Internet connection. + +**[MAVLink](mavlink.md)**
Settings associated with the MAVLink connection to a vehicle. + +**[Console](console_logging.md)**
Used to capture application logs for help with diagnosing application problems. diff --git a/docs/tr/docs/en/qgc-user-guide/settings_view/virtual_joystick.md b/docs/tr/docs/en/qgc-user-guide/settings_view/virtual_joystick.md new file mode 100644 index 00000000000..33544050b15 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/settings_view/virtual_joystick.md @@ -0,0 +1,20 @@ +# Virtual Joystick + +_QGroundControl_ allows you to control a vehicle with on-screen virtual thumbsticks. These are displayed as shown below in the flight view. + +![QGroundControl Preferences > Enable Virtual Joystick](../../../assets/settings/joystick_virtual_joystick_displayed.jpg) + +:::info +Thumbstick control is not as responsive as using an RC Transmitter (because the information is sent over MAVLink). Another alternative is to use a [USB Joystick/Gamepad](../setup_view/joystick.md). +::: + +## Enable the thumbsticks + +To enable the virtual joysticks: + +1. Select the **Q** icon from the top toolbar +2. Open the **Application Settings** +3. Make sure you're on the **General** tab +4. Check the **Virtual joystick** box + + ![QGroundControl Application Settings > Enable Virtual joystick](../../../assets/settings/joystick_virtual_joystick_enable.png) diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/airframe.md b/docs/tr/docs/en/qgc-user-guide/setup_view/airframe.md new file mode 100644 index 00000000000..475afe234ed --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/airframe.md @@ -0,0 +1,7 @@ +# Airframe Setup + +This page allows you to configure the main airframe selection associated with your vehicle. +The view/process differs slightly based on the flight controller firmware used. + +- [Airframe (ArduPilot)](../setup_view/airframe_ardupilot.md) +- [Airframe (PX4)](../setup_view/airframe_px4.md) diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/airframe_ardupilot.md b/docs/tr/docs/en/qgc-user-guide/setup_view/airframe_ardupilot.md new file mode 100644 index 00000000000..d0dd811a1be --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/airframe_ardupilot.md @@ -0,0 +1,41 @@ +# Airframe Setup (ArduPilot) + +Airframe Setup is used to select the frame class and type that matches your vehicle + +:::info +Airframe Setup is only available on _ArduCopter_ and _ArduSub_ vehicles (it is not shown for _ArduPilot_ Rover or Plane vehicles). +::: + +## ArduCopter Airframe Setup + +To select the airframe in Copter: + +1. First select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Airframe** in the sidebar. + + ![Airframe config](../../../assets/setup/airframe/arducopter.jpg) + +2. Select the broad _Frame Class_ for your vehicle: + + ![Airframe type](../../../assets/setup/airframe/arducopter_class.jpg) + + ::: info + You will need to reboot the vehicle for class changes to take effect. + ::: + +3. Select the specific _Frame Type_ for your vehicle: + + ![Airframe type](../../../assets/setup/airframe/arducopter_type.jpg) + +## ArduSub Frame Setup {#ardusub} + +To select the frame type for Sub: + +1. First select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Frame** in the sidebar. +2. Select the frame type that matches your vehicle (selecting a frame applies the selection). +3. Make sure that all **green** thrusters have **clockwise** propellers and all **blue** thrusters have **counter-clockwise** propellers (or vice-versa). + + ![Select airframe type](../../../assets/setup/airframe_ardusub.jpg) + + - You can also click **Load Vehicle Default Parameters** to load default parameter set for ArduSub. + + ![Load vehicle params](../../../assets/setup/airframe_ardusub_parameters.jpg) diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/airframe_px4.md b/docs/tr/docs/en/qgc-user-guide/setup_view/airframe_px4.md new file mode 100644 index 00000000000..9a1dac51cb1 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/airframe_px4.md @@ -0,0 +1,19 @@ +# Airframe Setup (PX4) + +To select the airframe in PX4: + +1. Start _QGroundControl_ and connect the vehicle. + +2. Select **QGroundControl icon > Vehicle Setup > Airframe** (sidebar) to open _Airframe Setup_. + +3. Select the broad vehicle group/type that matches your airframe and then use the dropdown within the group to choose the airframe that best matches your vehicle. + + ![Airframe options](../../../assets/setup/airframe_px4/airframe_px4.jpg) + + The example above shows _Generic Hexarotor X geometry_ selected from the _Hexarotor X_ group. + +4. Click the **Apply and Restart** button on the top right of the screen. + +5. Click **Apply** in the following prompt to save the settings and restart the vehicle. + + diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/camera.md b/docs/tr/docs/en/qgc-user-guide/setup_view/camera.md new file mode 100644 index 00000000000..0a63044c0a2 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/camera.md @@ -0,0 +1,18 @@ +# Camera Setup + +The details of the page differ if you are using PX4 firmware or ArduPilot firmware. + +## ArduPilot Camera Setup + +![](../../../assets/setup/ardupilot_camera.jpg) + +## PX4 Camera Setup + +![PX4 Camera setup](../../../assets/setup/px4_camera.jpg) + +For more information see [Camera](http://docs.px4.io/master/en/peripherals/camera.html) (PX4 User Guide). + +:::info +The camera settings section is not available by default for FMUv2-based flight controllers (e.g. 3DR Pixhawk) because the camera module is not automatically included in firmware. +For more information see [this topic](http://docs.px4.io/master/en/advanced_config/parameters.html#parameter-not-in-firmware). +::: diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/firmware.md b/docs/tr/docs/en/qgc-user-guide/setup_view/firmware.md new file mode 100644 index 00000000000..0ca404450a4 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/firmware.md @@ -0,0 +1,49 @@ +# Loading Firmware + +_QGroundControl_ **desktop** versions can install [PX4 Pro](http://px4.io/) or [ArduPilot](http://ardupilot.com) firmware onto Pixhawk-family flight-controller boards. By default QGC will install the current stable version of the selected autopilot, but you can also choose to install beta builds, daily builds, or custom firmware files. + +_QGroundControl_ can also install the firmware for SiK Radios and PX4 Flow devices. + +> **Caution** Loading Firmware is currently not available on tablet or phone versions of _QGroundControl_. + +## Connect Device for Firmware Update + +> **Caution** **Before you start installing Firmware** all USB connections to your vehicle must be _disconnected_ (both direct or through a telemetry radio). The vehicle must _not be_ powered by a battery. + +1. First select the **Gear** icon (_Vehicle Setup_) in the top toolbar and then **Firmware** in the sidebar. + +![Firmware disconnected](../../../assets/setup/firmware/firmware_disconnected.jpg) + +1. Connect your device (Pixhawk, SiK Radio, PX4 Flow) directly to your computer via USB. + + ::: info + Connect directly to a powered USB port on your machine (do not connect through a USB hub). + ::: + +## Select Firmware to Load + +Once the device is connected you can choose which firmware to load (_QGroundControl_ presents sensible options based on the connected hardware). + +1. For a Pixhawk-compatible board choose either **PX4 Flight Stack vX.X.X Stable Release** or **ArduPilot Flight Stack** radio buttons to download the _current stable release_. + + ![Select PX4](../../../assets/setup/firmware/firmware_select_default_px4.jpg) + + If you select _ArduPilot_ you will also have to choose the specific firmware and the type of vehicle (as shown below). + + ![Select ArduPilot](../../../assets/setup/firmware/firmware_selection_ardupilot.jpg) + +2. Check **Advanced settings** to select specific developer releases or install firmware from your local file system. + + ![ArduPilot - Advanced Settings](../../../assets/setup/firmware/firmware_selection_advanced_settings.jpg) + +## Update the firmware + +1. Click the **OK** button to start the update. + + The firmware will then proceed through a number of upgrade steps (downloading new firmware, erasing old firmware etc.). + Each step is printed to the screen and overall progress is displayed on a progress bar. + + ![Firmware Upgrade Complete](../../../assets/setup/firmware/firmware_upgrade_complete.jpg) + +Once the firmware has finished loading the device/vehicle will reboot and reconnect. +Next you will need to configure the [airframe](../setup_view/airframe.md) (and then sensors, radio, etc.) diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/flight_modes.md b/docs/tr/docs/en/qgc-user-guide/setup_view/flight_modes.md new file mode 100644 index 00000000000..382c8bee975 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/flight_modes.md @@ -0,0 +1,62 @@ +# Flight Modes Setup + +The _Flight Modes_ section allows you to map flight modes to radio channel(s), and hence to the switches on your radio control transmitter. +Both flight mode setup and the available flight modes are different in PX4 and ArduPilot (and there are some differences between ArduCopter and ArduPlane). + +:::info +In order to set up flight modes you must already have already [configured your radio](../setup_view/radio.md), and [setup the transmitter](#transmitter-setup) (as shown below). +::: + +To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +For more flight stack specific setup see: + +- [ArduPilot Flight Modes Setup](../setup_view/flight_modes_ardupilot.md) +- [PX4 Flight Modes Setup](../setup_view/flight_modes_px4.md) + +## Transmitter Setup + +In order setup flight modes you will first need to configure your _transmitter_ to encode the physical positions of your mode switch(es) into a single channel. + +On both PX4 and ArduPilot you can assign up to 6 different flight modes to a single channel of your transmitter +It is common to use the positions of a 2- and a 3-position switch on the transmitter to represent the 6 flight modes. +Each combination of switches is then encoded as a particular PWM value that will be sent on a single channel. + +:::info +The single channel is selectable on PX4 and ArduPlane, but is fixed to channel 5 on Copter. +::: + +The process for this varies depending on the transmitter. +A number of setup examples are provided below. + +### Taranis + +These examples show several configurations for the _FrSky Taranis_ transmitter. + +#### Map 3-way Switch to a Single Channel + +If you only need to support selecting between two or three modes then you can map the modes to the positions just one 3-way switch. +Below we show how to map the Taranis 3-way "SD" switch to channel 5. + +Open the Taranis UI **MIXER** page and scroll down to **CH5**, as shown below: + +![Taranis - Map channel to switch](../../../assets/setup/flight_modes/taranis_single_channel_mode_selection_1.png) + +Press **ENT(ER)** to edit the **CH5** configuration then change the **Source** to be the _SD_ button. + +![Taranis - Configure channel](../../../assets/setup/flight_modes/taranis_single_channel_mode_selection_2.png) + +That's it! +Channel 5 will now output 3 different PWM values for the three different **SD** switch positions. + +#### Map Multiple Switches to a Single Channel + +Most transmitters do not have 6-way switches, so if you need to be able to support more modes than the number of switch positions available (up to 6) then you will have to represent them using multiple switches. +Commonly this is done by encoding the positions of a 2- and a 3-position switch into a single channel, so that each switch position combination results in a different PWM value. + +On the FrSky Taranis this process involves assigning a "logical switch" to each combination of positions of the two real switches. +Each logical switch is then assigned to a different PWM value on the same channel. + +This video shows how this is done with the _FrSky Taranis_ transmitter: https\://youtu.be/TFEjEQZqdVA + + diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/flight_modes_ardupilot.md b/docs/tr/docs/en/qgc-user-guide/setup_view/flight_modes_ardupilot.md new file mode 100644 index 00000000000..2f4978ced77 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/flight_modes_ardupilot.md @@ -0,0 +1,54 @@ +# ArduPilot Flight Mode Setup + +The _Flight Modes_ section allows you to configure which flight modes and other actions are triggered by particular switches/switch positions on your RC transmitter. + +::: info +In order to set up flight modes you must already have + +> - [Configured your radio](../setup_view/radio.md) in order to set flight modes. +> - [Setup the RC transmitter](../setup_view/FlightModes.md#transmitter-setup) (Flight Modes > Transmitter Setup)> ::: + +To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +![Flight modes setup - ArduCopter](../../../assets/setup/flight_modes/ardupilot_copter.jpg) + +## Flight Mode Settings + +On ArduPilot you can assign up to 6 different flight modes to a single channel of your transmitter (the channel is selectable on Plane, but fixed to channel 5 on Copter). +ArduCopter also allows you to specify additional _Channel Options_ for channels 7-12. +These allow you to assign functions to these switches (for example, to turn on a camera, or return to launch). + +To set the flight modes: + +1. Turn on your RC transmitter. + +2. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + + ![Flight modes setup - ArduCopter](../../../assets/setup/flight_modes/ardupilot_copter.jpg) + + ::: info + The above image is a screenshot of the flight mode setup for ArduCopter. + ::: + +3. Select up to 6 flight modes in the drop downs. + +4. **ArduCopter only:** Select additional _Channel Options_ for channels 7-12. + +5. **ArduPlane only:** Select the mode channel from the dropdown. + + ![Flight modes setup - ArduPlane](../../../assets/setup/flight_modes/ardupilot_plane.jpg) + +6. Test that the modes are mapped to the right transmitter switches by selecting each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode). + +All values are automatically saved as they are changed. + +::: info +The ArduCopter screenshot above shows a typical setup for a three position flight mode switch with an additional option of RTL being on a channel 7 switch. +You can also setup 6 flight modes using two switches plus mixing on your transmitter. Scroll down to the center section of this [page](http://ardupilot.org/copter/docs/common-rc-transmitter-flight-mode-configuration.html#common-rc-transmitter-flight-mode-configuration) for tutorials on how to do that. +::: + +## See Also + +- [ArduCopter Flight Modes](http://ardupilot.org/copter/docs/flight-modes.html) +- [ArduPlane Flight Modes](http://ardupilot.org/plane/docs/flight-modes.html) +- [ArduCopter > Auxiliary Function Switches](https://ardupilot.org/copter/docs/channel-7-and-8-options.html#channel-7-and-8-options) - additional information about channel configuration. diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/flight_modes_px4.md b/docs/tr/docs/en/qgc-user-guide/setup_view/flight_modes_px4.md new file mode 100644 index 00000000000..2fac3ae0d8e --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/flight_modes_px4.md @@ -0,0 +1,50 @@ +# PX4 Flight Modes Setup + +The _Flight Modes_ section allows you to configure which [flight modes](http://docs.px4.io/master/en/getting_started/flight_modes.html) and other actions are triggered by particular switches/switch positions on your RC transmitter. + +::: info +In order to set up flight modes you must already have + +- [Configured your radio](../setup_view/radio.md) in order to set flight modes. +- [Setup the RC transmitter](../setup_view/FlightModes.md#transmitter-setup) (Flight Modes > Transmitter Setup) + ::: + +To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +![Flight modes single-channel](../../../assets/setup/flight_modes/px4_single_channel.jpg) + +## Flight Mode Settings + +The screen allows you to specify a "mode" channel and select up to 6 flight modes that will be activated based on the value sent on the channel. +You can also assign a small number of channels to trigger particular actions, such as deploying landing gear, or emergency shutdown (kill switch). + +The steps are: + +1. Turn on your RC transmitter. + +2. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + + ![Flight modes single-channel](../../../assets/setup/flight_modes/px4_single_channel.jpg) + +3. Specify _Flight Mode Settings_: + + - Select the transmitter **Mode channel** (shown as Channel 5 above). + - Select up to six **Flight Modes** for switch positions encoded in the channel. + + ::: info + Position mode, return mode and mission mode [are recommended](https://docs.px4.io/master/en/config/flight_mode.html#what-flight-modes-and-switches-should-i-set). + ::: + +4. Specify _Switch Settings_: + + - Select the channels that you want to map to specific actions - _Kill switch_, landing gear, etc. (if you have spare switches and channels on your transmitter). + +5. Test that the modes are mapped to the right transmitter switches: + - Check the _Channel Monitor_ to confirm that each switch moves the expected channel. + - Select each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode). + +All values are automatically saved as they are changed. + +## See Also + +- [PX4 Flight Modes](https://docs.px4.io/en/flight_modes/) diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/joystick.md b/docs/tr/docs/en/qgc-user-guide/setup_view/joystick.md new file mode 100644 index 00000000000..ffd4be052c0 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/joystick.md @@ -0,0 +1,205 @@ +# Joystick Setup + +_QGroundControl_ allows you to control a vehicle using a joystick or gamepad instead of an RC Transmitter. + +:::info +Flying with a Joystick (or [virtual thumb-sticks](../settings_view/virtual_joystick.md)) requires a reliable high bandwidth telemetry channel to ensure that the vehicle is responsive to joystick movements (because joystick information is sent over MAVLink). +::: + +:::info +Joystick and Gamepad support is enabled using the cross-platform [SDL2](http://www.libsdl.org/index.php) library. +Compatibility with a particular controller depends on SDL (all buttons that are exposed by that API are displayed through the _QGroundControl_ UI). +A [number of common joysticks and gamepads](#supported-joysticks) are known to work. +::: + +:::info +The joystick is _enabled_ as the last step of the calibration process. +::: + +## Enabling PX4 Joystick Support + +To enable Joystick support in PX4 you need to set the parameter \[`COM_RC_IN_MODE`]\(h[ttp://localhost:8080/px4\_user\_guide/en](https://docs.px4.io/en/main/advanced_config/parameter_reference.html#COM_RC_IN_MODE) to `1` - _Joystick_. +If this parameter is `0` then _Joystick_ will not be offered as a setup option. + +This is enabled by default for PX4 SITL builds (see the [Parameters](../setup_view/parameters.md) topic for information on how to find and set a particular parameter). + +## Ardupilot Joystick Support + +All ArduPilot vehicles are supported. No parameter configuration is necessary. + +## Configuring the Joystick {#configure} + +To configure a joystick: + +1. Start _QGroundControl_ and connect to a vehicle. + +2. Connect the Joystick or Gamepad to a USB port. + +3. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Joystick** in the sidebar. + The screen below will appear. + + ![Joystick setup - PlayStation](../../../assets/setup/joystick_sony_playstation.jpg) + +4. Make sure your joystick is selected in the **Active joystick** dropdown. + +5. Go to the **Calibrate** Tab, press the **Start** button and then follow the on-screen instructions to calibrate/move the sticks. + + ![Joystick setup - Calibration](../../../assets/setup/joystick_calibration.jpg) + + The joystick is _enabled_ as the last step of the calibration process. + +6. Test the buttons and sticks work as intended by pressing them, and viewing the result in the Axis/Button monitor in the **General** tab. + +7. Select the flight modes/vehicle functions activated by each joystick button. + ![Joystick setup - Buttons](../../../assets/setup/joystick_buttons.jpg) + +## Advanced Options + +Some additional Options are available at the **Advanced** tab. +These options may be useful for specific, unsual setups, for increasing sensibility, and for handling noisy joysticks. + +### Throttle Options + +![Joystick setup - Throttle Modes](../../../assets/setup/joystick_throttle_modes.jpg) + +- **Center stick is zero throttle**: Centered or lowered stick sends 0 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), raised stick sends 1000. + - **Spring loaded throttle smoothing**: In this mode you control not the throttle itself, but the rate at which it increases/decreases. + This is useful for setups where the throttle stick is spring loaded, as the user can hold the desired throttle while releasing the stick. +- **Full down stick is zero throttle**: In this mode, lowered stick sends 0 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), centered stick 500, and raised 1000. +- **Allow negative thrust**: When in **Center stick is zero throttle** mode, this allows the user to send negative values by lowering the stick. + So that lowered stick sends -1000 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), centered sends zero, and raised stick sends 1000. + This mode is only enabled for vehicles that support negative thrust, such as [Rover](http://ardupilot.org/rover/index.html). + +### Expo + +The expo slider allows you to make the sticks less sensitive in the center, allowing finer control in this zone. + +![Joystick setup - Expo](../../../assets/setup/joystick_throttle_expo.jpg) + +The slider adjusts the curvature of the exponential curve. + +![Joystick setup - Expo Curve](../../../assets/setup/joystick_throttle_expo_curve.jpg) + +The higher the Expo value, the flatter the curve is at the center, and steeper it is at the edges. + +### Advanced Settings + +The advanced settings are not recommended for everyday users. +They can cause unpredicted results if used incorrectly. + +![Joystick setup - Advanced Settings](../../../assets/setup/joystick_advanced.jpg) + +The following settings are available: + +- **Enable Gimbal Control**: Enabled two additional channels for controlling a gimbal. + +- **Joystick Mode**: Changes what the joystick actually controls, and the MAVLink messages sent to the vehicle. + + - **Normal**: User controls as if using a regular RC radio, MAVLink [MANUAL\_CONTROL](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL) messages are used. + - **Attitude**: User controls the vehicle attitude, MAVLink [SET\_ATTITUDE\_TARGET](https://mavlink.io/en/messages/common.html#SET_ATTITUDE_TARGET) messages are used. + - **Position**: User controls the vehicle position, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **position** only are used. + - **Force**: User controls the forces applied to the vehicle, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **force** only are used. + - **Velocity**: User controls the forces applied to the vehicle, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **velocity** only are used. + +- **Axis Frequency**: When the joystick is idle (inputs are not changing), the joystick commands are sent to the vehicle at 5Hz. When the joystick is in use (input values are changing), the joystick commands are sent to the vehicle at the (higher) frequency configured by this setting. The default is 25Hz. + +- **Button Frequency**: Controls the frequency at which repeated button actions are sent. + +- **Enable Circle Correction**: RC controllers sticks describe a square, while joysticks usually describe a circle. + When this option is enabled a square is inscribed inside the joystick movement area to make it more like an RC controller (so it is possible to reach all four corners). The cost is decreased resolution, as the effective stick travel is reduced. + + - **Disabled:** When this is **disabled** the joystick position is sent to the vehicle unchanged (the way that it is read from the joystick device). + On some joysticks, the (roll, pitch) values are confined to the space of a circle inscribed inside of a square. + In this figure, point B would command full pitch forward and full roll right, but the joystick is not able to reach point B because the retainer is circular. + This means that you will not be able to achieve full roll and pitch deflection simultaneously. + + ![](../../../assets/setup/joystick_circle_correction.jpg) + + - **Enabled:** The joystick values are adjusted in software to ensure full range of commands. + The usable area of travel and resolution is decreased, however, because the area highlighted grey in the figure is no longer used. + + ![Circle correction enabled](../../../assets/setup/joystick_circle_correction2.jpg) + +- **Deadbands:** Deadbands allow input changes to be ignored when the sticks are near their neutral positions. + This helps to avoid noise or small oscillations on sensitive sticks which may be interpreted as commands, or small offsets when sticks do not re-center well. + They can be adjusted during the first step of the [calibration](#configure), or by dragging vertically on the corresponding axis monitor. + +## Supported Joysticks + +The following joysticks/controllers have been shown to work with relatively recent _QGroundControl_ builds. + +### Sony Playstation 3/4 Controllers + +Both these joysticks are highly recommended. +They work well "out of the box" and have many buttons that you can map to flight modes. + +#### Sony PS4 - DualShock 4 Controller V2 (Wireless setup) + +This controller supports both USB and Bluetooth wireless connection. +Wired USB connection usually works out of the box. +The wireless connection needs some setup. + +##### Linux Ubuntu setup + +To make the controller work wirelessly under Linux the [jstest-gtk](https://jstest-gtk.gitlab.io/) and [ds4drv](https://github.com/chrippa/ds4drv) utilities are needed. + +The steps are: + +1. Install _jstest-gtk_: + ``` + sudo apt install jstest-gtk + ``` +2. Install _ds4drv_: + ``` + sudo pip install ds4drv + ``` +3. Run ds4drv + ``` + sudo ds4drv + ``` +4. Hold **Share** button and then **PS** button until controller LED starts blinking rapidly. + The _ds4drv_ should then detect a new device. +5. Last of all, you should check the controller setup by running the _jstest-gtk_ utility. + +### FrSky Taranis XD9 plus + +The _FrSky Taranis XD9 plus_ remote control can also be connected as a joystick. +You will need to connect it via the USB port on the back. + +The Taranis does not allow you to use button options (to be precise, you can set the options, but toggling the buttons on your transmitter does not cause them to be pressed). + +:::info +The Taranis is an open system that is openly being worked on. +It is possible that at time of writing there is a firmware or configuration that allows it to work effectively as a joystick. +::: + +### Logitech Gamepad F310 + +The Logitech Gamepad F310 has been tested via USB on MacOSX "Sierra". + +### Logitech Extreme 3D Pro + +The [Logitech Extreme 3D Pro](http://gaming.logitech.com/en-ch/product/extreme-3d-pro-joystick) Joystick has been tested on all platforms (Linux, Windows, Mac OSX). +This is a single stick controller that can also be twisted. The main stick axes are used for pitch and roll, while the twist action is used for yaw. The throttle is mapped onto a separate wheel. + +### Logitech F710 Gamepad + + + +This gamepad is great for flying a multirotor manually via QGroundControl. It works on Windows, Linux and Mac OS. + +#### Mac OS Leopard / Lion Setup + +The F710 is detected under Leopard / Lion but is not automatically configured as an input device. +In order to get a working configuration, the F710 has to be recognised as _Rumblepad2_. + +First check how it is recognised: **Apple > About this Mac > Additional Information > System Report > USB**. +It is detected as "Logitech Cordless RumblePad 2" then nothing further needs to be done. + +If it is detected as a "Logitech Wireless 710", perform these steps: + +1. Unplug the USB receiver of the gamepad +2. Prepare to quickly plug it into a USB port +3. Hit the Logitech button (its silver with the Logitech Logo on it in the center of the pad) +4. Quickly connect the USB receiver to your Mac +5. The pad should now be detected in the system report as "Logitech Cordless RumblePad 2". If not, retry the above steps. diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/motors.md b/docs/tr/docs/en/qgc-user-guide/setup_view/motors.md new file mode 100644 index 00000000000..e190dca8b4e --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/motors.md @@ -0,0 +1,34 @@ +# Motor Setup + +Motor Setup is used to test individual motors/servos (for example, to verify that motors spin in the correct direction). + +:::tip +These instructions apply to PX4 and to most vehicle types on ArduPilot. +Vehicle-specific instructions are provided as sub-topics (e.g. [Motors Setup (ArduSub)](../setup_view/motors_ardusub.md)). +::: + +![Motors Test](../../../assets/setup/Motors.png) + +## Test Steps + +To test the motors: + +1. Remove all propellers. + + ::: warning + You must remove props before activating the motors! + ::: + +2. (_PX4-only_) Enable safety switch - if used. + +3. Slide the switch to enable motor sliders (labeled: _Propellers are removed - Enable motor sliders_). + +4. Adjust the individual sliders to spin the motors and confirm they spin in the correct direction. + + ::: info + The motors only spin after you release the slider and will automatically stop spinning after 3 seconds. + ::: + +## Additional Information + +- [Basic Configuration > Motor Setup](http://docs.px4.io/master/en/config/motors.html) (_PX4 User Guide_) - This contains additional PX4-specific information. diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/motors_ardusub.md b/docs/tr/docs/en/qgc-user-guide/setup_view/motors_ardusub.md new file mode 100644 index 00000000000..469d8995821 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/motors_ardusub.md @@ -0,0 +1,43 @@ +# Motors Setup (ArduSub) + +In order for ArduSub to function properly, the motors must be correctly set up. + +If you just assembled your ROV, first make sure that the thrusters are connected to the correct outputs in the **Manual Test** section. +Drag each slider and make sure that the _correct motor_ spins accordingly to the frame displayed. + +Once you know that the thrusters are connected to the proper outputs you can check for _correct direction_ (forward/reverse) using either [automatic direction detection](#automatic) (recommended from ArduSub 4.0) or the [manual test](#manual). + +:::info +[Manual Test](#manual) is supported by ArduSub up to 3.5, while ArduSub 4.0 supports both [Manual Test](#manual) and [automatic direction detection](#automatic). +::: + +## Manual Test {#manual} + +The ArduSub motor setup allows you to test individual motors. +The sliders allow spinning each motor in forward or reverse mode, and the checkboxes under the sliders allow reversing the operation of individual thrusters. + +The image at the right shows the frame currently in use, along with the location and orientation of each thruster. +If the frame selection does not match your vehicle, first select the correct frame in the [Frame](../setup_view/airframe_ardupilot.md#ardusub) tab. + +To manually set up and test the motors, read and follow the instructions on the page. + +:::warning +Make sure the motors and propellers are clear from obstructions before sliding the switch to arm the vehicle and enable the test! +::: + +![Ardusub Motors Test](../../../assets/setup/motors-sub.jpg) + +## Automatic Direction Detection {#automatic} + +Ardusub 4.0 and newer support automatic detection of the motor directions. +This works by applying pulses to each motor, checking if the frame reacts as expected, and reversing the motor if necessary. +The process takes around one minute. + +To perform the automatic motor direction detection, navigate to **Vehicle Setup->Motors** tab, click the **Auto-Detect Directions** button and wait. +Additional output about the process will be shown next to the button as it runs. + +:::warning +This procedure still requires that the motors are connected to the _correct outputs_ as shown in the frame view! +::: + +![Ardusub Motors Auto-Setup](../../../assets/setup/motors-sub-auto.jpg) diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/parameters.md b/docs/tr/docs/en/qgc-user-guide/setup_view/parameters.md new file mode 100644 index 00000000000..8c12411227b --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/parameters.md @@ -0,0 +1,43 @@ +# Parameters + +The _Parameters_ screen allows you to find and modify any of the parameters associated with the vehicle. + +![Parameters Screen](../../../assets/setup/parameters_px4.jpg) + +:::info +PX4 Pro and ArduPilot use different parameter sets, but they are both managed as described in this section. +::: + +## Finding a Parameter + +The parameters are organized in groups. Select a group of parameters to view by clicking on the buttons to the left (in the image above the _Battery Calibration_ group is selected). + +You can also _search_ for a parameter by entering a term in the _Search_ field. This will show you a list of all parameter names and descriptions that contain the entered substring (press **Clear** to reset the search). + +![Parameters Search](../../../assets/setup/parameters_search.jpg) + +## Changing a Parameter + +To change the value of a parameter click on the parameter row in a group or search list. This will open a side dialog in which you can update the value (this dialog also provides additional detailed information about the parameter - including whether a reboot is required for the change to take effect). + +![Changing a parameter value](../../../assets/setup/parameters_changing.png) + +:::info +When you click **Save** the parameter is automatically and silently uploaded to the connected vehicle. Depending on the parameter, you may then need to reboot the flight controller for the change to take effect. +::: + +## Tools + +You can select additional options from the **Tools** menu on the top right hand side of the screen. + +![Tools menu](../../../assets/setup/parameters_tools_menu.png) + +**Refresh**
Refresh the parameter values by re-requesting all of them from the vehicle. + +**Reset all to defaults**
Reset all parameters to their original default values. + +**Load from file / Save to file**
Load parameters from an existing file or save your current parameter settings to a file. + +**Clear RC to Param**
This clears all associations between RC transmitter controls and parameters. For more information see: [Radio Setup > Param Tuning Channels](../setup_view/Radio.md#param-tuning-channels-px4). + +**Reboot Vehicle**
Reboot the vehicle (required after changing some parameters). diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/power.md b/docs/tr/docs/en/qgc-user-guide/setup_view/power.md new file mode 100644 index 00000000000..a87b436a697 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/power.md @@ -0,0 +1,53 @@ +# Power Setup + +The _Power Setup_ screen is used to configure battery parameters and also provide advanced settings for propellers. + +![Battery Calibration](../../../assets/setup/px4_power.jpg) + +## Battery Voltage/Current Calibration + +Enter data for your battery/power module from its data sheet: number of cells, full voltage per cell, empty voltage per cell. If provided, also enter voltage divider and amps-per-volt information. + +_QGroundControl_ can be used to calculate appropriate voltage divider and amps-per-volt values from measurements: + +1. Measure the voltage from the battery using a multimeter. +2. Click **Calculate** next to the _Voltage divider_ field. On the prompt that appears: +3. Enter the measured voltage. +4. Click **Calculate** to generate a new voltage-divider value. +5. Click **Close** to save the value into the main form. +6. Measure the current from the battery. +7. Click **Calculate** next to the _Amps per volt_ field. On the prompt that appears: +8. Enter the measured current. +9. Click **Calculate** to generate a new _amps per volt_ value. +10. Click **Close** to save the value into the main form. + +## Advanced Power Settings + +Click the **Show Advanced Settings** checkbox to specify advanced power settings. + +### Voltage Drop on Full Load + +Batteries show less voltage at high throttle. Enter the difference in Volts between idle throttle and full throttle, divided by the number of battery cells. The default value should be used if unsure! + +:::warning +If the value is too high the battery may be deep-discharged and damaged. +::: + +## ESC PWM Minimum and Maximum Calibration + +To calibrate the ESC max/min PWM values: + +1. Remove the propellers. +2. Connect the vehicle to QGC via USB (only). +3. Click the **Calibrate** button. + +::: warning +Never attempt ESC calibration with props on. + +Motors should not spin during ESC calibration. +However if an ESC doesn't properly support/detect the calibration sequence then it will respond to the PWM input by running the motor at maximum speed. +::: + +## Other Settings + +Select the **Show UAVCAN Settings** checkbox to access additional settings for UAVCAN Bus Configuration and motor index and direction assignment. diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/radio.md b/docs/tr/docs/en/qgc-user-guide/setup_view/radio.md new file mode 100644 index 00000000000..94c73c6ee7c --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/radio.md @@ -0,0 +1,131 @@ +# Radio Setup + +Radio Setup is used to configure the mapping of your main transmitter attitude control sticks (roll, pitch, yaw, throttle) to channels, and to calibrate the minimum, maximum, trim and reverse settings for all other transmitter controls/RC channels. + +The main calibration process is identical for PX4 and ArduPilot (a number of additional flight-controller specific settings/tools are [detailed below](#additional-radio-setup)). + +:::info +Before you can calibrate the radio system the receiver and transmitter must be connected/bound. The process for binding a transmitter and receiver pair is hardware specific (see your manual for instructions). +::: + +## Performing the Calibration + +The calibration process is straightforward - you will be asked to move the sticks in a specific pattern that is shown on the transmitter diagram on the top right of the screen. Simply follow the instructions to complete calibration. + +To calibrate the radio: + +1. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Radio** in the sidebar. + +2. Turn on your RC transmitter. + +3. Press **OK** to start the calibration. + + ![Radio setup - before starting](../../../assets/setup/radio_start_setup.jpg) + + ::: info + The image above is for PX4 Pro. Calibration/top section is the same for both firmware, but the _Additional Radio setup_ section will differ. + ::: + +4. Set the _transmitter mode_ radio button that matches your transmitter configuration (this ensures that _QGroundControl_ displays the correct stick positions for you to follow during calibration). + + ![Radio setup - move sticks](../../../assets/setup/radio_sticks_throttle.jpg) + +5. Move the sticks to the positions indicated in the text (and on the transmitter image). Press **Next** when the sticks are in position. Repeat for all positions. + +6. When prompted, move all other switches and dials through their full range (you will be able to observe them moving on the _Channel Monitor_). + +7. Press **Next** to save the settings. + +Radio calibration is demonstrated in the [PX4 setup video here](https://youtu.be/91VGmdSlbo4?t=4m30s) (youtube). + +## Additional Radio Setup + +At the lower part of the _Radio Setup_ screen is firmware-specific _Additional Radio setup_ section. The options for each autopilot are shown below. + +| PX4 | ArduPilot | +| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| | | + +### Spectrum Bind (ArduPilot/PX4) + +Before you can calibrate the radio system the receiver and transmitter must be connected/bound. If you have a _Spektrum_ receiver you can put it in _bind mode_ using _QGroundControl_ as shown below (this can be particularly useful if you don't have easy physical access to the receiver on your vehicle). + +To bind a Spektrum transmitter/receiver: + +1. Select the **Spektrum Bind** button + +2. Select the radio button for your receiver + +3. Press **OK** + + ![Spektrum Bind](../../../assets/setup/radio_additional_setup_spectrum_bind_select_channels.jpg) + +4. Power on your Spektrum transmitter while holding down the bind button. + +### Copy Trims (PX4) + +This setting is used to copy the manual trim settings from your radio transmitter so that they can be applied automatically within the autopilot. After this is done you will need to remove the manually set trims. + +To copy the trims: + +1. Select **Copy Trims**. + +2. Center your sticks and move throttle all the way down. + +3. Press **Ok**. + + ![Copy Trims](../../../assets/setup/radio_additional_radio_setup_copy_trims_px4.jpg) + +4. Reset the trims on your transmitter back to zero. + +### AUX Passthrough Channels (PX4) + +AUX passthrough channels allow you to control arbitrary optional hardware from your transmitter (for example, a gripper). + +To use the AUX passthrough channels: + +1. Map up to 2 transmitter controls to separate channels. +2. Specify these channels to map to the AUX1 and AUX2 ports respectively, as shown below. Values are saved to the vehicle as soon as they are set. + + ![AUX1 and AUX2 RC passthrough channels](../../../assets/setup/radio_additional_setup_aux_passthrough_channels_px4.jpg) + +The flight controller will pass through the unmodified values from the specified channels out of AUX1/AUX2 to the connected servos/relays that drive your hardware. + +### Param Tuning Channels (PX4) + +Tuning channels allow you to map a transmitter tuning knob to a parameter (so that you can dynamically modify a parameter from your transmitter). + +:::tip +This feature is provided to enable manual in-flight tuning. +::: + +The channels used for parameter tuning are assigned in the _Radio_ setup (here!), while the mapping from each tuning channel to its associated parameter is defined in the _Parameter editor_. + +To set up tuning channels: + +1. Map up to 3 transmitter controls (dials or sliders) to separate channels. +2. Select the mapping of _PARAM Tuning Id_ to radio channels, using the selection lists. Values are saved to the vehicle as soon as they are set. + + ![Map radio channels to tuning channels](../../../assets/setup/radio_additional_radio_setup_param_tuning_px4.jpg) + +To map a PARAM tuning channel to a parameter: + +1. Open the **Parameters** sidebar. + +2. Select the parameter to map to your transmitter (this will open the _Parameter Editor_). + +3. Check the **Advanced Settings** checkbox. + +4. Click the **Set RC to Param...** button (this will pop-up the foreground dialog displayed below) + + ![Map tuning channels to parameters](../../../assets/setup/parameters_radio_channel_mapping_px4.jpg) + +5. Select the tuning channel to map (1, 2 or 3) from the _Parameter Tuning ID_ selection list. + +6. Press **OK** to close the dialog. + +7. Press **Save** to save all changes and close the _Parameter Editor_. + +:::tip +You can clear all parameter/tuning channel mappings by selecting menu **Tools > Clear RC to Param** at the top right of the _Parameters_ screen. +::: diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/safety.md b/docs/tr/docs/en/qgc-user-guide/setup_view/safety.md new file mode 100644 index 00000000000..f58ec5e50e5 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/safety.md @@ -0,0 +1,13 @@ +# Safety Setup + +The _Safety Setup_ page allows you to configure the most important failsafe settings (other failsafe settings can be set via the [parameters](../setup_view/parameters.md) described in the failsafe documentation for each vehicle type). + +For ArduPilot safety page information see: [Safety (ArduPilot)](../setup_view/safety_ardupilot.md) + +The PX4 page is shown below. + +![Safety Setup - PX4](../../../assets/setup/px4_safety.jpg) + +:::info +For additional PX4 safety settings and information see: [Safety Configuration](https://docs.px4.io/en/config/safety.html). +::: diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/safety_ardupilot.md b/docs/tr/docs/en/qgc-user-guide/setup_view/safety_ardupilot.md new file mode 100644 index 00000000000..10719356fbc --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/safety_ardupilot.md @@ -0,0 +1,200 @@ +# Safety Setup (ArduPilot) + +The _Safety Setup_ page allows you to configure (vehicle specific) failsafe settings. + +:::tip +The setup page covers the most important safety options; other failsafe settings can be set via the [parameters](../setup_view/parameters.md) described in the failsafe documentation for each vehicle type. +::: + +:::tip +_QGroundControl_ does not support polygon fences or rally points on ArduPilot. +::: + +## Copter + +The Copter safety page is shown below. + +![Safety Setup - Copter (Ardupilot)](../../../assets/setup/safety/safety_arducopter.jpg) + +:::info +For additional safety settings and information see: [Failsafe](http://ardupilot.org/copter/docs/failsafe-landing-page.html). +::: + +### Battery Failsafe {#battery\_failsafe\_copter} + +This panel sets the [Battery Failsafe](http://ardupilot.org/copter/docs/failsafe-battery.html) parameters. +You can set low and critical thresholds for voltage and/or remaining capacity and define the action if the failsafe value is breached. +The thresholds can be disabled by setting them to zero. + +:::tip +If there is a second battery (enabled in the [Power Setup](../setup_view/power.md)) a second panel will be displayed with the same settings. +::: + +![Safety Setup - Battery1 Failsafe Triggers (Copter)](../../../assets/setup/safety/safety_arducopter_battery1_failsafe_triggers.jpg) + +The configuration options are: + +- **Low action** ([BATT\_FS\_LOW\_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-low-act-low-battery-failsafe-action)) - Select one of: None, Land, RTL, SmartRTL, SmartRTL or Land, Terminate. +- **Critical action** ([BATT\_FS\_CRT\_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-crt-act-critical-battery-failsafe-action)) - Select one of: None, Land, RTL, SmartRTL, SmartRTL or Land, Terminate. +- **Low voltage threshold** ([BATT\_LOW\_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-low-volt-low-battery-voltage)) - Battery voltage that triggers the _low action_. +- **Critical voltage threshold** ([BATT\_CRT\_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-crt-volt-critical-battery-voltage))- Battery voltage that triggers the _critical action_. +- **Low mAh threshold** ([BATT\_LOW\_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-low-mah-low-battery-capacity)) - Battery capacity that triggers the _low action_. +- **Critical mAh threshold** ([BATT\_CRT\_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-crt-mah-battery-critical-capacity)) - Battery capacity that triggers the _critical action_. + +### General Failsafe Triggers {#failsafe\_triggers\_copter} + +This panel enables the [GCS Failsafe](http://ardupilot.org/copter/docs/gcs-failsafe.html) +and enables/configures the throttle failsafe. + +![Safety Setup - General Failsafe Triggers (Copter)](../../../assets/setup/safety/safety_arducopter_general_failsafe_triggers.jpg) + +The configuration options are: + +- **Ground Station failsafe** - Disabled, Enabled always RTL, Enabled Continue with Mission in Auto Mode, Enabled Always SmartRTL or RTL, Enabled Always SmartRTL or Land. +- **Throttle failsafe** - Disabled, Always RTL, Continue with Mission in Auto Mode, Always land. +- **PWM Threshold** ([FS\_THR\_VALUE](http://ardupilot.org/copter/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. + +### Geofence {#geofence\_copter} + +This panel sets the parameters for the cylindrical [Simple Geofence](http://ardupilot.org/copter/docs/ac2_simple_geofence.html). +You can set whether the fence radius or height are enabled, the maximum values for causing a breach, and the action in the event of a breach. + +![Safety Setup - Geofence (Copter)](../../../assets/setup/safety/safety_arducopter_geofence.jpg) + +The configuration options are: + +- **Circle GeoFence enabled** ([FENCE\_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE\_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - Enable the circular geofence. +- **Altitude GeoFence enabled** ([FENCE\_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE\_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - Enable altitude geofence. +- Fence action ([FENCE\_ACTION](http://ardupilot.org/copter/docs/parameters.html#fence-action-fence-action)) One of: + - **Report only** - Report fence breach. + - **RTL or Land** - RTL or land on fence breach. +- **Max radius** ([FENCE\_RADIUS](http://ardupilot.org/copter/docs/parameters.html#fence-radius-circular-fence-radius)) - Circular fence radius that when broken causes RTL. +- **Max altitude** ([FENCE\_ALT\_MAX](http://ardupilot.org/copter/docs/parameters.html#fence-alt-max-fence-maximum-altitude))- Fence maximum altitude to trigger altitude geofence. + +### Return to Launch {#rtl\_copter} + +This panel sets the [RTL Mode](http://ardupilot.org/copter/docs/rtl-mode.html) behaviour. + +![Safety Setup - RTL (Copter)](../../../assets/setup/safety/safety_arducopter_return_to_launch.jpg) + +The configuration options are: + +- Select RTL return altitude ([RTL\_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): + - **Return at current altitude** - Return at current altitude. + - **Return at specified altitude** - Ascend to specified altitude to return if below current altitude. +- **Loiter above home for** ([RTL\_LOIT\_TIME](http://ardupilot.org/copter/docs/parameters.html#rtl-loit-time-rtl-loiter-time)) - Check to set a loiter time before landing. +- One of + - **Land with descent speed** ([LAND\_SPEED](http://ardupilot.org/copter/docs/parameters.html#land-speed-land-speed)) - Select final descent speed. + - **Final loiter altitude** ([RTL\_ALT\_FINAL](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-final-rtl-final-altitude)) - Select and set final altitude for landing after RTL or mission (set to 0 to land). + +### Arming Checks {#arming\_checks\_copter} + +This panel sets which [Pre-ARM Safety Checks](http://ardupilot.org/copter/docs/prearm_safety_check.html) are enabled. + +![Safety Setup - Arming Checks (Copter)](../../../assets/setup/safety/safety_arducopter_arming_checks.jpg) + +The configuration options are: + +- **Arming Checks to perform** ([ARMING\_CHECK](http://ardupilot.org/copter/docs/parameters.html#arming-check-arm-checks-to-peform-bitmask)) - Check all appropriate: Barometer, Compass, GPS lock, INS, Parameters, RC Channels, Board voltage, Battery Level, Airspeed, Logging Available, Hardware safety switch, GPS Configuration, System. + +## Plane + +The Plane safety page is shown below. + +![Safety Setup - Plane (Ardupilot)](../../../assets/setup/safety/safety_arduplane.jpg) + +:::info +For additional safety settings and information see: [Plane Failsafe Function](http://ardupilot.org/plane/docs/apms-failsafe-function.html) and [Advanced Failsafe Configuration](http://ardupilot.org/plane/docs/advanced-failsafe-configuration.html). +::: + +### Battery Failsafe {#battery\_failsafe\_plane} + +The plane battery failsafe is the same as for copter except there are different options for the [Low](http://ardupilot.org/plane/docs/parameters.html#batt-fs-low-act-low-battery-failsafe-action) and [Critical](http://ardupilot.org/plane/docs/parameters.html#batt-fs-crt-act-critical-battery-failsafe-action) actions: None, RTL, Land, Terminate. + +For more information see: [battery failsafe](#battery_failsafe_copter) (copter). + +### Failsafe Triggers {#failsafe\_triggers\_plane} + +This panel enables the [GCS Failsafe](http://ardupilot.org/plane/docs/advanced-failsafe-configuration.html#ground-station-communications-loss) and enables/configures the throttle failsafe. + +![Safety Setup - Failsafe Triggers (Plane)](../../../assets/setup/safety/safety_arduplane_failsafe_triggers.jpg) + +The configuration options are: + +- **Throttle PWM threshold** ([THR\_FS\_VALUE](http://ardupilot.org/plane/docs/parameters.html#thr-fs-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. +- **GCS failsafe** ([FS\_GCS\_ENABL](http://ardupilot.org/plane/docs/parameters.html#fs-gcs-enabl-gcs-failsafe-enable)) - Check to enable GCS failsafe. + +### Return to Launch {#rtl\_plane} + +This panel sets the [RTL Mode](http://ardupilot.org/copter/docs/rtl-mode.html) behaviour. + +![Safety Setup - RTL (Plane)](../../../assets/setup/safety/safety_arduplane_return_to_launch.jpg) + +The configuration options are: + +- Select RTL return altitude ([RTL\_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): + - **Return at current altitude** - Return at current altitude. + - **Return at specified altitude** - Ascend to specified altitude to return if below current altitude. + +### Arming Checks {#arming\_checks\_plane} + +[Arming Checks](#arming_checks_copter) are the same as for copter. + +## Rover + +The Rover safety page is shown below. + +![Safety Setup - Rover (Ardupilot)](../../../assets/setup/safety/safety_ardurover.jpg) + +:::info +For additional safety settings and information see: [Failsafes](http://ardupilot.org/rover/docs/rover-failsafes.html). +::: + +### Battery Failsafe {#battery\_failsafe\_rover} + +The rover battery failsafe is the same as for [copter](#battery_failsafe_copter). + +### Failsafe Triggers {#failsafe\_triggers\_rover} + +This panel enables the rover [Failsafes](http://ardupilot.org/rover/docs/rover-failsafes.html). + +![Safety Setup - Failsafe Triggers (Rover)](../../../assets/setup/safety/safety_ardurover_failsafe_triggers.jpg) + +The configuration options are: + +- **Ground Station failsafe** ([FS\_GCS\_ENABL](http://ardupilot.org/rover/docs/parameters.html#fs-gcs-enable-gcs-failsafe-enable)) - Check to enable GCS failsafe. +- **Throttle failsafe** ([FS\_THR\_ENABLE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-enable-throttle-failsafe-enable)) - Enable/disable throttle failsafe (value is _PWM threshold_ below). +- **PWM threshold** ([FS\_THR\_VALUE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. +- **Failsafe Crash Check** ([FS\_CRASH\_CHECK](http://ardupilot.org/rover/docs/parameters.html#fs-crash-check-crash-check-action)) - What to do in the event of a crash: Disabled, Hold, HoldAndDisarm + +### Arming Checks {#arming\_checks\_rover} + +[Arming Checks](#arming_checks_copter) are the same as for copter. + +## Sub + +The Sub safety page is shown below. + +![Safety Setup - Sub (Ardupilot)](../../../assets/setup/safety/safety_ardusub.jpg) + +:::info +For additional safety settings and information see: [Failsafes](https://www.ardusub.com/operators-manual/failsafes.html). +::: + +### Failsafe Actions {#failsafe\_actions\_sub} + +The configuration options are: + +- **GCS Heartbeat** - Select one of: Disabled, Warn only, Disarm, Enter depth hold mode, Enter surface mode. +- **Leak** - Select one of: Disabled, Warn only, Enter surface mode. + - **Detector Pin** - Select one of: Disabled, Pixhawk Aux (1-6), Pixhawk 3.3ADC(1-2), Pixhawk 6.6ADC. + - **Logic when Dry** - Select one of: Low, High. +- **Battery** - ?. +- **EKF** - Select one of: Disabled, Warn only, Disarm. +- **Pilot Input** - Select one of: Disabled, Warn only, Disarm. +- **Internal Temperature** - Select one of: Disabled, Warn only. +- **Internal Pressure** - Select one of: Disabled, Warn only. + +### Arming Checks {#arming\_checks\_sub} + +[Arming Checks](#arming_checks_copter) are the same as for copter. diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/sensors.md b/docs/tr/docs/en/qgc-user-guide/setup_view/sensors.md new file mode 100644 index 00000000000..4d7869856bf --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/sensors.md @@ -0,0 +1,15 @@ +# Sensors + +The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors +(the available sensors will depend on the autopilot firmware and vehicle type). + +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. + +Click on the button for each sensor to start its calibration sequence. + +Flight stack specific instructions are provided in the following topics: + +- [Sensors (ArduPilot)](../setup_view/sensors_ardupilot.md) +- [Sensors (PX4)](../setup_view/sensors_px4.md) diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/sensors_ardupilot.md b/docs/tr/docs/en/qgc-user-guide/setup_view/sensors_ardupilot.md new file mode 100644 index 00000000000..5aa8d72b3d4 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/sensors_ardupilot.md @@ -0,0 +1,123 @@ +# Sensor Setup (ArduPilot) + +The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors +(the available sensors will depend on the vehicle type). + +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. + +Click on the button for each sensor to start its calibration sequence. + +![Sensors Setup screen Copter](../../../assets/setup/sensor/sensor_setup_overview_ardupilot.jpg) + +## Accelerometer {#accelerometer} + +To calibrate the flight controller accelerometers you will be asked to place and hold your vehicle a number of orientations (you will be prompted when to move between positions). + +The calibration steps are: + +1. Click the **Accelerometer** sensor button. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_ardupilot.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Click **OK** to start the calibration. + +3. Position the vehicle based on text instructions in the center display. + Click the **Next** button to capture each position. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_positions_ardupilot.jpg) + +## Compass {#compass} + +ArduPilot uses onboard calibration support that allows for more accurate calibration. + +:::info +Older ArduPilot firmware can be calibrated using the [same process as PX4](../setup_view/sensors_px4.md#compass). +::: + +You need to rotate the vehicle randomly around all axes until the progress bar fills all the way to the right and the calibration completes. When the calibration completes you will get the following results: + +![ArduPilot Compass Calibration Onboard Result](../../../assets/setup/sensor_compass_ardupilot_onboard_calibration_result.jpg) + +This shows you the quality of the calibration for each compass. Using these values you can determine whether you may want to turn off usage of poorly performing compasses. + +## Level Horizon {#level\_horizon} + +If the horizon (as shown in the HUD) is not level after completing accelerometer calibration you can calibrate the level horizon for your vehicle. +You will be asked to place the vehicle in a level orientation while it captures the information. + +1. Click the **Level Horizon** sensor button. + ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Place the vehicle in its level flight orientation on a level surface: + +- For planes this is the position during level flight (planes tend to have their wings slightly pitched up!) +- For copters this is the hover position. + +1. Click **OK** to start the calibration. + +## Pressure/Barometer {#pressure} + +This calibration set's the altitude to zero at the current pressure. + +To perform **Pressure** calibration: + +1. Click the **Calibrate Pressure** button and then **Ok**. + + ![Calibrate Pressure](../../../assets/setup/sensor/calibrate_pressure_ardupilot.jpg) + + The calibration result is immediately displayed: + + ![Calibrate Pressure Result](../../../assets/setup/sensor/calibrate_pressure_result_ardupilot.jpg) + +## CompassMot (Optional) + +CompassMot calibration is optional! It is recommended for vehicles that only have an internal compass and when there is significant interference on the compass from the motors, power wires, etc. +CompassMot only works well if you have a battery current monitor because the magnetic interference is linear with current drawn. + +To perform **CompassMot** calibration: + +1. Click the **CompassMot** sensor button. + + + +2. Follow the onscreen prompts. + + ![CompassMot calibration](../../../assets/setup/sensor_compass_mot.jpg) + +## Sensor Settings {#sensor\_settings} + +The _Sensor Settings_ section allows you to specify the compass orientation and which compasses are enabled. + +:::tip +You can skip this section if the flight controller and compass are mounted upright on the vehicle and facing the front (this is the default orientation - `ROTATION_NONE`). +::: + +If the autopilot/compass are mounted in any other way you will need to specify their orientations as YAW, PITCH and/or ROLL offsets relative to the forward-facing-upright orientation (clock-wise rotation around the Z, Y and X axis, respectively). + +![Flight Controller Orientation](../../../assets/setup/flight_controller_orientation.png) + +For example, the image below are at orientations: `ROTATION_NONE`, `ROTATION_YAW_90`,`ROTATION_YAW_180`,`ROTATION_YAW_270`. + +![Flight controller yaw rotation](../../../assets/setup/flight_controller_yaw_rotation.png) + +To set the orientation(s) and compasses used: + +1. Select the **Sensor Settings** button. + + ![Sensor Settings](../../../assets/setup/sensor/sensor_settings_ardupilot.jpg) + +2. Select the **AutoPilot Orientation**. + +3. Select the _orientation_ from **Compass 1 (primary/external) > Orientation** (or check **Compass2 (secondary, external) > Use Compass** to instead use the internal compass). + +4. Press **OK**. diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/sensors_px4.md b/docs/tr/docs/en/qgc-user-guide/setup_view/sensors_px4.md new file mode 100644 index 00000000000..de46f62fe63 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/sensors_px4.md @@ -0,0 +1,163 @@ +# Sensor Setup (PX4) + +The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors +(the available sensors will depend on the vehicle type). + +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. + +Click on the button for each sensor to start its calibration sequence. + +![Sensors Setup screen for VTOL vehicle](../../../assets/setup/sensors_px4_vtol.jpg) + +:::info +The image shown is from a VTOL vehicle running PX4 firmware. +Other autopilot firmware and vehicles will offer slightly different options. +::: + +## Compass {#compass} + +The process guides you to position the vehicle in a number of set orientations and rotate the vehicle about the specified axis. + +The calibration steps are: + +1. Click the **Compass** sensor button + ![Select Compass calibration PX4](../../../assets/setup/sensor_compass_select_px4.jpg) + + ::: info + The default flight controller orientation is `ROTATION_NONE` (flight controller and compass mounted upright on the vehicle and facing the front). + You can set a different value here or in [Set Orientations](#flight_controller_orientation). + ::: + +2. Click **OK** to start the calibration. + +3. Place the vehicle in any of the orientations shown in red (incomplete) and hold it still. + Once prompted (the orientation-image turns yellow) rotate the vehicle around the specified axis in either/both directions. + Once the calibration is complete in that orientation the associated image on the screen will turn green. + ![Compass calibration steps on PX4](../../../assets/setup/sensor_compass_calibrate_px4.jpg) + +4. Repeat the calibration process for all vehicle orientations. + +Once you've rotated the vehicle in all the positions _QGroundControl_ will display _Calibration complete_ (all orientation images will be displayed in green and the progress bar will fill completely) +You can then proceed to the next sensor. + +## Gyroscope {#gyroscope} + +You will be guided to place the vehicle on a flat surface and keep it still. + +The calibration steps are: + +1. Click the **Gyroscope** sensor button + ![Select Gyroscope calibration PX4](../../../assets/setup/sensor/gyroscope_calibrate_px4.jpg) + +2. Place the vehicle on a surface and leave it still. + +3. Click **Ok** to start the calibration. + + The bar at the top shows the progress: + + ![Gyro calibration in progress on PX4](../../../assets/setup/sensor/gyroscope_calibrate_progress_px4.jpg) + +4. When finished, _QGroundControl_ will display _Calibration complete_ and the progress bar will fill completely. + ![Gyro calibration complete on PX4](../../../assets/setup/sensor/gyroscope_calibrate_complete_px4.jpg) + +:::info +If you move the vehicle during calibration, _QGroundControl_ will automatically restart the calibration. +::: + +You can then proceed to the next sensor. + +## Accelerometer {#accelerometer} + +To calibrate the flight controller accelerometers you will be asked to place and hold your vehicle a number of orientations (you will be prompted when to move between positions). + +The calibration steps are: + +1. Click the **Accelerometer** sensor button. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_px4.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Click **OK** to start the calibration. + +3. Position the vehicle as guided by the _images_ on the screen. This is very similar to compass calibration. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_positions_px4.jpg) + +4. Repeat the calibration process for all vehicle orientations. + +Once you've rotated the vehicle in all the positions _QGroundControl_ will display _Calibration complete_. + +You can then proceed to the next sensor. + +## Level Horizon + +If the horizon (as shown in the HUD) is not level after completing accelerometer calibration you can calibrate the level horizon for your vehicle. +You will be asked to place the vehicle in a level orientation while it captures the information. + +1. Click the **Level Horizon** sensor button. + ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Place the vehicle in its level flight orientation on a level surface: + +- For planes this is the position during level flight (planes tend to have their wings slightly pitched up!) +- For copters this is the hover position. + +1. Click **OK** to start the calibration. + +## Airspeed {#airspeed} + +The airspeed calibration needs to read a stable baseline with 0 airspeed in order to determine an offset. +Cup your hands over the pitot to block any wind (if calibrating the sensor indoors this is not needed) and then blow into the tube using your mouth (to signal completion of the calibration). + +To calibrate the airspeed sensor: + +1. Click the **Airspeed** sensor button + + ![Airspeed calibration](../../../assets/setup/sensors_airspeed.jpg) + +2. Cover the sensor (i.e. with your hand) + + ::: warning + Do not touch the sensor (obstruct any holes) during calibration. + ::: + +3. Click **OK** to start the calibration. + +4. Blow into the sensor. + +5. Wait for 2-3 seconds before removing the covering (calibration completes silently after several seconds) + +## Set Orientations {#flight\_controller\_orientation} + +:::tip +You can skip this section if the flight controller and compass are mounted upright on the vehicle and facing the front (this is the default orientation - `ROTATION_NONE`). +::: + +If the autopilot/compass are mounted in any other way you will need to specify their orientations as YAW, PITCH and/or ROLL offsets relative to the forward-facing-upright orientation (clock-wise rotation around the Z, Y and X axis, respectively). + + + +For example, the image below are at orientations: `ROTATION_NONE`, `ROTATION_YAW_90`,`ROTATION_YAW_180`,`ROTATION_YAW_270`. + + + +To set the orientation(s) on PX4: + +1. Select the **Set Orientations** button. + + + +2. Select the **AutoPilot Orientation**. + +3. Select the **External Compass Orientation** (this option will only be displayed if there is an external compass). + +4. Press **OK**. diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/setup_view.md b/docs/tr/docs/en/qgc-user-guide/setup_view/setup_view.md new file mode 100644 index 00000000000..6b3d32e9ecc --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/setup_view.md @@ -0,0 +1,37 @@ +# Setup View + +The Setup View is used to configure a new vehicle prior to first flight and/or tune a configured vehicle. + +![](../../../assets/setup/setup_view.jpg) + +## Setup Options + +To the left of the screen are the set of available setup options. A setup button is marked with a red icon if there are still settings needed to be adjusted/specified. You should not fly if any of these are red. In the above image the Radio setup is not yet complete. + +:::info +The set of options shown and the contents of each option may differ based on whether the vehicle is running PX4 Pro or ArduPilot firmware. The image above is from a vehicle which is running PX4 Pro firmware. +::: + +**Summary**
An overview of all the important setup options for your vehicle. Similar to the individual setup buttons, the summary blocks show a red indicator when those settings are not fully configured. + +**[Firmware](firmware.md)**
Flash new firmware onto your vehicle. + +**[Airframe](airframe.md)**
Specify the airframe type for the vehicle. + +**[Radio](radio.md)**
Calibrate your Radio Control Transmitter. + +**[Sensors](sensors.md)**
Calibrate the sensors on the vehicle. + +**[Flight Modes](flight_modes.md)**
Used to assign flight modes to your RC Transmitter switches. + +**[Power](power.md)**
Battery settings and additional power options such as ESC calibration. + +**[Motors](motors.md)**
Motors testing and setup. + +**[Safety](Safety.md)**
Specify settings for options related to Safety such as Return to Home or Failsafes. + +**[Tuning](tuning.md)**
Tune flight characteristics of the vehicle. + +**[Camera](camera.md)**
Configure settings for camera and gimbal. + +**[Parameters](parameters.md)**
Allows you to modify all parameters associated with your vehicle.

diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/tuning.md b/docs/tr/docs/en/qgc-user-guide/setup_view/tuning.md new file mode 100644 index 00000000000..13032afc2c0 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/tuning.md @@ -0,0 +1,7 @@ +# Tuning Setup + +The Tuning page allows you to configure settings on your vehicle which control basic flight characteristics. +The details differ depending on flight stack: + +- [Tuning (ArduPilot)](../setup_view/tuning_ardupilot.md) +- [Tuning (PX4)](../setup_view/tuning_px4.md) diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/tuning_arducopter.md b/docs/tr/docs/en/qgc-user-guide/setup_view/tuning_arducopter.md new file mode 100644 index 00000000000..242f58b2417 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/tuning_arducopter.md @@ -0,0 +1,48 @@ +# ArduCopter Tuning + +![ArduCopter Tuning Page](../../../assets/setup/tuning/arducopter.png) + +## Basic Tuning + +Adjust the flight characteristics by moving the desired slider to the left or right. + +## AutoTune + +AutoTune is used to automatically tune the rate parameters in order to provide the highest response without significant overshoot. + +Performing an AutoTune: + +- Select which axes you would like to tune. + + ::: tip + Tuning all axes at once can take a significant amount of time, which may cause you to run out of battery. + To prevent this choose to tune only one axis at a time. + ::: + +- Assign AutoTune to one of your transmitter switches. + Ensure that switch is in low position before taking off. + +- Take off and put the copter into AltHold. + +- Turn on AutoTune with your transmitter switch. + +- The copter will twitch around the specified axes for a few minutes. + +- When AutoTune completes the copter will change back to the original settings. + +- Move the AutoTune switch back to low position and then back to high to test the new settings. + +- Move the AutoTune switch to low to test previous settings. + +- To save new settings, land and disarm while AutoTune switch is in high position. + +Note: + +- Since AutoTune is done in AltHold your copter must already have a tuning which is minimally flyable in AltHold. + You can cancel AutoTune at any time by moving the AutoTune switch back to low position. +- You can reposition the copter using your transmitter at any time during AutoTune. + +### In-Flight Tuning + +This is an advanced option which allows you to tune a flight control parameter using one of your transmitter dial channels. +Select the control option from the dropdown and specify the min/max for the values to assign to the dial. diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/tuning_ardupilot.md b/docs/tr/docs/en/qgc-user-guide/setup_view/tuning_ardupilot.md new file mode 100644 index 00000000000..53d84b08bbf --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/tuning_ardupilot.md @@ -0,0 +1,4 @@ +# Tuning (ArduPilot) + +- [Tuning (ArduCopter)](../setup_view/tuning_arducopter.md) +- [Tuning (ArduSub)](../setup_view/tuning_ardusub.md) diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/tuning_ardusub.md b/docs/tr/docs/en/qgc-user-guide/setup_view/tuning_ardusub.md new file mode 100644 index 00000000000..0745cf3190e --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/tuning_ardusub.md @@ -0,0 +1,17 @@ +# ArduSub Tuning + +![ArduSub Tuning Page](../../../assets/setup/tuning/ardusub.jpg) + +## Basic Tuning + +This page allows changing the PID controller gains to better suit your vehicle and application. Changing these may help you get a snappier response for more precise movements, or a smoother response for recording cinematic footages. Adjust a parameter by moving the desired slider, or by clicking the increase/decrease buttons. There are three controllers that can be adjusted here: + +- [**Attitude Controller Parameters**](https://www.ardusub.com/operators-manual/full-parameter-list.html#atc-parameters) are the parameters for the controller responsible for keeping the vehicle oriented as you want it, assuming your vehicle has ability (enough motors/DOF) to do so. + +- **Position Controller Parameters** are the parameters for the controller responsible for positioning the vehicle at a point in 3D space. The **Z** parameters control how the depth control works (eg in [_Depth Hold_](https://www.ardusub.com/operators-manual/flight-modes.html#depth-hold) mode). The **XY** parameters affect how the vehicle controls the horizontal position in [_Position Enabled_](https://www.ardusub.com/operators-manual/flight-modes.html#position-enabled-modes) modes. + +- **Waypoint Navigation Parameters** are the parameters for the controller responsible for following waypoints in **Auto** and **Guided** mode. + + ::: warning + **Guided** and **Auto** modes are currently unsupported and some features are disabled in QGC. + ::: diff --git a/docs/tr/docs/en/qgc-user-guide/setup_view/tuning_px4.md b/docs/tr/docs/en/qgc-user-guide/setup_view/tuning_px4.md new file mode 100644 index 00000000000..76ed41fd803 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/setup_view/tuning_px4.md @@ -0,0 +1,135 @@ +# Tuning (PX4) + +Tuning only needs to be done once, and is recommended unless you're using vehicle that has already been tuned by the manufacturer (and not modified since). + +[Auto-tuning](#autotune) should generally be used for frame types and controllers that support it (multicopter, fixed wing, and hybrid VTOL fixed wing vehicles). +The tuning UI also supports manual tuning of all controllers. + +![Tuning Setup > Autotune](../../../assets/setup/tuning/px4_autotune_hero.png) + +:::info +During [Airframe Setup](../config/airframe.md) you should have selected the frame that most closely matches your vehicle. +This will usually be tuned well enough to fly, and it _may_ also be sufficiently well tuned to run autotuning. +::: + +## Autotune + +Auto-tuning automates the process of tuning the PX4 rate and attitude controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional"). + +:::info +This guide shows the default usage of this feature. +Additional information and configuration can be found in the [PX4 Autotuning Guide](http://docs.px4.io/master/en/config/autotune.html) (PX4 User Guide). +::: + +### Pre-Autotuning Test + +Auto-tuning is performed while flying. +The vehicle must be able to fly and adequately stabilize itself before running auto-tune. +This test ensures that the vehicle can fly safely in position controlled modes. + +To make sure the vehicle is stable enough for auto-tuning: + +1. Perform a normal preflight safety checklist to ensure the flight zone is clear and has enough space. +2. Takeoff and prepare for the test + - **Multicopters:** Take off and hover at 1m above ground in **Altitude mode** or Stabilized mode. + - **Fixed-wing mode:** Take off and fly at cruise speed in **Position mode** or **Altitude mode**. +3. Use the RC transmitter roll stick to perform the following maneuver, tilting the vehicle just a few degrees: _roll left > roll right > center_ (The whole maneuver should take about 3 seconds). + The vehicle should stabilise itself within 2 oscillations. +4. Repeat the maneuver, tilting with larger amplitudes at each attempt. + If the vehicle can stabilise itself within 2 oscillations at \~20 degrees move to the next step. +5. Repeat the same maneuvers but on the pitch axis. + As above, start with small angles and confirm that the vehicle can itself within 2 oscillations before increasing the tilt. + +If the drone can stabilize itself within 2 oscillations it is ready for the auto-tuning procedure. + +If not, see the [PX4 User Guide > Autotuning > Troubleshooting](http://docs.px4.io/master/en/config/autotune.html#troubleshooting). + +### Auto-tuning procedure + +The auto-tuning sequence must be performed in a **safe flight zone, with enough space**. +It takes about 40 seconds (between 19 and 68 seconds). +For best results, we recommend running the test in calm weather conditions. + +:::info +Be ready to abort the autotuning process by moving the RC controller sticks. +::: + +The test steps are: + +1. Perform the [pre-tuning test](#pre-tuning-test) above. + +2. Takeoff using RC control and prepare for test: + - **Multicopters:** Takeoff using the remote controller in **Altitude mode**. + Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m). + - **VTOL in Fixed-wing mode:** Once flying at cruise speed, activate **Hold Mode**. + This will guide the plane to fly in circle at constant altitude and speed. + +3. In QGroundControl, open the menu: **Vehicle setup > PID Tuning** + + ![Tuning Setup > Autotune Enabled](../../../assets/setup/tuning/px4_autotune.png) + +4. Select either the _Rate Controller_ or _Attitude Controller_ tabs. + Ensure that the **Autotune enabled** button is enabled (this will display the **Autotune** button and remove the manual tuning selectors). + +5. Stop moving the joysticks and click on the **Autotune** button. + Read the warning popup and click on **OK** to start tuning. + +6. The drone will first start to perform quick roll motions followed by pitch and yaw motions. + The progress is shown in the progress bar, next to the _Autotune_ button. + +7. Apply the tuning: + - **Fixed Wing:** The tuning will be immediately/automatically be applied and tested in flight (by default). + PX4 will then run a 4 second test and revert the new tuning if a problem is detected. + - **Multicopters:** Manually land and disarm to apply the new tuning parameters. + Takeoff carefully and manually test that the vehicle is stable. + +8. If any strong oscillations occur, land immediately and follow the instructions in [PX4 User Guide > Autotuning > Troubleshooting](http://docs.px4.io/master/en/config/autotune.html#troubleshooting). + +
+ + + +A video of the process is shown below: + + + +## Manual Tuning + +Manual tuning is done in-flight, so your vehicle must already be tuned well enough to fly with (this is normally the case if you have selected an appropriate default airframe). + +The instructions below explain how you can use the manual tuning UI. +It is designed to be read/used in conjustion with the [PX4 Manual PID Tuning Guides](http://docs.px4.io/master/en/config/autotune.html#see-also), which provide more detailed hints on the kinds of step sizes to use when changing PID values. + +In overview: + +1. Takeoff using RC control and prepare for test: + - **Multicopters:** Takeoff using the remote controller in **Altitude mode**. + Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m). + - **Fixed-wing:** Once flying at cruise speed, activate **Hold Mode**. + This will guide the plane to fly in circle at constant altitude and speed. + +2. In QGroundControl, open the menu: **Vehicle setup > PID Tuning** + +3. Select the _Rate Controller_ tab. + Ensure that the **Autotune enabled** button is is turned off. + + ![PX4 Tuning - Manual - Rate controller](../../../assets/setup/tuning/px4_copter_manual_rate.png) + +4. Select the _Tuning axis_ to tune: **Roll**, **Pitch** or **Yaw** (each axis is tuned separately). + +5. Fly the vehicle, observing the tracking on the chart. + - Adjust the _Tuning Values_ (parameters) to improve the tracking shown on the graph using the slider. + - The values are automatically saved, but you may wish to use the **Save to Clipboard** and **Restore from Clipboard** buttons to store the last known good configuration. + - You can also **Clear**/**Stop** the chart using the buttons provided. + +6. Tune the other axes. + +7. Switch to the other controllers and repeat the process. + Screenshots of the tuning pages are shown below. + + ![PX4 Tuning - Manual - Attitude controller](../../../assets/setup/tuning/px4_copter_manual_attitude.png) + ![PX4 Tuning - Manual - Velocity controller](../../../assets/setup/tuning/px4_copter_manual_velocity.png) + ![PX4 Tuning - Manual - Position controller](../../../assets/setup/tuning/px4_copter_manual_velocity.png) diff --git a/docs/tr/docs/en/qgc-user-guide/support/support.md b/docs/tr/docs/en/qgc-user-guide/support/support.md new file mode 100644 index 00000000000..0a379a572f9 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/support/support.md @@ -0,0 +1,57 @@ +# Support + +This user guide is meant to be the main provider of support for _QGroundControl_. +If you find incorrect or missing information please report an [Issue](https://github.com/mavlink/qgc-user-guide/issues). + +_Questions_ about how to use _QGroundControl_ should be raised in the discussion forum for the associated flight stack: + +- [PX4 Pro Flight Stack](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-usage) (discuss.px4.io). +- [ArduPilot Flight Stack](http://discuss.ardupilot.org/c/ground-control-software/qgroundcontrol) (discuss.ardupilot.org). + +These forums are also the best place to start discussions on bugs/problems you are having with _QGroundControl_ and or feature requests you would like to make. From there you may be directed to entering information in a GitHub Issue for further resolution. + +### Developer Chat {#developer\_chat} + +_QGroundControl_ developers (and many regular/deeply-involved users) can be found on the [#QGroundControl channel on the Dronecode Discord](https://discord.gg/dronecode). + +## GitHub Issues + +Issues are used to track bugs against _QGroundControl_ as well as feature requests for later versions. The current list of issues can be found on [GitHub here](https://github.com/mavlink/qgroundcontrol/issues). + +:::info +Please contact our developers using the support forums **before** creating GitHub issues for either bugs or feature requests. +::: + +### Reporting Bugs + +If you are directed to create an issue, please use the "Bug report" template and provide all information specified in the template. + +##### Reporting Crashes from Windows Builds + +When QGC crashes a crash dump file will be place in the Users LocalAppData directory. To navigate to that directory use the Start/Run command. You can bring this up window WinKey+R. Type into that `%localappdata%` for Open and click Ok. Crash dumps will be in a `QGCCrashDumps` folder in that directory. You should find a new **.dmp** file there. Add a link to that file in a GitHub Issue when reporting you problem. + +##### Reporting Hangs from Windows Builds + +If Windows is telling you the _QGroundControl program is unresponsive_ use the following steps to report the hang: + +1. Open _Task Manager_ (right-click TaskBar, select **Task Manager**) +2. Switch to the Processes tab and local **qgroundcontrol.exe** +3. Right-click on **groundcontrol.exe** and select **Create Dump File** +4. Place the dump file in a public location +5. Add a link to the **.dmp** file and above details in the GitHub issue. + +### Feature Requests + +If you are directed to create a feature request after discussion on support forums please use the "Feature request" template which has some helpful information on required details. + +## Troubleshooting + +Troubleshooting information is linked from [here](../troubleshooting/index.md). + +### Console Logging + +_Console Logs_ can be helpful when diagnosing _QGroundControl_ problems. For more information see: [Console Logging](../settings_view/console_logging.md). + +## Help Improve these Docs! + +Just like _QGroundControl_ itself, the user guide is an open source, user created and supported GitBook. We welcome [Pull Requests](https://github.com/mavlink/qgc-user-guide/pulls) against the guide for fixes and/or updates. diff --git a/docs/tr/docs/en/qgc-user-guide/toolbar/toolbar.md b/docs/tr/docs/en/qgc-user-guide/toolbar/toolbar.md new file mode 100644 index 00000000000..f5e666186d2 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/toolbar/toolbar.md @@ -0,0 +1,37 @@ +# Main Toolbar + +The main toolbar provides access to select the different application views, and high level status information for connected vehicles. +The toolbar is the same in all views except for "PlanView" (which has a single icon to take you back to "Fly" view). + +## View-select icons + +The following icons are used to switch between the main _Views_. These are displayed even if no vehicle is connected. + +![Settings view icon](../../../assets/toolbar/toolbar_view_select_settings.jpg) **[Settings](../settings_view/settings_view.md)**
Configure the _QGroundControl_ application. + +![Setup view icon](../../../assets/toolbar/toolbar_view_select_setup.jpg) **[Setup](../setup_view/setup_view.md)**
Configure and tune your vehicle. + +![Plan view icon](../../../assets/toolbar/toolbar_view_select_plan.jpg) **[Plan](../plan_view/plan_view.md)**
Create autonomous missions. + +![Fly icon](../../../assets/toolbar/toolbar_view_select_fly.jpg) **[Fly](../fly_view/fly_view.md)**
Monitor your vehicle(s) while flying, including streaming video. + +![Analyze icon](../../../assets/toolbar/toolbar_view_select_analyse.jpg) **[Analyze](../analyze_view/index.md)**
Download logs, geotag images from a survey mission, access the MAVLink console. + +## Status icons + +Status icons are displayed when _QGroundControl_ is connected to a vehicle. +These show the high level status of the vehicle, and can be clicked to see more detailed information. + +![](../../../assets/toolbar/toolbar_status_message.jpg) ![yield](../../../assets/toolbar/toolbar_status_critical.jpg) **Vehicle Messages**
Click to show a list of messages from the vehicle. Note that version on the right is displayed when there are critical messages. + +![](../../../assets/toolbar/toolbar_status_gps.jpg) **GPS Status**
Shows you satellite count and curent HDOP. + +![](../../../assets/toolbar/toolbar_status_rc.jpg) **RC RSSI**
RC signal strength information. + +![](../../../assets/toolbar/toolbar_status_telemetry.jpg) **Telemetry RSSI**
Telemetry signals strength information. + +![](../../../assets/toolbar/toolbar_status_battery.jpg) **Battery**
Remaining battery percent. + +![](../../../assets/toolbar/toolbar_status_flight_mode.jpg) **Flight Mode**
Current flight mode. Click to change flight mode. + +![](../../../assets/toolbar/toolbar_status_rtk_gps.jpg) **RTK GPS Survey-In Status**
Shows you progress of RTK GPS Survey-In process. diff --git a/docs/tr/docs/en/qgc-user-guide/troubleshooting/index.md b/docs/tr/docs/en/qgc-user-guide/troubleshooting/index.md new file mode 100644 index 00000000000..81150a50b89 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/troubleshooting/index.md @@ -0,0 +1,8 @@ +## Troubleshooting + +Troubleshooting information is provided in two sections: + +- [QGC Setup](../troubleshooting/qgc_setup.md) - Troubleshooting _QGroundControl_ installation and setup. +- [QGC Usage](../troubleshooting/qgc_usage.md) - Troubleshooting problems when **using** _QGroundControl_ to interact with a vehicle. + +If your questions are still unresolved, please check the [Support](../support/support.md) page for more information on getting help. diff --git a/docs/tr/docs/en/qgc-user-guide/troubleshooting/parameter_download.md b/docs/tr/docs/en/qgc-user-guide/troubleshooting/parameter_download.md new file mode 100644 index 00000000000..547c9f1ae27 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/troubleshooting/parameter_download.md @@ -0,0 +1,15 @@ +# Parameter Download failures + +The majority of parameter download failures are caused by a communication link which is noisy and has a high loss rate. +Although the parameter protocol has retry logic for such a case it will eventually give up. +At which point you will get an error stating that QGC was unable to retrieve the full set or parameters. + +Although you can still fly the vehicle in this state it is not recommended. +Also the vehicle setup pages will not be available. + +You can see the loss rate for your link from the [Settings View > MAVLink](../settings_view/mavlink.md) page. +Even a loss rate in the high single digits can lead to intermittent failures of the plan protocols. +Higher loss rates could leads to 100% failure. + +There is also the more remote possibility of either firmware or QGC bugs. +To see the details of the back and forth message traffic of the protocol you can turn on [Console Logging](../settings_view/console_logging.md) for the Parameter Protocol. diff --git a/docs/tr/docs/en/qgc-user-guide/troubleshooting/plan_upload_download.md b/docs/tr/docs/en/qgc-user-guide/troubleshooting/plan_upload_download.md new file mode 100644 index 00000000000..6475ded936b --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/troubleshooting/plan_upload_download.md @@ -0,0 +1,5 @@ +# Mission Upload/Download failures + +Although the protocol for uploading and download Plans (Mission, GeoFence, Rally Points) to a vehicle includes retry logic it can still fail over a communication link which is running at a high loss rate. + +For more information see: [Plan View > Mission (Plan) Upload/Download Failures](../plan_view/plan_view.md#plan_transfer_fail) diff --git a/docs/tr/docs/en/qgc-user-guide/troubleshooting/qgc_setup.md b/docs/tr/docs/en/qgc-user-guide/troubleshooting/qgc_setup.md new file mode 100644 index 00000000000..0ca91a83a58 --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/troubleshooting/qgc_setup.md @@ -0,0 +1,97 @@ +# Troubleshooting QGC Setup + +This topic lists troubleshooting information related to _QGroundControl_ setup and installation on the host computer. + +:::tip +Problems when **using** _QGroundControl_ to interact with a vehicle are covered in: [QGC Vehicle Interaction Problems](../troubleshooting/qgc_usage.md). +::: + +## 64-bit Windows: Audio in Unexpected Language + +On Windows 64-bit machines _QGroundControl_ may sometimes play audio/messages in a language that does not match the _Text-to-speech_ setting in **Control Panel > Speech** (e.g. audio spoken in German on an English machine). + +This can occur because 64-bit Windows only displays 64-bit voices, while _QGroundControl_ is a 32-bit application (on Windows) and hence can only run 32-bit voices. + +The solution is to set the desired _32-bit voice_ for your system: + +1. Run the control panel application: **C:\Windows\SysWOW64\Speech\SpeechUX\sapi.cpl**. +2. Make your desired _Voice selection_ and then click **OK** at the bottom of the dialog. + ![Windows 32-bit Text-To-Speech Control Panel](../../../assets/support/windows_text_to_speech.png) + +:::info +Additional information about the Windows speech APIs can be found [here](https://www.webbie.org.uk/blog/microsoft-speech/). +::: + +## Windows: UI Rendering/Video Driver Issues {#opengl\_troubleshooting} + +If you experience UI rendering issues or video driver crashes on Windows, this may be caused by "flaky" OpenGL drivers. _QGroundControl_ provides 3 shortcuts that you can use to start _QGroundControl_ in "safer" video modes (try these in order): + +- **QGroundControl:** QGC uses OpenGL graphics drivers directly. +- **GPU Compatibility Mode:** QGC uses ANGLE drivers, which implement OpenGL on top of DirectX. +- **GPU Safe Mode:** QGC uses a software rasterizer for the UI (this is very slow). + +## Windows: Doesn't connect to Vehicle over WiFi {#waiting\_for\_connection} + +If _QGroundControl_ sits forever (for example, _Waiting For Vehicle Connection_) when trying to connect to the vehicle over Wifi, a possible cause is that IP traffic is being blocked by firewall software (e.g. Windows Defender, Norton, etc.). + +![Waiting for connection](../../../assets/support/waiting_for_connection.jpg) + +The solution is to allow the _QGroundControl_ app through the firewall. + +:::info +It is possible to simply switch the network profile from Public to Private to allow connections, but this exposes your PC to the Network, so be careful +::: + +If using _Windows Defender_: + +- In the **Start** bar, enter/select: _Firewall & Network Protection_ (System Settings). +- Scroll to and select the option: _Allow an app through firewall_. +- Select _QGroundControl_ and change the _Access_ selector to **Allow**. + + ::: tip + Programs are listed in alphabetical order by description (not filename). + You'll find QGC under **O**: _Open source ground control app provided by QGroundControl dev team_ + ::: + +## Ubuntu: Video Streaming Fails (Missing Gstreamer) {#missing\_gstreamer} + +On Ubuntu you must install _Gstreamer_ components in order to see video streams. +If these are not installed _QGroundControl_ is unable to create the gstreamer nodes and fails with: + +```sh +VideoReceiver::start() failed. Error with gst_element_factory_make(‘avdec_h264’) +``` + +The [download/install instructions for Ubuntu](../getting_started/download_and_install.md#ubuntu) include _GStreamer_ setup information. + +## Ubuntu 18.04: Video Streaming Fails on Dual Video Adapter Systems {#dual\_vga} + +![Video on Ubuntu 18.04](../../../assets/support/troubleshooting_dual_vga_driver.jpg) + +The version of GSteamer in Ubuntu 18.04 has a bug that prevents video displaying when using a VA API based decoder (i.e. vaapih264dec etc.) on systems that have both Intel and NVidia video display adapters. + +:::info +More generally, while the problem is known to occur on Ubuntu 18.04 with Intel and NVidia VGAs, it might occur on any linux system and other types of (dual) VGAs. +::: + +The easiest way to get _QGroundControl_ to work in this case is to start it using the following command line: + +``` +LIBVA_DRIVER_NAME=fakedriver ./QGroundControl) will this make the +``` + +Other alternatives are to disable one of the VGAs, uninstall VA API components, or upgrade to GStreamer 1.16 (there is no easy way to do this on Ubuntu 18.04 - please contribute a recipe if you find one!) + +## Ubuntu 16.04: GLIBC\_2.27 not found {#glibc\_2\_27} + +The pre-built AppImages for QGroundControl 4.0 (and later) can only run on Ubuntu 18.04 LTS (or later). +They do not run on Ubuntu 16.04. + +If you try you will get the error as shown: + +```sh +$ ./QGroundControl.AppImage +/tmp/.mount_i4hPuB/QGroundControl: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /tmp/.mount_i4hPuB/QGroundControl) +``` + +If you need to use Ubuntu 16.04 then one workaround is to build from source without the video libraries. diff --git a/docs/tr/docs/en/qgc-user-guide/troubleshooting/qgc_usage.md b/docs/tr/docs/en/qgc-user-guide/troubleshooting/qgc_usage.md new file mode 100644 index 00000000000..103bf3ba34f --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/troubleshooting/qgc_usage.md @@ -0,0 +1,12 @@ +# Troubleshooting QGC Usage + +This section covers a number of common problems related to **using** _QGroundControl_ to interact with a vehicle: + +- [Connection problems](../troubleshooting/vehicle_connection.md) +- [Parameter Download failures](../troubleshooting/parameter_download.md) +- [Plan Upload/Download failures](../troubleshooting/plan_upload_download.md) +- [Resume Mission failures](../troubleshooting/resume_mission.md) + +:::tip +Problems with **installing/running** _QGroundControl_ on the host computer are covered in [Troubleshooting QGC Setup](../troubleshooting/qgc_setup.md). +::: diff --git a/docs/tr/docs/en/qgc-user-guide/troubleshooting/resume_mission.md b/docs/tr/docs/en/qgc-user-guide/troubleshooting/resume_mission.md new file mode 100644 index 00000000000..613729cf11a --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/troubleshooting/resume_mission.md @@ -0,0 +1,57 @@ +# Resume Mission Failures + +The process of resuming a mission after a battery swap is a fairly complex process within QGC. + +The two main areas that are most problematic are: + +- The _Resume Mission_ dialog doesn't display when it should and you are just left with a Start Mission slider. +- The new mission generated from _Resume Mission_ is not quite correct with respect to recreation of waypoints and/or camera commands. + +:::warning +In order for the _QGroundControl_ development team to debug these issues the following information **must be supplied** in any github issue entered against _Resume Mission_. +::: + +## Common Steps for Resume Mission Dialog/Generation {#common\_steps} + +The following steps are required for debugging both types of problems: + +1. Restart QGC + +2. Turn on [console logging](../settings_view/console_logging.md) with the log option: `GuidedActionsControllerLog`. + +3. Enable [telemetry logging](../settings_view/general.md#miscellaneous) (**Settings > General**). + +4. Start the mission. + +5. Fly till you need a battery swap. + + ::: tip + Alternatively you can attempt to reproduce the problem by manually RTL from the middle of the middle of the mission (though this may not always reproduce the problem). + ::: + +6. Once the vehicle lands and disarms you should get the _Resume Mission_ dialog. + + ::: info + If not there is a possible bug in QGC. + ::: + +### Resume Mission Dialog Problems + +For _Resume Mission Dialog_ problems follow the [common steps above](#common_steps), and then: + +7. Save the _Console Log_ to a file. +8. Place the _Console Log_, _Telemetry Log_ and _Plan File_ someplace which you can link to in the issue. +9. Create the issue with details and links to all three files. + +## Resume Mission Generation Problems + +For _Resume Mission Generation_ problems follow the [common steps above](#common_steps), and then: + +7. Click **Resume Mission**. +8. The new mission should be generated. +9. Go to [Plan View](../plan_view/plan_view.md). +10. Select **Download** from the _File/Sync_ menu. +11. Save the _Modified Plan_ to a file. +12. Save the _Console Log_ to a file. +13. Place the _Console Log_, _Telemetry Log_, _Original Plan_ file and _Modified Plan_ file someplace which you can link to in the issue. +14. Create the issue with details and links to all four files. diff --git a/docs/tr/docs/en/qgc-user-guide/troubleshooting/vehicle_connection.md b/docs/tr/docs/en/qgc-user-guide/troubleshooting/vehicle_connection.md new file mode 100644 index 00000000000..896cb1f5d1b --- /dev/null +++ b/docs/tr/docs/en/qgc-user-guide/troubleshooting/vehicle_connection.md @@ -0,0 +1,67 @@ +# Vehicle Connection Problems + +## Vehicle does not show up in UI + +QGC will automatically connect to a vehicle as soon as a communication link is created (using USB, or WiFi, etc.) +If you establish that link and you don't see your vehicle show up in the QGC UI you can use [console logging](../settings_view/console_logging.md) to help debug the problem. + +Use the following steps to debug the issue: + +- Start with the hardware vehicle link not connected. + Don't plug in the USB connection and/or establish the WiFi link in your OS for example. + +- Turn on `LinkManagerLog` [console logging](../settings_view/console_logging.md) in QGC. + This will log output about the link which QGC sees and connects to. + +- Establish the hardware vehicle communication link. + +- The console log output should display something like this: + + ``` + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:563 - "Waiting for bootloader to finish "/dev/cu.usbmodem01"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:563 - "Waiting for bootloader to finish "/dev/cu.usbmodem01"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:563 - "Waiting for bootloader to finish "/dev/cu.usbmodem01"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:563 - "Waiting for bootloader to finish "/dev/cu.usbmodem01"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:572 - "Waiting for next autoconnect pass "/dev/cu.usbmodem4201"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:613 - "New auto-connect port added: "ArduPilot ChibiOS on cu.usbmodem4201 (AutoConnect)" "/dev/cu.usbmodem4201"" + ``` + +- The first few lines indicate QGC has established a hardware link and finally the auto-connect. + +If you don't see any of this then QGC is not recognizing the hardware link. +To see if your hardware is being recognized at the OS level do this: + +- Start with the hardware vehicle link not connected. + Don't plug in the USB connection and/or establish the WiFi link in your OS for example. +- Turn on `LinkManagerVerboseLog` [console logging](../settings_view/console_logging.md) in QGC. + This will log output for all serial hardware connections that QGC recognizes. +- You will see continuous output of the serial ports on your device. +- Plug in your USB comm device. +- You should see a new device show in in the console output. Example: + ``` + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:520 - "-----------------------------------------------------" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:521 - "portName: "cu.usbmodem4201"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:522 - "systemLocation: "/dev/cu.usbmodem4201"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:523 - "description: "Pixhawk1"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:524 - "manufacturer: "ArduPilot"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:525 - "serialNumber: "1B0034000847323433353231"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:526 - "vendorIdentifier: 1155" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:527 - "productIdentifier: 22336" + ``` +- After that it should continue to log a connection to that device as shown in the first example. + +If you don't see a new serial port should up in the console output when you plug it in then something is likely wrong with your hardware at the OS level. + +## Error: Vehicle is not responding + +This indicates that although QGC was able to connect to the hardware link to your vehicle there is no telemetry going back and forth on the link. +This can unfortunately indicate a number of problems: + +- Hardware communication setup problems +- Firmware problems + +Lastly it can happen if QGC attempts to automatically connect to a device which is connected to your computer which isn't a vehicle. +You can identify this case using the steps above and noting the device information which QGC is attempting to connect to. +In order to make auto-connect work the filter it uses on devices it attempts to auto-connect to is somewhat broad and can be incorrect. +If you find this happening you will need to turn off auto-connect from General Settings and create a manual connection to the comm link for your vehicle. +You can also remove the device causing the problem from your computer but that may not always be possible. diff --git a/docs/tr/index.md b/docs/tr/index.md new file mode 100644 index 00000000000..f5ea85cbc0e --- /dev/null +++ b/docs/tr/index.md @@ -0,0 +1,27 @@ +--- +layout: home +hero: + name: QGroundControl Guide + tagline: For beginners, experienced users, and developers + actions: + - theme: brand + text: User Guide + link: /en/qgc-user-guide/index.md + - theme: brand + - theme: brand + text: Dev Guide + link: /en/qgc-dev-guide/index.md +features: + - title: Multiple flight stacks + details: Full setup/configuration of ArduPilot and PX4 Pro powered vehicles + - title: Mission planning + details: Autonomous flight with path planning, surveys, safe landing + - title: Flight map + details: Map shows vehicle position, flight track, waypoints and vehicle instruments + - title: Video overlay + details: FPV video streaming and instrument overlays. + - title: Multiple vehicles + details: Manage multiple vehicles and different types of vehicles + - title: Broad OS support + details: Windows, OS X, Linux platforms, iOS and Android devices +--- diff --git a/docs/tr/qgc-dev-guide/classes/index.md b/docs/tr/qgc-dev-guide/classes/index.md new file mode 100644 index 00000000000..4a60cb304c8 --- /dev/null +++ b/docs/tr/qgc-dev-guide/classes/index.md @@ -0,0 +1,27 @@ +# Class Hierarchy (high level) + +## LinkManager, LinkInterface + +A "Link" in QGC is a specific type of communication pipe with the vehicle such as a serial port or UDP over WiFi. The base class for all links is LinkInterface. Each link runs on it's own thread and sends bytes to MAVLinkProtocol. + +The `LinkManager` object keeps track of all open links in the system. `LinkManager` also manages automatic connections through serial and UDP links. + +## MAVLinkProtocol + +There is a single `MAVLinkProtocol` object in the system. It's job is to take incoming bytes from a link and translate them into MAVLink messages. MAVLink HEARTBEAT messages are routed to `MultiVehicleManager`. All MAVLink messages are routed to Vehicle's which are associated with the link. + +## MultiVehicleManager + +There is a single `MultiVehicleManager` object within the system. When it receives a HEARTBEAT on a link which has not been previously seen it creates a Vehicle object. `MultiVehicleManager` also keeps tracks of all Vehicles in the system and handles switching from one active vehicle to another and correctly handling a vehicle being removed. + +## Vehicle + +The Vehicle object is the main interface through which the QGC code communicates with the physical vehicle. + +Note: There is also a UAS object associated with each Vehicle which is a deprecated class and is slowly being phased out with all functionality moving to the Vehicle class. No new code should be added here. + +## FirmwarePlugin, FirmwarePluginManager + +The FirmwarePlugin class is the base class for firmware plugins. A firmware plugin contains the firmware specific code, such that the Vehicle object is clean with respect to it supporting a single standard interface to the UI. + +FirmwarePluginManager is a factory class which creates a FirmwarePlugin instance based on the MAV\_AUTOPILOT/MAV\_TYPE combination for the Vehicle. diff --git a/docs/tr/qgc-dev-guide/command_line_options.md b/docs/tr/qgc-dev-guide/command_line_options.md new file mode 100644 index 00000000000..a66cd53ef4d --- /dev/null +++ b/docs/tr/qgc-dev-guide/command_line_options.md @@ -0,0 +1,46 @@ +# Command Line Options + +You can start _QGroundControl_ with command line options. These are used to enable logging, run unit tests, and simulate different host environments for testing. + +## Starting QGroundControl with Options + +You will need to open a command prompt or terminal, change directory to where **qgroundcontrol.exe** is stored, and then run it. This is shown below for each platform (using the `--logging:full` option): + +Windows Command Prompt: + +```bash +cd "\Program Files (x86)\qgroundcontrol" +qgroundcontrol --logging:full +``` + +OSX Terminal app (**Applications/Utilities**): + +```bash +cd /Applications/qgroundcontrol.app/Contents/MacOS/ +./qgroundcontrol --logging:full +``` + +Linux Terminal: + +```bash +./qgroundcontrol-start.sh --logging:full +``` + +## Options + +The options/command line arguments are listed in the table below. + +| Option | Description | +| --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| `--clear-settings` | Clears the app settings (reverts _QGroundControl_ back to default settings). | +| `--logging:full` | Turns on full logging. See [Console Logging](https://docs.qgroundcontrol.com/en/settings_view/console_logging.html#logging-from-the-command-line). | +| `--logging:full,LinkManagerVerboseLog,ParameterLoaderLog` | Turns on full logging and turns off the following listed comma-separated logging options. | +| `--logging:LinkManagerLog,ParameterLoaderLog` | Turns on the specified comma separated logging options | +| `--unittest:name` | (Debug builds only) Runs the specified unit test. Leave off `:name` to run all tests. | +| `--unittest-stress:name` | (Debug builds only) Runs the specified unit test 20 times in a row. Leave off :name to run all tests. | +| `--fake-mobile` | Simulates running on a mobile device. | +| `--test-high-dpi` | Simulates running _QGroundControl_ on a high DPI device. | + +Notes: + +- Unit tests are included in debug builds automatically (as part of _QGroundControl_). _QGroundControl_ runs under the control of the unit test (it does not start normally). diff --git a/docs/tr/qgc-dev-guide/communication_flow.md b/docs/tr/qgc-dev-guide/communication_flow.md new file mode 100644 index 00000000000..17e838f8250 --- /dev/null +++ b/docs/tr/qgc-dev-guide/communication_flow.md @@ -0,0 +1,15 @@ +# Communication Flow + +Description of the high level communication flow which takes place during a vehicle auto-connect. + +- LinkManager always has a UDP port open waiting for a vehicle heartbeat +- LinkManager detects a new known device type (Pixhawk, SiK Radio, PX4 Flow) that makes a UDP connection to the computer + - LinkManager creates a new SerialLink between the computer and the device +- Incoming bytes from the Link are sent to MAVLinkProtocol +- MAVLinkProtocol converts the bytes into a MAVLink message +- If the message is a `HEARTBEAT` the MultiVehicleManager is notified +- MultiVehicleManager is notified of the `HEARTBEAT` and creates a new vehicle object based on the information in the `HEARTBEAT` message +- The vehicle object instantiates the plugins that matches the vehicle +- The ParameterLoader associated with the vehicle object sends a `PARAM_REQUEST_LIST` to the connected device to load parameters using the parameter protocol +- Once the parameter load is complete, the MissionManager associated with the vehicle object requests the mission items from the connected device using the mission protocol +- Once parameter load is complete, the VehicleComponents display their UI in the Setup view diff --git a/docs/tr/qgc-dev-guide/contribute/coding_style.md b/docs/tr/qgc-dev-guide/contribute/coding_style.md new file mode 100644 index 00000000000..3d4d62420c1 --- /dev/null +++ b/docs/tr/qgc-dev-guide/contribute/coding_style.md @@ -0,0 +1,12 @@ +# Coding Style + +High level style information: + +- Tabs expanded to 4 spaces +- Pascal/CamelCase naming conventions + +The style itself is documents in the following example files: + +- [CodingStyle.cc](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.cc) +- [CodingStyle.h](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.h) +- [CodingStyle.qml](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.qml) diff --git a/docs/tr/qgc-dev-guide/contribute/dev_call.md b/docs/tr/qgc-dev-guide/contribute/dev_call.md new file mode 100644 index 00000000000..6464fc34d78 --- /dev/null +++ b/docs/tr/qgc-dev-guide/contribute/dev_call.md @@ -0,0 +1,38 @@ +# Bi-Weekly Dev Call + +The QGroundControl developer team syncs up on technical details and in-depth analysis. There is also a space in the agenda to discuss pull requests, major impacting issues and Q\&A. + +## Who Should attend: + +- Community members +- Core project maintiners +- Component maintainers +- Dronecode members + +:::info +The calls are open for anyone interested to attend, it's a great opportunity to meet the team and contribute to the ongoing development of the project. +::: + +## What gets discussed? + +The main agenda for the call is very simple, and usually remains the same with a few exceptions which are made aware to the community in advance. The calls typically last up to 60 minutes. + +The developer team goes through the issue tracker, including the current queue of Pull Requests, + +## Agenda + +While the agenda below is the norm, we might + +- Community Q\&A (Open mic, you can bring your own topics, we can discuss your PRs/Issues/Questions) +- Update on the project [High Priority Issues](https://github.com/mavlink/qgroundcontrol/projects/2) tracker +- Developer team coordination + +:::info +If you want to guarantee your Pull Request get's discussed on the next developer call, make sure you add the "dev-call" label on GitHub. We expect the author and the assigned reviewer to be on the call. +::: + +## Schedule + +- Time: Bi-Weekly on Tuesdays at 17h00 CET, 12h00 EST, 08h00 PST ([subscribe to the calendar](https://www.dronecode.org/calendar/)) +- The call is hosted on Jitsi the open platform ([QGC Bi-Weekly](https://meet.jit.si/GCS-bi-weekly)) +- the Agenda is published on the [PX4 Discuss - weekly-dev-call](https://discuss.px4.io/c/weekly-dev-call/qgc-developer-call/48) diff --git a/docs/tr/qgc-dev-guide/contribute/index.md b/docs/tr/qgc-dev-guide/contribute/index.md new file mode 100644 index 00000000000..0fd55b4e573 --- /dev/null +++ b/docs/tr/qgc-dev-guide/contribute/index.md @@ -0,0 +1,7 @@ +# Code Submission + +This section contains topics about the contributing code, including coding style, testing and the format of pull requests. + +:::info +QGroundControl (QGC) is [dual-licensed as Apache 2.0 and GPLv3](../contribute/licences.md). All contributions have to be made under both licenses. +::: diff --git a/docs/tr/qgc-dev-guide/contribute/licences.md b/docs/tr/qgc-dev-guide/contribute/licences.md new file mode 100644 index 00000000000..20c157a0d2f --- /dev/null +++ b/docs/tr/qgc-dev-guide/contribute/licences.md @@ -0,0 +1,30 @@ +# Licences + +## QGroundControl License + +_QGroundControl_ (QGC) is dual-licensed as Apache 2.0 and GPLv3. All contributions have to be made under both licenses. Users of the codebase are free to use it under either license. + +:::warning +_QGroundControl_ licensing rules out the re-use of any copyleft (e.g. GPL) licensed code. All contributions must be original or from a compatible license (BSD 2/3 clause, MIT, Apache 2.0). +::: + +The dual approach is necessary to be able to offer _QGroundControl_ through the iOS and Android app stores and offers the open source community choice. + +### Apache 2.0 License + +The [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) License is a permissive license which allows QGC to be built and used in any environment, including proprietary applications. It allows QGC to be built for mobile app stores. When building with Apache 2.0 a commercial Qt license is required. + +### GPL v3 License + +The [GPL v3 License](http://www.gnu.org/licenses/gpl-3.0.en.html) is a strong copyleft license. When building QGC under this license the open source version of Qt can be used. Our licensing grants the permission to use a later version of the license, however, contributions have to be made under 3.0. + +## Documentation, Artwork, Images + +The QGroundControl documentation, artwork and images are licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). + +## See Also + +- [qgroundcontrol/COPYING.md](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md) +- [qgroundcontrol/CONTRIBUTING.md](https://github.com/mavlink/qgroundcontrol/blob/master/CONTRIBUTING.md) +- [qgc-user-guide/LICENSE](https://github.com/mavlink/qgc-user-guide/blob/master/LICENSE) +- [qgc-dev-guide/LICENSE](https://github.com/mavlink/qgc-dev-guide/blob/master/LICENSE) diff --git a/docs/tr/qgc-dev-guide/contribute/pull_requests.md b/docs/tr/qgc-dev-guide/contribute/pull_requests.md new file mode 100644 index 00000000000..fe120dcf7dc --- /dev/null +++ b/docs/tr/qgc-dev-guide/contribute/pull_requests.md @@ -0,0 +1,3 @@ +# Pull Requests + +All pull requests go through the QGC CI build system which builds release and debug version. Builds will fail if there are compiler warnings. Also unit tests are run against supported OS debug builds. diff --git a/docs/tr/qgc-dev-guide/contribute/unit_tests.md b/docs/tr/qgc-dev-guide/contribute/unit_tests.md new file mode 100644 index 00000000000..e8c14fe7b4b --- /dev/null +++ b/docs/tr/qgc-dev-guide/contribute/unit_tests.md @@ -0,0 +1,20 @@ +# Unit Tests + +_QGroundControl_ (QGC) contains a set of unit tests that must pass before a pull request will be accepted. The addition of new complex subsystems to QGC should include a corresponding new unit test to test it. + +The full list of unit tests can be found in [UnitTestList.cc](https://github.com/mavlink/qgroundcontrol/blob/master/src/qgcunittest/UnitTestList.cc). + +To run unit tests: + +1. Build in `debug` mode with `UNITTEST_BUILD` definition. +2. Copy the **deploy/qgroundcontrol-start.sh** script in the **debug** directory +3. Run _all_ unit tests from the command line using the `--unittest` command line option. + For Linux this is done as shown: + ``` + qgroundcontrol-start.sh --unittest + ``` +4. Run _individual_ unit tests by specifying the test name as well: `--unittest:RadioConfigTest`. + For Linux this is done as shown: + ``` + qgroundcontrol-start.sh --unittest:RadioConfigTest + ``` diff --git a/docs/tr/qgc-dev-guide/custom_build/create_repos.md b/docs/tr/qgc-dev-guide/custom_build/create_repos.md new file mode 100644 index 00000000000..c4bce8ee142 --- /dev/null +++ b/docs/tr/qgc-dev-guide/custom_build/create_repos.md @@ -0,0 +1,15 @@ +# Initial Repository Setup For Custom Build + +The suggested mechanism for working on QGC and a custom build version of QGC is to have two separate repositories. The first repo is your main QGC fork. The second repo is your custom build repo. + +## Main QGC Respository + +This repo is used to work on changes to mainline QGC. When creating your own custom build it is not uncommon to discover that you may need a tweak/addition to the custom build to achieve what you want. By discussing those needed changes firsthand with QGC devs and submitting pulls to make the custom build architecture better you make QGC more powerful for everyone and give back to the community. + +The best way to create this repo is to fork the regular QGC repo to your own GitHub account. + +## Custom Build Repository + +This is where you will do your main custom build development. All changes here should be within the custom directory as opposed to bleeding out into the regular QGC codebase. + +Since you can only fork a repo once, the way to create this repo is to "Create a new repository" in your GitHub account. Do not add any additional files to it like gitignore, readme's and so forth. Once it is created you will be given the option to setup up the Repo. Now you can select to "import code from another repository". Just import the regular QGC repo using the "Import Code" button. diff --git a/docs/tr/qgc-dev-guide/custom_build/custom_build.md b/docs/tr/qgc-dev-guide/custom_build/custom_build.md new file mode 100644 index 00000000000..ff37e9b1c14 --- /dev/null +++ b/docs/tr/qgc-dev-guide/custom_build/custom_build.md @@ -0,0 +1,26 @@ +# Custom Builds + +A custom build allows third parties to create their own version of QGC in a way that allows them to easily keep up to date with changes which are being made in regular QGC. QGC has an architecture built into it which allows custom builds to modify and add to the feature set of regular QGC. + +Some possibilities with a custom build + +- Fully brand your build +- Define a single flight stack to avoid carrying over unnecessary code +- Implement your own, autopilot and firmware plugin overrides +- Implement your own camera manager and plugin overrides +- Implement your own QtQuick interface module +- Implement your own toolbar, toolbar indicators and UI navigation +- Implement your own Fly View overlay (and how to hide elements from QGC such as the flight widget) +- Implement your own, custom QtQuick camera control +- Implement your own, custom Pre-flight Checklist +- Define your own resources for all of the above + +One of the downsides of QGC providing both generic support for any vehicle which supports mavlink as well as providing firmware specific support for both PX4 Pro and ArduPilot is complexity of the user interface. Since QGC doesn't know any information about your vehicle ahead of time it requires UI bits which can get in the way if the vehicle you fly only uses PX4 Pro firmware and is a multi-rotor vehicle. If that is a known thing then the UI can be simplified in various places. Also QGC targets both DIY users who are building their own vehicles from scratch as well as commercial users of off the shelf vehicles. Setting up a DIY drone from scratch requires all sort of functionality which is not needed for users of off the shelf vehicles. So for off the shelf vehicle users all the DIY specific stuff is just extra noise they need to look past. Creating a custom build allows you to specify exact details for your vehicle and hide things which are irrelevant thus creating an even simple user experience for your users than regular generic QGC. + +There is a plugin architecture in QGC which allows for this custom build creation. They can be found in QGCCorePlugin.h, FirmwarePlugin.h and AutoPilotPlugin.h associated classes. To create a custom build you create subclasses of the standard plugins overriding the set of methods which are appropriate for you usage. + +There is also a mechanism which allows you to override resources so you can change the smaller visual elements in QGC. + +Also internal to QGC is the concept of an "Advanced Mode". Whereas a standard QGC builds always runs in advanced mode. A custom build always starts out in regular/not advanced mode. There is an easier mechanism in the build to turn on advanced mode which is to click the fly view button 5 times in a row fairly quickly. If you do this in a custom build you will be warned about entering advanced mode. The concept here is to hide things which normal users should not have access to behind advanced mode. For example a commercial vehicle will not need access to most setup pages which are oriented to DIY setup. So a custom build can hide this. The custom example code shows how to do this. + +If you want to understand the possibilities, the first step is to read through those files which document what is possible. Next look through the [`custom-example`](https://github.com/mavlink/qgroundcontrol/tree/master/custom-example) source code including the [README](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/README.md). diff --git a/docs/tr/qgc-dev-guide/custom_build/customization.md b/docs/tr/qgc-dev-guide/custom_build/customization.md new file mode 100644 index 00000000000..b97b5c63371 --- /dev/null +++ b/docs/tr/qgc-dev-guide/custom_build/customization.md @@ -0,0 +1,7 @@ +# Customization + +The following topics explain how to customise various views and other parts of the UI. + +- [First Run Prompts](../custom_build/first_run_prompts.md) +- [Toolbar customization](../custom_build/toolbar.md) +- [Fly View Customization](../custom_build/fly_view.md) diff --git a/docs/tr/qgc-dev-guide/custom_build/first_run_prompts.md b/docs/tr/qgc-dev-guide/custom_build/first_run_prompts.md new file mode 100644 index 00000000000..77d779da1b6 --- /dev/null +++ b/docs/tr/qgc-dev-guide/custom_build/first_run_prompts.md @@ -0,0 +1,54 @@ +# First Run Prompts + +When QGC is started for the first time it prompts the user to specify some initial settings. At the time of writing this documentation those are: + +- Unit Settings - What units does the user want to use for display. +- Offline Vehicle Settings - Vehicle information for creating Plans while not connected to a vehicle. + +The custom build architecure includes mechanisms for a custom build to both override the display of these prompts and/or create your own first run prompts. + +## First Run Prompt Dialog + +Each first run prompt is a simple dialog which can display ui to the user. Whether the specific dialog has already been show to the user or not is stored in a setting. Here is the code for the upstream first run prompt dialogs: + +- [Units Settings](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirstRunPromptDialogs/UnitsFirstRunPrompt.qml) +- [Offline Vehicle Settings](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirstRunPromptDialogs/OfflineVehicleFirstRunPrompt.qml) + +## Standard First Run Prompt Dialogs + +Each dialog has a unique ID associated with it. When that dialog is shown to the user that ID is registered as having already been displayed so it only happens once (unless you clear settings). The set of first run prompt which are included with upstream QGC are considered the "Standard" set. QGC gets the list of standard prompts to display from the `QGCCorePlugin::firstRunPromptStdIds` call. + +``` + /// Returns the standard list of first run prompt ids for possible display. Actual display is based on the + /// current AppSettings::firstRunPromptIds value. The order of this list also determines the order the prompts + /// will be displayed in. + virtual QList firstRunPromptStdIds(void); +``` + +You can override this method in your custom build if you want to hide some of those. + +## Custom First Run Prompt Dialogs + +Custom builds have the ability to create their own set of additional first run prompts as needed through the use of the following QGCCorePlugin method overrides: + +``` + /// Returns the custom build list of first run prompt ids for possible display. Actual display is based on the + /// current AppSettings::firstRunPromptIds value. The order of this list also determines the order the prompts + /// will be displayed in. + virtual QList firstRunPromptCustomIds(void); +``` + +``` + /// Returns the resource which contains the specified first run prompt for display + Q_INVOKABLE virtual QString firstRunPromptResource(int id); +``` + +Your QGCCorePlugin should override these two methods as well as provide static consts for the ids of your new first run prompts. Look at how the standard set is implemented for how to do this and take the same approach. + +## Order Of Display + +The set of first run prompts shown to the user are in the order returned by the `QGCCorePlugin::firstRunPromptStdIds` and `QGCCorePlugin::firstRunPromptCustomIds` with standard prompts shown before the custom prompts. Only the prompts which have not been previously shown to the user are shown. + +## Always On Prompts + +By setting the `markAsShownOnClose: false` property in your prompt ui implementation you can create a prompt which will show up each time QGC starts. This can be used for things like showing usage tips to your users. If you do this it is best to make sure that this is displayed last. diff --git a/docs/tr/qgc-dev-guide/custom_build/fly_view.md b/docs/tr/qgc-dev-guide/custom_build/fly_view.md new file mode 100644 index 00000000000..e6b3342817f --- /dev/null +++ b/docs/tr/qgc-dev-guide/custom_build/fly_view.md @@ -0,0 +1,42 @@ +# Fly View Customization + +The Fly View is designed in such a way that it can be cusomtized in multiple ways from simple to more complex. It is designed in three separate layers each of which are customizable providing different levels of change. + +## Layers + +- There are three layers to the fly view from top to bottom visually: + - [`FlyView.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyView.qml) This is the base layer of ui and business logic to control map and video switching. + - [`FlyViewWidgetsOverlay.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyViewWidgetLayer.qml) This layer includes all the remaining widgets for the fly view. + - [`FlyViewCustomLayer.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyViewCustomLayer.qml) This is a layer you override using resource override to add your own custom layer. + +### Inset Negotiation using `QGCToolInsets` + +An important aspect of the Fly View is that it needs to understand how much central space it has in the middle of it's map window which is not obstructed by ui widgets which are at the edges of the window. It uses this information to pan the map when the vehicle goes out of view. This need to be done not only for the window edges but also for the widgets themselve such that the map pans before it goes under a widget. + +This is done through the use of the [`QGCToolInsets`](https://github.com/mavlink/qgroundcontrol/blob/master/src/QmlControls/QGCToolInsets.qml) object included in each layer. This objects provides inset information for each window edge informing the system as to how much real estate is taken up by edge based ui. Each layer is given the insets of the layer below it through `parentToolInsets` and then reports back the new insets taking into account the layer below and it's own additions through `toolInsets`. The final results total inset is then given to the map so it can do the right thing. The best way to understand this is to look at both the upstream and custom example code. + +### `FlyView.qml` + +The base layer for the view is also the most complex from ui interactions and business logic. It includes the main display elements of map and video as well as the guided controls. Although you can resource override this layer it is not recommended. And if you do you better really (really) know what you are doing. The reason it is a separate layer is to make the layer above much simpler and easier to customize. + +### `FlyViewWidgetsOverlay.qml` + +This layer contains all the remaining controls of the fly view. You have the ability to hide the controls through use of [`QGCFlyViewOptions`](https://github.com/mavlink/qgroundcontrol/blob/master/src/api/QGCOptions.h). But in order to change the layout of the upstream controls you must use a resource override. If you look at the source you'll see that the controls themselves are well encapsulated such that it should not be that difficult to create your own override which repositions them and/or adds your own ui. While maintaining a connection to the upstream implementaions of the controls. + +### `FlyViewCustomLayer.qml` + +This provides the simplest customization ability to the Fly View. Allowing you the add ui elements which are additive to the existing upstream controls. The upstream code adds no ui elements and is meant to be the basis for your own custom code used as a resource override for this qml. The custom example code provides you with an example of how to do it. + +## Recommendations + +### Simple customization + +The best place to start is using a custom layer override plus turning off ui elements from the widgets layer (if needed). I would recommend trying to stick with only this if at all possible. It provides the greatest abilty to not get screwed by upstream changes in the layers below. + +### Moderate complexity customization + +If you really need to reposition upstream ui elements then your only choice is overriding `FlyViewWidgetsOverlay.qml`. By doing this you are distancing yourself a bit from upstream changes. Although you will still get changes in the upstream controls for free. If there is a whole new control added to the fly view upstream you won't get it until you add it to your own override. + +### Highly complex customization + +The last and least recommended customization mechanism is overriding `FlyView.qml`. By doing this you are distancing yourself even further from getting upstream changes for free. diff --git a/docs/tr/qgc-dev-guide/custom_build/mavlink.md b/docs/tr/qgc-dev-guide/custom_build/mavlink.md new file mode 100644 index 00000000000..6fa5d685d9f --- /dev/null +++ b/docs/tr/qgc-dev-guide/custom_build/mavlink.md @@ -0,0 +1,15 @@ +# MAVLink Customisation + +QGC communicates with flight stacks using [MAVLink](https://mavlink.io/en/), a very lightweight messaging protocol that has been designed for the drone ecosystem. + +QGC includes the [all.xml](https://mavlink.io/en/messages/all.html) dialect by default. The `all.xml` includes all other dialects in the [mavlink/mavlink](https://github.com/mavlink/mavlink/tree/master/message_definitions/v1.0) repository, and allows it to communicate with both PX4 and Ardupilot. +Previous versions of QGC (v4.2.8 and earlier), used the `ArduPilotMega.xml` dialect. + +In order to add support for a new set of messages you should add them to [development.xml](https://mavlink.io/en/messages/development.html), [ArduPilotMega.xml](https://mavlink.io/en/messages/ardupilotmega.html), or [common.xml](https://mavlink.io/en/messages/common.html) (for PX4), or fork _QGroundControl_ and include your own dialect. + +To modify the version of MAVLink used by QGC: + +- Replace the pre-build C library at [/qgroundcontrol/libs/mavlink/include/mavlink](https://github.com/mavlink/qgroundcontrol/tree/master/libs/mavlink/include/mavlink). + - By default this is a submodule importing https\://github.com/mavlink/c\_library\_v2 + - You can change the submodule, or [build your own libraries](https://mavlink.io/en/getting_started/generate_libraries.html) using the MAVLink toolchain. +- You can change the whole dialect used by setting it in [`MAVLINK_CONF`](https://github.com/mavlink/qgroundcontrol/blob/master/QGCExternalLibs.pri#L52) when running _qmake_. diff --git a/docs/tr/qgc-dev-guide/custom_build/plugins.md b/docs/tr/qgc-dev-guide/custom_build/plugins.md new file mode 100644 index 00000000000..5bbc45c97c4 --- /dev/null +++ b/docs/tr/qgc-dev-guide/custom_build/plugins.md @@ -0,0 +1,7 @@ +# Custom Build Plugins + +The mechanisms for customizing QGC for a custom build is through the existing `FirmwarePlugin`, `AutoPilotPlugin` and `QGCCorePlugin` architectures. By creating subclasses of these plugins in your custom build you can change the behavior of QGC to suit your needs without needed to modify the upstream code. + +## QGCCorePlugin + +This allows you to modify the parts of QGC which are not directly related to vehicle but are related to the QGC application itself. This includes things like application settings, color palettes, branding and so forth. diff --git a/docs/tr/qgc-dev-guide/custom_build/release_branching_process.md b/docs/tr/qgc-dev-guide/custom_build/release_branching_process.md new file mode 100644 index 00000000000..41e143a59f1 --- /dev/null +++ b/docs/tr/qgc-dev-guide/custom_build/release_branching_process.md @@ -0,0 +1,44 @@ +# Release Process for Custom Builds \[WIP Docs] + +One of the trickier aspects of creating your own custom build is the process to keep it up to date with regular QGC. This document describes a suggested process to follow. But in reality you are welcome to use whatever branching and release strategy you want for your custom builds. + +## Upstream QGC release/branching strategy + +The best place to start is understanding the mechanism QGC uses to do it's own releases. We will layer a custom build release process on top of that. You can find standard QGC [release process here](../release_branching_process.md). + +## Custom build/release types + +Regular QGC has two main build types: Stable and Daily. The build type for a custom build is more complex. Throughout this discussion we will use the term "upstream" to refer to the main QGC repo (https\://github.com/mavlink/qgroundcontrol). Also when we talk about a "new" upstream stable release, this means a major/minor release, not a patch release. + +### Synchronized Stable + +This type of release is synchronized with the release of an upstream stable. Once QGC releases stable you then release a version of your custom build which is based on this stable. This build will include all the new features from upstream including the new feature in your own custom code. + +### Out-Of-Band Stable + +This a subsequent release of your custom build after you have released a synchronized stable but prior to upstream releasing a new stable. It only includes new features from your own custom build and include no new features from upstream. Work on this type of release would occur on a branch which is either based on your latest synchronized stable or your last out of band release if it exists. You can release out of band stable releases at any time past your first synchronized stable release. + +### Daily + +Your custom daily builds are built from your `master` branch. It is important to keep your custom master up to date with QGC master. If you lag behind you may be surprised by upstream features which require some effort to integrate with your build. Or you may even require changes to "core" QGC in order to work with your code. +If you don't let QGC development team know soon enough, it may end up being too late to get things changed. + +## Options for your first build + +### Starting with a Synchronized Stable release + +It is suggested that you start with releasing a Synchronized Stable. This isn't necessary but it is the simplest way to get started. To set your self up for a synchronized stable you create your own branch for development which is based on the upstream current stable. + +### Starting with Daily builds + +The reason why you may consider this as your starting point is because you need features which are only in upstream master for your own custom builds. In this case you will have to live with releasing custom Daily builds until the next upstream stable. At which point you would release you first Synchronized Stable. For this setup you use your master branch and keep it in sync with upstream master as you develop. + +## After you release your first Synchronized Stable + +### Patch Releases + +As upstream QGC does patch releases on Stable you should also release your own patch releases based on upstream to keep your stable up to date with latest criticial bug fixes. + +### Out-Of-Band, Daily: One or the other or both? + +At this point you can decide which type of releases you want to follow. You can also decide to possibly do both. You can do smaller new features which don't require new upstream features using out of band releases. And you can do major new feature work as daily/master until the point you can do a new synchronized stable. diff --git a/docs/tr/qgc-dev-guide/custom_build/resource_override.md b/docs/tr/qgc-dev-guide/custom_build/resource_override.md new file mode 100644 index 00000000000..2c8fa94eba1 --- /dev/null +++ b/docs/tr/qgc-dev-guide/custom_build/resource_override.md @@ -0,0 +1,24 @@ +# Resource Overrides + +A "resource" in QGC source code terminology is anything found in the [qgroundcontrol.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgroundcontrol.qrc) and [qgcresources.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgcresources.qrc) file. By overriding a resource you can replace it with your own version of it. This could be as simple as a single icon, or as complex as replacing an entire Vehicle Setup page of qml ui code. + +Be aware that using resource overrides does not isolate you from upstream QGC changes like the plugin architecture does. In a sense you are directly modify the upstream QGC resources used by the main code. + +## Exclusion Files + +The first step to overriding a resource is to "exclude" it from the standard portion of the upstream build. This means that you are going to provide that resource in your own custom build resource file(s). There are two files which achieve this: qgroundcontrol.exclusion and [qgcresources.exclusion](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/qgcresources.exclusion). They correspond directly with the \*.qrc counterparts. In order to exclude a resource, copy the resource line from the .qrc file into the appropriate .exclusion file. + +## Custom version of excluded resources + +You must include the custom version of the overriden resouce in you custom build resource file. The resource alias must exactly match the upstream alias. The name and actual location of the resource can be anywhere within your custom directory structure. + +## Generating the new modified versions of standard QGC resource file + +This is done using the `updateqrc.py` python script. It will read the upstream `qgroundcontrol.qrc` and `qgcresources.qrc` file and the corresponding exclusion files and output new versions of these files in your custom directory. These new versions will not have the resources you specified to exclude in them. The build system for custom builds uses these generated files (if they exist) to build with instead of the upstream versions. The generated version of these file should be added to your repo. Also whenever you update the upstream portion of QGC in your custom repo you must re-run `python updateqrc.py` to generate new version of the files since the upstream resources may have changed. + +## Custom Build Example + +You can see an examples of custom build qgcresource overrides in the repo custom build example: + +- [qgcresources.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/qgcresources.exclusion) +- [custom.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/custom.qrc) diff --git a/docs/tr/qgc-dev-guide/custom_build/toolbar.md b/docs/tr/qgc-dev-guide/custom_build/toolbar.md new file mode 100644 index 00000000000..662cb8db4ae --- /dev/null +++ b/docs/tr/qgc-dev-guide/custom_build/toolbar.md @@ -0,0 +1,51 @@ +# Toolbar Customization + +The toolbar can be customized in a number of ways to fit your custom build needs. The toolbar internally is made up of a number of sections from left to right: + +- View Switching +- Indicators + - App Indicators + - Vehicle Indicators + - Vehicle Mode Indicators +- Connection Management +- Branding + +The Indicator section varies based on the view currently displayed: + +- Fly View - Shows all indicators +- Plan View - Show no indicators and has its own custom indicator section for Plan status values +- Other Views - Do not show Vehicle Mode Indicators + +## Customization Possibilities + +### Indicators + +You can add your own indicators for display or remove any of the upstream indicators. The mechanism you use depends on the indicator type. + +#### App Indicators + +These provide information to the user which is not associated with a vehicle. For example RTK status. To manipulate the list of app indicators you use `QGCPlugin::toolbarIndicators`. + +#### Vehicle Indicators + +These are indicators which are associated with information about the vehicle. They are only available when a vehicle is connected. To manipulate the list of vehicle indicators you override `FirmwarePlugin::toolIndicators`. + +#### Vehicle Mode Indicators + +These are indicators which are associated with information about the vehicle. They require additional UI provided by the Fly View to complete their actions. An example is Arming and Disarming. They are only available when a vehicle is connected. To manipulate the list of vehicle mode indicators you override `FirmwarePlugin::modeIndicators`. + +### Modifying the toolbar UI itself + +This is accomplished by using resource overrides on the qml files associated with the toolbar. This provides a high level of customization but also a higher level of complexity. The primary ui for the toolbar is in `MainToolBar.qml`. The main window code in `MainRootWindow.qml` interacts with the toolbar to show different indicator sections based on current view as well as whether the mode indicators show or not also based on current view. + +If you want full control over the toolbar then you can override `MainToolBar.qml` and make your own completely different version. You will need to pay special attention to the interactions of the main toolbar with `MainRootWindow.qml` since you are going to need to replicated those interactions in your own custom version. + +There are two standard indicator ui sections of the toolbar: + +#### `MainToolBarIndicators.qml` + +This is used for all views except Plan. It display all the indicators in a row. Although you can override this file, in reality it doesn't do much other than layout for indicators. + +#### `PlanToolBarIndicators.qml` + +This is used by the Plan view to show the status values. If you want to change that ui you can override this file and provide your own custom version. diff --git a/docs/tr/qgc-dev-guide/fact_system.md b/docs/tr/qgc-dev-guide/fact_system.md new file mode 100644 index 00000000000..5e7f5242d9c --- /dev/null +++ b/docs/tr/qgc-dev-guide/fact_system.md @@ -0,0 +1,33 @@ +# Fact System + +The Fact System provides a set of capabilities which standardizes and simplifies the creation of the QGC user interface. + +## Fact {#fact} + +A Fact represents a single value within the system. + +## FactMetaData + +There is `FactMetaData` associated with each fact. It provides details on the Fact in order to drive automatic user interface generation and validation. + +## Fact Controls + +A Fact Control is a QML user interface control which connects to a Fact and it's `FactMetaData` to provide a control to the user to modify/display the value associated with the Fact. + +## FactGroup + +A _Fact Group_ is a group of [Facts](#fact). +It is used to organise facts and manage user defined facts. + +## Custom Build Support + +User defined facts can be added by overriding `factGroups` function of `FirmwarePlugin` in a custom firmware plugin class. +These functions return a name to fact group map that is used to identify added fact groups. +A custom fact group can be added by extending `FactGroup` class. +FactMetaDatas could be defined using the appopriate `FactGroup` constructor by providing a json file containing necessery information. + +Changing the metadata of existing facts is also possible by overriding `adjustMetaData` of `FirmwarePlugin` class. + +A fact associated with a vehicle (including facts belonging to fact groups returned in `factGroups` function of the vehicles Firmware plugin) can be reached using `getFact("factName")` or `getFact("factGroupName.factName")` + +For additional information please refer to comments in [FirmwarePlugin.h](https://github.com/mavlink/qgroundcontrol/blob/v4.0.8/src/FirmwarePlugin/FirmwarePlugin.h). diff --git a/docs/tr/qgc-dev-guide/file_formats/index.md b/docs/tr/qgc-dev-guide/file_formats/index.md new file mode 100644 index 00000000000..cf8a409129a --- /dev/null +++ b/docs/tr/qgc-dev-guide/file_formats/index.md @@ -0,0 +1,3 @@ +# File Formats + +This section contains topics about the file formats used/supported by _QGroundControl_. diff --git a/docs/tr/qgc-dev-guide/file_formats/mavlink.md b/docs/tr/qgc-dev-guide/file_formats/mavlink.md new file mode 100644 index 00000000000..8a55c8289af --- /dev/null +++ b/docs/tr/qgc-dev-guide/file_formats/mavlink.md @@ -0,0 +1,27 @@ +# MAVLink Log Format + +_QGroundControl_ allows you to generate plain MAVLink packet logs that can be +replayed (with QGroundControl) to watch a mission again for analysis. + +The format is binary: + +- Byte 1-8: Timestamp in microseconds since Unix epoch as unsigned 64 bit integer +- Byte 9-271: MAVLink packet (263 bytes maximum packet length, not all bytes have to be actual data, the packet might be shorter. Includes packet start sign) + +## Debugging + +To check your data, open your written file in a hex editor. You should see after 8 bytes **0x55**. The first 8 bytes should also convert to a valid timestamp, so something either close to zero or around the number **1294571828792000** (which is the current Unix epoch timestamp in microseconds). + +## C++ Sketch for logging MAVLink + +The code fragment below shows how to implement logging using [C++ streams](http://www.cplusplus.com/reference/iostream/istream/) from the C++ standard library. + +```cpp +//write into mavlink logfile +const int len = MAVLINK_MAX_PACKET_LEN+sizeof(uint64_t); +uint8_t buf[len]; +uint64_t time = getSystemTimeUsecs(); +memcpy(buf, (void*)&time, sizeof(uint64_t)); +mavlink_msg_to_send_buffer(buf+sizeof(uint64_t), msg); +mavlinkFile << buf << flush; +``` diff --git a/docs/tr/qgc-dev-guide/file_formats/parameters.md b/docs/tr/qgc-dev-guide/file_formats/parameters.md new file mode 100644 index 00000000000..60fd66a3638 --- /dev/null +++ b/docs/tr/qgc-dev-guide/file_formats/parameters.md @@ -0,0 +1,25 @@ +# Parameters File Format + +``` +# Onboard parameters for Vehicle 1 +# +# # Vehicle-Id Component-Id Name Value Type +1 1 ACRO_LOCKING 0 2 +1 1 ACRO_PITCH_RATE 180 4 +1 1 ACRO_ROLL_RATE 180 4 +1 1 ADSB_ENABLE 0 2 +``` + +Above is an example of a parameter file with four parameters. The file can include as many parameters as needed. + +Comments are preceded with a `#`. + +This header: `# MAV ID COMPONENT ID PARAM NAME VALUE` describes the format for each row: + +- `Vehicle-Id` Vehicle id +- `Component-Id` Component id for parameter +- `Name` Parameter name +- `Value` Parameter value +- `Type` Parameter type using MAVLink `MAV_PARAM_TYPE_*` enum values + +A parameter file contains the parameters for a single Vehicle. It can contain parameters for multiple components within that Vehicle. diff --git a/docs/tr/qgc-dev-guide/file_formats/plan.md b/docs/tr/qgc-dev-guide/file_formats/plan.md new file mode 100644 index 00000000000..914571983f2 --- /dev/null +++ b/docs/tr/qgc-dev-guide/file_formats/plan.md @@ -0,0 +1,489 @@ +# Plan File Format + +Plan files are stored in JSON file format and contain mission items and (optional) geo-fence and rally-points. +Below you can see the top level format of a Plan file + +:::tip +This is "near-minimal" - a plan must contain at least one mission item. +The plan fence and rally points are also used in modes when no mission is running. +::: + +```json +{ + "fileType": "Plan", + "geoFence": { + "circles": [], + "polygons": [], + "version": 2 + }, + "groundStation": "QGroundControl", + "mission": {}, + "rallyPoints": { + "points": [], + "version": 2 + }, + "version": 1 +} +``` + +The main fields are: + +| Key | Description | +| ------------------------------ | ------------------------------------------------------------------------------ | +| `version` | The version for this file. Current version is 1. | +| `fileType` | Must be `"Plan"`. | +| `groundStation` | The name of the ground station which created this file (here _QGroundControl_) | +| [`mission`](#mission) | The mission associated with this flight plan. | +| [`geoFence`](#geofence) | (Optional) Geofence information for this plan. | +| [`rallyPoints`](#rally_points) | (Optional) Rally/Safe point information for this plan | + +## Mission Object {#mission} + +The structure of the mission object is shown below. +The `items` field contains a comma-separated list of mission items (it must contain at least one mission item, as shown below). +The list may be a mix of both [SimpleItem](#mission_simple_item) and [ComplexItem](#mission_complex_item) objects. + +```json + "mission": { + "cruiseSpeed": 15, + "firmwareType": 12, + "globalPlanAltitudeMode": 1, + "hoverSpeed": 5, + "items": [ + { + "AMSLAltAboveTerrain": null, + "Altitude": 50, + "AltitudeMode": 0, + "autoContinue": true, + "command": 22, + "doJumpId": 1, + "frame": 3, + "params": [ + 15, + 0, + 0, + null, + 47.3985099, + 8.5451002, + 50 + ], + "type": "SimpleItem" + } + ], + "plannedHomePosition": [ + 47.3977419, + 8.545594, + 487.989 + ], + "vehicleType": 2, + "version": 2 + }, +``` + +The following values are required: + +| Key | Description | +| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version for the mission object. Current version is 2. | +| `firmwareType` | The firmware type for which this mission was created. This is one of the [MAV\_AUTOPILOT](https://mavlink.io/en/messages/common.html#MAV_AUTOPILOT) enum values. | +| `globalPlanAltitudeMode` | The global plan-wide altitude mode setting. This is used by plan items that don't specify an `"AltitudeMode"`. | +| `vehicleType` | The vehicle type for which this mission was created. This is one of the [MAV\_TYPE](https://mavlink.io/en/messages/common.html#MAV_TYPE) enum values. | +| `cruiseSpeed` | The default forward speed for Fixed wing or VTOL vehicles (i.e. when moving between waypoints). | +| `hoverSpeed` | The default forward speed for multi-rotor vehicles. | +| `items` | The list of mission item objects associated with the mission . The list may contain either/both [SimpleItem](#mission_simple_item) and [ComplexItem](#mission_complex_item) objects. | +| `plannedHomePosition` | The planned home position is shown on the map and used for mission planning when no vehicle is connected. The array values shown above are (from top): latitude, longitude and AMSL altitude. | + +The format of the simple and complex items is given below. + +### `SimpleItem` - Simple Mission Item {#mission\_simple\_item} + +A simple item represents a single MAVLink [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM) command. + +``` + { + "AMSLAltAboveTerrain": null, + "Altitude": 50, + "AltitudeMode": 0, + "autoContinue": true, + "command": 22, + "doJumpId": 1, + "frame": 3, + "params": [ + 15, + 0, + 0, + null, + 47.3985099, + 8.5451002, + 50 + ], + "type": "SimpleItem" + } +``` + +The field mapping is shown below. + +| Key | Description | +| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | `SimpleItem` for a simple item | +| `AMSLAltAboveTerrain` | Altitude value shown to the user. | +| `Altitude` | | +| `AltitudeMode` | | +| `autoContinue` | [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).autoContinue | +| `command` | The command ([MAV\_CMD](https://mavlink.io/en/messages/common.html#MAV_CMD)) for this mission item - see [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).command. | +| `doJumpId` | The target id for the current mission item in DO\_JUMP commands. These are auto-numbered from 1. | +| `frame` | [MAV\_FRAME](https://mavlink.io/en/messages/common.html#MAV_FRAME) (see [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).frame) | +| `params` | [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).param1,2,3,4,x,y,z (values depends on the particular [MAV\_CMD](https://mavlink.io/en/messages/common.html#MAV_CMD)). | + +### Complex Mission Item {#mission\_complex\_item} + +A complex item is a higher level encapsulation of multiple `MISSION_ITEM` objects treated as a single entity. + +There are currently three types of complex mission items: + +- [Survey](#survey) +- [Corridor Scan](#corridor_scan) +- [Structure Scan](#structure_scan) + +#### Survey - Complex Mission Item {#survey} + +The object definition for a `Survey` complex mission item is given below. + +``` +{ + "TransectStyleComplexItem": { + ... + }, + "angle": 0, + "complexItemType": "survey", + "entryLocation": 0, + "flyAlternateTransects": false, + "polygon": [ + [ + -37.75170619863631, + 144.98414811224316 + ], + ... + [ + -37.75170619863631, + 144.99457681259048 + ] + ], + "type": "ComplexItem", + "version": 4 + }, +``` + +Complex items have these values associated with them: + +| Key | Description | +| ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version number for this `survey` definition. Current version is 3. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `survey` | +| [`TransectStyleComplexItem`](#TransectStyleComplexItem) | The common base definition for Survey and CorridorScan complex items. | +| `angle` | The angle for the transect paths (degrees). | +| `entryLocation` | ? | +| `flyAlternateTransects` | If true, the vehicle will skip every other transect and then come back at the end and fly these alternates. This can be used for fixed wing aircraft when the turnaround would be too acute for the vehicle to make the turn. | +| `polygon` | The polygon array which represents the polygonal survey area. Each point is a latitude, longitude pair for a polygon vertex. | + +#### Corridor Scan {#corridor\_scan} + +The object definition for a `CorridorScan` complex mission item is given below. + +``` + { + "CorridorWidth": 50, + "EntryPoint": 0, + "TransectStyleComplexItem": { + ... + }, + }, + "complexItemType": "CorridorScan", + "polyline": [ + [ + -37.75234887156983, + 144.9893624624168 + ], + ... + [ + -37.75491914850321, + 144.9893624624168 + ] + ], + "type": "ComplexItem", + "version": 2 + }, +``` + +| Key | Description | +| ------------------------------------------------------- | --------------------------------------------------------------------- | +| `version` | The version for this `CorridorScan` definition. Current version is 3. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `CorridorScan` | +| `CorridorWidth` | ? | +| `EntryPoint` | ? | +| [`TransectStyleComplexItem`](#TransectStyleComplexItem) | The common base definition for Survey and CorridorScan complex items. | +| `polyline` | ? | + +#### Structure Scan {#structure\_scan} + +The object definition for a `StructureScan` complex mission item is given below. + +```json + { + "Altitude": 50, + "CameraCalc": { + "AdjustedFootprintFrontal": 25, + "AdjustedFootprintSide": 25, + "CameraName": "Manual (no camera specs)", + "DistanceToSurface": 10, + "DistanceToSurfaceRelative": true, + "version": 1 + }, + "Layers": 1, + "StructureHeight": 25, + "altitudeRelative": true, + "complexItemType": "StructureScan", + "polygon": [ + [ + -37.753184359536355, + 144.98879374063998 + ], + ... + [ + -37.75408368012594, + 144.98879374063998 + ] + ], + "type": "ComplexItem", + "version": 2 + } +``` + +| Key | Description | +| --------------------------- | ---------------------------------------------------------------------- | +| `version` | The version for this `StructureScan` definition. Current version is 2. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `StructureScan` | +| `Altitude` | ? | +| [`CameraCalc`](#CameraCalc) | ? | +| `Layers` | ? | +| `StructureHeight` | ? | +| `altitudeRelative` | `true`: `altitude` is relative to home, `false`: `altitude` is AMSL. | +| `polygon` | ? | + +#### `TransectStyleComplexItem` {#TransectStyleComplexItem} + +`TransectStyleComplexItem` contains the common base definition for [`survey`](#survey) and [`CorridorScan`](#CorridorScan) complex items. + +```json + "TransectStyleComplexItem": { + "CameraCalc": { + ... + }, + "CameraTriggerInTurnAround": true, + "FollowTerrain": false, + "HoverAndCapture": false, + "Items": [ + ... + ], + "Refly90Degrees": false, + "TurnAroundDistance": 10, + "VisualTransectPoints": [ + [ + -37.75161626657736, + 144.98414811224316 + ], + ... + [ + -37.75565155437309, + 144.99438539496475 + ] + ], + "version": 1 + }, +``` + +| Key | Description | +| --------------------------- | --------------------------------------------------------------------------------- | +| `version` | The version for this `TransectStyleComplexItem` definition. Current version is 1. | +| [`CameraCalc`](#CameraCalc) | ? | +| `CameraTriggerInTurnAround` | ? (boolean) | +| `FollowTerrain` | ? (boolean) | +| `HoverAndCapture` | ? (boolean) | +| `Items` | ? | +| `Refly90Degrees` | ? (boolean) | +| `TurnAroundDistance` | The distance to fly past the polygon edge prior to turning for the next transect. | +| `VisualTransectPoints` | ? | + +##### CameraCalc {#CameraCalc} + +The `CameraCalc` contains camera information used for a survey, corridor or structure scan. + +``` + "CameraCalc": { + "AdjustedFootprintFrontal": 272.4, + "AdjustedFootprintSide": 409.2, + "CameraName": "Sony ILCE-QX1", + "DistanceToSurface": 940.6896551724138, + "DistanceToSurfaceRelative": true, + "FixedOrientation": false, + "FocalLength": 16, + "FrontalOverlap": 70, + "ImageDensity": 25, + "ImageHeight": 3632, + "ImageWidth": 5456, + "Landscape": true, + "MinTriggerInterval": 0, + "SensorHeight": 15.4, + "SensorWidth": 23.2, + "SideOverlap": 70, + "ValueSetIsDistance": false, + "version": 1 + }, +``` + +| Key | Description | +| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version for this `CameraCalc` definition. Current version is 1. | +| `AdjustedFootprintFrontal` | ? | +| `AdjustedFootprintSide` | ? | +| `DistanceToSurface` | ? Units? | +| `DistanceToSurfaceRelative` | ? | +| `CameraName` | Name of camera being used (must correspond to one of the cameras known to _QGroundControl_ or: `Manual (no camera specs)` for manual setup, `Custom Camera` for a custom setup. The keys listed after this point are not specified for a "Manual" camera definition. | +| `FixedOrientation` | ? (boolean) | +| `FocalLength` | Focal length of camera lens in millimeters. | +| `FrontalOverlap` | Percentage of frontal image overlap. | +| `ImageDensity` | ? | +| `ImageHeight` | Image height in px | +| `ImageWidth` | Image width in px | +| `Landscape` | `true`: Camera installed in landscape orientation on vehicle, `false`: Camera installed in portrait orientation on vehicle. | +| `MinTriggerInterval` | ? | +| `SensorHeight` | Sensor height in millimeters. | +| `SensorWidth` | Sensor width in millimeters. | +| `SideOverlap` | Percentage of side image overlap. | +| `ValueSetIsDistance` | ? (boolean) | + +## GeoFence {#geofence} + +Geofence information is optional. +The plan can contain an arbitrary number of geofences defined in terms of polygons and circles. + +The minimal definition is shown below. + +```json + "geoFence": { + "circles": [ + ], + "polygons": [ + ], + "version": 2 + }, +``` + +The fields are: + +| Key | Description | +| ------------------------------- | ----------------------------------------------------------------------------- | +| `version` | The version number for the geofence plan format. The documented version is 2. | +| [`circles`](#circle_geofence) | List containing circle geofence definitions (comma separated). | +| [`polygons`](#polygon_geofence) | List containing polygon geofence definitions (comma separated). | + +### Circle Geofence {#circle\_geofence} + +Each circular geofence is defined in a separate item, as shown below (multiple comma-separated items can be defined). +The items define the centre and radius of the circle, and whether or not the specific geofence is activated. + +```json +{ + "circle": { + "center": [47.39756763610029, 8.544649762407738], + "radius": 319.85 + }, + "inclusion": true, + "version": 1 +} +``` + +The fields are: + +| Key | Description | +| ----------- | -------------------------------------------------------------------------------------------------- | +| `version` | The version number for the geofence "circle" plan format. The documented version is 1. | +| `circle` | The definition of the circle. Includes `centre` (latitude, longitude) and `radisu` as shown above. | +| `inclusion` | Whether or not the geofence is enabled (true) or disabled. | + +### Polygon Geofence {#polygon\_geofence} + +Each polygon geofence is defined in a separate item, as shown below (multiple comma-separated items can be defined). +The geofence includes a set of points defined with a clockwise winding (i.e. they must enclose an area). + +```json + { + "inclusion": true, + "polygon": [ + [ + 47.39807773798406, + 8.543834631785785 + ], + [ + 47.39983519888905, + 8.550024648373267 + ], + [ + 47.39641100087146, + 8.54499282423751 + ], + [ + 47.395590322265186, + 8.539435808992085 + ] + ], + "version": 1 + } + ], + "version": 2 + } +``` + +The fields are: + +| Key | Description | +| ----------- | ------------------------------------------------------------------------------------------------------------------------------ | +| `version` | The version number for the geofence "polygon" plan format. The documented version is 2. | +| `polygon` | A list of points for the polygon. Each point contains a latitude and longitude. The points are ordered in a clockwise winding. | +| `inclusion` | Whether or not the geofence is enabled (true) or disabled. | + +## Rally Points {#rally\_points} + +Rally point information is optional. +The plan can contain an arbitrary number of rally points, each of which has a latitude, longitude, and altitude (above home position). + +A definition with two points is shown below. + +```json + + "rallyPoints": { + "points": [ + [ + 47.39760401, + 8.5509154, + 50 + ], + [ + 47.39902017, + 8.54263274, + 50 + ] + ], + "version": 2 + } +``` + +The fields are: + +| Key | Description | +| --------- | -------------------------------------------------------------------------------- | +| `version` | The version number for the rally point plan format. The documented version is 2. | +| `points` | A list of rally points. | diff --git a/docs/tr/qgc-dev-guide/firmware_plugin.md b/docs/tr/qgc-dev-guide/firmware_plugin.md new file mode 100644 index 00000000000..95d0c3ddc74 --- /dev/null +++ b/docs/tr/qgc-dev-guide/firmware_plugin.md @@ -0,0 +1,23 @@ +# Plugin Architecture + +Although the MAVLink spec defines a standard communication protocol to communicate with a vehicle. There are many aspects of that spec that are up for interpretation by the firmware developers. Because of this there are many cases where communication with a vehicle running one firmware is be slightly different than communication with a vehicle running a different firmware in order to accomplish the same task. Also each firmware may implement a different subset of the MAVLink command set. + +Another major issue is that the MAVLink spec does not cover vehicle configuration or a common parameter set. Due to this all code which relates to vehicle setup ends up being firmware specific. Also any code which must refer to a specific parameter is also firmware specific. + +Given all of these differences between firmware implementations it can be quite tricky to create a single ground station application that can support each without having the codebase degrade into a massive pile of if/then/else statements peppered everywhere based on the firmware the vehicle is using. + +QGC uses a plugin architecture to isolate the firmware specific code from the code which is generic to all firmwares. There are two main plugins which accomplish this `FirmwarePlugin` and `AutoPilotPlugin`. + +This plugin architecture is also used by custom builds to allow ever further customization beyond when standard QGC can provide. + +## FirmwarePlugin + +This is used to create a standard interface to parts of Mavlink which are generally not standardized. + +## AutoPilotPlugin + +This is used to provide the user interface for Vehicle Setup. + +## QGCCorePlugin + +This is used to expose features of the QGC application itself which are not related to a Vehicle through a standard interface. This is then used by custom builds to adjust the QGC feature set to their needs. diff --git a/docs/tr/qgc-dev-guide/getting_started/cent_os.md b/docs/tr/qgc-dev-guide/getting_started/cent_os.md new file mode 100644 index 00000000000..c709b04874b --- /dev/null +++ b/docs/tr/qgc-dev-guide/getting_started/cent_os.md @@ -0,0 +1,220 @@ +# Using QGC on CentOS 7 + +## OS Installation + +To install CentOS 7: + +1. Fetch the latest [CentOS 7 ISO from here](http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso) +2. Make a bootable USB stick out of the ISO e.g. by [following this guide](https://linuxize.com/post/how-to-create-a-bootable-centos-7-usb-stick/). +3. Boot the target device from the stick. + +The following examples show how to boot the target device from the stick. + +**Example:** _Panasonic Toughpad FZ-M1_ (attaching a keyboard and mouse to the device to follow this guide is recommended). + +1. Enter the BIOS menu by holding **Delete** on an attached USB keyboard or pressing all hardware buttons around the power button during boot. +2. Once inside the BIOS switch to the _Exit_ tab using the arrow keys or the touchscreen. +3. Select your previously created and plugged in USB stick under Boot device override. + +**Example** [UAV Components Micronav](https://www.uavcomp.com/command-control/micronav/) device: + +1. The setup of CentOS will not start with the default configuration. + To solve this + 1. Go to the BIOS menu as explained in the example above. + 2. Disable the "Extension Port" device under the "Advanced" tab. + 3. "Exit and save" the BIOS menu on the Exit page of the BIOS and try again. + 4. After CentOS is installed, you revert the changes again so that the Microhard network works. +2. Make sure to never do a warm reboot but always first shut down the device if you want to reboot into Linux. + Otherwise the Microhard network adapter will not work properly and slows down the whole system. + +### CentOS Software Selection Installation Options + +These were the options used to setup a CentOS development system. +Use it as a guideline. + +![CentOS Installation](../../../assets/dev_getting_started/centos/centos_installation.png) + +![CentOS Software Selection](../../../assets/dev_getting_started/centos/centos_sw_selection.png) + +### Update GStreamer + +Once CentOS is installed and booted we need to set up the environment for QGC. +First, we need to update GStreamer to a more recent version. +This guide follows Alice Wonder's tips found here: https\://media.librelamp.com + +``` +sudo yum install epel-release -y +wget http://awel.domblogger.net/7/media/x86_64/awel-media-release-7-6.noarch.rpm +sudo yum localinstall awel-media-release-7-6.noarch.rpm -y +sudo yum clean all +sudo yum update +sudo yum install gstreamer1* --skip-broken -y +``` + +**Note:** Make sure these are installed (vaapi for Intel GPUs) + +``` +sudo yum install gstreamer1-vaapi +sudo yum install gstreamer1-libav +``` + +**Note:** Install these to enable hardware accelerated video decoding + +``` +sudo yum install libva +sudo yum install libva-utils +sudo yum install libva-intel-driver +``` + +If libva-intel-driver is not found you can download it and install it manually + +``` +wget http://download1.rpmfusion.org/free/el/updates/7/x86_64/l/libva-intel-driver-1.8.3-4.el7.x86_64.rpm +sudo yum localinstall libva-intel-driver-1.8.3-4.el7.x86_64.rpm -y +``` + +### Installing SDL2 + +SDL2 is used for joystick support. + +``` +sudo yum install SDL2 SDL2-devel -y +``` + +### Update Kernel (optional) + +:::tip +If your Joystick gets recognized and shows up as `/dev/input/js0` when you run the command `/dev/input/*` you can skip this step. +::: + +We recommend updating the kernel for: + +- Better touch screen responsiveness. +- Correct recognition of some USB devices - in particular joysticks. + +The following joysticks are known not do work out of the box with the default CentOS 7 kernel (3.10.0): + +- Logitech F310 +- Microsoft Xbox 360 controller (USB) + +To fix the joystick not being recognized (even if the same unit is working under Windows or Ubuntu) please [follow this guide to update the kernel](https://www.howtoforge.com/tutorial/how-to-upgrade-kernel-in-centos-7-server/). + +Here's a short summary of the commands that you need to execute to update the kernel: + +``` +sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org +sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm +sudo yum --enablerepo=elrepo-kernel install kernel-ml -y +``` + +Reboot your device afterwards and make sure the new kernel version shows up as the default start option in the GRUB menu on boot. + +:::info +You might need to disable secure boot in the BIOS to allow the new kernel to be booted. +::: + +## Running QGC on CentOS + +Before launching QGC, you need to make sure the current user has access to the dialout group (serial port access permission): + +``` +sudo usermod -a -G dialout $USER +``` + +### Firewall + +The default firewall security level of Red Hat distributions like CentOS block MAVLink communication and also the camera video stream. +So you need to create rules to open the incoming ports for MAVLink and camera stream. +For non-production local environment testing purposes ONLY you can temporarily disable the firewall using the following commands ([from here](https://www.liquidweb.com/kb/how-to-stop-and-disable-firewalld-on-centos-7/)): + +Temporary: + +``` +systemctl stop firewalld +``` + +Permanent (at your own risk): + +``` +systemctl disable firewalld +``` + +Undo permanent change: + +``` +systemctl enable firewalld +``` + +### Connection problems with multiple networks + +In our test with CentOS we had problems when connecting to multiple networks through multiple network devices even with appropriate IP address and subnet assignment. + +Issues consisted of: + +- Losing Internet access when connecting to a second network +- Having flaky connection to the vehicle with a lot of hiccups and packet losses (e.g. 30 seconds perfect connection 4 seconds of packet loss in a regular pattern) + +If you face any of these problems avoid them by only connecting one network at a time e.g. switching between WiFi and Microhard. + +### Executing a Prebuilt QGC Binary + +- Get hold of an archive containing a prebuilt binary of QGC for CentOS. + At the moment there is no automatic deployment for this build if you urgently need one get in touch with the developers. +- [Unpack the archive](https://www.hostdime.com/kb/hd/command-line/how-to-tar-untar-and-zip-files). +- Go inside the unpacked files and locate the script named `qgroundcontrol-run.sh` +- Run it by executing the command + ``` + ./qgroundcontrol-run.sh + ``` + +## Building QGC on CentOS + +### Installing Qt + +``` +mkdir ~/devel +cd ~/devel +``` + +Install Qt 5.12.4 from the Qt installation script that can be downloaded [here](https://www.qt.io/download-thank-you?os=linux\&hsLang=en). +Once downloaded, make it executable and run it: + +``` +chmod +x qt-unified-linux-x64-3.1.1-online.run +./qt-unified-linux-x64-3.1.1-online.run +``` + +Select the following options and install it under `~/devel/Qt`: + +![Qt Software Selection](../../../assets/dev_getting_started/centos/qt_setup.png) + +### Clone and Build QGC + +``` +git clone --recursive https://github.com/mavlink/qgroundcontrol.git +mkdir build +cd build +``` + +For a debug/test build: + +``` +../Qt/5.12.4/gcc_64/bin/qmake ../qgroundcontrol/qgroundcontrol.pro -spec linux-g++ CONFIG+=debug +``` + +For a release build: + +``` +../Qt/5.12.4/gcc_64/bin/qmake ../qgroundcontrol/qgroundcontrol.pro -spec linux-g++ CONFIG+=qtquickcompiler +``` + +Build it: + +``` +make -j4 +``` + +You can alternatively launch _QtCreator_ (found under `~/devel/Qt/Tools/QtCreator/bin/qtcreator`), load the `qgroundcontro.pro` project and build/debug from within its IDE. + +By default, this will build the regular QGC. +To build the sample, customized UI version, follow [these instructions](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/README.md). diff --git a/docs/tr/qgc-dev-guide/getting_started/container.md b/docs/tr/qgc-dev-guide/getting_started/container.md new file mode 100644 index 00000000000..3bdda672439 --- /dev/null +++ b/docs/tr/qgc-dev-guide/getting_started/container.md @@ -0,0 +1,81 @@ +# Building using Containers + +The community created a docker image that makes it much easier to build a Linux-based QGC application. +This can give you a massive boost in productivity and help with testing. + +## About the Container + +The Container is located in the `./deploy/docker` directory. +It's based on ubuntu 20.04. +It pre-installs all the dependencies at build time, including Qt, thanks to a script located in the same directory, `install-qt-linux.sh`. +The main advantage of using the container is the usage of the `CMake` build system and its many improvements over `qmake` + +## Building the Container + +Before using the container, you have to build the image. +You can accomplish this using docker, running the following script from the root of the QGC source code directory. + +``` +docker build --file ./deploy/docker/Dockerfile-build-linux -t qgc-linux-docker . +``` + +:::info +The `-t` flag is essential. +Keep in mind this is tagging the image for later reference since you can have multiple builds of the same container +::: + +::: info +If building on a Mac computer with an M1 chip you must also specify the build option `--platform linux/x86_64` as shown: + +``` +docker build --platform linux/x86_64 --file ./deploy/docker/Dockerfile-build-linux -t qgc-linux-docker . +``` + +Otherwise you will get a build error like: + +``` +qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory +``` + +::: + +## Building QGC using the Container + +To use the container to build QGC, you first need to define a directory to save the artifacts. +We recommend you create a `build` directory on the source tree and then run the docker image using the tag provided above as follows, from the root directory: + +``` +mkdir build +docker run --rm -v ${PWD}:/project/source -v ${PWD}/build:/project/build qgc-linux-docker +``` + +::: info +If using the script to build the Linux image on a Windows host, you would need to reference the PWD differently. +On Windows the docker command is: + +``` +docker run --rm -v %cd%:/project/source -v %cd%/build:/project/build qgc-linux-docker +``` + +::: + +Depending on your system resources, or the resources assigned to your Docker Daemon, the build step can take some time. + +## Troubleshooting + +### Windows: 'bash\r': No such file or directory + +This error indicates that a Linux script is being run with Windows line endings, which might occur if `git` was configured to use Windows line endings: + +``` + > [4/7] RUN /tmp/qt/install-qt-linux.sh: +#9 0.445 /usr/bin/env: 'bash\r': No such file or directory +``` + +One fix is to force Linux line endings using the command: + +``` +git config --global core.autocrlf false +``` + +Then update/recreate your local repository. diff --git a/docs/tr/qgc-dev-guide/getting_started/index.md b/docs/tr/qgc-dev-guide/getting_started/index.md new file mode 100644 index 00000000000..c01c1af6e99 --- /dev/null +++ b/docs/tr/qgc-dev-guide/getting_started/index.md @@ -0,0 +1,238 @@ +--- +qt_version: 5.15.2 +--- + +# Getting Started + +This topic explains how to get the _QGroundControl_ source code and build it either natively or within a _Vagrant_ environment. +It also provides information about optional or OS specific functionality. + +## Daily Builds + +If you just want to test (and not debug) a recent build of _QGroundControl_ you can use the [Daily Build](https://docs.qgroundcontrol.com/en/releases/daily_builds.html). Versions are provided for all platforms. + +## Source Code + +Source code for _QGroundControl_ is kept on GitHub here: https\://github.com/mavlink/qgroundcontrol. +It is [dual-licensed under Apache 2.0 and GPLv3](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md). + +To get the source files: + +1. Clone the repo (or your fork) including submodules: + ``` + git clone --recursive -j8 https://github.com/mavlink/qgroundcontrol.git + ``` +2. Update submodules (required each time you pull new source code): + ``` + git submodule update --recursive + ``` + +:::tip +Github source-code zip files cannot be used because these do not contain the appropriate submodule source code. +You must use git! +::: + +## Build QGroundControl + +### Using Containers + +We support Linux builds using a container found on the source tree of the repository, which can help you develop and deploy the QGC apps without having to install any of the requirements on your local environment. + +[Container Guide](../getting_started/container.md) + +### Native Builds + +_QGroundControl_ builds are supported for macOS, Linux, Windows, iOS and Android. +_QGroundControl_ uses [Qt](http://www.qt.io) as its cross-platform support library and uses [QtCreator](http://doc.qt.io/qtcreator/index.html) as its default build environment. + +- **macOS:** v10.11 or higher +- **Ubuntu:** 64 bit, gcc compiler +- **Windows:** Vista or higher, [Visual Studio 2019 compiler](#vs) (64 bit) +- **iOS:** 10.0 and higher +- **Android:** Android 5.0 and later. + - Standard QGC is built against ndk version 19. + - Java JDK 11 is required. +- **Qt version:** {{ $frontmatter.qt\_version }} **(only)** + + ::: warning + **Do not use any other version of Qt!** + QGC has been thoroughly tested with the specified version of Qt ({{ $frontmatter.qt\_version }}). + There is a significant risk that other Qt versions will inject bugs that affect stability and safety (even if QGC compiles). + ::: + +For more information see: [Qt 5 supported platform list](http://doc.qt.io/qt-5/supported-platforms.html). + +:::info +Native [CentOS Builds](../getting_started/cent_os.md) are also supported, but are documented separately (as the tested environment is different). +::: + +#### Install Visual Studio 2019 (Windows Only) {#vs} + +The Windows compiler can be found here: [Visual Studio 2019 compiler](https://visualstudio.microsoft.com/vs/older-downloads/) (64 bit) + +When installing, select _Desktop development with C++_ as shown: + +![Visual Studio 2019 - Select Desktop Environment with C++](../../../assets/dev_getting_started/visual_studio_select_features.png) + +:::info +Visual Studio is ONLY used to get the compiler. Actually building _QGroundControl_ should be done using [Qt Creator](#qt-creator) or [qmake](#qmake) as outlined below. +::: + +#### Install Qt + +You **need to install Qt as described below** instead of using pre-built packages from say, a Linux distribution, because _QGroundControl_ needs access to private Qt headers. + +To install Qt: + +1. Download and run the [Qt Online Installer](http://www.qt.io/download-open-source) + - **Ubuntu:** + - Set the downloaded file to executable using: `chmod +x`. + - Install to default location for use with **./qgroundcontrol-start.sh.** If you install Qt to a non-default location you will need to modify **qgroundcontrol-start.sh** in order to run downloaded builds. + +2. In the installer _Select Components_ dialog choose: {{ $frontmatter.qt\_version }}. + + ::: info + If the version needed is not displayed, check the archive (show archive and refresh). + ::: + + Then install just the following components: + + - **Windows**: _MSVC 2019 64 bit_ + - **MacOS**: _macOS_ + - **Linux**: _Desktop gcc 64-bit_ + - All: + - _Qt Charts_ + - _Android ARMv7_ (optional, used to build Android) + + ![QtCreator Select Components (Windows)](../../../assets/dev_getting_started/qt_creator_select_components.jpg) + +3. Install Additional Packages (Platform Specific) + + - **Ubuntu:** `sudo apt-get install speech-dispatcher libudev-dev libsdl2-dev patchelf build-essential curl` + - **Fedora:** `sudo dnf install speech-dispatcher SDL2-devel SDL2 systemd-devel patchelf` + - **Arch Linux:** `pacman -Sy speech-dispatcher patchelf` + - **Android:** [Qt Android Setup](http://doc.qt.io/qt-5/androidgs.html) + + ::: info + JDK11 is required (install if needed)! + ::: + +4. Install Optional/OS-Specific Functionality + + ::: info + Optional features that are dependent on the operating system and user-installed libraries are linked/described below. + These features can be forcibly enabled/disabled by specifying additional values to qmake. + ::: + + - **Video Streaming/Gstreamer:** - see [Video Streaming](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoReceiver/README.md). + - **Airmap SDK:** - TBD. + +5. Disable platform-specific optional features that are enabled (but not installed), by default. + + ::: info + This currently applies to Airmap on Linux, which is optional but enabled by default. + ::: + + - **Ubuntu:** + - Airmap: Create a file named **user\_config.pri** (in the repo root directory) containing the text `DEFINES += DISABLE_AIRMAP`. + This can be done in a bash terminal using the command: + ``` + echo -e "DEFINES += DISABLE_AIRMAP\r\n" | tee user_config.pri + ``` + +#### Building using Qt Creator {#qt-creator} + +1. Launch _Qt Creator_ and open the **qgroundcontrol.pro** project. + +2. In the **Projects** section, select the appropriate kit for your needs: + + - **OSX:** Desktop Qt {{ $frontmatter.qt\_version }} clang 64 bit + + ::: info + iOS builds must be built using [XCode](http://doc.qt.io/qt-5/ios-support.html). + ::: + + - **Ubuntu:** Desktop Qt {{ $frontmatter.qt\_version }} GCC 64bit + + - **Windows:** Desktop Qt {{ $frontmatter.qt\_version }} MSVC2019 **64bit** + + - **Android:** Android for armeabi-v7a (GCC 4.9, Qt {{ $frontmatter.qt\_version }}) + - JDK11 is required. + You can confirm it is being used by reviewing the project setting: **Projects > Manage Kits > Devices > Android (tab) > Android Settings > _JDK location_**. + +3. Build using the "hammer" (or "play") icons: + + ![QtCreator Build Button](../../../assets/dev_getting_started/qt_creator_build_qgc.png) + +#### Build using qmake on CLI {#qmake} + +Example commands to build a default QGC and run it afterwards: + +1. Make sure you cloned the repository and updated the submodules before, see chapter _Source Code_ above and switch into the repository folder: + ``` + cd qgroundcontrol + ``` + +2. Create and enter a shadow build directory: + ``` + mkdir build + cd build + ``` + +3. Configure the build using the qmake script in the root of the repository: + ``` + qmake ../ + ``` + +4. Run make to compile and link. + To accelerate the process things you can use the `-j{number of threads}` parameter. + + ``` + make -j12 + ``` + + ::: info + You can also specify build time flags here. + For example, you could disable airmap inclusion using the command: + + ``` + DEFINES+=DISABLE_AIRMAP make build + ``` + + ::: + +5. Run the QGroundcontrol binary that was just built: + ``` + ./staging/QGroundControl + ``` + +### Vagrant + +[Vagrant](https://www.vagrantup.com/) can be used to build and run _QGroundControl_ within a Linux virtual machine (the build can also be run on the host machine if it is compatible). + +1. [Download](https://www.vagrantup.com/downloads.html) and [Install](https://www.vagrantup.com/docs/getting-started/) Vagrant +2. From the root directory of the _QGroundControl_ repository run `vagrant up` +3. To use the graphical environment run `vagrant reload` + +### Additional Build Notes for all Supported OS + +- **Parallel builds:** For non Windows builds, you can use the `-j#` option to run parellel builds. +- **Location of built files:** Individual build file results can be found in the `build_debug` or `build_release` directories. The built executable can be found in the `debug` or `release` directory. +- **If you get this error when running _QGroundControl_**: `/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version 'GLIBCXX_3.4.20' not found.`, you need to either update to the latest _gcc_, or install the latest _libstdc++.6_ using: `sudo apt-get install libstdc++6`. +- **Unit tests:** To run the [unit tests](../contribute/unit_tests.md), build in `debug` mode with `UNITTEST_BUILD` definition, and then copy `deploy/qgroundcontrol-start.sh` script into the `debug` directory before running the tests. + +## Building QGC Installation Files + +You can additionally create installation file(s) for _QGroundControl_ as part of the normal build process. + +:::tip +On Windows you will need to first install [NSIS](https://sourceforge.net/projects/nsis/). +::: + +To add support for installation file creation you need to add `CONFIG+=installer` to your project file, or when you call _qmake_. + +To do this in _Qt Creator_: + +- Open **Projects > Build > Build Steps > qmake > Additional arguments**. +- Enter `CONFIG+=installer` as shown: + ![Installer](../../../assets/dev_getting_started/qt_project_installer.png) diff --git a/docs/tr/qgc-dev-guide/index.md b/docs/tr/qgc-dev-guide/index.md new file mode 100644 index 00000000000..22020d391d3 --- /dev/null +++ b/docs/tr/qgc-dev-guide/index.md @@ -0,0 +1,68 @@ +# QGroundControl Dev Guide + +[![Releases](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases) [![Discuss](https://img.shields.io/badge/discuss-dev-ff69b4.svg)](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-developers) + +This developer guide is the best source for information if you want to build, modify or extend [QGroundControl](http://qgroundcontrol.com) (QGC). +It shows how to obtain and build the source code, explains how QGC works, and provides guidelines for contributing code to the project. + +:::tip +This part of the guide is for **developers**! +::: + +:::warning +This is an active work in progress - information should be correct, but may not be complete! +If you find that it is missing helpful information (or errors) please raise an issue. +::: + +## Design Philosophy + +QGC is designed to provide a single codebase that can run across multiple OS platforms as well as multiple device sizes and styles. + +The QGC user interface is implemented using [Qt QML](http://doc.qt.io/qt-5/qtqml-index.html). QML provides for hardware acceleration which is a key feature on lower powered devices such as tablets or phones. QML also provides features which allows us to more easily create a single user interface which can adapt itself to differing screen sizes and resolution. + +The QGC UI targets itself more towards a tablet+touch style of UI than a desktop mouse-based UI. This make a single UI easier to create since tablet style UI also tends to work fine on desktop/laptops. + +## Support {#support} + +Development questions can be raised in the [QGroundControl Developer](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-developers) discuss category. + +## Contribution + +Information about contributing, including coding styles, testing and licenses can be found in [Code Submissions](contribute/index.md). + +:::tip +We expect all contributors to adhere to the [QGroundControl code of conduct](https://github.com/mavlink/qgroundcontrol/blob/master/CODE_OF_CONDUCT.md). +This code aims to foster an open and welcoming environment. +::: + +### Coordination Call + +The developer team meets bi-weekly to discuss the highest priority issues, project coordination, and discuss any Issues, PRs, or Questions from the Community. ([Developer Call Details](contribute/dev_call.md)) + +### Translations + +We use [Crowdin](https://crowdin.com) to make it easier to manage translation for both _QGroundControl_ and the documentation. + +The translation projects (and join links) are listed below: + +- [QGroundControl](https://crowdin.com/project/qgroundcontrol) ([join](https://crwd.in/qgroundcontrol)) +- [QGroundControl User Guide](https://crowdin.com/project/qgroundcontrol-user-guide) ([join](https://crwd.in/qgroundcontrol-user-guide)) +- [QGroundControl Developer Guide](https://crowdin.com/project/qgroundcontrol-developer-guide) ([join](https://crwd.in/qgroundcontrol-developer-guide)) + +The PX4 Developer Guide contains additional information about the (common) docs/translation toolchain: + +- [Documentation](https://dev.px4.io/en/contribute/docs.html) +- [Translation](https://dev.px4.io/en/contribute/docs.html) + +## License + +_QGroundControl_ source code is [dual-licensed under Apache 2.0 and GPLv3](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md). +For more information see: [Licenses](contribute/licences.md). + +## Governance + +The QGroundControl mission planner is hosted under the governance of the [Dronecode Project](https://www.dronecode.org/). + +Dronecode Logo Linux Foundation Logo + +
 
diff --git a/docs/tr/qgc-dev-guide/plan/mission_command_tree.md b/docs/tr/qgc-dev-guide/plan/mission_command_tree.md new file mode 100644 index 00000000000..55441b4e3fc --- /dev/null +++ b/docs/tr/qgc-dev-guide/plan/mission_command_tree.md @@ -0,0 +1,196 @@ +# Mission Command Tree + +QGC creates the user interface for editing a specific mission item command dynamically from a hierarchy of json metadata. This hierarchy is called the Mission Command Tree. This way only json metadata must be created when new commands are added. + +## Why a tree? + +The tree is needed to deal with the idosyncracies of differening firmware supporting commands differently and/or different vehicle types supporting the commands in different ways. The simplest example of that is mavlink spec may include command parameters which are not supported by all firmwares. Or command parameters which are only valid for certain vehicle types. Also in some cases a GCS may decide to hide some of the command parameters from view to end users since they are too complex or cause usability problems. + +The tree is the MissionCommandTree class: [MissionCommandTree.cc](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.cc), [MissionCommandTree.h](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.h) + +### Tree Root + +The root of the tree is json metadata which matches the mavlink spec exactly. + +Here you can see an example of the root [json](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoCommon.json#L27) for `MAV_CMD_NAV_WAYPOINT`: + +``` + { + "id": 16, + "rawName": "MAV_CMD_NAV_WAYPOINT", + "friendlyName": "Waypoint", + "description": "Travel to a position in 3D space.", + "specifiesCoordinate": true, + "friendlyEdit": true, + "category": "Basic", + "param1": { + "label": "Hold", + "units": "secs", + "default": 0, + "decimalPlaces": 0 + }, + "param2": { + "label": "Acceptance", + "units": "m", + "default": 3, + "decimalPlaces": 2 + }, + "param3": { + "label": "PassThru", + "units": "m", + "default": 0, + "decimalPlaces": 2 + }, + "param4": { + "label": "Yaw", + "units": "deg", + "nanUnchanged": true, + "default": null, + "decimalPlaces": 2 + } + }, +``` + +Note: In reality this based information should be provided by mavlink itself and not needed to be part of a GCS. + +### Leaf Nodes + +The leaf nodes then provides metadata which can override values for the command and/or remove parameters from display to the user. The full tree hierarchy is this: + +- Root - Generic Mavlink + - Vehicle Type Specific - Vehicle specific overrides to the generic spec + - Firmware Type Specific - One optional leaf node for each firmware type (PX4/ArduPilot) + - Vehicle Type Specific - One optional leaf node for each vehicel type (FW/MR/VTOL/Rover/Sub) + +Note: In reality this override capability should be part of mavlink spec and should be able to be queried from the vehicle. + +### Building the instance tree from the full tree + +Since the json metadata provides information for all firmware/vehicle type combinations the actual tree to use must be built based on the firmware and vehicle type which is being used to create a Plan. This is done through a process call "collapsing" the full tree to a firmware/vehicle specific tree ([code](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.cc#L119)). + +The steps are as follows: + +- Add the root to the instance tree +- Apply the vehicle type specific overrides to the instance tree +- Apply the firmware type specific overrides to the instance tree +- Apply the firmware/vehicle type specific overrides to the instance tree + +The resulting Mission Command Tree is then used to build UI for the Plan View item editors. In reality it is used for more than just that, there are many other places where knowing more information about a specific command id is useful. + +## Example hierarchy for `MAV_CMD_NAV_WAYPOINT` + +Let's walk through an example hierarchy for `MAV_CMD_NAV_WAYPOINT`. Root information is shown above. + +### Root - Vehicle Type Specific leaf node + +The next level of the hiearchy is generic mavlink but vehicle specific. Json files are here: [MR](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoMultiRotor.json), [FW](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoFixedWing.json), [ROVER](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoRover.json), [Sub](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoSub.json), [VTOL](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoVTOL.json). And here are the overrides for (Fixed Wings)(https\://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoFixedWing.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "4" + }, +``` + +What this does is remove the editing UI for param4 which is Yaw and not used by fixed wings. Since this is a leaf node of the root, this applies to all fixed wing vehicle no matter the firmware type. + +### Root - Firmware Type Specific leaf node + +The next level of the hiearchy are overrides which are specific to a firmware type but apply to all vehicle types. Once again lets loook at the waypoint overrides: + +[ArduPilot](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/APM/MavCmdInfoCommon.json#L6): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2" + }, +``` + +[PX4](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/PX4/MavCmdInfoCommon.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2,3" + }, +``` + +You can see that for both firmwares param2 which is acceptance radius is removed from the editing ui. This is a QGC specific decision. It is generally safer and easier to use the firmwares generic acceptance radius handling than the specify a value. So we've decided to hide it from users. + +You can also see that for PX4 param3/PassThru is removed since it is not supported by PX. + +### Root - Firmware Type Specific - Vehicle Type Specific leaf node + +The last level of the hiearchy is both firmware and vehicle type specific. + +[ArduPilot/MR](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/APM/MavCmdInfoMultiRotor.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2,3,4" + }, +``` + +Here you can see that for an ArduPilot Multi-Rotor vehicle param2/3/4 Acceptance/PassThru/Yaw are removed. Yaw for example is removed because it is not supported. Due to quirk of how this code works, you need to repeat the overrides from the lower level. + +## Mission Command UI Info + +Two classes define the metadata associated with a command: + +- MissionCommandUIInfo - Metadata for the entire command +- MissionCmdParamInfo - Metadata for a param in a command + +The source is commented with full details of the json keys which are supported. + +[MissionCommandUIInfo](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandUIInfo.h#L82): + +``` +/// UI Information associated with a mission command (MAV_CMD) +/// +/// MissionCommandUIInfo is used to automatically generate editing ui for a MAV_CMD. This object also supports the concept of only having a set of partial +/// information for the command. This is used to create overrides of the base command information. For on override just specify the keys you want to modify +/// from the base command ui info. To override param ui info you must specify the entire MissionParamInfo object. +/// +/// The json format for a MissionCommandUIInfo object is: +/// +/// Key Type Default Description +/// id int reauired MAV_CMD id +/// comment string Used to add a comment +/// rawName string required MAV_CMD enum name, should only be set of base tree information +/// friendlyName string rawName Short description of command +/// description string Long description of command +/// specifiesCoordinate bool false true: Command specifies a lat/lon/alt coordinate +/// specifiesAltitudeOnly bool false true: Command specifies an altitude only (no coordinate) +/// standaloneCoordinate bool false true: Vehicle does not fly through coordinate associated with command (exampl: ROI) +/// isLandCommand bool false true: Command specifies a land command (LAND, VTOL_LAND, ...) +/// friendlyEdit bool false true: Command supports friendly editing dialog, false: Command supports 'Show all values" style editing only +/// category string Advanced Category which this command belongs to +/// paramRemove string Used by an override to remove params, example: "1,3" will remove params 1 and 3 on the override +/// param[1-7] object MissionCommandParamInfo object +/// +``` + +[MissionCmdParamInfo](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandUIInfo.h#L25): + +``` +/// UI Information associated with a mission command (MAV_CMD) parameter +/// +/// MissionCommandParamInfo is used to automatically generate editing ui for a parameter associated with a MAV_CMD. +/// +/// The json format for a MissionCmdParamInfo object is: +/// +/// Key Type Default Description +/// label string required Label for text field +/// units string Units for value, should use FactMetaData units strings in order to get automatic translation +/// default double 0.0/NaN Default value for param. If no default value specified and nanUnchanged == true, then defaultValue is NaN. +/// decimalPlaces int 7 Number of decimal places to show for value +/// enumStrings string Strings to show in combo box for selection +/// enumValues string Values associated with each enum string +/// nanUnchanged bool false True: value can be set to NaN to signal unchanged +``` diff --git a/docs/tr/qgc-dev-guide/release_branching_process.md b/docs/tr/qgc-dev-guide/release_branching_process.md new file mode 100644 index 00000000000..8cff755d051 --- /dev/null +++ b/docs/tr/qgc-dev-guide/release_branching_process.md @@ -0,0 +1,81 @@ +# QGroundControl Release/Branching process + +## Semantic Versioning + +QGC uses semantic versioning for the version numbers associated with its releases. +Semantic versioning is a 3-component number in the format of `vX.Y.Z`, where: + +- `X` is the major version. +- `Y` is the minor version. +- `Z` is the patch version. + +## Stable Builds + +The current stable build is the highest quality build available for QGC. +[Patch releases](#patch_releases) of the stable build are regularly made to fix important issues. + +Stable builds are built from a separate branch that is named with the format: `Stable_VX.Y` (note, there is no patch number!) +The branch has one or more git tags for each patch release (with the format `vX.Y.Z`), indicating the point in the repo source code that the associated patch release was created from. + +### Patch Releases {#patch\_releases} + +A patch release contains fixes to the stable release that are important enough to _require_ an update, and are safe enough that the stable release continues to maintain high quality. + +Patch releases increment the patch version number only. + +### Patch - Development Stage + +Approved fixes to the stable release are commited to the current stable branch. +These fixes continue to queue up in the stable branch until a patch release is made (see next step). + +Commits/changes to the stable branch must also be brought over to the master branch (either through cherry pick or separate pulls). + +### Patch - Release Stage + +At the point where the decision is made to do a patch release, the release binaries are created and a new _tag_ is added to the stable branch (with the same patch release number) indicating the associated source code. + +:::info +New branches are not created for patch releases - only for major and minor releases. +::: + +## Daily Builds + +### Development Stage + +Daily builds are built from the `master` branch, and this is where all new major feature development happens. +The state of master represents either the next minor point release, or a new major version release (depending on the level of change). + +There are no git tags associated with a released daily builds. +The released daily build will always match repo HEAD. + +### Release Stage + +When the decision is made to release a new major/minor version the master branch tends to go through an intial lockdown mode. +This is where only important fixes for the release are accepted as pull requests. + +:::info +During the lockdown phase, new features are not allowed in master. +::: + +Once the level of fixes associated with the release slows down to a low level, a new stable branch is created (at this point the `master` branch can move forward again as the latest and greatest). + +Fixes continue in the stable branch until it is deemed ready to release (ideally after a short time)! +At that point the new stable branch is tagged with the new version tag and the first stable release is made. + +## Custom Builds + +A proposed strategy for branching on custom builds can be found [here](custom_build/release_branching_process.md). + +## Process to create a new Stable + +### Major/Minor Version + +1. Create a branch from master named `Stable_VX.Y` where `X` is the major version number and `Y` is the minor version number. +2. Create a tag on the HEAD of master name `dX.Y` where the minor version is one greater than the new Stable. For example if you are create a new Stable 4.2 version then the tag would be 'd4.3'. This tag is used to create the version numbers for Android daily builds. Example: `git tag -a d4.3.0 -m "QGroundControl Daily Android Version Base"`. +3. Create an annotated tag on the newly created Stable branch named `vX.Y.0` with the correct major/minor version number. Example: `git tag -a v4.2.0 -m "QGroundControl v4.2.0"`. Pushing this tag to the repo will start a build. +4. Once the build completes verify the builds are pushed up to S3 correctly and sanity check that they at least boot correctly. Location on S3 will be `https://qgroundcontrol.s3.us-west-2.amazonaws.com/latest/...`. +5. Update the `https://qgroundcontrol.s3.us-west-2.amazonaws.com/builds/latest/QGC.version.txt` text file to the latest Stable version. This will notify uses there is a new Stable available the next time they launch QGC. + +### Patch Version + +Creating a new Patch Version is the same except you skip steps 1 and 2 and in step 3 you bump the patch version number up as needed. diff --git a/docs/tr/qgc-dev-guide/tools/index.md b/docs/tr/qgc-dev-guide/tools/index.md new file mode 100644 index 00000000000..d2f1bd88502 --- /dev/null +++ b/docs/tr/qgc-dev-guide/tools/index.md @@ -0,0 +1,20 @@ +# Developer Tools + +_QGroundControl_ makes a number of tools available primarily for autopilot developers. +These ease common developer tasks including setting up simulated connections for testing, +and accessing the System Shell over MAVLink. + +:::info +[Build the source in debug mode](https://github.com/mavlink/qgroundcontrol#supported-builds) to enable these tools. +::: + +Tools include: + +- **[Mock Link](../tools/mock_link.md)** (Daily Builds only) - Creates and stops multiple simulated vehicle links. +- **[Replay Flight Data](https://docs.qgroundcontrol.com/en/app_menu/replay_flight_data.html)** - Replay a telemetry log (User Guide). +- **[MAVLink Inspector](https://docs.qgroundcontrol.com/en/app_menu/mavlink_inspector.html)** - Display received MAVLink messages/values. +- **[MAVLink Analyzer](https://docs.qgroundcontrol.com/en/app_menu/mavlink_analyzer.html)** - Plot trends for MAVLink messages/values. +- **[Custom Command Widget](https://docs.qgroundcontrol.com/en/app_menu/custom_command_widget.html)** - Load custom/test QML UI at runtime. +- **[Onboard Files](https://docs.qgroundcontrol.com/en/app_menu/onboard_files.html)** - Navigate vehicle file system and upload/download files. +- **[HIL Config Widget](https://docs.qgroundcontrol.com/en/app_menu/hil_config.html)** - Settings for HIL simulators. +- **[MAVLink Console](https://docs.qgroundcontrol.com/en/analyze_view/mavlink_console.html)** (PX4 Only) - Connect to the PX4 nsh shell and send commands. diff --git a/docs/tr/qgc-dev-guide/tools/mock_link.md b/docs/tr/qgc-dev-guide/tools/mock_link.md new file mode 100644 index 00000000000..bbb8878c9c2 --- /dev/null +++ b/docs/tr/qgc-dev-guide/tools/mock_link.md @@ -0,0 +1,33 @@ +# Mock Link + +_Mock Link_ allows you to create and stop links to multiple simulated (mock) vehicles in _QGroundControl_ debug builds. + +The simulation does not support flight, but does allow easy testing of: + +- Mission upload/download +- Viewing and changing parameters +- Testing most setup pages +- Multiple vehicle UIs + +It is particularly useful for unit testing error cases for mission upload/download. + +## Using Mock Link + +To use _Mock Link_: + +1. Create a debug build by [building the source](https://github.com/mavlink/qgroundcontrol#supported-builds). + +2. Access _Mock Link_ by selecting the _Application Settings_ icon in the top toolbar and then **Mock Link** in the sidebar: + + ![](../../../assets/dev_tools/mocklink_waiting_for_connection.jpg) + +3. The buttons in the panel can be clicked to create a vehicle link of the associated type. + + - Each time you click a button a new connection will be created. + - When there is more than one connection the multiple-vehicle UI will appear. + + ![](../../../assets/dev_tools/mocklink_connected.jpg) + +4. Click the **Stop one Mock Link** to stop the currently active vehicle. + +Using _Mock Link_ is then more or less the same as using any other vehicle, except that the simulation does not allow flight. diff --git a/docs/tr/qgc-dev-guide/user_interface_design/controls.md b/docs/tr/qgc-dev-guide/user_interface_design/controls.md new file mode 100644 index 00000000000..16bbca6fbed --- /dev/null +++ b/docs/tr/qgc-dev-guide/user_interface_design/controls.md @@ -0,0 +1,35 @@ +# User Interface Controls + +QGC provides a base set of controls for building user interface. In general they tend to be thin layers above the base QML Controls supported by Qt which respect the QGC color palette. + +``` +import QGroundControl.Controls 1.0 +``` + +## Qt Controls + +The following controls are QGC variants of standard Qt QML Controls. They provide the same functionality as the corresponding Qt controls except for the fact that they are drawn using the QGC palette. + +- QGCButton +- QGCCheckBox +- QGCColoredImage +- QGCComboBox +- QGCFlickable +- QGCLabel +- QGCMovableItem +- QGCRadioButton +- QGCSlider +- QGCTextField + +## QGC Controls + +These custom controls are exclusive to QGC and are used to create standard UI elements. + +- DropButton - RoundButton which drops out a panel of options when clicked. Example is Sync button in Plan view. +- ExclusiveGroupItem - Used as a base Item for custom controls which supports the QML ExclusiveGroup concept. +- QGCView - Base control for all top level views in the system. Provides support for FactPanels and displaying QGCViewDialogs and QGCViewMessages. +- QGCViewDialog - Dialog which pops out from the right side of a QGCView. You can specific the accept/reject buttons for the dialog as well as the dialog contents. Example usage is when you click on a parameter and it brings up the value editor dialog. +- QGCViewMessage - A simplified version of QGCViewDialog which allows you to specify buttons and a simple text message. +- QGCViewPanel - The main view contents inside of a QGCView. +- RoundButton - A round button control which uses an image as its inner contents. +- SetupPage - The base control for all Setup vehicle component pages. Provides a title, description and component page contents area. diff --git a/docs/tr/qgc-dev-guide/user_interface_design/font_palette.md b/docs/tr/qgc-dev-guide/user_interface_design/font_palette.md new file mode 100644 index 00000000000..b9472025352 --- /dev/null +++ b/docs/tr/qgc-dev-guide/user_interface_design/font_palette.md @@ -0,0 +1,20 @@ +# Font and Palette + +QGC has a standard set of fonts and color palette which should be used by all user interface. + +``` +import QGroundControl.Palette 1.0 +import QGroundControl.ScreenTools 1.0 +``` + +## QGCPalette + +This item exposes the QGC color palette. There are two variants of this palette: light and dark. The light palette is meant for outdoor use and the dark palette is for indoor. Normally you should never specify a color directly for UI, you should always use one from the palette. If you don't follow this rule, the user interface you create will not be capable of changing from a light/dark style. + +## QGCMapPalette + +The map palette is used for colors which are used to draw over a map. Due to the the different map styles, specifically satellite and street you need to have different colors to draw over them legibly. Satellite maps needs lighter colors to be seen whereas street maps need darker colors to be seen. The `QGCMapPalette` item provides a set of colors for this as well as the ability to switch between light and dark colors over maps. + +## ScreenTools + +The ScreenTools item provides values which you can use to specify font sizing. It also provides information on screen size and whether QGC is running on a mobile device. diff --git a/docs/tr/qgc-dev-guide/user_interface_design/index.md b/docs/tr/qgc-dev-guide/user_interface_design/index.md new file mode 100644 index 00000000000..caff40d9801 --- /dev/null +++ b/docs/tr/qgc-dev-guide/user_interface_design/index.md @@ -0,0 +1,11 @@ +# User Interface Design + +The main pattern for UI design in QGC is a UI page written in QML, many times communicating with a custom "Controller" written in C++. This follows a somewhat hacked variant of the MVC design pattern. + +The QML code binds to information associated with the system through the following mechanisms: + +- The custom controller +- The global `QGroundControl` object which provides access to things like the active Vehicle +- The FactSystem which provides access to parameters and in some cases custom Facts. + +Note: Due to the complexity of the QML used in QGC as well as it's reliance on communication with C++ objects to drive the ui it is not possible to use the QML Designer provided by Qt to edit QML. diff --git a/docs/tr/qgc-dev-guide/user_interface_design/multi_device_pattern.md b/docs/tr/qgc-dev-guide/user_interface_design/multi_device_pattern.md new file mode 100644 index 00000000000..241be1409f4 --- /dev/null +++ b/docs/tr/qgc-dev-guide/user_interface_design/multi_device_pattern.md @@ -0,0 +1,52 @@ +# Multi-Device Design Pattern + +QGroundControl is designed to run on multiple device types from desktop to laptop to tablet to small phone sized screens using mouse and touch. Below is the description of how QGC does it and the reasoning behind it. + +## Efficient 1 person dev team + +The design pattern that QGC development uses to solve this problem is based around making new feature development quick and allowing the code base to be testable and maintained by a very small team (let's say 1 developer as the default dev team size). The pattern to achieve this is followed very strictly, because not following it will lead to slower dev times and lower quality. + +Supporting this 1 person dev team concept leads to some tough decisions which not everyone may be happy about. But it does lead to QGC being released on many OS and form factors using a single codebase. This is something most other ground stations out there are not capable of achieving. + +What about contributors you ask? QGC has a decent amount of contributors. Can't they help move things past this 1 person dev team concept? Yes QGC has quite a few contributors. But unfortunately they come and go over time. And when they go, the code they contributed still must be maintained. Hence you fall back to the 1 person dev team concept which is mostly what has been around as an average over the last three years of development. + +## Target Device + +The priority target for QGC UI design is a tablet, both from a touch standpoint and a screen size standpoint (think 10" Samsung Galaxy tab). Other device types and sizes may see some sacrifices of visuals and/or usability due to this decision. The current order when making priority based decisions is Tablet, Laptop, Desktop, Phone (any small screen). + +### Phone sized screen support + +As specified above, at this point smaller phone sized screens are the lowest level priority for QGC. More focus is put onto making active flight level displays, such as the Fly view, more usable. Less focus is placed on Setup related views such as Setup and Plan. Those specific views are tested to be functionally usable on small screens but they may be painful to use. + +## Development tools used + +### Qt Layout controls + +QGC does not have differently coded UIs which are targeted to different screen sizes and/or form factors. In general it uses QML Layout capabilities to reflow a single set of QML UI code to fit different form factors. In some cases it provides less detail on small screen sizes to make things fit. But that is a simple visibility pattern. + +### FactSystem + +Internal to QGC is a system which is used to manage all of the individual pieces of data within the system. This data model is then connected to controls. + +### Heavy reliance on reusable controls + +QGC UI is developed from a base set of reusable controls and UI elements. This way any new feature added to a reusable control is now available throughout the UI. These reusable controls also connect to FactSystem Facts which then automatically provides appropriate UI. + +## Cons for this design pattern + +- The QGC user interface ends up being a hybrid style of desktop/laptop/tablet/phone. Hence not necessarily looking or feeling like it is optimized to any of these. +- Given the target device priority list and the fact that QGC tends to just re-layout the same UI elements to fit different form factors you will find this hybrid approach gets worse as you get farther away from the priority target. Hence small phone sized screens taking the worst hit on usability. +- The QGC reusable control set may not provide the absolute best UI in some cases. But it is still used to prevent the creation of additional maintenance surface area. +- Since the QGC UI uses the same UI code for all OSes, QGC does not follow the UI design guidelines specified by the OS itself. It has it's own visual style which is somewhat of a hybrid of things picked from each OS. Hence the UI looks and works mostly the same on all OS. Once again this means for example that QGC running on Android won't necessarily look like an android app. Or QGC running on an iPhone will not look or work like most other iPhone apps. That said the QGC visual/functional style should be understandable to these OS users. + +## Pros for this design pattern + +- It takes less time to design a new feature since the UI coding is done once using this hybrid model and control set. Layout reflow is quite capable in Qt QML and becomes second nature once you get used to it. +- A piece of UI can be functionally tested on one platform since the functional code is the same across all form factors. Only layout flow must be visually checked on multiple devices but this is fairly easily done using the mobile simulators. In most cases this is what is needed: + - Use desktop build, resizing windows to test reflow. This will generally cover a tablet sized screen as well. + - Use a mobile simulator to visually verify a phone sized screen. On OSX XCode iPhone simulator works really well. +- All of the above are critical to keeping our hypothetical 1 person dev team efficient and to keep quality high. + +## Future directions + +- Raise phone (small screen) level prioritization to be more equal to Tablet. Current thinking is that this won't happen until a 3.3 release time frame (release after current one being worked on). diff --git a/docs/tr/qgc-dev-guide/views/fly.md b/docs/tr/qgc-dev-guide/views/fly.md new file mode 100644 index 00000000000..a9f5a8e6c7c --- /dev/null +++ b/docs/tr/qgc-dev-guide/views/fly.md @@ -0,0 +1,8 @@ +# Fly View + +- Top level QML code is in **FlightDisplayView\.qml** +- QML code communicates with `MissionController` (C++) for mission display +- Instrument widgets communicate with active Vehicle object +- Two main inner views are: + - `FlightDisplayViewMap` + - `FlightDisplayViewVideo` diff --git a/docs/tr/qgc-dev-guide/views/index.md b/docs/tr/qgc-dev-guide/views/index.md new file mode 100644 index 00000000000..9cf9e09ef22 --- /dev/null +++ b/docs/tr/qgc-dev-guide/views/index.md @@ -0,0 +1,3 @@ +# Top Level Views + +This section contains topics about the code for the top level views: settings, setup, plan and fly. diff --git a/docs/tr/qgc-dev-guide/views/plan.md b/docs/tr/qgc-dev-guide/views/plan.md new file mode 100644 index 00000000000..8ca6765fdf6 --- /dev/null +++ b/docs/tr/qgc-dev-guide/views/plan.md @@ -0,0 +1,5 @@ +# Plan View + +- Top level QML code is in [PlanView.qml](https://github.com/mavlink/qgroundcontrol/blob/master/src/plan_view/PlanView.qml) +- Main visual UI is a FlightMap control +- QML communicates with MissionController (C++) which provides the view with the mission item data and methods diff --git a/docs/tr/qgc-dev-guide/views/settings.md b/docs/tr/qgc-dev-guide/views/settings.md new file mode 100644 index 00000000000..8ac25ed099b --- /dev/null +++ b/docs/tr/qgc-dev-guide/views/settings.md @@ -0,0 +1,4 @@ +# Settings View + +- Top level QML code is **AppSettings.qml** +- Each button loads a separate QML page diff --git a/docs/tr/qgc-dev-guide/views/setup.md b/docs/tr/qgc-dev-guide/views/setup.md new file mode 100644 index 00000000000..0dd51a0b157 --- /dev/null +++ b/docs/tr/qgc-dev-guide/views/setup.md @@ -0,0 +1,5 @@ +# Setup View + +- Top level QML code implemented in **SetupView\.qml** +- Fixed set of buttons/pages: Summary, Firmware +- Remainder of buttons/pages come from AutoPilotPlugin VehicleComponent list diff --git a/docs/tr/qgc-user-guide/analyze_view/geotag_images.md b/docs/tr/qgc-user-guide/analyze_view/geotag_images.md index 95c600d9595..43a39b12a41 100644 --- a/docs/tr/qgc-user-guide/analyze_view/geotag_images.md +++ b/docs/tr/qgc-user-guide/analyze_view/geotag_images.md @@ -2,10 +2,12 @@ _GeoTag Images_ ekranı (**Analyze > GeoTag Images**) uçuş kayıtlarındaki bilgileri kullanarak bir gözlem görevindeki görüntüleri çoğrafi etiketlemenize olanak tanır. -::: info -Bu özellik sadece _PX4_ uçuş kayıtlarıyla çalışır. Ardupilot desteklenmemektedir. +:::info +Bu özellik sadece _PX4_ uçuş kayıtlarıyla çalışır. +Ardupilot desteklenmemektedir. ::: ![GeoTag Görüntüleri Analiz Ekranı](../../../assets/analyze/geotag_images.jpg) -Kayıt dosyasını, görüntüyü ve (isterseniz) etiketlenmiş görüntülerin nereye kayıt edileceğini seçin. Görüntüleri coğrafi etiketlemeye başlamak için **Start Tagging** 'e tıklayın. +Select the log file, image directory and (optionally) output directory for geotagged images using the buttons provided. +Görüntüleri coğrafi etiketlemeye başlamak için **Start Tagging** 'e tıklayın. diff --git a/docs/tr/qgc-user-guide/analyze_view/mavlink_console.md b/docs/tr/qgc-user-guide/analyze_view/mavlink_console.md index bd7755d7cd7..69c0eae0df2 100644 --- a/docs/tr/qgc-user-guide/analyze_view/mavlink_console.md +++ b/docs/tr/qgc-user-guide/analyze_view/mavlink_console.md @@ -2,16 +2,19 @@ The MAVLink Console (**Analyze > Mavlink Console**) allows you to connect to the PX4 [System Console](https://docs.px4.io/main/en/debug/system_console.html) and send commands. -::: info -The console only works when connected to _hardware_ running the _PX4_ flight stack. PX4 SITL and ArduPilot are not supported. +:::info +The console only works when connected to _hardware_ running the _PX4_ flight stack. +PX4 SITL and ArduPilot are not supported. ::: -::: tip +:::tip This is a very useful feature for developers as it allows deep access to the system. In particular, if you are connected via Wifi, you can have this same level of access while the vehicle is flying. ::: ![Analyze View MAVLink Console](../../../assets/analyze/mavlink_console.jpg) -The view does not display any output except in response to commands. Once the vehicle is connected, you can enter commands in the bar provided (for a full list of available commands enter: `?`). +The view does not display any output except in response to commands. +Once the vehicle is connected, you can enter commands in the bar provided (for a full list of available commands enter: `?`). -Command output is displayed in the view above the command bar. Click **Show Latest** to jump to the bottom of the command output. +Command output is displayed in the view above the command bar. +Click **Show Latest** to jump to the bottom of the command output. diff --git a/docs/tr/qgc-user-guide/analyze_view/mavlink_inspector.md b/docs/tr/qgc-user-guide/analyze_view/mavlink_inspector.md index 5b6d09da8a3..127fc65ce6a 100644 --- a/docs/tr/qgc-user-guide/analyze_view/mavlink_inspector.md +++ b/docs/tr/qgc-user-guide/analyze_view/mavlink_inspector.md @@ -2,33 +2,40 @@ The _MAVLink Inspector_ provides real-time information and charting of MAVLink traffic received by _QGroundControl_. -::: warning -This feature is intended primarily for **autopilot developers**/**vehicle creators**. It is only supported on desktop builds (Windows, Linux, Mac OS). +:::warning +This feature is intended primarily for **autopilot developers**/**vehicle creators**. +It is only supported on desktop builds (Windows, Linux, Mac OS). ::: ![MAVLink inspector](../../../assets/analyze/mavlink_inspector/mavlink_inspector.jpg) -The inspector lists all received messages for the current vehicle, along with their source component id and update frequency. You can drill down into individual messages to get the message id, source component id, and the values of all the individual fields. You can also chart field values in real time, selecting multiple fields from multiple messages to display on one of two charts. +The inspector lists all received messages for the current vehicle, along with their source component id and update frequency. +You can drill down into individual messages to get the message id, source component id, and the values of all the individual fields. +You can also chart field values in real time, selecting multiple fields from multiple messages to display on one of two charts. To use the _MAVLink Inspector_: -1. Open _Analyze View_ by selecting the _QGroundControl_ application menu ("Q" icon in top left corner) and then choosing the **Analyze Tools** button (from the _Select Tool_ popup). ![Analyze ](../../../assets/analyze/menu_analyze_tool.png) -1. Select the **MAVLink Inspector** from the sidebar. +1. Open _Analyze View_ by selecting the _QGroundControl_ application menu ("Q" icon in top left corner) and then choosing the **Analyze Tools** button (from the _Select Tool_ popup). + ![Analyze ](../../../assets/analyze/menu_analyze_tool.png) + +2. Select the **MAVLink Inspector** from the sidebar. ![MAVLink inspector menu](../../../assets/analyze/mavlink_inspector/mavlink_inspector_menu.jpg) The view will start populating with messages as they are received. -1. Select a message to see its fields and their (dynamically updating) value: +3. Select a message to see its fields and their (dynamically updating) value: ![MAVLink inspector: message detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_message_details.jpg) -1. Add fields to charts by enabling the adjacent checkboxes (plot 1 is displayed below plot 2). +4. Add fields to charts by enabling the adjacent checkboxes (plot 1 is displayed below plot 2). ![MAVLink inspector: chart fields detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_plot1.jpg) - Fields can be added to only one chart. - - A chart can have multiple fields, and fields from multiple messages (these are listed above each chart). Messages containing fields that are being charted are highlighted with an asterisk. + + - A chart can have multiple fields, and fields from multiple messages (these are listed above each chart). + Messages containing fields that are being charted are highlighted with an asterisk. ![MAVLink inspector: chart fields detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_charted_messages.jpg) diff --git a/docs/tr/qgc-user-guide/fly_view/fly_view.md b/docs/tr/qgc-user-guide/fly_view/fly_view.md index db48f9289b3..d05e3174c46 100644 --- a/docs/tr/qgc-user-guide/fly_view/fly_view.md +++ b/docs/tr/qgc-user-guide/fly_view/fly_view.md @@ -1,10 +1,11 @@ -# Uçuş Ekranı +# Fly View Uçuş Ekranı, aracı uçarken izlemek ve araca komut vermek için kullanılır. Şunları yapmak için kullanabilirsiniz: - Otomatik şekilde [pre-flight checklist](#preflight_checklist) çalıştırın. +- Arm the vehicle (or check why it won't arm). - Görevleri kontrol edin: [start](#start_mission), [continue](#continue_mission), [pause](#pause), ve [resume](#resume_mission). - Aracı [arm](#arm)/[disarm](#disarm)/[emergency stop](#emergency_stop), [takeoff](#takeoff)/[land](#land), [change altitude](#change_altitude), belirli bir konuma [go to](#goto) veya [orbit](#orbit), ve [return/RTL](#rtl) için yönlendirin. - Harita görünümü ile video görünümü (eğer varsa) arasında geçiş yapın @@ -12,7 +13,7 @@ Uçuş Ekranı, aracı uçarken izlemek ve araca komut vermek için kullanılır ![Uçuş Ekranı](../../../assets/fly/fly_view_overview.jpg) -## İzleme +## UI Overview Yukarıdaki ekran görüntüsü, uçuş ekranının ana öğelerini gösterir: @@ -21,138 +22,192 @@ Yukarıdaki ekran görüntüsü, uçuş ekranının ana öğelerini gösterir: - Kalkıştan sonra, haritaya tıklayarak bir konuma [Go to](#goto) veya [Orbit at](#orbit) ayarlayabilirsiniz. - **Uçuş Araç Çubuğu:** Sensörler (GPS, pil, RC kontrolü) ve araç durumu (Uçuş modu, Etkin (armed) / Devre Dışı (disarmed) durumu) hakkında anahtar bilgiler. - Daha fazla ayrıntı görmek için sensör göstergelerini seçin. - - Yeni bir mod seçmek için _ Flight mode _ metnine (ör. "Hold") tıklayın. Tüm modlar mevcut olmayabilir. - - Aracın uçuşa hazır olma durumunu değiştirmek için _Armed/Disarmed_ metnine tıklayın. While flying you can press this text for _Emergency Stop_. + - Yeni bir mod seçmek için \_ Flight mode \_ metnine (ör. "Hold") tıklayın. + Tüm modlar mevcut olmayabilir. + - The text next to the **Q** icon indicates the flight readiness using text: "Not Ready", "Ready to Fly", "Flying", and status using colour: "green" (all good!), amber (a warning), red (serious problem). + Select the text when the background is amber or red to find out the cause of any preflight issues (QGC 4.2.0 and later). + You can also select the text to reach a button to arm/disarm/emergency-stop the vehicle. - **Uçuş araçları:** Şunları yapmak için kullanabilirsiniz: - Kalkış/iniş arasında geçiş yapın. - Mevcut işlemi durdur/tekrar başlat (ör. iniş, ya da görev). - Güvenli geri dönüş (RTL ya da Return olarakta bilinir). - - _Action_ butonu mevcut durum için diğer uygun seçenekleri sunar (bunlar _Confirmation Slider_'ın üstünde gözükür). İşlemler, yüksekliği değiştirmeyi veya bir göreve devam etmeyi içerir. + - _Action_ butonu mevcut durum için diğer uygun seçenekleri sunar (bunlar _Confirmation Slider_'ın üstünde gözükür). + İşlemler, yüksekliği değiştirmeyi veya bir göreve devam etmeyi içerir. - [preflight checklist](#preflight_checklist)'i etkinleştirin (varsayılan olarak devre dışıdır). -- **[Bilgi Paneli](#instrument_panel):** Telemetri, kamera, video, sistem durumu ve titreşim dahil olmak üzere araç bilgilerini görüntüleyebileceğiniz çok sekmeli widget. +- **[Instrument Panel](#instrument_panel):** A widget that displays vehicle telemetry. +- **Attitude/Compass**: A widget that provides virtual horizon and heading information. +- **Camera Tools**: A widget for switching between still and video modes, starting/stopping capture, and controlling camera settings. - **[Video/Harita](#video_switcher):** Bir pencerede video ile harita arasında geçiş yapın. - _Video_ ya da _Map_'i ön plana almak için öne almak istediğinize tıklayın. - - _QGroundControl_, aracınızın UDP bağlantısı üzerinden RTP ve RTSP video yayını yapmanızı destekler. It also supports directly connected UVC devices. QGC'nin video desteği hakkında daha ayrıntılı bilgiyi [Video README](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoStreaming/README.md)'de bulabilirsiniz. + - _QGroundControl_, aracınızın UDP bağlantısı üzerinden RTP ve RTSP video yayını yapmanızı destekler. + It also supports directly connected UVC devices. + QGC'nin video desteği hakkında daha ayrıntılı bilgiyi [Video README](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoStreaming/README.md)'de bulabilirsiniz. - Bir [Telemetry Overlay](../fly_view/video_overlay.md) dosyası otomatik olarak oluşturulacaktır -- **Kaydırmalı Onay Butonu:** İstenen işlemi gerçekleştirmek için onay butonu. Operasyonu başlatmak için kaydırın. İptal etmek için **X** 'e basın. +- **Kaydırmalı Onay Butonu:** İstenen işlemi gerçekleştirmek için onay butonu. + Operasyonu başlatmak için kaydırın. İptal etmek için **X** 'e basın. -Ayrıca varsayılan olarak görüntülenmeyen/ belirli koşullarda görüntülenebilen bazı öğelerde var. Mesela, çoklu-araç seçici sadece birden çok aracınız varsa veya uçuş öncesi kontrol listesi eğer etkinleştirilmişse görüntülenir. +Ayrıca varsayılan olarak görüntülenmeyen/ belirli koşullarda görüntülenebilen bazı öğelerde var. +Mesela, çoklu-araç seçici sadece birden çok aracınız varsa veya uçuş öncesi kontrol listesi eğer etkinleştirilmişse görüntülenir. -## Bilgi Paneli {#instrument_panel} +## Bilgi Paneli {#instrument\_panel} -Bilgi Paneli, telemetri, kamera, video, sistem durumu ve titreşim bilgileri dahil olmak üzere mevcut araç hakkında bilgileri görüntüleyebileceğiniz çok sekmeli bir widgettır. +The instrument panel displays telemetry information about the current vehicle. -The default page displays vehicle telemetry - use the drop down menu on the top right to select the other options. +![Bilgi Paneli - değerler ve telemetri için](../../../assets/fly/instrument_page_values.jpg) -### Değerler (Telemetri) +The default values include altitude (relative to the home location), horizontal and vertical speed, total flight time, and distance between vehicle and ground station. -Değerler sayfası telemetri bilgilerini gösterir; varsayılan olarak rakım (ev konumuna göre) ve yer hızı. +You can configure where the information is displayed by hovering over the panel and selecting the left-side square tool. +This toggles the position of the panel between bottom centre and right-centre. -![Bilgi Paneli - değerler ve telemetri için](../../../assets/fly/instrument_page_values.jpg) +![Bilgi Paneli - Titreşim Klipsleri](../../../assets/fly/instrument_page_vibration.jpg) -Panelin sol üst köşesindeki küçük dişli simgesine basarak hangi bilgilerin görüntüleneceğini ayarlayabilirsiniz. Her değeri ister normal isterse "büyük" boyutta görüntülenebilir (normal boyutta sayfadaki her satırda 2 değer varken, büyük boyutta sadece 1 değer olur). +You configure what information is display by selecting the edit/pencil icon. +The grid will then display "+" and "-" icons that you can use to add or remove rows and columns (and the pencil icon is replaced by a "lock" icon that you can use to save the settings). -![Bilgi Paneli - değerlerin ayarları](../../../assets/fly/instrument_page_values_settings.jpg) +**[Bilgi Paneli](#instrument_panel):** Telemetri, kamera, video, sistem durumu ve titreşim dahil olmak üzere araç bilgilerini görüntüleyebileceğiniz çok sekmeli widget. -### Kamera {#camera_instrument_page} +Select a value to launch its "Value Display" editor. +This allows you to change the icon, text, size, units and so on of the current telemetry value. -Kamera sayfası, kamerayı ayarlamak ve kontrol etmek için kullanılır. Uçuş kontrolcüsüne direkt bağlı bir kamera için sadece kamerayı başlatma ayarı vardır: +![Bilgi Paneli - değerlerin ayarları](../../../assets/fly/instrument_page_values_settings.jpg) -![Bilgi Paneli - Kamera için](../../../assets/fly/instrument_page_camera.jpg) +The selection list on the top left is used to change the source of the telemetry. +By default this is the vehicle, but you can use the selector to choose a particular sensor type. -[MAVLink Camera Protocol](https://mavlink.io/en/services/camera.html)'ü destekleyen bir kameraya bağlandığınızda ek olarak geçerli hale gelen diğer kamera özelliklerini ayarlayıp kullanabilirsiniz. Örnek olarak, eğer kameranız video modunu destekliyorsa, fotoğraf ve video modları arasında geçiş yapabilir, kaydı başlatıp/durdurabilirsiniz. +![Bilgi Paneli - Cihazın Durumu İyi](../../../assets/fly/instrument_page_health_good.jpg) ![Bilgi Paneli - Cihazın Durumu Kötü](../../../assets/fly/instrument_page_health_bad.jpg) -![Bilgi Paneli - Kameranın MAVLink ayarları](../../../assets/fly/instrument_page_camera_mavlink.jpg) +The selection list on the top right is used to select a particular telemetry value for the vehicle or sensor. -Gelişmiş ayarlara sayfanın sol üstündeki dişliye tıklayarak ulaşabilirsiniz. +Aracı devre dışı bırakmak için araç **landed** halindeyken _Fly Toolbar_ 'dan **Armed**'ı seçin. -![Bilgi Paneli - Kameranın MAVLink ayarları](../../../assets/fly/instrument_page_camera_mavlink_settings.jpg) +### Kamera {#camera\_instrument\_page} -::: info -Gösterilen ayarların çoğu kameraya bağlıdır (ayarlar [MAVLink Camera Definition File](https://mavlink.io/en/services/camera_def.html)'da tanımlanmıştır). Sondaki bir kaç ortak ayar sabit olarak kodlanmıştır: Fotoğraf Modu (Tekli/Photolapse), Fotoğraf Aralığı (Timelapse için), Kamera Ayarlarını Varsayılana Sıfırla (kameraya bir sıfırlama komutu gönderir), Format (depolama) -::: +Kamera sayfası, kamerayı ayarlamak ve kontrol etmek için kullanılır. -### Video Akışı {#video_instrument_page} +![Bilgi Paneli - Kamera için](../../../assets/fly/instrument_page_camera.jpg) -Video sayfası video akışını etkinleştirmek ve devre dışı bırakmak için kullanılır. Etkinleştirildiğinde, video akışını durdurup başlatabilir, ızgara çizgilerini açabilir, görüntünün ekrana nasıl sığacağını değiştirebilir ve videoyu yerel olarak QGC ile kaydedebilirsiniz. +The camera capture and configuration options depend on the connected camera. +The configuration options are selected using the panel gear icon. +The configuration for a simple autopilot-connected camera are shown below. -![Bilgi Paneli - Video Akışı](../../../assets/fly/instrument_page_video_stream.jpg) +![Bilgi Paneli - Kameranın MAVLink ayarları](../../../assets/fly/instrument_page_camera_mavlink.jpg) -### Durum +[MAVLink Camera Protocol](https://mavlink.io/en/services/camera.html)'ü destekleyen bir kameraya bağlandığınızda ek olarak geçerli hale gelen diğer kamera özelliklerini ayarlayıp kullanabilirsiniz. +Örnek olarak, eğer kameranız video modunu destekliyorsa, fotoğraf ve video modları arasında geçiş yapabilir, kaydı başlatıp/durdurabilirsiniz. -Durum sayfası aracınızdaki sistemin durumunu gösterir. _QGroundControl_ will switch to this page automatically if any system changes to unhealthy. +![Bilgi Paneli - Kameranın MAVLink ayarları](../../../assets/fly/instrument_page_camera_mavlink.jpg) -![Bilgi Paneli - Cihazın Durumu İyi](../../../assets/fly/instrument_page_health_good.jpg) ![Bilgi Paneli - Cihazın Durumu Kötü](../../../assets/fly/instrument_page_health_bad.jpg) +::: info +Most of the settings that are displayed depend on the camera (they are defined in its [MAVLink Camera Definition File](https://mavlink.io/en/services/camera_def.html)). -### Titreşim +> Sondaki bir kaç ortak ayar sabit olarak kodlanmıştır: Fotoğraf Modu (Tekli/Photolapse), Fotoğraf Aralığı (Timelapse için), Kamera Ayarlarını Varsayılana Sıfırla (kameraya bir sıfırlama komutu gönderir), Format (depolama) -Titreşim sayfası mevcut titreşim seviyelerini ve klips sayılarını gösterir. +### Video Akışı {#video\_instrument\_page} -![Bilgi Paneli - Titreşim Klipsleri](../../../assets/fly/instrument_page_vibration.jpg) +Video sayfası video akışını etkinleştirmek ve devre dışı bırakmak için kullanılır. +Etkinleştirildiğinde, video akışını durdurup başlatabilir, ızgara çizgilerini açabilir, görüntünün ekrana nasıl sığacağını değiştirebilir ve videoyu yerel olarak QGC ile kaydedebilirsiniz. + +![Bilgi Paneli - Video Akışı](../../../assets/fly/instrument_page_video_stream.jpg) ## İşlemler/Görevler Aşağıdaki bölümler, Uçuş Ekranı'nda genel işlemlerin / görevlerin nasıl gerçekleştirileceğini açıklamaktadır. -::: info Mevcut seçeneklerin çoğu, hem aracın türüne hem de mevcut durumuna bağlıdır. ::: -### Uçuş Öncesi Kontrol Listesi {#preflight_checklist} +### Uçuş Öncesi Kontrol Listesi {#preflight\_checklist} Aracın doğru ayarlandığını ve uçmak için güvenli olduğu gösteren standart kontrollerin yapılması için otomatik bir uçuş öncesi kontrol listesi kullanılabilir. -To view the checklist, first enable the tool by navigating to [Application Settings > General > Fly View](../settings_view/general.md) and selecting the **Use preflight checklist** checkbox. Liste _Flight Tools_'a eklenecektir. Kontrol listesini oradan açabilirsiniz: +To view the checklist, first enable the tool by navigating to [Application Settings > General > Fly View](../settings_view/general.md) and selecting the **Use preflight checklist** checkbox. +Liste _Flight Tools_'a eklenecektir. +Kontrol listesini oradan açabilirsiniz: ![Uçuş Öncesi Kontrol Listesi](../../../assets/fly/pre_flight_checklist.jpg) Once you have performed each test, select it on the UI to mark it as complete. -### Aracı Devreye Alma {#arm} +### Arming and Preflight Checks {#arm} + +Bir aracı devreye almak, kalkışa hazırlık için motorları çalıştırır. +You will only be able to arm the vehicle if it is safe and ready to fly. -::: tip -Genel olarak _ QGroundControl _ aracı manuel olarak devreye almanızı gerektirmez; Bir göreve veya kalkışa başlarsanız bu sizin için yapılır. +:::tip +Genel olarak \_ QGroundControl \_ aracı manuel olarak devreye almanızı gerektirmez; Bir göreve veya kalkışa başlarsanız bu sizin için yapılır. ::: -Bir aracı devreye almak, kalkışa hazırlık için motorları çalıştırır. +The vehicle is ready to fly in all modes if the status text says "Ready to Fly" and the background is green. + +![Vehicle state - ready to fly green/ready background](../../../assets/fly/vehicle_states/ready_to_fly_ok.png) + +If the background is amber then it is ready to take off in the current mode, but may not be able to switch to other modes. +If the background is red and the text is "Not Ready" then you will not be able to arm in the current mode. + +![Vehicle state - ready to fly amber/warning background](../../../assets/fly/vehicle_states/ready_to_fly_warning.png) +![Vehicle state - not ready](../../../assets/fly/vehicle_states/not_ready.png) + +From QGC 4.2.0 (at time of writing, a daily build) you can find out the exact cause of the warning or error, and possible solutions, by pushing the status text. + +This launches the preflight arming checks popup with a list of all preflight warnings. +The toggle on the right expands each error with additional information and possible solutions. -Aracı devreye almak için, _Fly Toolbar_'dan **Disarmed**'ı seçin ve kaydırmalı onay butonuyla onaylayın. +![UI To check arming warnings](../../../assets/fly/vehicle_states/arming_preflight_check_ui.png) + +Once each issue is resolved it will disappear from the UI. +When all issues blocking arming have been removed you can use the arm button to display the arming confirmation slider, and arm the vehicle (or you can just take off - note that the vehicles will (by default) disarm automatically if you do not take off after a few seconds. ![Aracı Devreye Alma](../../../assets/fly/arm.jpg) ::: info -Eğer bir kaç saniye içinde kalkmazlarsa araçlar genellikle otomatik olarak kendilerini devre dışı bırakırlar. -::: +The status text also displays when flying. + +> ![Vehicle state - armed](../../../assets/fly/vehicle_states/armed.png) > ![Vehicle state - flying](../../../assets/fly/vehicle_states/flying.png) +> +> The arming checks UI will open even when flying, allowing you to emergency disarm. +> ::: ### Aracı Devre Dışı Bırakma {#disarm} -Aracı devre dışı bırakmak motorları durdurur (aracı güvenli hale getirir). Aracı devre dışı bırakmak için araç **landed** halindeyken _Fly Toolbar_ 'dan **Armed**'ı seçin. +Aracı devre dışı bırakmak motorları durdurur (aracı güvenli hale getirir). + +Generally you do not need to explicitly disarm as vehicles will disarm automatically after landing, or shortly after arming if you do not take off. + +If needed, you can do so from the Arming Preflight Checks UI. + +Aracın uçuşa hazır olma durumunu değiştirmek için _Armed/Disarmed_ metnine tıklayın. + +You will then need to use the disarming slider. ![Aracı Devre Dışı Bırakma](../../../assets/fly/disarm.jpg) -::: info Aracı uçarken devre dışı bırakmak [Emergency Stop](#emergency_stop) olarak adlandırılır -::: -### Acil Durdurma {#emergency_stop} +### Acil Durdurma {#emergency\_stop} -Emergency stop is effectively the same as disarming the vehicle while it is flying. Aracınız çarpacaktır/çakılacaktır! +Emergency stop is effectively the same as disarming the vehicle while it is flying. +Aracınız çarpacaktır/çakılacaktır! + +If needed, you can do so from the Arming Preflight Checks UI. Aracı devre dışı bırakmak için uçuş sırasında _Fly Toolbar_'dan **Armed**'ı seçin. +You will then need to use the emergency disarming slider. + ![Acil Durdurma](../../../assets/fly/emergency_stop.jpg) ### Kalkış {#takeoff} -::: tip +:::tip If you are starting a mission for a multicopter, _QGroundControl_ will automatically perform the takeoff step. ::: Kalkmak için (iniş yapıldığında): -1. _Fly Tools_'dan **Takeoff** butonuna basın (kalkıştan sonra bu buton **Land** butonu olarak değişecektir). +1. _Fly Tools_'dan **Land** butonuna basın (kalkıştan sonra bu buton **Takeoff** butonu olarak değişecektir). 2. İsterseniz kalkış yüksekliğini sağda bulunan dikey kaydırıcıyla ayarlayabilirsiniz. -3. Kaydırmalı onay butonunu kaydırarak kalkışı onaylayın. +3. Confirm takeoff using the slider. ![kalkış](../../../assets/fly/takeoff.jpg) @@ -160,8 +215,8 @@ Kalkmak için (iniş yapıldığında): Uçuş sırasında istediğiniz zaman mevcut konuma inebilirsiniz: -1. _Fly Tools_'dan **Land** butonuna basın (kalkıştan sonra bu buton **Takeoff** butonu olarak değişecektir). -2. Kaydırmalı onay butonunu kaydırarak inişi onaylayın. +1. _Fly Tools_'dan **Takeoff** butonuna basın (kalkıştan sonra bu buton **Land** butonu olarak değişecektir). +2. Confirm landing using the slider. ![iniş](../../../assets/fly/land.jpg) @@ -170,28 +225,31 @@ Uçuş sırasında istediğiniz zaman mevcut konuma inebilirsiniz: Return to a "safe point" at any time while flying: 1. _Fly Tools_'dan **RTL** butonuna basın. -2. Kaydırmalı onay butonunu kaydırarak RTL'i onaylayın. +2. Confirm RTL using the slider. ![rtl](../../../assets/fly/rtl.jpg) -::: info -Vehicles commonly return to the "home" (takeoff) location and land. This behaviour depends on the vehicle type and configuration. For example, rally points or mission landings may be used as alternative return targets. +:::info +Vehicles commonly return to the "home" (takeoff) location and land. +This behaviour depends on the vehicle type and configuration. +For example, rally points or mission landings may be used as alternative return targets. ::: -### Yükleklik Değiştirme {#change_altitude} +### Yükleklik Değiştirme {#change\_altitude} Uçuş esnasında eğer bir görevde değilse aracın yükseliği değiştirilebilir: 1. _Fly Tools_'dan **Action** butonuna basın + 2. İletişim kutusundan _Change Altitude_'ı seçin. -![Göreve Devam Etme/Yüksekliği Değiştirme ](../../../assets/fly/continue_mission_change_altitude_action.jpg) + ![Göreve Devam Etme/Yüksekliği Değiştirme ](../../../assets/fly/continue_mission_change_altitude_action.jpg) 3. Dikey kaydırıcıyla istenilen yüksekliği ayarlayın, ardından kaydırmalı onay butonu ile onaylayın. -![Yüksekliği Değiştirme](../../../assets/fly/change_altitude.jpg) + ![Yüksekliği Değiştirme](../../../assets/fly/change_altitude.jpg) -### Hedef Konum {#goto} +### Goto Location {#goto} Kalkıştan sonra belirli bir konuma uçmayı ayarlayabilirsiniz. @@ -199,13 +257,13 @@ Kalkıştan sonra belirli bir konuma uçmayı ayarlayabilirsiniz. ![Hedefe gitme veya yörünge](../../../assets/fly/goto_or_orbit.jpg) -2. Konum harita üzerinde kaydırmalı onay butonuyla birlikte gözükecektir. +1. Konum harita üzerinde kaydırmalı onay butonuyla birlikte gözükecektir. -![Hedefe gitme onayı](../../../assets/fly/goto.jpg) + ![Hedefe gitme onayı](../../../assets/fly/goto.jpg) -3. Hazır olduğunuzda kaydırarak onay verin (ya da **X**'e basarak iptal edin). +2. Hazır olduğunuzda kaydırarak onay verin (ya da **X**'e basarak iptal edin). -::: info +:::info Hedef konum aracın 1 km çevresinde seçilmelidir (QGC'de sabit olarak ayarlanmıştır). ::: @@ -217,20 +275,21 @@ Kalkıştan sonra belirli bir konumun çevresinde yörüngede dolaşmasını aya ![Hedefe gitme veya yörünge](../../../assets/fly/goto_or_orbit.jpg) -2. Önerile yörünge kaydırmalı onay butonu ile harita üzerinde belirecektir. +1. Önerile yörünge kaydırmalı onay butonu ile harita üzerinde belirecektir. -![Yörünge Onayı](../../../assets/fly/orbit.jpg) + ![Yörünge Onayı](../../../assets/fly/orbit.jpg) -- Yörüngenin konumunu değiştirmek için merkezini seçin ve kaydırın. -- Yörüngenin yarıçapını, çemberin dışındaki noktayı seçip sürükleyerek ayarlayabilirsiniz. + - Yörüngenin konumunu değiştirmek için merkezini seçin ve kaydırın. + - Yörüngenin yarıçapını, çemberin dışındaki noktayı seçip sürükleyerek ayarlayabilirsiniz. -3. Hazır olduğunuzda kaydırarak onay verin (ya da **X**'e basarak iptal edin). +2. Hazır olduğunuzda kaydırarak onay verin (ya da **X**'e basarak iptal edin). -### Duraklatma +### Pause -You can pause most operations, including taking off, landing, RTL, mission execution, orbit at location. Duraklatıldığında aracın davranışı aracın tipine bağlıdır, genellikle multikopterler havada asılı kalırken sabit kanatlar çember çizer. +You can pause most operations, including taking off, landing, RTL, mission execution, orbit at location. +Duraklatıldığında aracın davranışı aracın tipine bağlıdır, genellikle multikopterler havada asılı kalırken sabit kanatlar çember çizer. -::: info +:::info Bir _Goto location_ operasyonunu durduramazsınız. ::: @@ -238,104 +297,114 @@ Durdurmak için: 1. _Fly Tools_'dan **Pause** butonuna basın. 2. İsterseniz yeni bir yüksekliği sağda bulunan dikey kaydırıcıyla ayarlayabilirsiniz. -3. Kaydırmalı onay butonunu kaydırarak durdurmayı onaylayın. +3. Confirm the pause using the slider. ![duraklatma](../../../assets/fly/pause.jpg) ### Görevler -#### Görevi Başlatma {#start_mission} +#### Görevi Başlatma {#start\_mission} Araç inmiş durumdayken bir görevi başlatabilirsiniz (görevi başlatma onay kaydıracı varsayılan olarak çoğu kez gösterilir). Yerdeki bir aracın görevini başlatmak için: 1. _Fly Tools_'dan **Action** butonuna basın -2. İletişim kutusundan _Start Mission_'ı seçin. -![Görevi Başlatma Eylemi](../../../assets/fly/start_mission_action.jpg) +2. İletişim kutusundan _Start Mission_'ı seçin. - (kaydırmalı onay çubuğunu görüntülemek için) + ![Görevi Başlatma Eylemi](../../../assets/fly/start_mission_action.jpg) + (kaydırmalı onay çubuğunu görüntülemek için) 3. Onay kaydıracı belirdiğinde görevi başlatmak için kaydırın. -![Görevi Başlatma](../../../assets/fly/start_mission.jpg) + ![Görevi Başlatma](../../../assets/fly/start_mission.jpg) -#### Göreve Devam Etme (Continue Mission) {#continue_mission} +#### Göreve Devam Etme (Continue Mission) {#continue\_mission} Göreve _sıradaki_ hedef noktanızdan _devam_ edebilirsiniz (_Continue Mission_ kaydırmalı onay butonu kalkıştan sonra çoğu kez varsayılan olarak gösterilir). -::: info -Continue ve [Resume mission](#resume_mission) farklıdır! Continue komutu durdurulmuş bir görevi tekrar başlatmak veya zaten kalkmış bir araç için yani kalkış görevi komutunu kaçırmış durumdaysanız kullanılır. Resume mission is used when you've used a RTL or landed midway through a mission (e.g. for a battery change) and then wish to continue the next mission item (i.e. it takes you to where you were up to in the mission, rather than continuing from your place in the mission). +:::info +Continue ve [Resume mission](#resume_mission) farklıdır! +Continue komutu durdurulmuş bir görevi tekrar başlatmak veya zaten kalkmış bir araç için yani kalkış görevi komutunu kaçırmış durumdaysanız kullanılır. +Resume mission is used when you've used a RTL or landed midway through a mission (e.g. for a battery change) and then wish to continue the next mission item (i.e. it takes you to where you were up to in the mission, rather than continuing from your place in the mission). ::: Görevinize aşağıdakileri yaparak devam edebilirsiniz (hali hazırda bir görevde değilseniz!): 1. _Fly Tools_'dan **Action** butonuna basın + 2. İletişim kutusundan _Continue Mission_'ı seçin. -![Göreve Devam Etme/Yüksekliği Değiştirme](../../../assets/fly/continue_mission_change_altitude_action.jpg) + ![Göreve Devam Etme/Yüksekliği Değiştirme](../../../assets/fly/continue_mission_change_altitude_action.jpg) 3. Kaydırmalı onay butonunu kaydırarak göreve devam edin. -![Göreve Devam Etme (Continue Mission)](../../../assets/fly/continue_mission.jpg) + ![Göreve Devam Etme (Continue Mission)](../../../assets/fly/continue_mission.jpg) -#### Göreve Devam Etme (Resume Mission) {#resume_mission} +#### Göreve Devam Etme (Resume Mission) {#resume\_mission} _Resume Mission_, bir görevin içinde [RTL/Return](#rtl) ya da [Land](#land) gerçekleştirdikten sonra (ör. batarya değiştirmek için) kullanılır. -::: info -Eğer bataryayı değiştiricekseniz, bataryanın bağlantısını kestikten sonra QGC ile aracın bağlantısını **kesmeyin**. Yeni bataryayı yerleştirdikten sonra _QGroundControl_ cihazı tekrar tespit edip, bağlantıyı otomatik olarak yeniden kuracaktır. +:::info +Eğer bataryayı değiştiricekseniz, bataryanın bağlantısını kestikten sonra QGC ile aracın bağlantısını **kesmeyin**. +Yeni bataryayı yerleştirdikten sonra _QGroundControl_ cihazı tekrar tespit edip, bağlantıyı otomatik olarak yeniden kuracaktır. ::: İnişten sonra size görev planını cihazdan kaldırma, cihazda bırakma ya da göreve kaldığı yerden devam etme seçeneklerini sunan bir _Flight Plan complete_ iletişim kutusu karşınıza çıkacaktır. ![Göreve Devam Etme (Resume Mission)](../../../assets/fly/resume_mission.jpg) -Eğer göreve devam etmeyi düşünüyorsanız, _QGroundControl_ görevi yapılandırıp araca yükleyecektir. Ardından _Start Mission_ kaydıracıyla göreve devam edebilirsiniz. +If you select to resume the mission, then _QGroundControl_ will rebuild the mission and upload it to the vehicle. +Ardından _Start Mission_ kaydıracıyla göreve devam edebilirsiniz. Aşağıdaki görüntü inişten sonra yeniden yapılandırılan bir görevi göstermektedir. ![Yapılandırılmış Göreve Devam Etme](../../../assets/fly/resume_mission_rebuilt.jpg) -::: info -Bir görev, basit bir şekilde aracın son gerçekleştirdiği görev aşamasından devam edemez, çünkü son yapılan aşamada görevin sonraki aşamalarına etki edebilecek birden fazla etken olabilir (ör. hız komutları ya da kameranın kontrol komutları). Basit bir şekilde devam etmek yerine, _QGroundControl_ son gerçekleştirilen görev aşamasından başlayarak, ilgili komutları da dikkate alarak görevi tekrar yapılandırır. +:::info +Bir görev, basit bir şekilde aracın son gerçekleştirdiği görev aşamasından devam edemez, çünkü son yapılan aşamada görevin sonraki aşamalarına etki edebilecek birden fazla etken olabilir (ör. hız komutları ya da kameranın kontrol komutları). +Basit bir şekilde devam etmek yerine, _QGroundControl_ son gerçekleştirilen görev aşamasından başlayarak, ilgili komutları da dikkate alarak görevi tekrar yapılandırır. ::: -#### İnişten Sonra Görevi Kaldırma {#resume_mission_prompt} +#### İnişten Sonra Görevi Kaldırma {#resume\_mission\_prompt} -Görev bittikten sonra aracın inişi ve devre dışı bırakılmasının ardından görevi araçtan kaldırmanız istenecektir. Bunun amacı farkında olmadan araçta bırakılan görevlerin potansiyel olarak beklenmeyen davranışlar sergilemesinin önüne geçmektir. +Görev bittikten sonra aracın inişi ve devre dışı bırakılmasının ardından görevi araçtan kaldırmanız istenecektir. +This is meant to prevent issues where stale missions are unknowingly left on a vehicle, potentially resulting in unexpected behavior. -### Videoyu Görüntüleme {#video_switcher} +### Videoyu Görüntüleme {#video\_switcher} -Video akışı etkinleştirildiğinde, _QGroundControl_ haritanın sol altında bulunan "videoya geçiş penceresi"nde videoyu göstermeye başlıyacaktır. You can press the switcher anywhere to toggle _Video_ and _Map_ to foreground (in the image below, the video is shown in the foreground). +Video akışı etkinleştirildiğinde, _QGroundControl_ haritanın sol altında bulunan "videoya geçiş penceresi"nde videoyu göstermeye başlıyacaktır. +You can press the switcher anywhere to toggle _Video_ and _Map_ to foreground (in the image below, the video is shown in the foreground). ![Video Akışı Kaydı](../../../assets/fly/video_record.jpg) -::: info +:::info video akışı [Application Settings > General tab > Video](../settings_view/general.md#video)'dan etkinleştirilebilir/düzenlenebilir. ::: Video görüntüsünü geçiş penceresindeki kontrolleri kullanararak daha da düzenleyebilirsiniz: - ![Video Pop](../../../assets/fly/video_pop.jpg) +![Video Pop](../../../assets/fly/video_pop.jpg) - Resize the switcher by dragging the icon in the top right corner. -- Geçiş penceresini sol alt köşede bulunan ikona basarak gizleyebilirsiniz. -- Sol üst köşedeki ikona basarak video geçiş pencersini ayırabilirsiniz. (ayrıldığında, işletim sisteminizdeki her hangi bir pencere gibi hareket ettirip tekrar boyutlandırabilirsiniz). Eğer ayrılan pencereyi kapatırsanız, geçiş penceresi tekrardan QGC uçuş görünüme sabitlenecektir. +- Hide the switcher by pressing the toggle icon in the lower left. +- Sol üst köşedeki ikona basarak video geçiş pencersini ayırabilirsiniz. (ayrıldığında, işletim sisteminizdeki her hangi bir pencere gibi hareket ettirip tekrar boyutlandırabilirsiniz). + Eğer ayrılan pencereyi kapatırsanız, geçiş penceresi tekrardan QGC uçuş görünüme sabitlenecektir. ### Video Kaydı Eğer araç ve kamera tarafından destekleniyorsa, _QGroundControl_ kendiliğinden video kaydını başlatıp durdurabilirsiniz. Ayrıca _QGroundControl_ videoyu yayınlayıp, yerel dosyalara kaydedebilir. -::: tip +:::tip Kameranın kendisinde kaydedilen video daha kaliteli olacak olsa da, yüksek ihtimalle yer istasyonunun daha büyük kayıt kapasitesi olacaktır. ::: #### Video Akışını Kaydetme (GCS'de) -Video akışı kaydı [video stream instrument page](#video_instrument_page)'dan kontrol edilir. Yeni bir video kaydı başlatmak için kırmızı daireye tıklayın (daireye her tıklanıldığında yeni bir video dosyası oluşturulur); kayıt devam ederken çember kırmızı bir kareye dönüşecektir. +Video akışı kaydı [video stream instrument page](#video_instrument_page)'dan kontrol edilir. +Yeni bir video kaydı başlatmak için kırmızı daireye tıklayın (daireye her tıklanıldığında yeni bir video dosyası oluşturulur); kayıt devam ederken çember kırmızı bir kareye dönüşecektir. ![Video Akışı Kaydı](../../../assets/fly/video_record.jpg) @@ -344,17 +413,20 @@ Video akışı kaydı [Application Settings > General tab](../settings_view/gene - [Video Recording](../settings_view/general.md#video-recording) - kayıt dosyası formatını ve depolama sınırlarını belirtir. ::: info - Videolar varsayılan olarak Matroska format (.mkv) olarak kaydedilir. Bu format, hata durumunda bozulmaya karşı nispeten dayanıklıdır. + Videolar varsayılan olarak Matroska format (.mkv) olarak kaydedilir. + Bu format, hata durumunda bozulmaya karşı nispeten dayanıklıdır. ::: - [Miscellaneous](../settings_view/general.md#miscellaneous) - Video **Application Load/Save Path**'e kaydedilir. -::: tip -Kaydedilen video, sadece video akışının kendisini içerir. QGroundControl uygulamasının öğeleriyle videoyu kaydetmek için başka bir ekran kaydı uygulaması kullanmanız gerekir. +:::tip +Kaydedilen video, sadece video akışının kendisini içerir. +QGroundControl uygulamasının öğeleriyle videoyu kaydetmek için başka bir ekran kaydı uygulaması kullanmanız gerekir. ::: #### Videoyu Kamerada Kaydetme -_Kameranın kendisinde_ video kaydını durdurup/başlatmak için [camera instrument page](#camera_instrument_page)'i kullanabilirsiniz. İlk olarak video moduna geçiş yapın, ardından kırmızı butona basarak kaydı başlatabilirsiniz. +_Kameranın kendisinde_ video kaydını durdurup/başlatmak için [camera instrument page](#camera_instrument_page)'i kullanabilirsiniz. +İlk olarak video moduna geçiş yapın, ardından kırmızı butona basarak kaydı başlatabilirsiniz. -![Bilgi Paneli - Kameranın MAVLink ayarları](../../../assets/fly/instrument_page_camera_mavlink.jpg) +![Bilgi Paneli - Kameranın MAVLink ayarları](../../../assets/fly/instrument_page_camera_mavlink_settings.jpg) diff --git a/docs/tr/qgc-user-guide/fly_view/replay_flight_data.md b/docs/tr/qgc-user-guide/fly_view/replay_flight_data.md index 2a0b85f8fec..da963351c78 100644 --- a/docs/tr/qgc-user-guide/fly_view/replay_flight_data.md +++ b/docs/tr/qgc-user-guide/fly_view/replay_flight_data.md @@ -1,32 +1,40 @@ # Uçuş Verilerini Yeniden Oynat -::: warning -Bu özellik, öncelikle ** otopilot geliştiricileri ** / ** araç tasarlayıcıları ** için tasarlanmıştır. Bu özellik, sadece bilgisayar sürümlerinde desteklenmektedir (Windows, Linux, Mac OS). +:::warning +Bu özellik, öncelikle \*\* otopilot geliştiricileri \*\* / \*\* araç tasarlayıcıları \*\* için tasarlanmıştır. +Bu özellik, sadece bilgisayar sürümlerinde desteklenmektedir (Windows, Linux, Mac OS). ::: -The _Replay Flight Data_ feature allows users to replay a telemetry log, enabling review of past or problematic flights. Uçuş başlatılabilir, duraklatılabilir, durdurulabilir, yeniden başlatılabilir vb. +The _Replay Flight Data_ feature allows users to replay a telemetry log, enabling review of past or problematic flights. +Uçuş başlatılabilir, duraklatılabilir, durdurulabilir, yeniden başlatılabilir vb. -::: info -_QGroundControl_ uçuş tekrarını aktif bir bağlantı gibi görür. Oynatmayı duraklattığınızda / durdurduğunuzda, yer istasyonu "İletişim Kaybı" olarak rapor edecek ve bağlantının kesilmesini veya daha fazla komut bekleyecektir. +:::info +_QGroundControl_ uçuş tekrarını aktif bir bağlantı gibi görür. +Oynatmayı duraklattığınızda / durdurduğunuzda, yer istasyonu "İletişim Kaybı" olarak rapor edecek ve bağlantının kesilmesini veya daha fazla komut bekleyecektir. ::: Bir uçuşu tekrar etmek için: 1. Tüm aktif bağlantıları kesin. -1. **Application Settings > General > Fly View**'i seçin -1. Ekranın altında uçuşu tekrar oynat butonunu görebilmek için **Show Telemetry Log Replay Status Bar**'ı işaretleyin. + +2. **Application Settings > General > Fly View**'i seçin + +3. Ekranın altında uçuşu tekrar oynat butonunu görebilmek için **Show Telemetry Log Replay Status Bar**'ı işaretleyin. ![Uçuş Tekrarını Aç / Kapat](../../../assets/fly/flight_replay/flight_replay_toggle.jpg) -1. _file selection_ seçeneğine erişmek için **Load Telemetry Log**'a tıklayın. +4. _file selection_ seçeneğine erişmek için **Load Telemetry Log**'a tıklayın. - Tekrar oynatılması için uygun telemetri kayıtlarından bir kayıt dosyası seçin. - - - QGroundControl \*, kayıtı hemen oynatmaya başlar. -1. Bir kayıt yüklendiğinde şunları kullanabilirsiniz: + - QGroundControl \*, kayıtı hemen oynatmaya başlar. + +5. Bir kayıt yüklendiğinde şunları kullanabilirsiniz: - Oynatmayı durdurmak ve yeniden başlatmak için **Pause/Play** butonuna basın. - Kayıtta yeni bir konuma ilerlemek için _Slider_. - _Rate_ selector to choose the playback speed. -1. To stop replay (i.e. to load a new file to replay), first pause the flight, and then select **Disconnect** (when it appears). After disconnecting, the **Load Telemetry Log** button will be displayed. -::: tip +6. To stop replay (i.e. to load a new file to replay), first pause the flight, and then select **Disconnect** (when it appears). + After disconnecting, the **Load Telemetry Log** button will be displayed. + +:::tip [ MAVLink Inspector ](../analyze_view/mavlink_inspector.md) 'ı kullanarak devam eden tekrarı daha ayrıntılı olarak inceleyebilirsiniz. ::: diff --git a/docs/tr/qgc-user-guide/fly_view/video_overlay.md b/docs/tr/qgc-user-guide/fly_view/video_overlay.md index 0cdc90de74e..a35f0aa0686 100644 --- a/docs/tr/qgc-user-guide/fly_view/video_overlay.md +++ b/docs/tr/qgc-user-guide/fly_view/video_overlay.md @@ -4,21 +4,26 @@ When QGroundControl is recording a video stream to a file, it will also export a ![Değerler Widgetı](../../../assets/fly/overlay_widget.png) -Seçilen değerler ekran kullanımını optimize etmek için 3 sütun halinde düzenlenmiştir. ![İşlemde Overlay](../../../assets/fly/overlay_capture.png) +Seçilen değerler ekran kullanımını optimize etmek için 3 sütun halinde düzenlenmiştir. +![İşlemde Overlay](../../../assets/fly/overlay_capture.png) ## Oynatma -Overlay, [SubStation Alpha](https://en.wikipedia.org/wiki/SubStation_Alpha#Players_and_renderers) altyazı formatını destekleyen tüm oynatıcılarla birlikte kullanılabilir. Çoğu oynatıcı videoyu oynatmayı denediğinizde iki dosyayı birden açacaktır. QGC tarafından oluşturuldukları gibi, iki dosyanında aynı dosyada aynı isimle olması gerekmektedir. +Overlay, [SubStation Alpha](https://en.wikipedia.org/wiki/SubStation_Alpha#Players_and_renderers) altyazı formatını destekleyen tüm oynatıcılarla birlikte kullanılabilir. +Çoğu oynatıcı videoyu oynatmayı denediğinizde iki dosyayı birden açacaktır. QGC tarafından oluşturuldukları gibi, iki dosyanında aynı dosyada aynı isimle olması gerekmektedir. ## Handbrake'i Kullanarak Kalıcı Video Altyazıları -Altyazılar [HandBrake](https://handbrake.fr/)'i kullanarak kalıcı olarak video dosyalarına eklenebilir. Bu, altyazıları tüm oynatıcılar için kalıcı olarak görünür yapacaktır. +Altyazılar [HandBrake](https://handbrake.fr/)'i kullanarak kalıcı olarak video dosyalarına eklenebilir. +Bu, altyazıları tüm oynatıcılar için kalıcı olarak görünür yapacaktır. -**HandBrake**'i açın, ana arayüzünü göreceksiniz. **Open**'a tıklayın ve video dosyasını seçin. +**HandBrake**'i açın, ana arayüzünü göreceksiniz. +**Open**'a tıklayın ve video dosyasını seçin. ![video dosyasını nasıl açılacağını gösteren Handbrake Kullanıcı Arayüzü](../../../assets/fly/video_overlay/1-open.png) -Video dosyası yüklenirken, subtitles sekmesine geçin. Altyazı dosyasını yüklemek için **Add**'e tıklayın. +Video dosyası yüklenirken, subtitles sekmesine geçin. +Altyazı dosyasını yüklemek için **Add**'e tıklayın. ![altyazıların nasıl ekleneceğini gösteren Handbrake Kullanıcı Arayüzü ekran görüntüsü](../../../assets/fly/video_overlay/2-subtitles.png) diff --git a/docs/tr/qgc-user-guide/getting_started/download_and_install.md b/docs/tr/qgc-user-guide/getting_started/download_and_install.md index 49b55f76a36..9dc1aec2b73 100644 --- a/docs/tr/qgc-user-guide/getting_started/download_and_install.md +++ b/docs/tr/qgc-user-guide/getting_started/download_and_install.md @@ -2,13 +2,15 @@ The sections below can be used to download the [current stable release](../releases/release_notes.md) of _QGroundControl_ for each platform. -::: tip +:::tip See [Troubleshooting QGC Setup](../troubleshooting/qgc_setup.md) if _QGroundControl_ doesn't start and run properly after installation! ::: ## Sistem Gereksinimleri -QGC tüm güncel bilgisayar ya da mobil cihazlarda iyi bir şekilde çalışacaktır. Performansı sistem ortamına, 3. taraf uygulamalara ve mevcut sistem kaynaklarına bağlıdır. Daha yüksek kapasiteli donanım daha iyi bir deneyim sunacaktır. En az 8 Gb Ram'e, SSD'ye, Nvidia ya da AMD ekran kartına ve i5 veya daha iyi bir işlemciye sahip bir bilgisayar çoğu uygulama için yeterince iyi olacaktır. +QGC tüm güncel bilgisayar ya da mobil cihazlarda iyi bir şekilde çalışacaktır. taraf uygulamalara ve mevcut sistem kaynaklarına bağlıdır. +Daha yüksek kapasiteli donanım daha iyi bir deneyim sunacaktır. +En az 8 Gb Ram'e, SSD'ye, Nvidia ya da AMD ekran kartına ve i5 veya daha iyi bir işlemciye sahip bir bilgisayar çoğu uygulama için yeterince iyi olacaktır. En iyi deneyim ve uyumluluk için size işletim sisteminizin en yeni sürümünü kullanmanızı öneriyoruz. @@ -17,43 +19,48 @@ En iyi deneyim ve uyumluluk için size işletim sisteminizin en yeni sürümün _QGroundControl_ Windows'un 64 bit versiyonlarına kurulabilir: 1. Download [QGroundControl-installer.exe](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl-installer.exe). -2. Yükleyiciyi başlatmak için QGroundControl-installer. exe'ye çift tıklayın. +2. exe'ye çift tıklayın. -::: info -Windows kurulum programı 3 kısayol oluşturur: **QGroundControl**, **GPU Compatibility Mode**, **GPU Safe Mode**. Eğer başlatma veya video işleme sorunları yaşamıyorsanız ilk kısayolu kullanın. For more information see [Troubleshooting QGC Setup > Windows: UI Rendering/Video Driver Issues](../troubleshooting/qgc_setup.md#opengl_troubleshooting). +:::info +Windows kurulum programı 3 kısayol oluşturur: **QGroundControl**, **GPU Compatibility Mode**, **GPU Safe Mode**. +Eğer başlatma veya video işleme sorunları yaşamıyorsanız ilk kısayolu kullanın. +For more information see [Troubleshooting QGC Setup > Windows: UI Rendering/Video Driver Issues](../troubleshooting/qgc_setup.md#opengl_troubleshooting). ::: -::: info -4.0'dan itibaren önceki _QGroundControl_ sürümleri sadece 64 bittir. Manuel olarak 32 bit sürümler oluşturmak mümkündür (bu, geliştirici ekip tarafından desteklenmez). +:::info +4.0'dan itibaren önceki _QGroundControl_ sürümleri sadece 64 bittir. +Manuel olarak 32 bit sürümler oluşturmak mümkündür (bu, geliştirici ekip tarafından desteklenmez). ::: ## Mac OS X {#macOS} _QGroundControl_ can be installed on macOS 10.11 or later: + + 1. Download [QGroundControl.dmg](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.dmg). 2. .dmg dosyasına çift tıklayın, ardından çıkan ekranda _QGroundControl_'ü _Application_ dosyasına sürükleyin. - ::: info - QGroundControl imzasız olduğu için Catalina'da problem olmaya devam etmektedir. QGC uygulamasını ilk defa açmak için: - - - QGC uygulama ikonuna sağ tıklayın, menüden Aç'ı seçin. Karşınıza yalnızca İptal Et seçeneği çıkacaktır. İptal Et'i seçin. - - QGC uygulama ikonuna tekrar sağ tıklayın, menüden Aç'ı seçin. Bu sefer Aç seçeneği de size sunulacaktır. +::: info +QGroundControl continues to not be signed which causes problem on Catalina. To open QGC app for the first time: - ::: +- QGC uygulama ikonuna sağ tıklayın, menüden Aç'ı seçin. Karşınıza yalnızca İptal Et seçeneği çıkacaktır. İptal Et'i seçin. +- QGC uygulama ikonuna tekrar sağ tıklayın, menüden Aç'ı seçin. Bu sefer Aç seçeneği de size sunulacaktır. + ::: ## Ubuntu Linux {#ubuntu} _QGroundControl_ can be installed/run on Ubuntu LTS 20.04 (and later). -Ubuntu, bir seri bağlantı noktasının (veya USB serisinin) robotikle ilgili kullanımına müdahale eden bir seri modem yöneticisi ile birlikte gelir. _ QGroundControl _ 'ü kurmadan önce modem yöneticisini kaldırmalı ve seri bağlantı noktasına erişim için kendinize izin vermelisiniz. Ayrıca video akışını desteklemek için _ GStreamer _ 'ı da yüklemeniz gerekmektedir. +Ubuntu, bir seri bağlantı noktasının (veya USB serisinin) robotikle ilgili kullanımına müdahale eden bir seri modem yöneticisi ile birlikte gelir. +\_ QGroundControl \_ 'ü kurmadan önce modem yöneticisini kaldırmalı ve seri bağlantı noktasına erişim için kendinize izin vermelisiniz. +Ayrıca video akışını desteklemek için \_ GStreamer \_ 'ı da yüklemeniz gerekmektedir. -- QGroundControl \* 'ı ilk kez kurmadan önce: +QGroundControl \* 'ı ilk kez kurmadan önce: 1. On the command prompt enter: - ```sh sudo usermod -a -G dialout $USER sudo apt-get remove modemmanager -y @@ -61,25 +68,26 @@ Ubuntu, bir seri bağlantı noktasının (veya USB serisinin) robotikle ilgili k sudo apt install libqt5gui5 -y sudo apt install libfuse2 -y ``` - - 2. Logout and login again to enable the change to user permissions. -  _ QGroundControl _ yüklemek için: +  \_ QGroundControl \_ yüklemek için: 1. Download [QGroundControl.AppImage](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.AppImage). -2. Aşağıdaki terminal komutlarını kullanarak kurun (ve çalıştırın): - sh - chmod +x ./QGroundControl.AppImage - ./QGroundControl.AppImage (or double click) +2. Install (and run) using the terminal commands: + ```sh + Aşağıdaki terminal komutlarını kullanarak kurun (ve çalıştırın): + sh + chmod +x ./QGroundControl.AppImage + ./QGroundControl.AppImage (or double click) + ``` -::: info There are known [video steaming issues](../troubleshooting/qgc_setup.md#dual_vga) on Ubuntu 18.04 systems with dual adaptors. ::: -::: info -4.0'dan itibaren önceki _QGroundControl_ sürümleri Ubuntu 16.04'te çalıştırılamaz. Bu versiyonları Ubuntu 16.04'te çalıştırabilmek için [build QGroundControl from source without video libraries](https://dev.qgroundcontrol.com/en/getting_started/). +:::info +4.0'dan itibaren önceki _QGroundControl_ sürümleri Ubuntu 16.04'te çalıştırılamaz. +Bu versiyonları Ubuntu 16.04'te çalıştırabilmek için [build QGroundControl from source without video libraries](https://dev.qgroundcontrol.com/en/getting_started/). ::: ## Android {#android} diff --git a/docs/tr/qgc-user-guide/getting_started/quick_start.md b/docs/tr/qgc-user-guide/getting_started/quick_start.md index f7e3b603559..e9b24946d8e 100644 --- a/docs/tr/qgc-user-guide/getting_started/quick_start.md +++ b/docs/tr/qgc-user-guide/getting_started/quick_start.md @@ -17,7 +17,11 @@ _QGroundControl_'e alışmanın iyi bir yolu denemeye başlamaktır: - [Setup](../setup_view/setup_view.md): Aracınızı yapılandırın ve ayarlayın. - [Plan](../plan_view/plan_view.md): Otonom görevler oluşturun. - [Fly](../fly_view/fly_view.md): Video akışıyla birlikte araç(lar)ınızı uçarken izleyin. - - [Analyze] ** Description of Analyze view is missing ** + - \[Analyze] \*\* Description of Analyze view is missing \*\* - Bağlı aracın durumunu öğrenmek için araç çubuğundaki _Status icons_'a tıklayın. Kullanıcı arayüzü gayet açık olsa da, daha fazlasını öğrenmek için bu dokümantasyona başvurulabilir. + +:::info +Make sure QGC has an internet connection when you connect a new vehicle. This will allow it to get the latest parameter and other metadata for the vehicle, along with [translations](../settings_view/general.md#miscellaneous). +::: diff --git a/docs/tr/qgc-user-guide/index.md b/docs/tr/qgc-user-guide/index.md index 5f032168ce9..9a7b80beba3 100644 --- a/docs/tr/qgc-user-guide/index.md +++ b/docs/tr/qgc-user-guide/index.md @@ -1,8 +1,9 @@ # QGroundControl User Guide -[![Releases](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases) [![Discuss](https://img.shields.io/badge/discuss-px4-ff69b4.svg)](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-usage) [![Discuss](https://img.shields.io/badge/discuss-ardupilot-ff69b4.svg)](http://discuss.ardupilot.org/c/ground-control-software/qgroundcontrol) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mavlink/qgroundcontrol?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Slack](../../assets/site/slack.svg)](https://join.slack.com/t/px4/shared_invite/zt-si4xo5qs-R4baYFmMjlrT4rQK5yUnaA) +[![Releases](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases) [![Discuss](https://img.shields.io/badge/discuss-px4-ff69b4.svg)](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-usage) [![Discuss](https://img.shields.io/badge/discuss-ardupilot-ff69b4.svg)](http://discuss.ardupilot.org/c/ground-control-software/qgroundcontrol) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mavlink/qgroundcontrol?utm_source=badge\&utm_medium=badge\&utm_campaign=pr-badge\&utm_content=badge) [![Slack](../../assets/site/slack.svg)](https://join.slack.com/t/px4/shared_invite/zt-si4xo5qs-R4baYFmMjlrT4rQK5yUnaA) -_QGroundControl_ provides full flight control and vehicle setup for PX4 or ArduPilot powered vehicles. It provides easy and straightforward usage for beginners, while still delivering high end feature support for experienced users. +_QGroundControl_ provides full flight control and vehicle setup for PX4 or ArduPilot powered vehicles. +It provides easy and straightforward usage for beginners, while still delivering high end feature support for experienced users. **Key Features:** @@ -16,10 +17,11 @@ _QGroundControl_ provides full flight control and vehicle setup for PX4 or ArduP ![](../../assets/quickstart/connected_vehicle.jpg) -::: info -This guide is an active work in progress. The information provided should be correct, but you may find missing information or incomplete pages. +:::info +This guide is an active work in progress. +The information provided should be correct, but you may find missing information or incomplete pages. ::: -::: tip +:::tip Information about _QGroundControl_ development, architecture, contributing, and translating can be found in the [Developers Guide](https://dev.qgroundcontrol.com/en/). ::: diff --git a/docs/tr/qgc-user-guide/plan_view/pattern.md b/docs/tr/qgc-user-guide/plan_view/pattern.md index 2fe3c2b11a2..d68e1e8590d 100644 --- a/docs/tr/qgc-user-guide/plan_view/pattern.md +++ b/docs/tr/qgc-user-guide/plan_view/pattern.md @@ -1,14 +1,13 @@ # Şablon -_Pattern tools_ ([PlanView](../plan_view/plan_view.md) _Plan Tools_'un içindeki), karmaşık uçuş şablonlarını basit bir grafik kullanıcı arayüzü kullanarak özelleştirmenize olanak tanır. Uygun şablon araçları, araca (ve uçuş dizinindeki araç tipinin desteğine) bağlıdır. +_Pattern tools_ ([PlanView](../plan_view/plan_view.md) _Plan Tools_'un içindeki), karmaşık uçuş şablonlarını basit bir grafik kullanıcı arayüzü kullanarak özelleştirmenize olanak tanır. +Uygun şablon araçları, araca (ve uçuş dizinindeki araç tipinin desteğine) bağlıdır. ![Şablon Aracı (Plan Araçları)](../../../assets/plan/pattern/pattern_tool.jpg) -| Şablon | Tanım | Araçlar | -| ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ----------- | -| [Yüzey](../plan_view/pattern_survey.md) | Çok köşeli bir alan üstünde ızgara şeklinde bir uçuş şablonu oluşturun. | -| Alanı ve coğrafi etiketli görüntüler oluşturmak için uygun ızgara ve kamera ayarlarını belirleyebilirsiniz. | Tüm | -| [Yapı Taraması](../plan_view/pattern_structure_scan_v2.md) | Dikey yüzeyler üzerinde (çok köşeli ya da dairesel) görüntüler yakalayabilmek için ızgara şeklinde bir uçuş şablonu oluşturun. | -| These are typically used for the visual inspection or creation of 3D models of structures. | MultiCopter, VTOL | -| [Koridor Taraması](../plan_view/pattern_corridor_scan.md) | Çoklu çizgileri takip eden bir uçuş planı oluşturun (mesela, bir yolu gözlemlemek için). | Tüm | -| [Sabit Kanat İnişi](../plan_view/pattern_fixed_wing_landing.md) | Bir göreve sabit kanatlı araçlar için iniş yolu ekleyin. | Sabit Kanat | +| Şablon | Tanım | Araçlar | +| --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | +| [Yüzey](../plan_view/pattern_survey.md) | Çok köşeli bir alan üstünde ızgara şeklinde bir uçuş şablonu oluşturun. Alanı ve coğrafi etiketli görüntüler oluşturmak için uygun ızgara ve kamera ayarlarını belirleyebilirsiniz. | Tüm | +| [Yapı Taraması](../plan_view/pattern_structure_scan_v2.md) | Dikey yüzeyler üzerinde (çok köşeli ya da dairesel) görüntüler yakalayabilmek için ızgara şeklinde bir uçuş şablonu oluşturun. These are typically used for the visual inspection or creation of 3D models of structures. | MultiCopter, VTOL | +| [Koridor Taraması](../plan_view/pattern_corridor_scan.md) | Çoklu çizgileri takip eden bir uçuş planı oluşturun (mesela, bir yolu gözlemlemek için). | Tüm | +| [Sabit Kanat İnişi](../plan_view/pattern_fixed_wing_landing.md) | Bir göreve sabit kanatlı araçlar için iniş yolu ekleyin. | Fixed Wing | diff --git a/docs/tr/qgc-user-guide/plan_view/pattern_corridor_scan.md b/docs/tr/qgc-user-guide/plan_view/pattern_corridor_scan.md index 05025c4cf54..aa61878ecba 100644 --- a/docs/tr/qgc-user-guide/plan_view/pattern_corridor_scan.md +++ b/docs/tr/qgc-user-guide/plan_view/pattern_corridor_scan.md @@ -8,20 +8,22 @@ Koridor taraması, çoklu çizgileri takip eden bir uçuş şablonu oluşturman Coğrafi etiketli görüntüler oluşturmak için uygun yolu, koridor genişliğini ve kamera ayarlarını özelleştirebilirsinz. -## Tarama Oluşturma +## Creating a Scan Bir koridor taraması oluşturmak için: 1. [PlanView](../plan_view/plan_view.md)'den _Plan Tools_'u açın. + 2. _Plan Tools_ 'dan _Pattern Tool_'u seçin ve _Corridor Scan_'a tıklayın. -![Koridor Taraması](../../../assets/plan/corridor_scan_menu.jpg) + ![Koridor Taraması](../../../assets/plan/corridor_scan_menu.jpg) -Bu haritaya bir koridor ve görev listesine (sağda) bir _Corridor Scan_ öğesi ekleyecektir. + Bu haritaya bir koridor ve görev listesine (sağda) bir _Corridor Scan_ öğesi ekleyecektir. 3. Koridorun uçlarını, sırasıyla taramanın başlangıç ve bitiş noktalarına sürükleyin. -4. Yeni bir köşe noktası oluşturmak için hattın ortasındaki `(+)` semboüne tıklayın. Yeni köşe noktası, istenen koridor yolunu takip edeceği bir noktaya sürüklenebilir. +4. Yeni bir köşe noktası oluşturmak için hattın ortasındaki `(+)` semboüne tıklayın. + Yeni köşe noktası, istenen koridor yolunu takip edeceği bir noktaya sürüklenebilir. Koridor taraması ayarları bir sonraki bölümde ele alınmıştır. @@ -31,7 +33,9 @@ Koridor taraması, ilişkili görev öğesinde (Plan Görünümü'nün sağ tara ### Kamera -Kamera başlatma davranışı, kamera/kamera ayarlarına bağlıdır. Var olan bir kamerayı seçebilir ya da ayarları manuel olarak girebilirsiniz. Mevcut kameraların listesi (QGC 3.4) aşağıda verilmiştir. +Kamera başlatma davranışı, kamera/kamera ayarlarına bağlıdır. +Var olan bir kamerayı seçebilir ya da ayarları manuel olarak girebilirsiniz. +Mevcut kameraların listesi (QGC 3.4) aşağıda verilmiştir. ![Koridor Taraması - Kamera Seç](../../../assets/plan/corridor_scan_settings_camera_select.jpg) @@ -73,13 +77,14 @@ Ayarlanabilir seçenekler şunlardır: - **Relative altitude** - Bağlı bir yüksekik belirtmek için işaretleyin. Bu özellik sadece [terrain following](#terrain_following) kullanmayan manuel ayarlanmış ızgaralarda desteklenir. - **Rotate entry point** - Koridor taramasının başlangıç ve bitiş noktasını birbirleriyle değiştirmek için butona basın. -### Arazi Takibi {#terrain_following} +### Arazi Takibi {#terrain\_following} -Varsayılan olarak, uçan bir araç sabit bir yükseklikte koridor yolunu takip edecektir. _Terrain Following_'i aktif hale getirmek, aracın yere göre sabit bir yükseklikte devam etmesini sağlar. +Varsayılan olarak, uçan bir araç sabit bir yükseklikte koridor yolunu takip edecektir. +_Terrain Following_'i aktif hale getirmek, aracın yere göre sabit bir yükseklikte devam etmesini sağlar. ![Koridor Taraması - Arazi Takibi Ayarları](../../../assets/plan/corridor_scan_settings_terrain.jpg) -::: info +:::info Arazi takibi, _AirMap_ serverlarından sağlanan arazi yüksekliklerini kullanır. ::: diff --git a/docs/tr/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md b/docs/tr/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md index 014cd8401f9..f8b695a8574 100644 --- a/docs/tr/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md +++ b/docs/tr/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md @@ -1,27 +1,31 @@ # Sabit Kanat İniş Yolu (Plan Şablonu) -_Fixed Wing Landing Pattern_ aracı, göreve sabit kanat iniş yolu eklemenize olanak tanır. Hem ArduPilot hem de PX4'de desteklenir. +_Fixed Wing Landing Pattern_ aracı, göreve sabit kanat iniş yolu eklemenize olanak tanır. +Hem ArduPilot hem de PX4'de desteklenir. ![Sabit Kanat İniş Yolu](../../../assets/plan/pattern/fixed_wing_landing_pattern.jpg) -Yolun ilk noktası, belirli bir yükseklikte oyalanacağı yer; ikincisi de iniş noktasıdır. Araç, ilk noktada hedeflenen yüksekliğe erişene kadar oyalanacaktır, ardından iniş için belirlenen iniş noktasına doğru alçalmaya başlayacaktır. +Yolun ilk noktası, belirli bir yükseklikte oyalanacağı yer; ikincisi de iniş noktasıdır. +Araç, ilk noktada hedeflenen yüksekliğe erişene kadar oyalanacaktır, ardından iniş için belirlenen iniş noktasına doğru alçalmaya başlayacaktır. Hem oyalanma hem de iniş noktaları, istenilen yeni noktalara sürüklenebilir ve ilişkili görev öğesinden bir takım başka ayarlar yapılabilir. -## İniş Yolu Oluşturma +## Creating a Landing Pattern İniş yolu oluşturmak için: 1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + 2. _Plan Tools_ 'dan _Plan Tools_'u açın ve _Fixed Wing Landing Pattern_'i seçin. -![Sabit Kanat İniş Yolu](../../../assets/plan/pattern/fixed_wing_landing_pattern_menu.jpg) + ![Sabit Kanat İniş Yolu](../../../assets/plan/pattern/fixed_wing_landing_pattern_menu.jpg) -Bu, görev listesine (sağda) _Landing Pattern_ öğesi ekleyecektir. + Bu, görev listesine (sağda) _Landing Pattern_ öğesi ekleyecektir. -![Sabit Kanat İniş Yolu](../../../assets/plan/pattern/fixed_wing_landing_pattern_mission_item_initial.jpg) + ![Sabit Kanat İniş Yolu](../../../assets/plan/pattern/fixed_wing_landing_pattern_mission_item_initial.jpg) -3. Click on the map to create both the loiter point and the landing point. Bu noktalar harita üzerinde hareket ettirilebilir. +3. Click on the map to create both the loiter point and the landing point. + Bu noktalar harita üzerinde hareket ettirilebilir. Ek ayarlar bir sonraki bölümde ele alınmıştır. @@ -29,7 +33,7 @@ Ek ayarlar bir sonraki bölümde ele alınmıştır. İniş yolu, ilişkili görev öğesinde (Plan Görünümü'nün sağ tarafındaki görev öğesi listesinde) daha da yapılandırılabilir. -### Oyalanma Noktası +### İniş noktası _Loiter Point_ ayarları, oyalanmanın yüksekliğini, yarı çapını ve yönünü ayarlamak için kullanılır. @@ -41,7 +45,7 @@ Ayarlanabilir seçenekler şunlardır: - **Radius** - Oyalanma yarıçapı. - **Loiter clockwise** - Oyalanmanın yönünün saat yönü olması için işaretleyin (varsayılan olarak yön, saat yönünün tersidir). -### İniş noktası +### Oyalanma Noktası _Landing Point_ ayarları, iniş pozisyonunu ve yolunu ayarlamak için kullanılır. @@ -68,6 +72,6 @@ Araç, yazılım tarafından `NAV_LOITER_TO_ALT` ve `NAV_LAND` noktaları arası Eğer bu 2 konum aracın iniş kısıtlamalarını ihlal ederse (ör. alçalma açısı çok dikse), araca bu geçersiz görev yüklendikten sonra bir hata ortaya çıkacaktır. -::: info +:::info PX4'te, yükleme esnasında iniş kısıtlamalarının ihlali yer istasyonuna bir hata mesajı gönderir, ve otopilot görevi başlatmayı reddeder (bütünlük kontrolünde başarısız olacağı için). ::: diff --git a/docs/tr/qgc-user-guide/plan_view/pattern_presets.md b/docs/tr/qgc-user-guide/plan_view/pattern_presets.md index 3bfef12633b..56d2d052362 100644 --- a/docs/tr/qgc-user-guide/plan_view/pattern_presets.md +++ b/docs/tr/qgc-user-guide/plan_view/pattern_presets.md @@ -2,7 +2,7 @@ Yaygın olarak kullanılan ayarları adlandırılmış bir ön ayar olarak kaydetmenize olanak sağlar. -::: info +:::info Şuan için sadece Gözlem modu tarafından desteklenmektedir. Diğer modların desteği için geliştirme devam etmektedir. ::: diff --git a/docs/tr/qgc-user-guide/plan_view/pattern_structure_scan_v2.md b/docs/tr/qgc-user-guide/plan_view/pattern_structure_scan_v2.md index 50f374343d1..70e2ba9f241 100644 --- a/docs/tr/qgc-user-guide/plan_view/pattern_structure_scan_v2.md +++ b/docs/tr/qgc-user-guide/plan_view/pattern_structure_scan_v2.md @@ -1,30 +1,34 @@ # Yapı Taraması (Plan Şablonu) -_Structure Scan_, çok köşeli (veya dairesel) zemin ayak izine sahip bir yapının _dikey yüzeyleri_ üzerinde (ör. duvarlar) görüntüler yakalayabilmek için ızgara şeklinde bir uçuş şablonu oluşturmanıza olanak sağlar. Structure Scans are typically used for the visual inspection or creating 3D models of structures. +_Structure Scan_, çok köşeli (veya dairesel) zemin ayak izine sahip bir yapının _dikey yüzeyleri_ üzerinde (ör. duvarlar) görüntüler yakalayabilmek için ızgara şeklinde bir uçuş şablonu oluşturmanıza olanak sağlar. +Structure Scans are typically used for the visual inspection or creating 3D models of structures. _Yapı Taramaları_, Plan ekranında **Pattern > Structure Scan** aracı kullanılarak bir görevin içine yerleştirilebilir. -::: info +:::info _Structure Scan_'ın yeni versiyonu, eski _Structure Scan_ planlarını okuyamaz. Eskilerin tekar oluşturulmaları gerekir. ::: -::: warning -Bu özellik henüz ArduPilot yazılımı tarafından desteklenmemektedir. PX4'de desteklenir. +:::warning +Bu özellik henüz ArduPilot yazılımı tarafından desteklenmemektedir. +PX4'de desteklenir. ::: ## Genel Bakış -Aşağıdaki resim, yapı taramasının bir ekran görüntüsünü göstermektedir. Yeşil çokgen, yapının zemin ayak izini işaretlemek için kullanılırken, etrafındaki beyaz çizgi aracın uçuş yolunu gösterir. Uçuş yolundaki yeşil numaralı daire, taramaya giriş/çıkış noktasıdır (taramanın başladığı yer). +Aşağıdaki resim, yapı taramasının bir ekran görüntüsünü göstermektedir. +Yeşil çokgen, yapının zemin ayak izini işaretlemek için kullanılırken, etrafındaki beyaz çizgi aracın uçuş yolunu gösterir. +Uçuş yolundaki yeşil numaralı daire, taramaya giriş/çıkış noktasıdır (taramanın başladığı yer). ![Yapı Taraması](../../../assets/plan/structure_scan_v2/structure_scan.jpg) -Tarama, yapıyı eşit olarak katmanlara ayırır; araç, yapının çevresinde belirli bir irtifada ve yapıya _ scan distance_'den uçar, ardından tüm yüzey taranana kadar işlemi her katmanda tekrarlar. +Tarama, yapıyı eşit olarak katmanlara ayırır; araç, yapının çevresinde belirli bir irtifada ve yapıya \_ scan distance\_'den uçar, ardından tüm yüzey taranana kadar işlemi her katmanda tekrarlar. ![Katman JPG](../../../assets/plan/structure_scan_v2/layers.jpg) Kullanıcılar, yapının altındaki engellerden kaçınmak için _scan bottom altitude_ ve araç taramaya / taramaya giderken engellerden kaçınmak için _entrance/exit altitude_ ayarlayabilir. -## Tarama Oluşturma +## Creating a Scan Tarama oluşturmak için: @@ -32,23 +36,24 @@ Tarama oluşturmak için: ![Tarama JPG'si oluştur](../../../assets/plan/structure_scan_v2/create_scan.jpg) -2. Bu haritada basit kare bir yapı taraması oluşturacaktır. +1. Bu haritada basit kare bir yapı taraması oluşturacaktır. -![İlk Köşegen](../../../assets/plan/structure_scan_v2/initial_polygon_scan.jpg) + ![İlk Köşegen](../../../assets/plan/structure_scan_v2/initial_polygon_scan.jpg) -Yeşil bölge, yapıyı kaplayacak şekilde düzenlenmelidir. + Yeşil bölge, yapıyı kaplayacak şekilde düzenlenmelidir. -- Haritadaki opak köşeleri yapının kenarlarına sürükleyin (yukarıda leylak rengi daire içine alınmış köşeler). -- Yapının kapladığı alan basit bir kareden fazlaysa, yeni bir köşe noktası oluşturmak için köşeler arasındaki yarı saydam dairelere tıklayabilirsiniz. + - Haritadaki opak köşeleri yapının kenarlarına sürükleyin (yukarıda leylak rengi daire içine alınmış köşeler). + - Yapının kapladığı alan basit bir kareden fazlaysa, yeni bir köşe noktası oluşturmak için köşeler arasındaki yarı saydam dairelere tıklayabilirsiniz. -3. Ayrıca merkezdeki "daire"ye (kırmızı ile işaretlenmiş) tıklayarak ve açılır menüden _Circle_ 'ı seçerek dairesel bir alana geçebilirsiniz. +2. Ayrıca merkezdeki "daire"ye (kırmızı ile işaretlenmiş) tıklayarak ve açılır menüden _Circle_ 'ı seçerek dairesel bir alana geçebilirsiniz. -![Dairesel Tarama](../../../assets/plan/structure_scan_v2/circle_scan.jpg). + ![Dairesel Tarama](../../../assets/plan/structure_scan_v2/circle_scan.jpg). -- Açılır menüden çokgen alana geri dönebilir ve taramanın yarıçapını ve/veya konumunu değiştirebilirsiniz. -- Çemberin merkezini konumlandırmak için merkezdeki daireyi sürükleyin. + - Açılır menüden çokgen alana geri dönebilir ve taramanın yarıçapını ve/veya konumunu değiştirebilirsiniz. + - Çemberin merkezini konumlandırmak için merkezdeki daireyi sürükleyin. -4. Geri kalan düzenlemeler, ekranın sağındaki _Structure Scan_ editörü kullanılarak halledilir. İlk olarak manuel tarama, belirli bir kamera kullanarak tarama veya özel bir kamera tanımı kullanarak tarama seçeneklerinden hangisini istediğinizi seçin. +3. Geri kalan düzenlemeler, ekranın sağındaki _Structure Scan_ editörü kullanılarak halledilir. + İlk olarak manuel tarama, belirli bir kamera kullanarak tarama veya özel bir kamera tanımı kullanarak tarama seçeneklerinden hangisini istediğinizi seçin. ::: info Modlar arasındaki temel fark, önceden tanımlanmış kameraların etkili bir katman yüksekliğini ve deklanşör mesafesini doğru bir şekilde hesaplamak için zaten ayarlanmış olmasıdır. @@ -61,28 +66,32 @@ Yeşil bölge, yapıyı kaplayacak şekilde düzenlenmelidir. Kullanıcı her zaman aşağıdaki ayarları yapılandırabilir: - **Start scan from top/bottom:** Katmanların taranma yönü. -- **Structure height:**Taranan nesnenin yüksekliği. +- \*\*Structure height:\*\*Taranan nesnenin yüksekliği. - **Scan distance:** Distance from the structure to the flight path. - **Entrance/Exit Alt:** Son/sonraki hedef noktası ile taranacak yapı arasındaki engellerden kaçınmak için bu ayarı kullanın. - Araç, bu irtifada _Entrance/Exit_ noktasına yükselecek ve ardından taramayı başlatmak için ilk katmana alçalacaktır. - Araç, taramayı tamamladıktan sonra bu irtifaya yükselecek ve ardından bir sonraki hedef noktaya geçecektir. -- **Scan Bottom Alt:**Yapının tabanı etrafındaki engellerden kaçınmak için bu ayarı kullanın. Bu ayar, yapının altını yerden yukarıda olacak şekilde ayarlar ve bu nedenle ilk tarama uçuşu yolunun yüksekliği (en alt katmanın yüksekliği) tarama istatistiklerinde _Bottom Layer Alt_ olarak gösterilir. +- \*\*Scan Bottom Alt:\*\*Yapının tabanı etrafındaki engellerden kaçınmak için bu ayarı kullanın. + Bu ayar, yapının altını yerden yukarıda olacak şekilde ayarlar ve bu nedenle ilk tarama uçuşu yolunun yüksekliği (en alt katmanın yüksekliği) tarama istatistiklerinde _Bottom Layer Alt_ olarak gösterilir. - **Rotate Entry Point:** Başlangıç/bitiş noktasını uçuş yolundaki bir sonraki köşeye/konuma taşıyın. Kalan ayarlar _camera mode_'a bağlıdır: - _Manuel Mod_ şunları ayarlamanıza olanak verir: - - **Layer height:** Her katmanın yüksekliğini. - - **Trigger Distance:** Her kamera çekimi arasındaki mesafe. Kamera sadece katman yolunda uçarken çekim yapar. Bir katmandan diğerine geçerken görüntü çekmez. + - **Trigger Distance:** Her kamera çekimi arasındaki mesafe. + Kamera sadece katman yolunda uçarken çekim yapar. + It does not trigger images while transitioning from one layer to the next. - **Gimbal Pitch** -Tarama için kullanmak istediğiniz gimbal eğimi. -- _Bilinen/önceden tanımlanmış kameralar_ görüntü örtüşmesi için gerekli katman yüksekliklerini ve görüntü çekim aralıklarını otomatik olarak hesaplar ve tarama mesafesini değiştirmenize ve görüntü çözünürlüğü ayarlamanıza olanak tanır. It also ensures that the camera is pointed directly at the surface when it is capturing images (i.e. at a right angle rather than some tangent). Ayarlar şunlardır: +- _Bilinen/önceden tanımlanmış kameralar_ görüntü örtüşmesi için gerekli katman yüksekliklerini ve görüntü çekim aralıklarını otomatik olarak hesaplar ve tarama mesafesini değiştirmenize ve görüntü çözünürlüğü ayarlamanıza olanak tanır. + It also ensures that the camera is pointed directly at the surface when it is capturing images (i.e. at a right angle rather than some tangent). + Ayarlar şunlardır: - **Camera Orientation:** Dikey veya Yatay - _Örtüşme_: - - **Front Lap:** Görüntünün yukardan aşağıya örtüşmesi. (arttırılırsa katman boyu küçülür katman sayısı artar). - - **Side Lap:** Görüntü kenarlarda örtüşür. (arttırılırsa, her turda/katman taramasında daha fazla görüntü çeker). + - **Front Lap:** Görüntünün yukardan aşağıya örtüşmesi. + - **Side Lap:** Görüntü kenarlarda örtüşür. - **Scan distance:** Distance from the structure to the flight path. - **Ground Res:** Yüzey için gerekli görüntü çözünürlüğü/numune kalitesi. diff --git a/docs/tr/qgc-user-guide/plan_view/pattern_survey.md b/docs/tr/qgc-user-guide/plan_view/pattern_survey.md index ed07d80df33..d26414ecf12 100644 --- a/docs/tr/qgc-user-guide/plan_view/pattern_survey.md +++ b/docs/tr/qgc-user-guide/plan_view/pattern_survey.md @@ -1,29 +1,36 @@ # Gözlem (Plan Şablonu) -Gözlem modu, poligonal bir alan üzerinde bir ızgara uçuş modeli oluşturmanıza olanak sağlar. İstediğiniz şekli, ızgaranın açısını ve diğer özelliklerini ve coğrafi etiketli görüntüler oluşturmak için uygun kamera ayarlarını belirtebilirsiniz. +Gözlem modu, poligonal bir alan üzerinde bir ızgara uçuş modeli oluşturmanıza olanak sağlar. +İstediğiniz şekli, ızgaranın açısını ve diğer özelliklerini ve coğrafi etiketli görüntüler oluşturmak için uygun kamera ayarlarını belirtebilirsiniz. -> **Important** Eğer gözlemlenecek alanda önemli yükseklik farkları varsa [Terrain Following](#terrain)'i devreye almayı gözönüne alın. -> -> Kamera özelliklerini kullanan bir Gözlem planlanırken, gözlem alanınızın zeminin düz olduğu varsayılır - ör. kalkış/rv konumuyla aynı yükseklik. Eğer araştırma alanınızın zemin yüksekliği ev konumunuzdan daha yüksek veya daha alçaksa, görüntülerinizdeki etkili örtüşme hesaplanandan daha az veya daha fazla (sırasıyla) olacaktır. Araştırma alanınızın zemin yüksekliği ev konumunuzdan _önemli_ ölçüde daha yüksekse, yanlışıla aracın zemin seviyesindeki engellere çarpmasına neden olacak bir görev planlayabilirsiniz. -> -> Terrain Following'in kullanılması, araştırmanın arazi üzerinde istenen irtifaya daha yakın olmasını sağlar ve yer seviyesine çok yakın bir görev planlanması olasılığını azaltır. +::: warning +If the survey area has significant elevation variation then consider enabling [Terrain Following](#terrain). + +Kamera özelliklerini kullanan bir Gözlem planlanırken, gözlem alanınızın zeminin düz olduğu varsayılır - ör. kalkış/rv konumuyla aynı yükseklik. +Eğer araştırma alanınızın zemin yüksekliği ev konumunuzdan daha yüksek veya daha alçaksa, görüntülerinizdeki etkili örtüşme hesaplanandan daha az veya daha fazla (sırasıyla) olacaktır. +Araştırma alanınızın zemin yüksekliği ev konumunuzdan _önemli_ ölçüde daha yüksekse, yanlışıla aracın zemin seviyesindeki engellere çarpmasına neden olacak bir görev planlayabilirsiniz. + +Terrain Following'in kullanılması, araştırmanın arazi üzerinde istenen irtifaya daha yakın olmasını sağlar ve yer seviyesine çok yakın bir görev planlanması olasılığını azaltır. +::: ![Gözlem](../../../assets/plan/survey/survey.jpg) -## Gözlem Görevi Oluştuma +## Creating a Survey Bir gözlem görevi oluşturmak için: 1. [PlanView](../plan_view/plan_view.md)'den _Plan Tools_'u açın. + 2. _Plan Tools_ 'dan _Pattern Tool_'u seçin ve _Survey_'e tıklayın. -![Gözlem Menüsü](../../../assets/plan/survey/survey_menu.jpg) + ![Gözlem Menüsü](../../../assets/plan/survey/survey_menu.jpg) -Bu haritaya bir gözlem alanı ve görev listesine (sağda) bir _Survey_ öğesi ekleyecektir. + Bu haritaya bir gözlem alanı ve görev listesine (sağda) bir _Survey_ öğesi ekleyecektir. 3. On the map drag the vertices to change the shape of the polygon. -4. Yeni bir köşe noktası oluşturmak için var olan köşelerin ortalarındaki `(+)` semboüne tıklayın. Yeni köşe, yeni pozisyonlara çekilebilir. +4. Yeni bir köşe noktası oluşturmak için var olan köşelerin ortalarındaki `(+)` semboüne tıklayın. + Yeni köşe, yeni pozisyonlara çekilebilir. Gözlem modu ayarları bir sonraki bölümde ele alınmıştır. @@ -33,11 +40,13 @@ Gözlem görevi, ilişkili görev öğesinde (_Plan View_'in sağ tarafındaki g ### Kamera -Kamera başlatma davranışı, kamera/kamera ayarlarına bağlıdır. Var olan veya özel bir kamerayı seçebilir ya da ayarları manuel olarak girebilirsiniz. Mevcut kameraların listesi (QGC 3.4) aşağıda verilmiştir. +Kamera başlatma davranışı, kamera/kamera ayarlarına bağlıdır. +Var olan veya özel bir kamerayı seçebilir ya da ayarları manuel olarak girebilirsiniz. +Mevcut kameraların listesi (QGC 3.4) aşağıda verilmiştir. ![Gözlem - Kamera Seçimi](../../../assets/plan/survey/survey_camera_select.jpg) -#### Bilinen Kamera {#known_camera} +#### Bilinen Kamera {#known\_camera} Seçenekler açılır listesinden bilinen bir kamerayı seçmek, kameranın özelliklerine göre bir ızgara deseni oluşturur. @@ -46,12 +55,13 @@ Seçenekler açılır listesinden bilinen bir kamerayı seçmek, kameranın öze Varsayılan ayarlar, yapılandırma seçenekleri kullanılarak gözleminiz için ayarlanabilir: - **Landscape/Portrait** - Aracın "normal" yönüne göre kamera yönü. -- **Overlap** - Yakalanan her görüntü arasında örtüşme. Bu, ızgara hatları boyunca uçarken veya bu hatların üzerinden geçerken olmak üzere ayrı ayrı yapılandırılabilir. +- **Overlap** - Yakalanan her görüntü arasında örtüşme. + Bu, ızgara hatları boyunca uçarken veya bu hatların üzerinden geçerken olmak üzere ayrı ayrı yapılandırılabilir. - Birini Seçin: - **Altitude** - Tarama yüksekliği (bu yükseklik için zemin çözünürlüğü hesaplanacak/görüntülenecektir). - **Ground resolution** - Her görüntü için zemin çözünürlüğü (bu çözünürlüğü sağlamak için gerekli yükseklik hesaplanacak/görüntülenecektir). -#### Özel Kamera {#custom_camera} +#### Özel Kamera {#custom\_camera} Özel kamera seçeneğinin seçilmesi, yeni bir kamera için ayarları bilinen bir kameraya benzer şekilde belirlemenize olanak tanır. @@ -77,7 +87,7 @@ Ayarlanabilir seçenekler şunlardır: - **Trigger Distance** - Her bir kamera çekimi arasındaki zemin üzerinde alınan mesafe. - **Spacing** - Rota boyunca bitişik ızgara (uçuş yolu) çizgileri arasındaki mesafe. -### Kesitler +### Transects _Transects_ sekmesi kameradan bağımsız olan ızgara ayarları için kullanılır. @@ -85,21 +95,24 @@ _Transects_ sekmesi kameradan bağımsız olan ızgara ayarları için kullanıl Ayarlanabilir seçenekler şunlardır: -- **Angle** - Kuzeye göre, ızgara çizgilerinin açısı. ![Gözlem - Açı](../../../assets/plan/survey/survey_transects_angle.jpg) +- **Angle** - Kuzeye göre, ızgara çizgilerinin açısı. + ![Gözlem - Açı](../../../assets/plan/survey/survey_transects_angle.jpg) - **Turnaround dist** - Aracın geri dönmesi için tarama alanının dışına eklenecek olan mesafe miktarı. - **Rotate entry point** - Gözlem görevinin başlangıç ve bitiş noktasını birbirleriyle değiştirmek için butona basın. - **Hover and capture image** - Görüntü yakalamak için havada durmak (sadece multikopterler). -- **Refly at 90 degree offset** - Tüm görevi 90 derece dönmüş şekliyle yeniden uçmak için işaretleyin. ![Gözlem - Uçuş Açısı](../../../assets/plan/survey/survey_transects_offset.jpg) +- **Refly at 90 degree offset** - Tüm görevi 90 derece dönmüş şekliyle yeniden uçmak için işaretleyin. + ![Gözlem - Uçuş Açısı](../../../assets/plan/survey/survey_transects_offset.jpg) - **Images in turnarounds** - Dönüşlerde fotoğraf çekilmesi için işaretleyin - **Relative altitude** - Ev konumuna bağlı olarak belirli yükseklikleri ayarlamak için işaretleyin (işaretlenmezse ortalama deniz seviyesine göre olur). ### Arazi -Varsayılan olarak, uçan bir araç sabit bir yükseklikte gözlem rotasını takip edecektir. _Terrain Following_'i aktif hale getirmek, aracın yere göre sabit bir yükseklikte devam etmesini sağlar. +Varsayılan olarak, uçan bir araç sabit bir yükseklikte gözlem rotasını takip edecektir. +_Terrain Following_'i aktif hale getirmek, aracın yere göre sabit bir yükseklikte devam etmesini sağlar. ![Gözlem - Arazi Takibi Ayarları](../../../assets/plan/survey/survey_terrain.jpg) -::: info +:::info Arazi takibi, _AirMap_ serverlarından sağlanan arazi yüksekliklerini kullanır. ::: diff --git a/docs/tr/qgc-user-guide/plan_view/plan_geofence.md b/docs/tr/qgc-user-guide/plan_view/plan_geofence.md index 1599519c7a8..2a951b73e56 100644 --- a/docs/tr/qgc-user-guide/plan_view/plan_geofence.md +++ b/docs/tr/qgc-user-guide/plan_view/plan_geofence.md @@ -1,26 +1,32 @@ # Plan Ekranı - Coğrafi Sınır -Coğrafi Sınırlar, aracınızın içinde uçmasına izin verilen ya da _izin verilmeyen_ sanal bölgeler oluşturmanıza olanak sağlar. Ayrıca eğer izin verilen alanın dışına çıkıldığında yaplıacak eylemi de ayarlayabilirsiniz. +Coğrafi Sınırlar, aracınızın içinde uçmasına izin verilen ya da _izin verilmeyen_ sanal bölgeler oluşturmanıza olanak sağlar. +Ayrıca eğer izin verilen alanın dışına çıkıldığında yaplıacak eylemi de ayarlayabilirsiniz. ![Coğrafi Sınır'a geneş bakış](../../../assets/plan/geofence/geofence_overview.jpg) -::: info -**ArduPilot users:** Coğrafi Sınır sadece Rover 3.6 ve Copter3.7 ve üzeri sürümlerde desteklenir. Ek olarak günlük sürümlerin ya da stabil 3.6 sürümünün (erişilebilir olduğunda) kullanılmasını gerektirir. Eğer bağlanan cihaz tarafından Coğrafi Sınır seçeneği desteklenmiyorsa _QGroundControl_ seçeneği göstermeyecektir. +:::info +**ArduPilot users:** Coğrafi Sınır sadece Rover 3.6 ve Copter3.7 ve üzeri sürümlerde desteklenir. Ek olarak günlük sürümlerin ya da stabil 3.6 sürümünün (erişilebilir olduğunda) kullanılmasını gerektirir. +Eğer bağlanan cihaz tarafından Coğrafi Sınır seçeneği desteklenmiyorsa _QGroundControl_ seçeneği göstermeyecektir. ::: -## Coğrafi Sınır Oluşturma +## Create a Geofence Coğrafi Sınır Oluşturmak için: 1. Plan Ekranı'na gidin + 2. Görev Komutları Listesi'nin üstünden _Geofence_'i seçin - ![Coğrafi Sınır butonunu seç](../../../assets/plan/geofence/geofence_select.jpg) + ![Select geofence radio button](../../../assets/plan/geofence/geofence_select.jpg) + +3. Insert a circular or polygon region by pressing the **Circular Fence** or **Polygon Fence** button, respectively. + Haritaya yeni bir bölge ve butonların altına sınırlarla ilgili yeni bir liste eklenecektir. -3. Insert a circular or polygon region by pressing the **Circular Fence** or **Polygon Fence** button, respectively. Haritaya yeni bir bölge ve butonların altına sınırlarla ilgili yeni bir liste eklenecektir. - ::: tip - Butonlara birden çok kez basarak birden çok bölge oluşturabilirsiniz, böylece karmaşık coğrafi sınırlar oluşturulabilir. - ::: +:::tip +::: tip +Butonlara birden çok kez basarak birden çok bölge oluşturabilirsiniz, böylece karmaşık coğrafi sınırlar oluşturulabilir. +::: - Dairesel Bölge: @@ -29,22 +35,28 @@ Coğrafi Sınır Oluşturmak için: - Merkezi noktayı kaydırarak bölgeyi haritada hareket ettirin - Resize the circle by dragging the dot on the edge of the circle (or you can change the radius value in the fence panel). -- Çokgen Bölge: +- Coğrafi Sınır Oluşturma + + Çokgen Bölge: ![Çokgen Coğrafi Sınır](../../../assets/plan/geofence/geofence_polygon.jpg) + - İçi dolu noktaları sürükleyerek köşeleri hareket ettirin - İçi dolu noktaların arasındaki içi boş noktalara basarak yeni köşeler oluşturun. - 1. Varsayılan olarak, _inclusion_ bölgeleri olarak yeni bölgeler oluşturulur (araçlar bölge içinde kalmalıdır). Sınır panelindeki _Inclusion_ onay kutusunun tikini kaldırarak, exclusion bölgelerine (aracın içinde uçamayacağı) dönüştürebilirsiniz. + +1. Varsayılan olarak, _inclusion_ bölgeleri olarak yeni bölgeler oluşturulur (araçlar bölge içinde kalmalıdır). + Sınır panelindeki _Inclusion_ onay kutusunun tikini kaldırarak, exclusion bölgelerine (aracın içinde uçamayacağı) dönüştürebilirsiniz. ## GeoFence Düzenleme/Silme -Coğrafi Sınır panelinde _Edit_ butonunu seçerek düzenlemek için bir coğrafi sınır bölgesi seçebilirsiniz. Daha sonra, önceki bölümde anlatıldığı gibi haritadaki bölgeyi düzenleyebilirsiniz. +Coğrafi Sınır panelinde _Edit_ butonunu seçerek düzenlemek için bir coğrafi sınır bölgesi seçebilirsiniz. +Daha sonra, önceki bölümde anlatıldığı gibi haritadaki bölgeyi düzenleyebilirsiniz. Regions can be deleted by pressing the associated **Del** button. -## Coğrafi Sınır Yükleme +## Upload a GeoFence GeoFence bir görevle aynı şekilde yüklenir, [Plan tools](../plan_view/plan_view.md)'dan **File**'ı kullanarak. ## Diğer Araçlar -Araçların geri kalanı, bir Görevi düzenlerken olduğu gibi çalışır. +The rest of the tools work exactly as they do while editing a Mission. diff --git a/docs/tr/qgc-user-guide/plan_view/plan_rally_points.md b/docs/tr/qgc-user-guide/plan_view/plan_rally_points.md index a1ebc5b2d4b..4ad330c6579 100644 --- a/docs/tr/qgc-user-guide/plan_view/plan_rally_points.md +++ b/docs/tr/qgc-user-guide/plan_view/plan_rally_points.md @@ -1,14 +1,18 @@ # Plan Ekranı - Toparlanma Noktaları -Toparlanma noktaları, iniş ya da oyalanma noktalarına alternatif noktalardır. Genellikle Geri Dönüş / RTL modunda ana konumdan daha güvenli veya daha uygun (örneğin daha yakın) bir varış noktası sağlamak için kullanılırlar. - -::: info -Toparlanma Noktaları sadece Rover 3.6 ve Copter3.7 (ve üzeri sürümlerde) desteklenir. PX4 desteği, PX4 v1.10 zaman dilimlerinde planlanmıştır. Ek olarak günlük sürümlerin ya da stabil 3.6 sürümünün (erişilebilir olduğunda) kullanılmasını gerektirir. Eğer bağlanan cihaz tarafından Toparlanma Noktası seçeneği desteklenmiyorsa _QGroundControl_ seçeneği göstermeyecektir. +Toparlanma noktaları, iniş ya da oyalanma noktalarına alternatif noktalardır. +Genellikle Geri Dönüş / RTL modunda ana konumdan daha güvenli veya daha uygun (örneğin daha yakın) bir varış noktası sağlamak için kullanılırlar. + +:::info +Toparlanma Noktaları sadece Rover 3.6 ve Copter3.7 (ve üzeri sürümlerde) desteklenir. +PX4 desteği, PX4 v1.10 zaman dilimlerinde planlanmıştır. +Ek olarak günlük sürümlerin ya da stabil 3.6 sürümünün (erişilebilir olduğunda) kullanılmasını gerektirir. +Eğer bağlanan cihaz tarafından Toparlanma Noktası seçeneği desteklenmiyorsa _QGroundControl_ seçeneği göstermeyecektir. ::: ![Toparlanma Noktaları](../../../assets/plan/rally/rally_points_overview.jpg) -## Toparlanma Noktası Kullanımı +## Rally Point Usage Toparlanma Noktası oluşturmak için: @@ -19,12 +23,12 @@ Toparlanma Noktası oluşturmak için: - şu anda aktif olan işaretçi farklı bir renge (yeşil) sahiptir ve _Rally Point_ paneli kullanılarak düzenlenebilir. 4. Harita üzerinde seçerek herhangi bir toplanma noktasını etkinleştirin: - Seçilen toplanma noktasını harita üzerinde sürükleyerek veya paneldeki konumu düzenleyerek hareket ettirin. - - Aktif toplanma noktasını _ Rally Point_ panelindeki menü seçeneğini seçerek silin ![Toplanma Noktasını Sil](../../../assets/plan/rally/rally_points_delete.jpg) + - Aktif toplanma noktasını \_ Rally Point\_ panelindeki menü seçeneğini seçerek silin ![Toplanma Noktasını Sil](../../../assets/plan/rally/rally_points_delete.jpg) -## Toparlanma Noktalarını Yükleme +## Upload Rally Points Toparlanma Noktaları bir görevle aynı şekilde yüklenir, [Plan tools](../plan_view/plan_view.md)'dan **File**'ı kullanarak. ## Diğer Araçlar -Araçların geri kalanı, bir Görevi düzenlerken olduğu gibi çalışır. +The rest of the tools work exactly as they do while editing a Mission. diff --git a/docs/tr/qgc-user-guide/plan_view/plan_view.md b/docs/tr/qgc-user-guide/plan_view/plan_view.md index 2d50a25968b..e78021869fd 100644 --- a/docs/tr/qgc-user-guide/plan_view/plan_view.md +++ b/docs/tr/qgc-user-guide/plan_view/plan_view.md @@ -1,19 +1,20 @@ # Plan Ekranı -_Plan View_, aracınız için _ otonom görevler _ planlamak ve onları araca yüklemek için kullanılır. Görev [planlanıp](#plan_mission) araca gönderildiğinde, görevi gerçekleştirmek için [Uçuş Ekranı](../fly_view/fly_view.md)'na geçillir. +_Plan View_, aracınız için \_ otonom görevler \_ planlamak ve onları araca yüklemek için kullanılır. Görev [planlanıp](#plan_mission) araca gönderildiğinde, görevi gerçekleştirmek için [Uçuş Ekranı](../fly_view/fly_view.md)'na geçillir. Ayrıca eğer yazılım tarafından destekleniyorsa [GeoFence](plan_geofence.md) ve [Rally Points](plan_rally_points.md)'leri ayalarmak için kullanılır. ![Plan Ekranı](../../../assets/plan/plan_view_overview.jpg) -## Kullanıcı Arayüzü'ne Genel Bakış {#ui_overview} +## Kullanıcı Arayüzü'ne Genel Bakış {#ui\_overview} Yukarıdaki [ ekran görüntüsü ](#plan_screenshot), [ Planlanan Ev ](#planned_home) konumundan (H) kalkışla başlayan basit bir görev planını gösterir, üç hedef noktadan geçer ve ardından son hedef noktaya (yani hedef noktası 3) iner. Arayüzün temel elemanları şunlardır: -- **Map:** [ Planlanan Ev ](#planned_home) konumu dahil olmak üzere mevcut görev için numaralandırılmış konumları görüntüler. Noktaları seçmek için tıklayın (düzenlemek için) ya da konumlarını değiştirmek için sürükleyin. +- **Map:** [ Planlanan Ev ](#planned_home) konumu dahil olmak üzere mevcut görev için numaralandırılmış konumları görüntüler. + Noktaları seçmek için tıklayın (düzenlemek için) ya da konumlarını değiştirmek için sürükleyin. - **Plan Araçları:** Önceki hedef noktaya göre halihazırda seçili olan hedef nokta için durum bilgisi ve tüm görevin istatistikleri (örn. Yatay mesafe ve görev süresi). - `Max telem dist`, [Planlanan Ev](#planned_home) konumu ile en uzak hedef nokta arasındaki mesafedir. - Bir cihaza bağlanıldığında bir **Upload** butonu da belirir ve planı araca yüklemek için kullanılabilir. @@ -23,48 +24,53 @@ Arayüzün temel elemanları şunlardır: Size o anda seçili olan hedef noktasıyla ilgili bilgilerin yanı sıra tüm görevin istatistiklerini gösterir. -## Görev Planlama {#plan_mission} +## Görev Planlama {#plan\_mission} -Genel bir bakış açısıyla, görev oluşturmanın aşamaları şunlardır: +At very high level, the steps to create a mission are: -1. _Plan Ekranı_'nı açın. +1. Change to _Plan View_. 2. Göreve hedef noktalar veya komutlar ekleyin, gerektiği şekilde düzenleyin. -3. Görevi araca yükleyin. -4. _Uçuş Ekranı_'nı açın ve görevi gerçekleştirin. +3. Upload the mission to the vehicle. +4. Change to _Fly View_ and fly the mission. Aşağıdaki bölümler, ekrandaki bazı ayrıntıları açıklamaktadır. -## Planlanmış Ev Konumu {#planned_home} +## Planlanmış Ev Konumu {#planned\_home} -The _Planned Home_ shown in _Plan View_ is used to set the approximate start point when planning a mission (i.e. when a vehicle may not even be connected to QGC). QGC tarafından görev sürelerini tahmin etmek ve hedef noktalar arası çizgileri çizmek için kullanılır. +The _Planned Home_ shown in _Plan View_ is used to set the approximate start point when planning a mission (i.e. when a vehicle may not even be connected to QGC). +QGC tarafından görev sürelerini tahmin etmek ve hedef noktalar arası çizgileri çizmek için kullanılır. ![Planlanmış Ev Konumu](../../../assets/plan/mission/mission_settings_planned_home.jpg) -Planlanan ev konumunu yaklaşık olarak kalkış yapmayı planladığınız konuma taşımanız/sürüklemeniz gerekir. Planlanan ana konumun yüksekliği, [ Mission Settings ](#mission_settings) panelinde ayarlanır. +Planlanan ev konumunu yaklaşık olarak kalkış yapmayı planladığınız konuma taşımanız/sürüklemeniz gerekir. +Planlanan ana konumun yüksekliği, [ Mission Settings ](#mission_settings) panelinde ayarlanır. - + -::: tip +:::tip The Fly View displays the _actual_ home position set by the vehicle firmware when it arms (this is where the vehicle will return in Return/RTL mode). ::: -## Plan Araçları {#plan_tools} +## Plan Araçları {#plan\_tools} Plan araçları, ara noktalar eklemek, karmaşık yerler için görev oluşturmayı kolaylaştırmak, görevleri yüklemek/indirmek/kaydetmek/geri yüklemek ve haritada gezinmek için kullanılır. Ana araçlar aşağıda açıklanmıştır. -::: info +:::info **Center map**, **Zoom In**, **Zoom Out** araçlar kullanıcıların daha iyi görüntü almasına ve _Plan Ekranı_'ndaki haritada gezinmelerine yardımcı olur (araca gönderilen görev komutlarını etkilemezler). ::: ### Hedef Noktası Ekle -**Add Waypoint** aracına tıklayarak aktive edin. Aktifken haritaya tıklandığında, tıklanan noktaya yeni bir hedef konum eklenecektir. Tekrar tıklayana kadar araç aktif kalacaktır. Bir hedef nokta ekledikten sonra, konumunu değiştirmek için onu seçebilir ve sürükleyebilirsiniz. +**Add Waypoint** aracına tıklayarak aktive edin. Aktifken haritaya tıklandığında, tıklanan noktaya yeni bir hedef konum eklenecektir. +Tekrar tıklayana kadar araç aktif kalacaktır. +Bir hedef nokta ekledikten sonra, konumunu değiştirmek için onu seçebilir ve sürükleyebilirsiniz. ### Dosya (Senkronizasyon) {#file} -- Dosya araçları \*, görevleri yer istasyonu ile araç arasında taşımak ve bunları dosyalara kaydetmek/dosyalardan geri yüklemek için kullanılır. Araçlar, araca göndermediğiniz görev değişiklikleri olduğunu belirtmek için bir `! ` işareti kullanır. +Dosya araçları \*, görevleri yer istasyonu ile araç arasında taşımak ve bunları dosyalara kaydetmek/dosyalardan geri yüklemek için kullanılır. +Araçlar, araca göndermediğiniz görev değişiklikleri olduğunu belirtmek için bir \`! -::: info +:::info Bir görevi gerçekleştirmeden önce görevi araca yüklemeniz gerekmektedir. ::: @@ -74,35 +80,41 @@ _Dosya araçları_ aşağıdaki fonksiyonları sağlar: - İndir (Araçtan yüklemek) - KML dosyası dahil olmak üzere Dosyaya Kaydet/Farklı Kaydet. - Dosyadan Yükle -- Tümünü Kaldır (tüm görev hedef noktalarını _ Plan ekranından_ ve araçtan kaldırır) +- Tümünü Kaldır (tüm görev hedef noktalarını \_ Plan ekranından\_ ve araçtan kaldırır) ### Şablon [Pattern](Pattern.md) aracı, [gözlem](../plan_view/pattern_survey.md) ve [yapı taramaları](../plan_view/pattern_structure_scan_v2.md) da dahil olmak üzere karmaşık şekillerin uçulması için görevlerin oluşturulmasını basitleştirir. -## Görev Komutları Listesi {#mission_command_list} +## Görev Komutları Listesi {#mission\_command\_list} -Mevcut görev için görev komutları ekranın sağında listelenir. En üstte görev, coğrafi sınır ve toparlanma noktaları arasında geçiş yapmak için bir dizi seçenek vardır. Listede, değerlerini düzenlemek için görev öğelerini ayrı ayrı seçebilirsiniz. +Mission commands for the current mission are listed on the right side of the view. +En üstte görev, coğrafi sınır ve toparlanma noktaları arasında geçiş yapmak için bir dizi seçenek vardır. +Listede, değerlerini düzenlemek için görev öğelerini ayrı ayrı seçebilirsiniz. ![Görev Komutları Listesi](../../../assets/plan/mission/mission_command_list.jpg) -### Görev Komutları Düzenleyicisi {#mission_command_editors} +### Görev Komutları Düzenleyicisi {#mission\_command\_editors} Düzenleyicisini görüntülemek için listedeki bir görev komutuna tıklayın (buradan komut özellikerini ayarlayabilir/değiştirebilirsiniz). -Komut adına tıklayarak komutun ** tipini ** değiştirebilirsiniz (örneğin: _Waypoint_). Bu, aşağıda gösterilen _ Select Mission Command_ diyaloğunu görüntüler. Varsayılan olarak bu sadece "Temel Komutlar" görüntülenir, daha fazlasını görüntülemek için ** Category** açılır menüsünü kullanabilirsiniz (örneğin tüm seçenekleri görmek için ** All commands ** 'ı seçin). +Komut adına tıklayarak komutun \*\* tipini \*\* değiştirebilirsiniz (örneğin: _Waypoint_). +Bu, aşağıda gösterilen \_ Select Mission Command\_ diyaloğunu görüntüler. +Varsayılan olarak bu sadece "Temel Komutlar" görüntülenir, daha fazlasını görüntülemek için \*\* Category\*\* açılır menüsünü kullanabilirsiniz (örneğin tüm seçenekleri görmek için \*\* All commands \*\* 'ı seçin). - + -Her komut adının sağında, _ Ekle _ ve _ Sil _ gibi ek seçeneklere erişmek için tıklayabileceğiniz bir menü bulunur. +Her komut adının sağında, \_ Ekle \_ ve \_ Sil \_ gibi ek seçeneklere erişmek için tıklayabileceğiniz bir menü bulunur. -::: info -Kullanılabilir komutların listesi aracın yazılımına ve türüne bağlıdır. Örnek olarak şunlar verilebilir: Hedef nokta, Görüntü yakalamayı başlat, Öğeye atla (görevi tekrarlamak için) ve diğer komutlar. +:::info +Kullanılabilir komutların listesi aracın yazılımına ve türüne bağlıdır. +Örnek olarak şunlar verilebilir: Hedef nokta, Görüntü yakalamayı başlat, Öğeye atla (görevi tekrarlamak için) ve diğer komutlar. ::: -### Görev Ayarları {#mission_settings} +### Görev Ayarları {#mission\_settings} -_Mission Start_ paneli [ görev komut listesinde ](#mission_command_list) görünen ilk öğedir. Görevin başlangıcını veya sonunu etkileyebilecek bir takım varsayılan ayarı düzenlemek için kullanılabilir. +_Mission Start_ paneli [ görev komut listesinde ](#mission_command_list) görünen ilk öğedir. +Görevin başlangıcını veya sonunu etkileyebilecek bir takım varsayılan ayarı düzenlemek için kullanılabilir. ![Görev Komutları Listesi - Görev Ayarlarını Gösterme](../../../assets/plan/mission_start.png) @@ -110,9 +122,10 @@ _Mission Start_ paneli [ görev komut listesinde ](#mission_command_list) görü #### Görevin Varsayılan Ayarları -##### Hedef Noktanın Yüksekliği +##### Waypoint alt -Bir plana eklenen ilk görev öğesi için varsayılan irtifayı ayarlayın (sonraki öğeler, önceki öğeden ilk irtifayı alır). Bu aynı zamanda bir plandaki tüm öğelerin yüksekliğni aynı değere ayarlamak için de kullanılabilir; planda öğeler varken eğer değeri değiştirirseniz bu seçenek size sorulacaktır. +Bir plana eklenen ilk görev öğesi için varsayılan irtifayı ayarlayın (sonraki öğeler, önceki öğeden ilk irtifayı alır). +Bu aynı zamanda bir plandaki tüm öğelerin yüksekliğni aynı değere ayarlamak için de kullanılabilir; planda öğeler varken eğer değeri değiştirirseniz bu seçenek size sorulacaktır. ##### Uçuş Hızı @@ -126,12 +139,15 @@ Aracınızın son görev öğesinden sonra Geri Dönmesini/RTL istiyorsanız bun #### Planlanmış Ev Konumu -[Planned Home Position ](#planned_home) bölümü, bir görev planlarken aracın ev konumunu simüle etmenizi sağlar. Bu, kalkıştan görevin tamamlanmasına kadar aracınızın hedef noktalar arası rotasını görüntülemenizi sağlar. +[Planned Home Position ](#planned_home) bölümü, bir görev planlarken aracın ev konumunu simüle etmenizi sağlar. +Bu, kalkıştan görevin tamamlanmasına kadar aracınızın hedef noktalar arası rotasını görüntülemenizi sağlar. ![Görev Ayarları Planlanmış Ev Konumu Bölümü](../../../assets/plan/mission/mission_settings_planned_home_position_section.jpg) -::: info -Bu yalnızca _ planlanan _ ev konumudur ve aracı çalıştırmayı planladığınız yere konumlandırılmalıdır. Görevin gerçekleşmesinde gerçek bir etkisi yoktur. Asıl ev konumu, araç tarafından devreye alınırken ayarlanır. +:::info +Bu yalnızca \_ planlanan \_ ev konumudur ve aracı çalıştırmayı planladığınız yere konumlandırılmalıdır. +Görevin gerçekleşmesinde gerçek bir etkisi yoktur. +Asıl ev konumu, araç tarafından devreye alınırken ayarlanır. ::: This section allows you to set the **Altitude** and **Set Home to Map Centre** (you can move it to another position by dragging it on the map). @@ -155,26 +171,31 @@ Mevcut kamera eylemleri şunlardır: Araç için uygun görev komutları, aracın yazılımına ve türüne bağlıdır. -- Bir araca bağlıyken \* bir görev planlıyorsanız aracın yazılımı ve türü araçtan belirlenir. Bu bölüm, bir araca bağlı değilken aracın donanımını yazılımını/türünü belirlemenize olanak tanır. +Bir araca bağlıyken \* bir görev planlıyorsanız aracın yazılımı ve türü araçtan belirlenir. +Bu bölüm, bir araca bağlı değilken aracın donanımını yazılımını/türünü belirlemenize olanak tanır. ![Görev Ayarları Araç Bilgisi Bölümü](../../../assets/plan/mission/mission_settings_vehicle_info_section.jpg) -Bir görev planlarken belirtilebilecek ek değer, aracın uçuş hızıdır. Bu değer belirtilerek, bir araca bağlı olmasa bile toplam görev veya anket süreleri yaklaşık olarak tahmin edilebilir. +Bir görev planlarken belirtilebilecek ek değer, aracın uçuş hızıdır. +Bu değer belirtilerek, bir araca bağlı olmasa bile toplam görev veya anket süreleri yaklaşık olarak tahmin edilebilir. ## Sorun Giderme -### Görev (Plan) Yükleme/İndirme Hataları {#plan_transfer_fail} +### Görev (Plan) Yükleme/İndirme Hataları {#plan\_transfer\_fail} -Plan yükleme ve indirme, kötü bir iletişim bağlantısında hata verebilir (görevleri, coğrafi sınırları ve toparlanma noktalarını etkiler). Bir arıza meydana gelirse, QGC kullanıcı arayüzünde aşağıdakine benzer bir durum mesajı görmelisiniz: +Plan yükleme ve indirme, kötü bir iletişim bağlantısında hata verebilir (görevleri, coğrafi sınırları ve toparlanma noktalarını etkiler). +Bir arıza meydana gelirse, QGC kullanıcı arayüzünde aşağıdakine benzer bir durum mesajı görmelisiniz: -> Görev aktarımı başarısız oldu. (Mission transfer failed.) Aktarmayı tekrarlayın. (Retry transfer.) Hata: Görev yazma görev sayısı başarısız oldu, maksimum yeniden deneme aşıldı. (Error: Mission write mission count failed, maximum retries exceeded.) +> (Mission transfer failed.) (Retry transfer.) (Error: Mission write mission count failed, maximum retries exceeded.) -Bağlantınız için kayıp oranı [ Settings View > MAVLink ](../settings_view/mavlink.md) 'de görüntülenebilir. Kayıp oranı düşük tek haneli değerlerde olmalıdır (yani maksimum 2 veya 3): +Bağlantınız için kayıp oranı [ Settings View > MAVLink ](../settings_view/mavlink.md) 'de görüntülenebilir. +Kayıp oranı düşük tek haneli değerlerde olmalıdır (yani maksimum 2 veya 3): - Yüksek tek haneli bir kayıp oranı, aralıklı arızalara neden olabilir. - Daha yüksek kayıp oranları genellikle% 100 başarısızlığa neden olur. -Hatalar çok küçük bir ihtimalle QGC'deki ya da uçuş modlarındaki buglardan dolayı ortaya çıkabilir. Bu olasılığı analiz etmek için, Plan yükleme/indirme için [ Console Logging ](../settings_view/console_logging.md) 'i etkinleştirebilir ve protokol mesaj trafiğini gözden geçirebilirsiniz. +Hatalar çok küçük bir ihtimalle QGC'deki ya da uçuş modlarındaki buglardan dolayı ortaya çıkabilir. +Bu olasılığı analiz etmek için, Plan yükleme/indirme için [ Console Logging ](../settings_view/console_logging.md) 'i etkinleştirebilir ve protokol mesaj trafiğini gözden geçirebilirsiniz. ## Daha Fazla Bilgi diff --git a/docs/tr/qgc-user-guide/releases/daily_build_new_features.md b/docs/tr/qgc-user-guide/releases/daily_build_new_features.md index 715aa6447cb..6b298f7f00e 100644 --- a/docs/tr/qgc-user-guide/releases/daily_build_new_features.md +++ b/docs/tr/qgc-user-guide/releases/daily_build_new_features.md @@ -1,5 +1,7 @@ # Daily Build Major Changes -This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ since the last [stable release](../releases/release_notes.md). These features are available in [daily builds](../releases/daily_builds.md). There is also a [Change Log](https://github.com/mavlink/qgroundcontrol/blob/master/ChangeLog.md) available for viewing. +This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ since the last [stable release](../releases/release_notes.md). +These features are available in [daily builds](../releases/daily_builds.md). +There is also a [Change Log](https://github.com/mavlink/qgroundcontrol/blob/master/ChangeLog.md) available for viewing. - TBD diff --git a/docs/tr/qgc-user-guide/releases/daily_builds.md b/docs/tr/qgc-user-guide/releases/daily_builds.md index 0e9d6c855de..0550549176e 100644 --- a/docs/tr/qgc-user-guide/releases/daily_builds.md +++ b/docs/tr/qgc-user-guide/releases/daily_builds.md @@ -2,13 +2,15 @@ Daily Builds of _QGroundControl_ have the absolute latest set of [new features](../releases/daily_build_new_features.md). -::: warning -Daily Builds are less tested than stable builds. Use at your own risk! +:::warning +Daily Builds are less tested than stable builds. +Use at your own risk! ::: These can be downloaded from the links below (install as described in [Download and Install](../getting_started/download_and_install.md)): - [Windows](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl-installer.exe) + - [OS X](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl.dmg) ::: info @@ -20,9 +22,11 @@ These can be downloaded from the links below (install as described in [Download ::: - [Linux](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl.AppImage) + - [Android](https://play.google.com/store/apps/details?id=org.mavlink.qgroundcontrolbeta) - Google Play: Listed as _QGroundControl (Daily Test Build)_. + - iOS currently unavailable -::: info +:::info The QGroundControl Continous Delivery pipeline from time to time might experience issues uploading to the Google Play store. You can find the daily build APK for Android devices for direct download here: [QGroundControl32.apk](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl32.apk), and [QGroundControl64.apk](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl64.apk) ::: diff --git a/docs/tr/qgc-user-guide/releases/release_notes.md b/docs/tr/qgc-user-guide/releases/release_notes.md index 290aee3976b..54dfa2f76de 100644 --- a/docs/tr/qgc-user-guide/releases/release_notes.md +++ b/docs/tr/qgc-user-guide/releases/release_notes.md @@ -2,13 +2,14 @@ This topic contains the cumulative release notes for _QGroundControl_. -::: info -Stable build major/minor numbers are listed below. _Patch_ release numbers are not listed, but can be found on the [Github release page](https://github.com/mavlink/qgroundcontrol/releases). +:::info +Stable build major/minor numbers are listed below. +_Patch_ release numbers are not listed, but can be found on the [Github release page](https://github.com/mavlink/qgroundcontrol/releases). ::: ## Stable Version 4.0 (current) -::: info +:::info The format for Settings in QGC had to change in this release. Which means all QGC settings will be reset to defaults. ::: @@ -57,10 +58,12 @@ This section contains a high level and _non-exhaustive_ list of new features add - **Overall** - Added Airmap integration to QGC. OSX build only. - - Bumped settings version (now 8). This will cause all settings to be reset to defaults. + - Bumped settings version (now 8). + This will cause all settings to be reset to defaults. - Added Chinese and Turkish localization and partial German localization. - Added support for the Taisync 2.4GHz ViUlinx digital HD wireless link. - - Fix loading of parameters from multiple components. This especially affected WiFi connections. + - Fix loading of parameters from multiple components. + This especially affected WiFi connections. - **ArduPilot** Support for ChibiOS firmware connect and flash. - **Settings** - **RTK** Add support for specifying fixed RTK based station location in Settings/General. @@ -69,13 +72,16 @@ This section contains a high level and _non-exhaustive_ list of new features add - GCS heading shown if available - **Plan** - **Polygons** Support loading polygons from SHP files. - - **Fixed Wing Landing Pattern** Add stop photo/video support. Defaults to on such that doing an RTL will stop camera. + - **Fixed Wing Landing Pattern** Add stop photo/video support. + Defaults to on such that doing an RTL will stop camera. - **Edit Position dialog** Available on polygon vertices. - **Fly** - - **Camera Page** Updated support for new MAVLInk camera messages. Camera select, camera mode, start/stop photo/video, storage mangement... + - **Camera Page** Updated support for new MAVLInk camera messages. + Camera select, camera mode, start/stop photo/video, storage mangement... - **Orbit** Support for changing rotation direction. - **Instrument Panel** - - Added ESTIMATOR_STATUS values to new estimatorStatus Vehicle FactGroup. These are now available to display in instrument panel. + - Added ESTIMATOR\_STATUS values to new estimatorStatus Vehicle FactGroup. + These are now available to display in instrument panel. - Make Distance to GCS available for display from instrument panel. - Make Heading to Home available for display from instrument panel. @@ -88,6 +94,7 @@ This section contains a high level and _non-exhaustive_ list of new features add - Center Tool allows you to specify a map location in lat/lon or UTM coordinates. Making it easier to get to the location you want to create an offline map for. - Ability to pre-download terrain heights for offline use. - **Help** Provides links to QGC user guide and forums. + - **Setup** - **Firmware** Ability to flash either PX4 or ArduPilot Flow firmware. - PX4 Pro Firmware @@ -96,15 +103,21 @@ This section contains a high level and _non-exhaustive_ list of new features add - ArduPilot Firmware - **Power/Safety** Support for new multi-battery setup. - **Trad Heli** New setup page. + - **Plan** - **File Load/Save** New model for Plan file loading which matches a standard File Load/Save/Save As user model. + - **Load KML** Ability to load a KML file directly from the Sync menu. You will be prompted for what type of Pattern you want to create from the KML if needed. + - **Survey** Better support for irregular shaped polygons. + - **[Corridor Scan](../plan_view/pattern_corridor_scan.md)** - Create a flight pattern which follows a poly-line. For example can be used to survey a road. + - **[Fixed Wing Landing Pattern](../plan_view/pattern_fixed_wing_landing.md)** - Landing area visually represented in Plan. - Landing position/heading can be copied from Vehicle position/heading. + - **Terrain** - Height of mission items can be specified as height above terrain. @@ -122,11 +135,14 @@ This section contains a high level and _non-exhaustive_ list of new features add - Many new values available for display. - New Camera page which provides full camera control. Requires a camera which support new MavLink camera specification. - **ArduPlane** Much better support for guided commands including QuadPlane support. - - **High Latency Links** Support for high latency links such as satellite connections. Limits the traffic from QGC up to Vehicle on these links to reduce cost. Supports HIGH_LATENCY MavLink message. Supports failover back/forth from high latency to normal link with dual link setup. + - **High Latency Links** Support for high latency links such as satellite connections. + Limits the traffic from QGC up to Vehicle on these links to reduce cost. + Supports HIGH\_LATENCY MavLink message. + Supports failover back/forth from high latency to normal link with dual link setup. ## Stable Version 3.3 -::: tip +:::tip More detailed release notes for version 3.3 can be found [here](../releases/stable_v3.3_long.md). ::: @@ -154,7 +170,7 @@ This section contains a high level and _non-exhaustive_ list of new features add ## Stable Version 3.2 -::: tip +:::tip More detailed release notes for version 3.2 can be found [here](../releases/stable_v3.2_long.md). ::: @@ -215,7 +231,6 @@ This section contains a high level and _non-exhaustive_ list of new features add - **Mavlink Console** - NSH shell access - **Support for third-party customized QGroundControl** - - Standard QGC supports multiple firmware types and multiple vehicle types. There is now support in QGC which allows a third-party to create their own custom version of QGC which is targeted specifically to their custom vehicle. They can then release their own version of QGC with their vehicle. ## Stable Version 3.1 diff --git a/docs/tr/qgc-user-guide/releases/stable_v3.2_long.md b/docs/tr/qgc-user-guide/releases/stable_v3.2_long.md index 09614b36d56..0056ad212fc 100644 --- a/docs/tr/qgc-user-guide/releases/stable_v3.2_long.md +++ b/docs/tr/qgc-user-guide/releases/stable_v3.2_long.md @@ -6,13 +6,16 @@ This topic contains a high level and _non-exhaustive_ list of new features added ### Telemetry log auto-save -If you have _Save telemetry log after each flight_ turned on you will no longer be prompted as to where to save the log each time the vehicle disarms. Logs will automatically be saved to the [Application Load/Save Path](../settings_view/general.md#load_save_path) +If you have _Save telemetry log after each flight_ turned on you will no longer be prompted as to where to save the log each time the vehicle disarms. +Logs will automatically be saved to the [Application Load/Save Path](../settings_view/general.md#load_save_path) For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#autosave_log). ### AutoLoad plans -If this setting is turned on, _QGroundControl_ will automatically upload a plan to the vehicle when it connects. The plan file must be named **AutoLoad#.plan** where the `#` is replaced with the vehicle id. The plan file must be located in the [Application Load/Save Path](../settings_view/general.md#load_save_path). +If this setting is turned on, _QGroundControl_ will automatically upload a plan to the vehicle when it connects. +The plan file must be named **AutoLoad#.plan** where the `#` is replaced with the vehicle id. +The plan file must be located in the [Application Load/Save Path](../settings_view/general.md#load_save_path). For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#autoload_missions). @@ -38,7 +41,7 @@ This is now supported from the Sensors page. This is now supported from the Copy Trims button on the Radio setup page. -## Plan View {#plan_view} +## Plan View {#plan\_view} ### Plan Files @@ -50,21 +53,24 @@ Information about the format can be found in [Plan File Format](https://dev.qgro ![Plan Toolbar](../../../assets/plan/plan_toolbar.jpg) -The new _Plan Toolbar_ is displayed at the top of the [PlanView](../plan_view/plan_view.md). It shows you information related to the currently selected waypoint as well as statistics for the entire mission. +The new _Plan Toolbar_ is displayed at the top of the [PlanView](../plan_view/plan_view.md). +It shows you information related to the currently selected waypoint as well as statistics for the entire mission. When connected to a vehicle it also shows an **Upload** button, which can be used to upload the plan to the vehicle. ### Mission Settings -The [Mission Settings](../plan_view/plan_view.md#mission_settings) panel allows you to specify values which apply to the entire mission, or settings you want to control right at the beginning of a mission. This is the first item in the mission list on the right of the screen. +The [Mission Settings](../plan_view/plan_view.md#mission_settings) panel allows you to specify values which apply to the entire mission, or settings you want to control right at the beginning of a mission. +This is the first item in the mission list on the right of the screen. - + #### Mission Defaults ##### Waypoint alt -This specifies the default altitude for newly added mission items. If you update this value while you have a mission loaded it will prompt you to update all the the waypoints to this new altitude. +This specifies the default altitude for newly added mission items. +If you update this value while you have a mission loaded it will prompt you to update all the the waypoints to this new altitude. ##### Flight speed @@ -76,7 +82,7 @@ Check this if you want your vehicle to RTL after the final mission item. #### Camera section - + The camera section allows you to specify a camera action to take, control the gimbal and set your camera into photo or video mode. @@ -91,7 +97,7 @@ The camera actions available are: #### Vehicle Info section - + When planning a mission the firmware being run on the vehicle as well as the vehicle type must be known in order for QGroundControl to show you the mission commands which are appropriate for your vehicle. @@ -101,20 +107,20 @@ The additional value that can be specified when planning a mission is the vehicl #### Planned Home Position - + The planned home position allows you to simulate the vehicle's home position while planning a mission. This way you see the waypoint trajectory for your vehicle from takeoff to mission completion. Keep in mind that this is only the "planned" home position and you should place it where you plan to start the vehicle from. It has no actual impact on flying the mission. The actual home position of a vehicle is set by the vehicle itself when arming. ### New Waypoint features - + - You can now adjust heading and flight speed for each waypoint. - There is a camera section available for camera changes on each waypoint. Explanation of Camera Section can be read under Mission Settings above. ### Visual Gimbal direction - + If you specify gimbal yaw changes on waypoints, both the plan and fly views will show you a visual representation of the gimbal direction. @@ -129,9 +135,12 @@ There is a new _Pattern tool_. The following patterns are supported: ![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern.jpg) -This adds a landing pattern for fixed wings to your mission. The first point of the pattern is the loiter point which commands to vehicle to loiter to a specific altitude. Once that altitude is reached, the vehicle will begin the landing sequence and fly down to the specified landing spot. +This adds a landing pattern for fixed wings to your mission. +The first point of the pattern is the loiter point which commands to vehicle to loiter to a specific altitude. +Once that altitude is reached, the vehicle will begin the landing sequence and fly down to the specified landing spot. -Both the loiter and land points can be dragged to adjust. Also all the various values associated with the pattern can be adjusted. +Both the loiter and land points can be dragged to adjust. +Also all the various values associated with the pattern can be adjusted. For more information see [Fixed Wing Landing Pattern](../plan_view/pattern_fixed_wing_landing.md). @@ -177,11 +186,22 @@ There is an armed/disarmed indicator in the toolbar. You can click it to arm/dis #### Resume Mission -The Resume Mission guided action is used to resume a mission after performing an RTL from within the mission to perform a battery change. After the vehicle lands from RTL and you have disconnected the battery **do not** disconnect QGC from the Vehicle. Put in your new battery and QGC will detect the vehicle again and automatically restore the connection. Once this happens you will be prompted with a Resume Mission confirmation slider. If you want to resume the mission, confirm this and the mission will be rebuilt from your last waypoint traveled through. Once the mission is rebuilt you will be presented with another Resume Mission slide which allows you to review the rebuilt mission before starting it again. Confirm this Resume Mission slider to continue on with the mission. +The Resume Mission guided action is used to resume a mission after performing an RTL from within the mission to perform a battery change. +After the vehicle lands from RTL and you have disconnected the battery **do not** disconnect QGC from the Vehicle. +Put in your new battery and QGC will detect the vehicle again and automatically restore the connection. +Once this happens you will be prompted with a Resume Mission confirmation slider. +If you want to resume the mission, confirm this and the mission will be rebuilt from your last waypoint traveled through. +Once the mission is rebuilt you will be presented with another Resume Mission slide which allows you to review the rebuilt mission before starting it again. +Confirm this Resume Mission slider to continue on with the mission. ###### How resume mission rebuilding works -In order to resume a mission you cannot simply continue it from the last mission item the vehicle ran. The reason is is that may skip over important change speed commands or camera control commands which are prior to that item in the mission. If you skipped over those the remainder of the mission will not run correctly. In order to make resume mission work correctly QGC rebuilds the mission looking backwards from the last mission item flown and automatically appends relevant commands to the front of the mission. By doing this the state of the mission prior to the resume point is restore. The following mission commands are the ones scanned for: +In order to resume a mission you cannot simply continue it from the last mission item the vehicle ran. +The reason is is that may skip over important change speed commands or camera control commands which are prior to that item in the mission. +If you skipped over those the remainder of the mission will not run correctly. +In order to make resume mission work correctly QGC rebuilds the mission looking backwards from the last mission item flown and automatically appends relevant commands to the front of the mission. +By doing this the state of the mission prior to the resume point is restore. +The following mission commands are the ones scanned for: - `MAV_CMD_DO_CONTROL_VIDEO` - `MAV_CMD_DO_SET_ROI` @@ -200,7 +220,8 @@ In order to resume a mission you cannot simply continue it from the last mission ### Remove mission after vehicle lands -You will be prompted to remove the mission from the vehicle after the mission completes and the vehicle lands and disarms. This is meant to prevent issues where stale missions are unknowingly left on a vehicle cause unexpected behavior. +You will be prompted to remove the mission from the vehicle after the mission completes and the vehicle lands and disarms. +This is meant to prevent issues where stale missions are unknowingly left on a vehicle cause unexpected behavior. ### Instrument panel @@ -208,7 +229,9 @@ You will be prompted to remove the mission from the vehicle after the mission co #### Flight Time -Flight time is now available for display in the instrument panel. For new users, flight time will be shown by default. For existing users who have already modified their instrument panel values you will have to add it yourself if you want to use it. +Flight time is now available for display in the instrument panel. +For new users, flight time will be shown by default. +For existing users who have already modified their instrument panel values you will have to add it yourself if you want to use it. ## [Analyze View](../analyze_view/index.md) @@ -220,11 +243,11 @@ Flight time is now available for display in the instrument panel. For new users, There is a new view available when you have multiple vehicles connected to QGC. It will only show up when more than one vehicle is connected. When that happens you will see an additional set of radio button at the top right of the Plan view. - + Click the **Multi-Vehicle** radio button to replace the instrument panel with the multi-vehicle list: - + The example above shows three vehicles. The numbers are the vehicle id. In the large font is the current flight mode. You can click the flight mode name to change to a different flight mode. To the right are small version of the instruments for each vehicle. You can command the vehicle to do the following actions from the control panel: diff --git a/docs/tr/qgc-user-guide/releases/stable_v3.3_long.md b/docs/tr/qgc-user-guide/releases/stable_v3.3_long.md index 97f5276c7df..4c2f86d680d 100644 --- a/docs/tr/qgc-user-guide/releases/stable_v3.3_long.md +++ b/docs/tr/qgc-user-guide/releases/stable_v3.3_long.md @@ -10,7 +10,8 @@ This topic contains a high level and _non-exhaustive_ list of new features added ![NMEA GPS Device support](../../../assets/settings/general/NMEADevice.jpg) -You can specify a connection to one of these devices on the General page. The GPS information will then be used for ground station location and in turn follow me support. +You can specify a connection to one of these devices on the General page. +The GPS information will then be used for ground station location and in turn follow me support. For more information see [Settings > General (AutoConnect to the following devices)](../settings_view/general.md#auto_connect). @@ -18,15 +19,19 @@ For more information see [Settings > General (AutoConnect to the following devic ![Video Recording](../../../assets/settings/video_recording.jpg) -Videos will be saved to the Video directory of your QGC file save path. You can also specify the maximum amount of space you want video files to consume. After that size if exceeded the oldest video files will be removed. Video Recording is turned on/off from the Video widget in the Fly View. +Videos will be saved to the Video directory of your QGC file save path. +You can also specify the maximum amount of space you want video files to consume. +After that size if exceeded the oldest video files will be removed. +Video Recording is turned on/off from the Video widget in the Fly View. For more information see [Settings > General (Video / Video Recording)](../settings_view/general.md#video). -### Plan View {#plan_view} +### Plan View {#plan\_view} #### Structure Scan -A Structure Scan allows you to create a grid flight pattern that captures images over vertical surfaces (polygonal or circular). These are typically used for the visual inspection or creation of 3d models of structures. +A Structure Scan allows you to create a grid flight pattern that captures images over vertical surfaces (polygonal or circular). +These are typically used for the visual inspection or creation of 3d models of structures. Details [here](../plan_view/pattern_structure_scan_v2.md). diff --git a/docs/tr/qgc-user-guide/releases/stable_v4.0_additional.md b/docs/tr/qgc-user-guide/releases/stable_v4.0_additional.md index 6091cf783a4..9399f0d3702 100644 --- a/docs/tr/qgc-user-guide/releases/stable_v4.0_additional.md +++ b/docs/tr/qgc-user-guide/releases/stable_v4.0_additional.md @@ -1,6 +1,7 @@ # QGroundControl v4.0 Release Notes (Additional) -This topic contains additional notes about QGroundControl 4.0. These should be integrated into main documentation in coming months (and this document deleted). +This topic contains additional notes about QGroundControl 4.0. +These should be integrated into main documentation in coming months (and this document deleted). - [Pattern Presets](../plan_view/pattern_presets.md) - Allows you to save settings for a Pattern item (Survey, Corridor Scan, ...) into a named preset. You can then use this preset over and over again as you create new Pattern. - ArduPilot: diff --git a/docs/tr/qgc-user-guide/settings_view/console_logging.md b/docs/tr/qgc-user-guide/settings_view/console_logging.md index f242fc56834..3cfd225cd15 100644 --- a/docs/tr/qgc-user-guide/settings_view/console_logging.md +++ b/docs/tr/qgc-user-guide/settings_view/console_logging.md @@ -27,23 +27,27 @@ An alternate mechanism for logging is using the `--logging` command line option. How you do this and where the traces are output vary by OS: - Windows - - You must open a command prompt, change directory to the **qgroundcontrol.exe** location, and run it from there: bash cd "\Program Files (x86)\qgroundcontrol" qgroundcontrol --logging:full + ```bash + cd "\Program Files (x86)\qgroundcontrol" + qgroundcontrol --logging:full + ``` - When _QGroundControl_ starts you should see a separate console window open which will have the log output - - OSX - - You must run _QGroundControl_ from Terminal. The Terminal app is located in Applications/Utilities. Once Terminal is open paste the following into it: - bash - cd /Applications/qgroundcontrol.app/Contents/MacOS/ - ./qgroundcontrol --logging:full + ```bash + Once Terminal is open paste the following into it: + bash + cd /Applications/qgroundcontrol.app/Contents/MacOS/ + ./qgroundcontrol --logging:full + ``` - Log traces will output to the Terminal window. - -- Linux - - - bash - ./qgroundcontrol-start.sh --logging:full +- ## Linux + ```bash + bash + ./qgroundcontrol-start.sh --logging:full + ``` - Log traces will output to the shell you are running from. diff --git a/docs/tr/qgc-user-guide/settings_view/csv.md b/docs/tr/qgc-user-guide/settings_view/csv.md index a6d1f909ef9..ae227ea9238 100644 --- a/docs/tr/qgc-user-guide/settings_view/csv.md +++ b/docs/tr/qgc-user-guide/settings_view/csv.md @@ -2,8 +2,10 @@ ![Csv checkbox](../../../assets/settings/general/csv.jpg) -When checked, a CSV (comma-separated value) telemetry file will be created along with the usual **.tlog** telemetry file. The file is only created if **Save log after each flight** is enabled, and is recorded for the same duration. +When checked, a CSV (comma-separated value) telemetry file will be created along with the usual **.tlog** telemetry file. +The file is only created if **Save log after each flight** is enabled, and is recorded for the same duration. -This CSV file contains the most relevant vehicle telemetry data available for quick analysis such as GPS position, attitude, battery status, and others. It is populated at 1 Hz and while it is not as detailed as the telemetry log, it is a lot easier to work with and quicker to extract data out of. +This CSV file contains the most relevant vehicle telemetry data available for quick analysis such as GPS position, attitude, battery status, and others. +It is populated at 1 Hz and while it is not as detailed as the telemetry log, it is a lot easier to work with and quicker to extract data out of. The file can be opened by common spreadsheet software, including: Microsoft Excel, Google Sheets, LibreOffice Calc or OpenOffice Calc. diff --git a/docs/tr/qgc-user-guide/settings_view/general.md b/docs/tr/qgc-user-guide/settings_view/general.md index 383c3b1177e..a092b9afd54 100644 --- a/docs/tr/qgc-user-guide/settings_view/general.md +++ b/docs/tr/qgc-user-guide/settings_view/general.md @@ -1,8 +1,9 @@ # General Settings (Settings View) -The general settings (**SettingsView > General Settings**) are the main place for application-level configuration. Settable values include: display units, autoconnection devices, video display and storage, RTK GPS, brand image, and other miscellaneous settings. +The general settings (**SettingsView > General Settings**) are the main place for application-level configuration. +Settable values include: display units, autoconnection devices, video display and storage, RTK GPS, brand image, and other miscellaneous settings. -::: info +:::info Values are settable even if no vehicle is connected. Settings that require a vehicle restart are indicated in the UI. ::: @@ -33,63 +34,90 @@ The settings are: ![Display languages](../../../assets/settings/general/languages.jpg) + Translations are generally built into the application and selected automatically based on the system language. + + Metadata downloaded from the vehicle (such as parameter descriptions) might have translations as well. + These are downloaded from the internet upon vehicle connection. The translations are then cached locally. + This means an internet connection during vehicle connection is required at least once. + - **Color Scheme**: Indoor (Dark) | Outdoor (Light) - **Map Provider**: Google | Mapbox | Bing | Airmap | VWorld | Eniro | Statkart + - **Map Type**: Road | Hybrid | Satellite + - **Stream GCS Position**: Never | Always | When in Follow Me Flight Mode. + - **UI Scaling**: UI scale percentage (affects fonts, icons, button sizes, layout etc.) + - **Mute all audio output**: Turns off all audio output. + - **Check for Internet Connection**: Uncheck to allow maps to be used in China/places where map tile downloads are likely to fail (stops the map-tile engine continually rechecking for an Internet connection). + - **Autoload Missions**: If enabled, automatically upload a plan to the vehicle on connection. - The plan file must be named **AutoLoad#.plan**, where the `#` is replaced with the vehicle id. - The plan file must be located in the [Application Load/Save Path](#load_save_path). + - **Clear all settings on next start**: Resets all settings to the default (including this one) when _QGroundControl_ restarts. + - **Announce battery lower than**: Battery level at which _QGroundControl_ will start low battery announcements. + - **Application Load/Save Path**: Default location for loading/saving application files, including: parameters, telemetry logs, and mission plans. -## Data Persistence {#data_persistence} +## Data Persistence {#data\_persistence} ![Data Persistence Settings](../../../assets/settings/general/data_persistence.jpg) The settings are: -- **Disable all data persistence**: Check to prevent any data being saved or cached: logs, map tiles etc. This setting disables the [telemetry logs section](#telemetry_logs). +- **Disable all data persistence**: Check to prevent any data being saved or cached: logs, map tiles etc. -## Telemetry Logs from Vehicle {#telemetry_logs} +## Telemetry Logs from Vehicle {#telemetry\_logs} ![Telemetry Logs from Vehicle Settings](../../../assets/settings/general/telemetry_logs.jpg) The settings are: - **Save log after each flight**: Telemetry logs (`.tlog`) automatically saved to the _Application Load/Save Path_ ([above](#load_save_path)) after flight. -- **Save logs even if vehicle was not armed**: Logs when a vehicle connects to _QGroundControl_. Stops logging when the last vehicle disconnects. +- **Save logs even if vehicle was not armed**: Logs when a vehicle connects to _QGroundControl_. + Stops logging when the last vehicle disconnects. - [**CSV Logging**](csv.md): Log subset of telemetry data to a CSV file. -## Fly View {#fly_view} +## Fly View {#fly\_view} ![Fly View Settings](../../../assets/settings/general/fly_view.jpg) The settings are: - **Use Preflight Checklist**: Enable pre-flight checklist in Fly toolbar. + - **Enforce Preflight Checklist**: Checklist completion is a pre-condition for arming. + - **Keep Map Centered on Vehicle**: Forces map to center on the currently selected vehicle. + - **Show Telemetry Log Replay Status Bar**: Display status bar for [Replaying Flight Data](../fly_view/replay_flight_data.md). + - **Virtual Joystick**: Enable [virtual joysticks](../settings_view/virtual_joystick.md) (PX4 only) + - **Use Vertical Instrument Panel**: Align instrument panel vertically rather than horizontally (default). + - **Show additional heading indicators on Compass**: Adds additional indicators to the compass rose: + - _Blue arrow_: course over ground. + - _White house_: direction back to home. + - _Green line_: Direction to next waypoint. - **Lock Compass Nose-Up**: Check to rotate the compass rose (default is to rotate the vehicle inside the compass indicateor). - **Guided Minimum Altitude**: Minimum value for guided actions altitude slider. + - **Guided Maximum Altitude**: Minimum value for guided actions altitude slider. + - **Go To Location Max Distance**: The maximum distance that a Go To location can be set from the current vehicle location (in guided mode). -## Plan View {#plan_view} +## Plan View {#plan\_view} ![Plan View Settings](../../../assets/settings/general/plan_view.jpg) @@ -97,7 +125,7 @@ The settings are: - **Default Mission Altitude**: The default altitude used for the Mission Start Panel, and hence for the first waypoint. -## AutoConnect to the following devices {#auto_connect} +## AutoConnect to the following devices {#auto\_connect} This section defines the set of devices to which _QGroundControl_ will auto-connect. @@ -113,13 +141,15 @@ Settings include: - **RTK GPS:** Autoconnect to RTK GPS device - **NMEA GPS Device:** Autoconnect to an external GPS device to get ground station position ([see below](#nmea_gps)) -### Ground Station Location (NMEA GPS Device) {#nmea_gps} +### Ground Station Location (NMEA GPS Device) {#nmea\_gps} -_QGroundControl_ will automatically use an internal GPS to display its own location on the map with a purple `Q` icon (if the GPS provides a heading, this will be also indicated by the icon). It may also use the GPS as a location source for _Follow Me Mode_ - currently supported on [PX4 Multicopters only](https://docs.px4.io/en/flight_modes/follow_me.html). +_QGroundControl_ will automatically use an internal GPS to display its own location on the map with a purple `Q` icon (if the GPS provides a heading, this will be also indicated by the icon). +It may also use the GPS as a location source for _Follow Me Mode_ - currently supported on [PX4 Multicopters only](https://docs.px4.io/en/flight_modes/follow_me.html). -You can also configure QGC to connect to an external GPS device via a serial or UDP port. The GPS device must support the ASCII NMEA format - this is normally the case. +You can also configure QGC to connect to an external GPS device via a serial or UDP port. +The GPS device must support the ASCII NMEA format - this is normally the case. -::: tip +:::tip A higher quality external GPS system may be useful even if the ground station has internal GPS support. ::: @@ -143,18 +173,22 @@ Use the _NMEA GPS Device_ drop-down selector to manually select the GPS device a - **NMEA GPS Device:** _UDP Port_. - **NMEA Stream UDP Port**: The UDP port on which QGC will listen for NMEA data (QGC binds the port as a server) -## RTK GPS {#rtk_gps} +## RTK GPS {#rtk\_gps} This section allows you to specify the RTK GPS "Survey-in" settings, to save and reuse the result of a Survey-In operation, or to directly enter any other known position for the base station. ![RTK GPS Settings](../../../assets/settings/general/rtk_gps.jpg) -::: info -The _Survey-In_ process is a startup procedure required by RTK GPS systems to get an accurate estimate of the base station position. The process takes measurements over time, leading to increasing position accuracy. Both of the setting conditions must met for the Survey-in process to complete. For more information see [RTK GPS](https://docs.px4.io/en/advanced_features/rtk-gps.html) (PX4 docs) and [GPS- How it works](http://ardupilot.org/copter/docs/common-gps-how-it-works.html#rtk-corrections) (ArduPilot docs). +:::info +The _Survey-In_ process is a startup procedure required by RTK GPS systems to get an accurate estimate of the base station position. +The process takes measurements over time, leading to increasing position accuracy. +Both of the setting conditions must met for the Survey-in process to complete. +For more information see [RTK GPS](https://docs.px4.io/en/advanced_features/rtk-gps.html) (PX4 docs) and [GPS- How it works](http://ardupilot.org/copter/docs/common-gps-how-it-works.html#rtk-corrections) (ArduPilot docs). ::: -::: tip -In order to save and reuse a base position (because Survey-In is time consuming!) perform Survey-In once, select _Use Specified Base Position_ and press **Save Current Base Position** to copy in the values for the last survey. The values will then persist across QGC reboots until they are changed. +:::tip +In order to save and reuse a base position (because Survey-In is time consuming!) perform Survey-In once, select _Use Specified Base Position_ and press **Save Current Base Position** to copy in the values for the last survey. +The values will then persist across QGC reboots until they are changed. ::: The settings are: @@ -169,9 +203,9 @@ The settings are: - **Base Position Accuracy:** Accuracy of base station position information. - **Save Current Base Position** (button): Press to copy settings from the last Survey-In operation to the _Use Specified Base Position_ fields above. -## ADSB Server {#adsb_server} +## ADSB Server {#adsb\_server} -![ADSB_Server Settings](../../../assets/settings/general/adbs_server.jpg) +![ADSB\_Server Settings](../../../assets/settings/general/adbs_server.jpg) The settings are: @@ -182,7 +216,16 @@ The settings are: QGC can consume ADSB messages in SBS format from a remote or local server (at the specified IP address/port) and display detected vehicles on the Fly View map. ::: tip -One way to get ADSB information from nearby vehicles is to use [dump1090](https://github.com/antirez/dump1090) to serve the data from a connected RTL-SDR dongle to QGC. The steps are: 1. Get an RTL-SDR dongle (and antenna) and attach it to your ground station computer (you may need to find compatible drivers for your OS). 1. Install _dump1090_ on your OS (either pre-built or build from source). 1. Run `dump1090 --net` to start broadcasting messages for detected vehicles on TCP localhost port 30003 (127.0.0.1:30003). 1. Enter the server (`127.0.0.1`) and port (`30003`) address in the QGC settings above. 1. Restart QGC to start seeing local vehicles on the map. +One way to get ADSB information from nearby vehicles is to use [dump1090](https://github.com/antirez/dump1090) to serve the data from a connected RTL-SDR dongle to QGC. + +The steps are: 1. + +1. Get an RTL-SDR dongle (and antenna) and attach it to your ground station computer (you may need to find compatible drivers for your OS). +2. Install _dump1090_ on your OS (either pre-built or build from source). +3. Run `dump1090 --net` to start broadcasting messages for detected vehicles on TCP localhost port 30003 (127.0.0.1:30003). +4. Enter the server (`127.0.0.1`) and port (`30003`) address in the QGC settings above. +5. Restart QGC to start seeing local vehicles on the map. + ::: ## Video {#video} @@ -200,13 +243,17 @@ The settings are: ::: - **URL/Port**: Connection type-specific stream address (may be port or URL). + - **Aspect Ratio**: Aspect ratio for scaling video in video widget (set to 0.0 to ignore scaling) + - **Disabled When Disarmed**: Disable video feed when vehicle is disarmed. + - **Low Latency Mode**: Enabling low latency mode reduces the video stream latency, but may cause frame loss and choppy video (especially with a poor network connection). ## Video Recording -The _Video Recording_ section is used to specify the file format and maximum allocated file storage for storing video. Videos are saved to a sub-directory ("Video") of the [Application Load/Save Path](#load_save_path). +The _Video Recording_ section is used to specify the file format and maximum allocated file storage for storing video. +Videos are saved to a sub-directory ("Video") of the [Application Load/Save Path](#load_save_path). ![Video - without auto deletion](../../../assets/settings/general/video_recording.jpg) @@ -222,7 +269,8 @@ The settings are: This setting specifies the _brand image_ used for indoor/outdoor colour schemes. -The brand image is displayed in place of the icon for the connected autopilot in the top right corner of the toolbar. It is provided so that users can easily create screen/video captures that include a company logo/branding. +The brand image is displayed in place of the icon for the connected autopilot in the top right corner of the toolbar. +It is provided so that users can easily create screen/video captures that include a company logo/branding. ![Brand Image](../../../assets/settings/general/brand_image.jpg) diff --git a/docs/tr/qgc-user-guide/settings_view/mavlink.md b/docs/tr/qgc-user-guide/settings_view/mavlink.md index 1abbc207ea3..05bf0cd5581 100644 --- a/docs/tr/qgc-user-guide/settings_view/mavlink.md +++ b/docs/tr/qgc-user-guide/settings_view/mavlink.md @@ -1,25 +1,32 @@ # MAVLink Settings -The MAVLink settings (**SettingsView > MAVLink**) allow you to configure options and view information specific to MAVLink communications. This includes setting the MAVLink system ID for _QGroundControl_ and viewing link quality. +The MAVLink settings (**SettingsView > MAVLink**) allow you to configure options and view information specific to MAVLink communications. +This includes setting the MAVLink system ID for _QGroundControl_ and viewing link quality. The screen also allows you to manage [MAVLink 2 Log Streaming](#logging) (PX4 only), including _automating log upload to Flight Review_! ![MAVLink settings screen](../../../assets/settings/mavlink/overview.png) -## Ground Station {#ground_station} +## Ground Station {#ground\_station} This section sets the MAVLink properties and behaviour of _QGroundControl_. ![Ground Station](../../../assets/settings/mavlink/ground_station.png) -- **MAVLink System ID:** System ID of _QGroundControl_ on the MAVLink network (Default: 255). Vehicles are typically allocated IDs from 1. You may have to specify another ID if there are multiple ground stations or MAVLink applications on the network. -- **Emit heartbeat:** Disable emission of regular MAVLink HEARTBEAT message (Default: True). Generally speaking, you should not turn this off. +- **MAVLink System ID:** System ID of _QGroundControl_ on the MAVLink network (Default: 255). + Vehicles are typically allocated IDs from 1. + You may have to specify another ID if there are multiple ground stations or MAVLink applications on the network. +- **Emit heartbeat:** Disable emission of regular MAVLink HEARTBEAT message (Default: True). + Generally speaking, you should not turn this off. - **Only accept MAVs with the same protocol version:** Set true to only connect to MAVLink 1 or to MAVLink 2 vehicles (Default: True). -- **Enable MAVLink forwarding:** Enable _QGroundControl_ to forward MAVLink messages from connected vehicles to another UDP endpoint (Default: False). Note that this forwarding is one-way: from QGC to the specified host. Any MAVLink messages that are received from the specified host will be ignored. +- **Enable MAVLink forwarding:** Enable _QGroundControl_ to forward MAVLink messages from connected vehicles to another UDP endpoint (Default: False). + Note that this forwarding is one-way: from QGC to the specified host. + Any MAVLink messages that are received from the specified host will be ignored. -## Link Status {#link_status} +## Link Status {#link\_status} -This shows the status of MAVLink message transfer over the communications link. A high **Loss rate** may lead to protocol errors for things like parameter download or mission upload/download. +This shows the status of MAVLink message transfer over the communications link. +A high **Loss rate** may lead to protocol errors for things like parameter download or mission upload/download. ![Link Status](../../../assets/settings/mavlink/link_status.jpg) @@ -27,12 +34,13 @@ This shows the status of MAVLink message transfer over the communications link. The _MAVLink 2 Logging_ settings (PX4 only) configure real-time log streaming from PX4 to _QGroundControl_ and upload of logs to [Flight Review](https://logs.px4.io). -::: warning +:::warning MAVLink 2 Logging cannot be used on "basic" setups because it requires a constant high-rate MAVLink connection to the vehicle (it _may_ work over WiFI but will _not_ work over a Telemetry link). ::: -::: tip -In theory log streaming allows real time analysis of data. At time of writing real-time analysis has not yet been implemented. +:::tip +In theory log streaming allows real time analysis of data. +At time of writing real-time analysis has not yet been implemented. ::: The log format is the same as for SD Card logs (downloaded using [Analyze View > Log Download](../analyze_view/log_download.md)), but actual data logged may be slightly different because log start/stop time is controlled by _QGroundControl_ and because some dropouts may occur when streaming over a lossy channel. @@ -41,26 +49,32 @@ The _MAVLink 2 Logging_ section allows you to manually start and stop logging, a ![MAVLink 2 Logging](../../../assets/settings/mavlink/mavlink2_logging.jpg) -The _MAVLink 2 Log Uploads_ section allows you configure uploading of MAVLink logs to [Flight Review](https://logs.px4.io). You can specify all the fields that you would otherwise have to directly enter in the site, and also choose whether logs are automatically or manually uploaded. +The _MAVLink 2 Log Uploads_ section allows you configure uploading of MAVLink logs to [Flight Review](https://logs.px4.io). +You can specify all the fields that you would otherwise have to directly enter in the site, and also choose whether logs are automatically or manually uploaded. ![MAVLink 2 Log Uploads](../../../assets/settings/mavlink/mavlink2_log_uploads.jpg) The fields are: -- **Email address for Log Uploads:** _Flight Review_ will email you a link to the upload at this address. This is important as otherwise you will have no way to access a non-public log after upload. +- **Email address for Log Uploads:** _Flight Review_ will email you a link to the upload at this address. + This is important as otherwise you will have no way to access a non-public log after upload. - **Default Description:** Description/name of flight used for log. -- **Default Upload URL:** URL for upload of the log/log metadata. This is set by default to the _Flight Review_ URL. -- **Video URL:** (Optional) URL for video of flight associated with log. This may be included on the Flight Review page to ease analysis. +- **Default Upload URL:** URL for upload of the log/log metadata. + This is set by default to the _Flight Review_ URL. +- **Video URL:** (Optional) URL for video of flight associated with log. + This may be included on the Flight Review page to ease analysis. - **Wind Speed:** Used to aid debugging and filtering (from multiple flights). Allowed values: _Calm_ | _Breeze_ | _Gale_ | _Storm_. - **Flight Rating:** Used to aid debugging and filtering (from multiple flights). Allowed values: _Crashed (Pilot Error)_ | _Crashed (Software or Hardware Issue)_ | _Unsatisfactory_ | _Good_ | _Great_. - **Additional Feedback:** (Optional). Enter a more detailed description of the flight or behaviour. -- **Make this log publically available:** If set, the log will be visible and searchable on _Flight Review_. If not set, it will only be available via the link emailed on upload. +- **Make this log publically available:** If set, the log will be visible and searchable on _Flight Review_. + If not set, it will only be available via the link emailed on upload. - **Enable automatic log uploads:** If set, the log will automatically be uploaded on completion. - **Delete log file after uploading:** If set, the log will automatically deleted after upload. -The _Saved Log Files_ section is used to manually manage log uploads. Use the checkboxes and buttons to select logs, and either delete or upload them. +The _Saved Log Files_ section is used to manually manage log uploads. +Use the checkboxes and buttons to select logs, and either delete or upload them. -::: tip +:::tip You can change the parameters in _MAVLink 2 Log Uploads_ above to specify separate descriptions for uploaded logs. ::: diff --git a/docs/tr/qgc-user-guide/settings_view/virtual_joystick.md b/docs/tr/qgc-user-guide/settings_view/virtual_joystick.md index d7d77cae529..33544050b15 100644 --- a/docs/tr/qgc-user-guide/settings_view/virtual_joystick.md +++ b/docs/tr/qgc-user-guide/settings_view/virtual_joystick.md @@ -4,7 +4,7 @@ _QGroundControl_ allows you to control a vehicle with on-screen virtual thumbsti ![QGroundControl Preferences > Enable Virtual Joystick](../../../assets/settings/joystick_virtual_joystick_displayed.jpg) -::: info +:::info Thumbstick control is not as responsive as using an RC Transmitter (because the information is sent over MAVLink). Another alternative is to use a [USB Joystick/Gamepad](../setup_view/joystick.md). ::: diff --git a/docs/tr/qgc-user-guide/setup_view/airframe.md b/docs/tr/qgc-user-guide/setup_view/airframe.md index ce757349626..3cd0e16935c 100644 --- a/docs/tr/qgc-user-guide/setup_view/airframe.md +++ b/docs/tr/qgc-user-guide/setup_view/airframe.md @@ -1,6 +1,7 @@ -# Gövde Kurulumu +# Airframe Setup -Bu sayfa, aracınızla ilişkili ana gövde seçimini yapılandırmanıza olanak tanır. Sayfanın görünümü/işlemi, kullanılan uçuş kontrolcüsünün yazılımına bağlı olarak biraz farklılık gösterir. +Bu sayfa, aracınızla ilişkili ana gövde seçimini yapılandırmanıza olanak tanır. +Sayfanın görünümü/işlemi, kullanılan uçuş kontrolcüsünün yazılımına bağlı olarak biraz farklılık gösterir. - [Göve (ArduPilot)](../setup_view/airframe_ardupilot.md) - [Gövde (PX4)](../setup_view/airframe_px4.md) diff --git a/docs/tr/qgc-user-guide/setup_view/airframe_ardupilot.md b/docs/tr/qgc-user-guide/setup_view/airframe_ardupilot.md index 02ed381780f..d8ccb3de11f 100644 --- a/docs/tr/qgc-user-guide/setup_view/airframe_ardupilot.md +++ b/docs/tr/qgc-user-guide/setup_view/airframe_ardupilot.md @@ -2,7 +2,7 @@ Gövde kurulumu, sınıfı ve modeli aracınızla eşleşen gövde seçiminde kullanılır -::: info +:::info Gövde Kurulumu sadece _ArduCopter_ ve _ArduSub_ araçları için mevcuttur (_ArduPilot_ arazi araçları ya da uçaklar için gösterilmez). ::: @@ -25,15 +25,18 @@ Copter'den gövde seçmek için: 3. Aracınız için spesifik _Frame Type_ 'ını seçin: ![Gövde Modeli](../../../assets/setup/airframe/arducopter_type.jpg) + ![Gövde Modeli Seçme](../../../assets/setup/airframe_ardusub.jpg) + ## ArduSub Gövde Kurulumu {#ardusub} Sub için gövde modelini seçmek için: 1. İlk olarak üstteki araç çubuğundan **dişli** simgesini (Vehicle Setup), daha sonra kenar çubuğundan **Frame**'i seçin. 2. Aracınız için uygun olan gövde tipini seçin (bir gövde seçmek, seçimi uygular). -3. Tüm ** yeşil ** iticilerin ** saat yönünde ** pervanelere ve tüm ** mavi ** iticilerin dede ** saat yönünün tersine ** pervanelere sahip olduğundan emin olun (veya tersi). +3. Tüm \*\* yeşil \*\* iticilerin \*\* saat yönünde \*\* pervanelere ve tüm \*\* mavi \*\* iticilerin dede \*\* saat yönünün tersine \*\* pervanelere sahip olduğundan emin olun (veya tersi). - ![Gövde Modeli Seçme](../../../assets/setup/airframe_ardusub.jpg) + ![Select airframe type](../../../assets/setup/airframe_ardusub.jpg) + + - ArduSub için varsayılan parametre setini yüklemek için \*\* Load Vehicle Default Parameters\*\* 'ye de tıklayabilirsiniz. -- ArduSub için varsayılan parametre setini yüklemek için ** Load Vehicle Default Parameters** 'ye de tıklayabilirsiniz. - ![Araç parametrelerini yükle](../../../assets/setup/airframe_ardusub_parameters.jpg) + ![Araç parametrelerini yükle](../../../assets/setup/airframe_ardusub_parameters.jpg) diff --git a/docs/tr/qgc-user-guide/setup_view/airframe_px4.md b/docs/tr/qgc-user-guide/setup_view/airframe_px4.md index 5031f8bfcf0..ff040e40bff 100644 --- a/docs/tr/qgc-user-guide/setup_view/airframe_px4.md +++ b/docs/tr/qgc-user-guide/setup_view/airframe_px4.md @@ -3,7 +3,9 @@ PX4 de gövde seçmek için: 1. Start _QGroundControl_ and connect the vehicle. + 2. Select **QGroundControl icon > Vehicle Setup > Airframe** (sidebar) to open _Airframe Setup_. + 3. Select the broad vehicle group/type that matches your airframe and then use the dropdown within the group to choose the airframe that best matches your vehicle. ![Airframe options](../../../assets/setup/airframe_px4/airframe_px4.jpg) @@ -14,4 +16,4 @@ PX4 de gövde seçmek için: 5. Click **Apply** in the following prompt to save the settings and restart the vehicle. - + diff --git a/docs/tr/qgc-user-guide/setup_view/camera.md b/docs/tr/qgc-user-guide/setup_view/camera.md index 415b627ce61..6f846c9e81f 100644 --- a/docs/tr/qgc-user-guide/setup_view/camera.md +++ b/docs/tr/qgc-user-guide/setup_view/camera.md @@ -12,6 +12,7 @@ PX4 veya ArduPilot kullanmanıza göre sayfanın ayrıntıları farklılık gös Daha fazla bilgi için [ Camera ](http://docs.px4.io/master/en/peripherals/camera.html) (PX4 Kullanıcı Kılavuzu) 'ya bakın. -::: info -Kamera ayarları bölümü, FMUv2 tabanlı uçuş kontrolcüleri (örneğin, 3DR Pixhawk) için varsayılan olarak mevcut değildir çünkü kamera modülü otomatik olarak aygıt yazılımına dahil edilmemiştir. Daha fazla bilgi için [ bu konuya ](http://docs.px4.io/master/en/advanced_config/parameters.html#parameter-not-in-firmware) bakın. +:::info +Kamera ayarları bölümü, FMUv2 tabanlı uçuş kontrolcüleri (örneğin, 3DR Pixhawk) için varsayılan olarak mevcut değildir çünkü kamera modülü otomatik olarak aygıt yazılımına dahil edilmemiştir. +Daha fazla bilgi için [ bu konuya ](http://docs.px4.io/master/en/advanced_config/parameters.html#parameter-not-in-firmware) bakın. ::: diff --git a/docs/tr/qgc-user-guide/setup_view/firmware.md b/docs/tr/qgc-user-guide/setup_view/firmware.md index 02027da10a5..293c3917021 100644 --- a/docs/tr/qgc-user-guide/setup_view/firmware.md +++ b/docs/tr/qgc-user-guide/setup_view/firmware.md @@ -1,29 +1,30 @@ -# Yazılımı Yükleme +# Loading Firmware -- QGroundControl \*'ün ** masaüstü ** sürümleri [ PX4 Pro ](http://px4.io/) veya [ ArduPilot ](http://ardupilot.com) yazılımını Pixhawk ailesinin uçuş kontrolörü kartlarına yükleyebilir. Varsayılan olarak QGC, seçili otopilotun mevcut kararlı sürümünü kuracaktır, ancak beta sürümleri, günlük sürümleri veya özel donanım yazılımı dosyalarını da kurmayı seçebilirsiniz. +QGroundControl \*'ün \*\* masaüstü \*\* sürümleri [ PX4 Pro ](http://px4.io/) veya [ ArduPilot ](http://ardupilot.com) yazılımını Pixhawk ailesinin uçuş kontrolörü kartlarına yükleyebilir. Varsayılan olarak QGC, seçili otopilotun mevcut kararlı sürümünü kuracaktır, ancak beta sürümleri, günlük sürümleri veya özel donanım yazılımı dosyalarını da kurmayı seçebilirsiniz. -- QGroundControl \* ayrıca SiK Radyoları ve PX4 Flow cihazları için yazılımları da yükleyebilir. +QGroundControl \* ayrıca SiK Radyoları ve PX4 Flow cihazları için yazılımları da yükleyebilir. -> **Caution** Yazılım Yükleme özelliği şu anda _ QGroundControl _ tablet veya telefon sürümlerinde kullanılamamaktadır. +> **Caution** Yazılım Yükleme özelliği şu anda \_ QGroundControl \_ tablet veya telefon sürümlerinde kullanılamamaktadır. ## Yazılım Güncellemesi için Cihazı Bağlayın -> **Caution** **Before you start installing Firmware** all USB connections to your vehicle must be _disconnected_ (both direct or through a telemetry radio). Araca bir batarya ile _ güç verilmemelidir _. +> **Caution** **Before you start installing Firmware** all USB connections to your vehicle must be _disconnected_ (both direct or through a telemetry radio). Araca bir batarya ile \_ güç verilmemelidir \_. 1. İlk olarak üstteki araç çubuğundan **dişli** simgesini (_Vehicle Setup_), daha sonra kenar çubuğundan **Firmware**'i seçin. - ![Yazılım bağlantısı kesildi](../../../assets/setup/firmware/firmware_disconnected.jpg) +![Yazılım bağlantısı kesildi](../../../assets/setup/firmware/firmware_disconnected.jpg) + +1. Cihazınızı (Pixhawk, SiK Radio, PX4 Flow) USB aracılığıyla doğrudan bilgisayarınıza bağlayın. -2. Cihazınızı (Pixhawk, SiK Radio, PX4 Flow) USB aracılığıyla doğrudan bilgisayarınıza bağlayın. ::: info Doğrudan makinenizdeki elektrik akışı olan bir USB bağlantı noktasına bağlayın (bir USB hub aracılığıyla bağlamayın). ::: ## Yüklenecek Yazılımı Seçin -Cihaz bağlandıktan sonra, hangi aygıt yazılımının yükleneceğini seçebilirsiniz (_ QGroundControl _, bağlı donanıma göre mantıklı seçenekler sunar). +Cihaz bağlandıktan sonra, hangi aygıt yazılımının yükleneceğini seçebilirsiniz (\_ QGroundControl \_, bağlı donanıma göre mantıklı seçenekler sunar). -1. Pixhawk uyumlu bir anakart için _ mevcut kararlı sürümü _ indirmek için ** PX4 Flight Stack vX.X.X Stable Release ** veya ** ArduPilot Flight Stack ** seçeneklerinden birini seçin. +1. Pixhawk uyumlu bir anakart için \_ mevcut kararlı sürümü \_ indirmek için \*\* PX4 Flight Stack vX.X.X Stable Release \*\* veya \*\* ArduPilot Flight Stack \*\* seçeneklerinden birini seçin. ![PX4'ü seçin](../../../assets/setup/firmware/firmware_select_default_px4.jpg) @@ -31,16 +32,18 @@ Cihaz bağlandıktan sonra, hangi aygıt yazılımının yükleneceğini seçebi ![ArduPilot'ı seçin](../../../assets/setup/firmware/firmware_selection_ardupilot.jpg) -2. Belirli geliştirici sürümlerini seçmek veya yerel dosya sisteminizden ürün yazılımı yüklemek için ** Advanced settings **'i kontrol edin. +2. Belirli geliştirici sürümlerini seçmek veya yerel dosya sisteminizden ürün yazılımı yüklemek için \*\* Advanced settings \*\*'i kontrol edin. ![ArduPilot - Advanced Settings](../../../assets/setup/firmware/firmware_selection_advanced_settings.jpg) -## Yazılımı güncelleme +## Update the firmware -1. Güncellemeyi başlatmak için ** OK ** tuşuna tıklayın. +1. Güncellemeyi başlatmak için \*\* OK \*\* tuşuna tıklayın. - Ardından, aygıt yazılımı bir dizi yükseltme adımından geçecektir (yeni aygıt yazılımının indirilmesi, eski aygıt yazılımının silinmesi vb.). Her adım ekrana yazdırılır ve genel ilerleme bir ilerleme çubuğunda görüntülenir. + Ardından, aygıt yazılımı bir dizi yükseltme adımından geçecektir (yeni aygıt yazılımının indirilmesi, eski aygıt yazılımının silinmesi vb.). + Her adım ekrana yazdırılır ve genel ilerleme bir ilerleme çubuğunda görüntülenir. ![Yazılım güncellemesi tamamlandı](../../../assets/setup/firmware/firmware_upgrade_complete.jpg) -Once the firmware has finished loading the device/vehicle will reboot and reconnect. Daha sonra [ gövdeyi](../setup_view/airframe.md) (ve sonra sensörler, radyo vb.) Yapılandırmanız gerekir +Once the firmware has finished loading the device/vehicle will reboot and reconnect. +Daha sonra [ gövdeyi](../setup_view/airframe.md) (ve sonra sensörler, radyo vb.) diff --git a/docs/tr/qgc-user-guide/setup_view/flight_modes.md b/docs/tr/qgc-user-guide/setup_view/flight_modes.md index e7944048c38..1a9b242fffa 100644 --- a/docs/tr/qgc-user-guide/setup_view/flight_modes.md +++ b/docs/tr/qgc-user-guide/setup_view/flight_modes.md @@ -1,8 +1,9 @@ # Uçuş Modları Kurulumu -- Uçuş Modları \* bölümü, uçuş modlarını radyo kanal(lar)ına ve dolayısıyla radyo kontrol vericinizdeki anahtarlara eşlemenize olanak tanır. Hem uçuş modu kurulumu hem de mevcut uçuş modları PX4 ve ArduPilot'ta farklıdır (ve ArduCopter ile ArduPlane arasında bazı farklılıklar vardır). +Uçuş Modları \* bölümü, uçuş modlarını radyo kanal(lar)ına ve dolayısıyla radyo kontrol vericinizdeki anahtarlara eşlemenize olanak tanır. +Hem uçuş modu kurulumu hem de mevcut uçuş modları PX4 ve ArduPilot'ta farklıdır (ve ArduCopter ile ArduPlane arasında bazı farklılıklar vardır). -::: info +:::info In order to set up flight modes you must already have already [configured your radio](../setup_view/radio.md), and [setup the transmitter](#transmitter-setup) (as shown below). ::: @@ -17,13 +18,15 @@ For more flight stack specific setup see: In order setup flight modes you will first need to configure your _transmitter_ to encode the physical positions of your mode switch(es) into a single channel. -On both PX4 and ArduPilot you can assign up to 6 different flight modes to a single channel of your transmitter It is common to use the positions of a 2- and a 3-position switch on the transmitter to represent the 6 flight modes. Each combination of switches is then encoded as a particular PWM value that will be sent on a single channel. +On both PX4 and ArduPilot you can assign up to 6 different flight modes to a single channel of your transmitter It is common to use the positions of a 2- and a 3-position switch on the transmitter to represent the 6 flight modes. +Each combination of switches is then encoded as a particular PWM value that will be sent on a single channel. -::: info +:::info The single channel is selectable on PX4 and ArduPlane, but is fixed to channel 5 on Copter. ::: -The process for this varies depending on the transmitter. A number of setup examples are provided below. +The process for this varies depending on the transmitter. +A number of setup examples are provided below. ### Taranis @@ -31,7 +34,8 @@ These examples show several configurations for the _FrSky Taranis_ transmitter. #### Map 3-way Switch to a Single Channel -If you only need to support selecting between two or three modes then you can map the modes to the positions just one 3-way switch. Below we show how to map the Taranis 3-way "SD" switch to channel 5. +If you only need to support selecting between two or three modes then you can map the modes to the positions just one 3-way switch. +Below we show how to map the Taranis 3-way "SD" switch to channel 5. Open the Taranis UI **MIXER** page and scroll down to **CH5**, as shown below: @@ -41,14 +45,17 @@ Press **ENT(ER)** to edit the **CH5** configuration then change the **Source** t ![Taranis - Configure channel](../../../assets/setup/flight_modes/taranis_single_channel_mode_selection_2.png) -That's it! Channel 5 will now output 3 different PWM values for the three different **SD** switch positions. +That's it! +Channel 5 will now output 3 different PWM values for the three different **SD** switch positions. #### Map Multiple Switches to a Single Channel -Most transmitters do not have 6-way switches, so if you need to be able to support more modes than the number of switch positions available (up to 6) then you will have to represent them using multiple switches. Commonly this is done by encoding the positions of a 2- and a 3-position switch into a single channel, so that each switch position combination results in a different PWM value. +Most transmitters do not have 6-way switches, so if you need to be able to support more modes than the number of switch positions available (up to 6) then you will have to represent them using multiple switches. +Commonly this is done by encoding the positions of a 2- and a 3-position switch into a single channel, so that each switch position combination results in a different PWM value. -On the FrSky Taranis this process involves assigning a "logical switch" to each combination of positions of the two real switches. Each logical switch is then assigned to a different PWM value on the same channel. +On the FrSky Taranis this process involves assigning a "logical switch" to each combination of positions of the two real switches. +Each logical switch is then assigned to a different PWM value on the same channel. -This video shows how this is done with the _FrSky Taranis_ transmitter: https://youtu.be/TFEjEQZqdVA +This video shows how this is done with the _FrSky Taranis_ transmitter: https\://youtu.be/TFEjEQZqdVA diff --git a/docs/tr/qgc-user-guide/setup_view/flight_modes_ardupilot.md b/docs/tr/qgc-user-guide/setup_view/flight_modes_ardupilot.md index eba4987657c..9a5b46b8408 100644 --- a/docs/tr/qgc-user-guide/setup_view/flight_modes_ardupilot.md +++ b/docs/tr/qgc-user-guide/setup_view/flight_modes_ardupilot.md @@ -3,8 +3,10 @@ The _Flight Modes_ section allows you to configure which flight modes and other actions are triggered by particular switches/switch positions on your RC transmitter. ::: info -In order to set up flight modes you must already have - [Configured your radio](../setup_view/radio.md) in order to set flight modes. - [Setup the RC transmitter](../setup_view/FlightModes.md#transmitter-setup) (Flight Modes > Transmitter Setup) -::: +In order to set up flight modes you must already have + +> - In order to set up flight modes you must already have - [Configured your radio](../setup_view/radio.md) in order to set flight modes. +> - - [Setup the RC transmitter](../setup_view/FlightModes.md#transmitter-setup) (Flight Modes > Transmitter Setup) To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. @@ -12,12 +14,15 @@ To access this section, select the **Gear** icon (Vehicle Setup) in the top tool ## Flight Mode Settings -On ArduPilot you can assign up to 6 different flight modes to a single channel of your transmitter (the channel is selectable on Plane, but fixed to channel 5 on Copter). ArduCopter also allows you to specify additional _Channel Options_ for channels 7-12. These allow you to assign functions to these switches (for example, to turn on a camera, or return to launch). +On ArduPilot you can assign up to 6 different flight modes to a single channel of your transmitter (the channel is selectable on Plane, but fixed to channel 5 on Copter). +ArduCopter also allows you to specify additional _Channel Options_ for channels 7-12. +These allow you to assign functions to these switches (for example, to turn on a camera, or return to launch). To set the flight modes: 1. Turn on your RC transmitter. -1. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +2. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. ![Flight modes setup - ArduCopter](../../../assets/setup/flight_modes/ardupilot_copter.jpg) @@ -25,18 +30,20 @@ To set the flight modes: The above image is a screenshot of the flight mode setup for ArduCopter. ::: -1. Select up to 6 flight modes in the drop downs. -1. **ArduCopter only:** Select additional _Channel Options_ for channels 7-12. -1. **ArduPlane only:** Select the mode channel from the dropdown. +3. Select up to 6 flight modes in the drop downs. + +4. **ArduCopter only:** Select additional _Channel Options_ for channels 7-12. + +5. **ArduPlane only:** Select the mode channel from the dropdown. ![Flight modes setup - ArduPlane](../../../assets/setup/flight_modes/ardupilot_plane.jpg) -1. Test that the modes are mapped to the right transmitter switches by selecting each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode). +6. Test that the modes are mapped to the right transmitter switches by selecting each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode). All values are automatically saved as they are changed. -::: info -The ArduCopter screenshot above shows a typical setup for a three position flight mode switch with an additional option of RTL being on a channel 7 switch. You can also setup 6 flight modes using two switches plus mixing on your transmitter. Scroll down to the center section of this [page](http://ardupilot.org/copter/docs/common-rc-transmitter-flight-mode-configuration.html#common-rc-transmitter-flight-mode-configuration) for tutorials on how to do that. +The ArduCopter screenshot above shows a typical setup for a three position flight mode switch with an additional option of RTL being on a channel 7 switch. +You can also setup 6 flight modes using two switches plus mixing on your transmitter. Scroll down to the center section of this [page](http://ardupilot.org/copter/docs/common-rc-transmitter-flight-mode-configuration.html#common-rc-transmitter-flight-mode-configuration) for tutorials on how to do that. ::: ## See Also diff --git a/docs/tr/qgc-user-guide/setup_view/flight_modes_px4.md b/docs/tr/qgc-user-guide/setup_view/flight_modes_px4.md index 80acc079149..09bdeff4c67 100644 --- a/docs/tr/qgc-user-guide/setup_view/flight_modes_px4.md +++ b/docs/tr/qgc-user-guide/setup_view/flight_modes_px4.md @@ -3,8 +3,10 @@ The _Flight Modes_ section allows you to configure which [flight modes](http://docs.px4.io/master/en/getting_started/flight_modes.html) and other actions are triggered by particular switches/switch positions on your RC transmitter. ::: info -In order to set up flight modes you must already have - [Configured your radio](../setup_view/radio.md) in order to set flight modes. - [Setup the RC transmitter](../setup_view/FlightModes.md#transmitter-setup) (Flight Modes > Transmitter Setup) -::: +In order to set up flight modes you must already have + +- In order to set up flight modes you must already have - [Configured your radio](../setup_view/radio.md) in order to set flight modes. +- - [Setup the RC transmitter](../setup_view/FlightModes.md#transmitter-setup) (Flight Modes > Transmitter Setup) To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. @@ -12,16 +14,18 @@ To access this section, select the **Gear** icon (Vehicle Setup) in the top tool ## Flight Mode Settings -The screen allows you to specify a "mode" channel and select up to 6 flight modes that will be activated based on the value sent on the channel. You can also assign a small number of channels to trigger particular actions, such as deploying landing gear, or emergency shutdown (kill switch). +The screen allows you to specify a "mode" channel and select up to 6 flight modes that will be activated based on the value sent on the channel. +You can also assign a small number of channels to trigger particular actions, such as deploying landing gear, or emergency shutdown (kill switch). The steps are: 1. Turn on your RC transmitter. -1. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +2. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. ![Flight modes single-channel](../../../assets/setup/flight_modes/px4_single_channel.jpg) -1. Specify _Flight Mode Settings_: +3. Specify _Flight Mode Settings_: - Select the transmitter **Mode channel** (shown as Channel 5 above). - Select up to six **Flight Modes** for switch positions encoded in the channel. @@ -30,9 +34,11 @@ The steps are: Position mode, return mode and mission mode [are recommended](https://docs.px4.io/master/en/config/flight_mode.html#what-flight-modes-and-switches-should-i-set). ::: -1. Specify _Switch Settings_: +4. Specify _Switch Settings_: + - Select the channels that you want to map to specific actions - _Kill switch_, landing gear, etc. (if you have spare switches and channels on your transmitter). -1. Test that the modes are mapped to the right transmitter switches: + +5. Test that the modes are mapped to the right transmitter switches: - Check the _Channel Monitor_ to confirm that each switch moves the expected channel. - Select each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode). diff --git a/docs/tr/qgc-user-guide/setup_view/joystick.md b/docs/tr/qgc-user-guide/setup_view/joystick.md index c817a61867c..e603e8f0dc7 100644 --- a/docs/tr/qgc-user-guide/setup_view/joystick.md +++ b/docs/tr/qgc-user-guide/setup_view/joystick.md @@ -1,20 +1,25 @@ # Joystick Kurulumu -- QGroundControl \*, bir aracı RC Verici yerine bir joystick veya gamepad kullanarak kontrol etmenizi sağlar. +QGroundControl \*, bir aracı RC Verici yerine bir joystick veya gamepad kullanarak kontrol etmenizi sağlar. -> ** Note ** Bir Joystick (veya [ sanal analoglar ](../settings_view/virtual_joystick.md)) ile uçmak, aracın kumanda kolu hareketlerine yanıt vermesini sağlamak için güvenilir bir yüksek bant genişliğine sahip telemetri kanalı gerektirir (çünkü joystick bilgileri MAVLink üzerinden gönderilir). +:::info +\*\* Note \*\* Bir Joystick (veya [ sanal analoglar ](../settings_view/virtual_joystick.md)) ile uçmak, aracın kumanda kolu hareketlerine yanıt vermesini sağlamak için güvenilir bir yüksek bant genişliğine sahip telemetri kanalı gerektirir (çünkü joystick bilgileri MAVLink üzerinden gönderilir). +::: - +:::info +\*\* Note \*\* Joystick ve Gamepad desteği, çapraz platform [ SDL2 ](http://www.libsdl.org/index.php) kitaplığı kullanılarak etkinleştirilir. +Belirli bir kontrolcüyle uyumluluk, SDL'ye bağlıdır (bu API tarafından gösterilen tüm düğmeler, \_ QGroundControl \_ arayüzü aracılığıyla görüntülenir). +[Çok sayıda yaygın oyun çubuğu ve oyun kolunun ](#supported-joysticks) çalıştığı bilinmektedir. +::: -> ** Note ** Joystick ve Gamepad desteği, çapraz platform [ SDL2 ](http://www.libsdl.org/index.php) kitaplığı kullanılarak etkinleştirilir. Belirli bir kontrolcüyle uyumluluk, SDL'ye bağlıdır (bu API tarafından gösterilen tüm düğmeler, _ QGroundControl _ arayüzü aracılığıyla görüntülenir). [Çok sayıda yaygın oyun çubuğu ve oyun kolunun ](#supported-joysticks) çalıştığı bilinmektedir. - - - -> ** Note ** Kumanda kolu, kalibrasyon işleminin son adımı olarak _ etkinleştirilir _. +:::info +\*\* Note \*\* Kumanda kolu, kalibrasyon işleminin son adımı olarak \_ etkinleştirilir \_. +::: ## PX4 Joystick Desteğini Etkinleştirme -To enable Joystick support in PX4 you need to set the parameter [`COM_RC_IN_MODE`](h[ttp://localhost:8080/px4_user_guide/en](https://docs.px4.io/en/main/advanced_config/parameter_reference.html#COM_RC_IN_MODE) to `1` - _Joystick_. If this parameter is `0` then _Joystick_ will not be offered as a setup option. +To enable Joystick support in PX4 you need to set the parameter \[`COM_RC_IN_MODE`]\(h[ttp://localhost:8080/px4\_user\_guide/en](https://docs.px4.io/en/main/advanced_config/parameter_reference.html#COM_RC_IN_MODE) to `1` - _Joystick_. +If this parameter is `0` then _Joystick_ will not be offered as a setup option. Bu, PX4 SITL yapıları için varsayılan olarak etkindir (belirli bir parametrenin nasıl bulunacağı ve ayarlanacağı hakkında bilgi için [Parametreler](../setup_view/parameters.md) konusuna bakın). @@ -26,36 +31,44 @@ Tüm ArduPilot araçları desteklenmektedir. Parametre yapılandırmasına gerek Joystick'i ayarlamak için: -1. - QGroundControl \* 'ı başlatın ve bir araca bağlayın. +1. QGroundControl \* 'ı başlatın ve bir araca bağlayın. + 2. Joystick ya da Gamepad'i bir USB portuna bağlayın. -3. Üstteki araç çubuğundan **dişli** simgesini (Vechicle Setup), daha sonra kenar çubuğundan **Joystick**'i seçin. Aşağıdaki ekran görünecektir. + +3. Üstteki araç çubuğundan **dişli** simgesini (Vechicle Setup), daha sonra kenar çubuğundan **Joystick**'i seçin. + Aşağıdaki ekran görünecektir. ![Joystick Kurulumu - Playstation](../../../assets/setup/joystick_sony_playstation.jpg) -4. ** Active joystick ** açılır menüsünde kumanda çubuğunuzun seçildiğinden emin olun. +4. \*\* Active joystick \*\* açılır menüsünde kumanda çubuğunuzun seçildiğinden emin olun. -5. **Calibrate ** Sekmesine gidin, ** Start ** tuşuna basın ve sonra çubukları kalibre etmek/hareket ettirmek için ekrandaki talimatları izleyin. +5. \*\*Calibrate \*\* Sekmesine gidin, \*\* Start \*\* tuşuna basın ve sonra çubukları kalibre etmek/hareket ettirmek için ekrandaki talimatları izleyin. ![Joystick Kurulumu - Kalibrasyon](../../../assets/setup/joystick_calibration.jpg) - Joystick, kalibrasyon işleminin son adımı olarak _ etkinleştirilir _. + Joystick, kalibrasyon işleminin son adımı olarak \_ etkinleştirilir \_. -6. Düğmelerin ve çubukların amaçlandığı gibi çalışıp çalışmadığını onlara basarak ve sonucu ** General ** sekmesindeki Axis/Buton monitöründe görüntüleyerek test edin. +6. Düğmelerin ve çubukların amaçlandığı gibi çalışıp çalışmadığını onlara basarak ve sonucu \*\* General \*\* sekmesindeki Axis/Buton monitöründe görüntüleyerek test edin. -7. Her bir kumanda kolu düğmesiyle etkinleştirilen uçuş modlarını/araç işlevlerini seçin. ![Joystick Kurulumu - Butonlar](../../../assets/setup/joystick_buttons.jpg) +7. Her bir kumanda kolu düğmesiyle etkinleştirilen uçuş modlarını/araç işlevlerini seçin. + ![Joystick Kurulumu - Butonlar](../../../assets/setup/joystick_buttons.jpg) ## Gelişmiş Seçenekler -Bazı ek Seçenekler ** Advanced ** sekmesinde mevcuttur. Bu seçenekler, duyarlılığı artırmak için belirli alışılmadık kurulumlarda ve sıkıntılı joystickleri kullanmak için yararlı olabilir. +Bazı ek Seçenekler \*\* Advanced \*\* sekmesinde mevcuttur. +Bu seçenekler, duyarlılığı artırmak için belirli alışılmadık kurulumlarda ve sıkıntılı joystickleri kullanmak için yararlı olabilir. ### Gaz Kolu Seçenekleri ![Joystick Kurulumu - Gaz Kolu Modları](../../../assets/setup/joystick_throttle_modes.jpg) -- **Center stick is zero throttle**: Ortalanmış veya alçaltılmış gaz çubuğu [ MANUAL_CONTROL **z** ](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL) ile 0, kaldırılmış gaz çubuğu 1000 gönderir. - - **Spring loaded throttle smoothing**: Bu modda gazın kendisini değil, artıp / azaldığı hızı kontrol edersiniz. Bu, gaz kolunun yaylı olduğu kurulumlar için kullanışlıdır, çünkü kullanıcı çubuğu bırakarak gazı istenen seviyede tutabilir. -- **Full down stick is zero throttle**: Bu modda, alçaltılmış çubuk [ MANUAL_CONTROL **z** ](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL) için 0, ortalanmış çubuk 500 ve kaldırılmış çubuk 1000 gönderir. -- **Allow negative thrust**: ** Center stick is zero throttle ** modundayken, bu mod, kullanıcının çubuğu indirerek negatif değerler göndermesini sağlar. Böylece, indirilen çubuk [ MANUAL_CONTROL **z** ](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL) 'de -1000 gönderir, ortalanmış çubuk 0 gönderir ve yükseltilmiş çubuk 1000 gönderir. Bu mod sadece [ Rover ](http://ardupilot.org/rover/index.html) gibi negatif itişi destekleyen araçlar için etkinleştirilebilir. +- **Center stick is zero throttle**: Ortalanmış veya alçaltılmış gaz çubuğu [ MANUAL\_CONTROL **z** ](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL) ile 0, kaldırılmış gaz çubuğu 1000 gönderir. + - **Spring loaded throttle smoothing**: Bu modda gazın kendisini değil, artıp / azaldığı hızı kontrol edersiniz. + This is useful for setups where the throttle stick is spring loaded, as the user can hold the desired throttle while releasing the stick. +- **Full down stick is zero throttle**: Bu modda, alçaltılmış çubuk [ MANUAL\_CONTROL **z** ](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL) için 0, ortalanmış çubuk 500 ve kaldırılmış çubuk 1000 gönderir. +- **Allow negative thrust**: \*\* Center stick is zero throttle \*\* modundayken, bu mod, kullanıcının çubuğu indirerek negatif değerler göndermesini sağlar. + Böylece, indirilen çubuk [ MANUAL\_CONTROL **z** ](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL) 'de -1000 gönderir, ortalanmış çubuk 0 gönderir ve yükseltilmiş çubuk 1000 gönderir. + Bu mod sadece [ Rover ](http://ardupilot.org/rover/index.html) gibi negatif itişi destekleyen araçlar için etkinleştirilebilir. ### Expo @@ -71,7 +84,8 @@ Expo değeri ne kadar yüksekse, eğri merkezde o kadar düz ve kenarlarda dikti ### Gelişmiş Ayarlar -Gelişmiş ayarlar, günlük kullanıcılar için önerilmez. Yanlış kullanılırlarsa beklenmeyen sonuçlara neden olabilirler. +Gelişmiş ayarlar, günlük kullanıcılar için önerilmez. +Yanlış kullanılırlarsa beklenmeyen sonuçlara neden olabilirler. ![Joystick Kurulumu - Gelişmiş Seçenekler](../../../assets/setup/joystick_advanced.jpg) @@ -81,39 +95,49 @@ Gelişmiş ayarlar, günlük kullanıcılar için önerilmez. Yanlış kullanıl - **Joystick Mode**: Joystick'in gerçekte neyi kontrol ettiğini ve araca gönderilen MAVLink mesajlarını değiştirir. - - **Normal**: Kullanıcı normal bir RC radyo kullanıyormuş gibi kontrol eder, MAVLink [ MANUAL_CONTROL ](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL) mesajları kullanılır. - - **Attitude**: Kullanıcı aracın duruşunu kontrol eder, MAVLink [ SET_ATTITUDE_TARGET ](https://mavlink.io/en/messages/common.html#SET_ATTITUDE_TARGET) mesajları kullanılır. - - **Position**: Kullanıcı araç konumunu kontrol eder, ** konumu ** için yalnızca bit maskeli MAVLink [ SET_POSITION_TARGET_LOCAL_NED ](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) mesajları kullanılır. - - **Force**: Kullanıcı araca uygulanan kuvvetleri kontrol eder, ** kuvvet ** için yalnızca bit maskeli MAVLink [ SET_POSITION_TARGET_LOCAL_NED ](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) mesajları kullanılır. - - **Velocity**: Kullanıcı araca uygulanan kuvvetleri kontrol eder, ** hız ** için yalnızca bit maskeli MAVLink [ SET_POSITION_TARGET_LOCAL_NED ](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) mesajları kullanılır. + - **Normal**: Kullanıcı normal bir RC radyo kullanıyormuş gibi kontrol eder, MAVLink [ MANUAL\_CONTROL ](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL) mesajları kullanılır. + - **Attitude**: Kullanıcı aracın duruşunu kontrol eder, MAVLink [ SET\_ATTITUDE\_TARGET ](https://mavlink.io/en/messages/common.html#SET_ATTITUDE_TARGET) mesajları kullanılır. + - **Position**: Kullanıcı araç konumunu kontrol eder, \*\* konumu \*\* için yalnızca bit maskeli MAVLink [ SET\_POSITION\_TARGET\_LOCAL\_NED ](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) mesajları kullanılır. + - **Force**: Kullanıcı araca uygulanan kuvvetleri kontrol eder, \*\* kuvvet \*\* için yalnızca bit maskeli MAVLink [ SET\_POSITION\_TARGET\_LOCAL\_NED ](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) mesajları kullanılır. + - **Velocity**: Kullanıcı araca uygulanan kuvvetleri kontrol eder, \*\* hız \*\* için yalnızca bit maskeli MAVLink [ SET\_POSITION\_TARGET\_LOCAL\_NED ](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) mesajları kullanılır. - **Axis Frequency**: Joystick boştayken (gelen veriler değişmiyorken), joystick komutları araca 5Hz'de gönderilir. Joystick kullanımdayken (giriş değerleri değişiyorken), joystick komutları araca bu ayarla yapılandırılan (daha yüksek) frekansta gönderilir. Varsayılan değer 25Hz'dir. - **Button Frequency**: Tekrarlanan buton eylemlerinin gönderilme sıklığını kontrol eder. -- **Enable Circle Correction**: Uzaktan kumanda çubukları bir kareyi tanımlarken, kumanda çubukları genellikle bir daireyi tanımlar. Bu seçenek etkinleştirildiğinde, daha çok bir RC kontrolörü gibi olmasını sağlamak için joystick hareket alanının içine bir kare yazılır (böylece dört köşenin tamamına ulaşmak mümkündür). Çubuğun etkili hareket alanı azaldığından, çözünürlükte azalır. +- **Enable Circle Correction**: Uzaktan kumanda çubukları bir kareyi tanımlarken, kumanda çubukları genellikle bir daireyi tanımlar. + Bu seçenek etkinleştirildiğinde, daha çok bir RC kontrolörü gibi olmasını sağlamak için joystick hareket alanının içine bir kare yazılır (böylece dört köşenin tamamına ulaşmak mümkündür). Çubuğun etkili hareket alanı azaldığından, çözünürlükte azalır. - - **Disabled:**Bu ** devre dışı bırakıldığında ** joystick konumu değiştirilmeden araca gönderilir (joystick cihazından okunma şekli). Bazı oyun çubuklarında, (yuvarlanma, eğim) değerleri, bir karenin içindeki bir dairenin alanıyla sınırlıdır. Bu şekilde, B noktası tam adım ileri ve sağa tam yuvarlanma komutu verir, ancak kumanda kolu B noktasına ulaşamaz çünkü tutucu daireseldir. Bu, aynı anda tam roll ve adım pitch elde edemeyeceğiniz anlamına gelir. + - \*\*Disabled:\*\*Bu \*\* devre dışı bırakıldığında \*\* joystick konumu değiştirilmeden araca gönderilir (joystick cihazından okunma şekli). + Bazı oyun çubuklarında, (yuvarlanma, eğim) değerleri, bir karenin içindeki bir dairenin alanıyla sınırlıdır. + Bu şekilde, B noktası tam adım ileri ve sağa tam yuvarlanma komutu verir, ancak kumanda kolu B noktasına ulaşamaz çünkü tutucu daireseldir. + Bu, aynı anda tam roll ve adım pitch elde edemeyeceğiniz anlamına gelir. - ![](../../../assets/setup/joystick_circle_correction.jpg) + ![](../../../assets/setup/joystick_circle_correction.jpg) - - **Enabled:** Joystick değerleri, komut aralığını eksiksiz sağlamak için yazılımda ayarlanır. Kullanılabilir hareket alanı ve çözünürlük azalır, ancak şekilde gri ile vurgulanan alan artık kullanılmamaktadır. + - **Enabled:** Joystick değerleri, komut aralığını eksiksiz sağlamak için yazılımda ayarlanır. + Kullanılabilir hareket alanı ve çözünürlük azalır, ancak şekilde gri ile vurgulanan alan artık kullanılmamaktadır. - ![Daire düzeltmesi etkinleştirildi](../../../assets/setup/joystick_circle_correction2.jpg) + ![Daire düzeltmesi etkinleştirildi](../../../assets/setup/joystick_circle_correction2.jpg) -- **Deadbands:**Deadbandler, çubuklar nötr konumlarına yakın olduğunda giriş değişikliklerinin göz ardı edilmesini sağlar. Bu, hassas çubuklarda komut olarak yorumlanabilecek parazitleri veya küçük salınımları ya da çubuklar yeniden ortalanmadığında küçük farkları önlemeye yardımcı olur. [ Kalibrasyonunun ](#configure) ilk adımı sırasında veya ilgili eksen monitöründe dikey olarak sürüklenerek ayarlanabilirler. +- \*\*Deadbands:\*\*Deadbandler, çubuklar nötr konumlarına yakın olduğunda giriş değişikliklerinin göz ardı edilmesini sağlar. + Bu, hassas çubuklarda komut olarak yorumlanabilecek parazitleri veya küçük salınımları ya da çubuklar yeniden ortalanmadığında küçük farkları önlemeye yardımcı olur. + [ Kalibrasyonunun ](#configure) ilk adımı sırasında veya ilgili eksen monitöründe dikey olarak sürüklenerek ayarlanabilirler. ## Desteklenen Joystickler -Aşağıdaki kumanda kollarının/kontrol cihazlarının nispeten yeni _ QGroundControl _ versiyonlarıyla çalıştığı görülmüştür. +Aşağıdaki kumanda kollarının/kontrol cihazlarının nispeten yeni \_ QGroundControl \_ versiyonlarıyla çalıştığı görülmüştür. ### Sony Playstation 3/4 Kontrolcüleri -Both these joysticks are highly recommended. "Kutudan çıkar çıkmaz" iyi çalışırlar ve uçuş modlarına eşleyebileceğiniz birçok düğme vardır. +Both these joysticks are highly recommended. +"Kutudan çıkar çıkmaz" iyi çalışırlar ve uçuş modlarına eşleyebileceğiniz birçok düğme vardır. #### Sony PS4 - DualShock 4 Kontrolcü V2 (Kablosuz kurulum) -Bu kontrolcü hem USB hem de Bluetooth kablosuz bağlantısını destekler. Kablolu USB bağlantısı genellikle kutudan çıkar çıkmaz çalışır. Kablosuz bağlantı için bazı kurulumlara ihtiyacı vardır. +Bu kontrolcü hem USB hem de Bluetooth kablosuz bağlantısını destekler. +Kablolu USB bağlantısı genellikle kutudan çıkar çıkmaz çalışır. +Kablosuz bağlantı için bazı kurulumlara ihtiyacı vardır. ##### Linux Ubuntu'da Kurulumu @@ -121,19 +145,33 @@ Kontrolcünün Linux altında kablosuz olarak çalışmasını sağlamak için [ Adımlar şunlardır: -1. - jstest-gtk \* 'yi yükleyin: `sudo apt install jstest-gtk` -2. - ds4drv \* yükleyin: `sudo pip install ds4drv` +1. + ``` + jstest-gtk \* 'yi yükleyin: `sudo apt install jstest-gtk` + ``` +2. Bu, gaz kolunun yaylı olduğu kurulumlar için kullanışlıdır, çünkü kullanıcı çubuğu bırakarak gazı istenen seviyede tutabilir. + ``` + ds4drv \* yükleyin: `sudo pip install ds4drv` + ``` 3. Ds4drv'yi çalıştırın `sudo ds4drv` -4. Kontrolcünün LED'i hızla yanıp sönmeye başlayana kadar ** Share ** düğmesini ve sonra ** PS ** düğmesini basılı tutun. Daha sonra _ ds4drv _ yeni bir aygıt algılamalıdır. -5. Son olarak, _ jstest-gtk _ yardımcı programını çalıştırarak denetleyici kurulumunu kontrol etmelisiniz. + ``` + + ``` +4. Kontrolcünün LED'i hızla yanıp sönmeye başlayana kadar \*\* Share \*\* düğmesini ve sonra \*\* PS \*\* düğmesini basılı tutun. + Daha sonra \_ ds4drv \_ yeni bir aygıt algılamalıdır. +5. Son olarak, \_ jstest-gtk \_ yardımcı programını çalıştırarak denetleyici kurulumunu kontrol etmelisiniz. ### FrSky Taranis XD9 plus -- FrSky Taranis XD9 plus \* uzaktan kumandası da bir joystick olarak bağlanabilir. Arkadaki USB bağlantı noktası üzerinden bağlanması gerekecektir. +FrSky Taranis XD9 plus \* uzaktan kumandası da bir joystick olarak bağlanabilir. +Arkadaki USB bağlantı noktası üzerinden bağlanması gerekecektir. Taranis, düğme seçeneklerini kullanmanıza izin vermez (kesin olmak gerekirse, seçenekleri ayarlayabilirsiniz, ancak vericinizdeki düğmelerin değiştirilmesi, bunlara basılmasına neden olmaz). -> ** Note ** Taranis açık bir şekilde üzerinde çalışılan açık bir sistemdir. Yazma sırasında, bir joystick olarak etkili bir şekilde çalışmasına izin veren bir aygıt yazılımı veya konfigürasyon olması mümkündür. +:::info +The Taranis is an open system that is openly being worked on. +Yazma sırasında, bir joystick olarak etkili bir şekilde çalışmasına izin veren bir aygıt yazılımı veya konfigürasyon olması mümkündür. +::: ### Logitech Gamepad F310 @@ -141,7 +179,8 @@ Logitech Gamepad F310, MacOS "Sierra" üzerinde USB aracılığıyla test edilmi ### Logitech Extreme 3D Pro -[ Logitech Extreme 3D Pro ](http://gaming.logitech.com/en-ch/product/extreme-3d-pro-joystick) Joystick tüm platformlarda (Linux, Windows, Mac OSX) test edilmiştir. Bu, aynı zamanda bükülebilen tek çubuklu bir kontrolcüdür. Ana çubuk eksenleri eğim ve yuvarlanma için kullanılırken, bükme hareketi sapma için kullanılır. Gaz pedalı ayrı bir tekerleğe yerleştirilmiştir. +[ Logitech Extreme 3D Pro ](http://gaming.logitech.com/en-ch/product/extreme-3d-pro-joystick) Joystick tüm platformlarda (Linux, Windows, Mac OSX) test edilmiştir. +Bu, aynı zamanda bükülebilen tek çubuklu bir kontrolcüdür. Ana çubuk eksenleri eğim ve yuvarlanma için kullanılırken, bükme hareketi sapma için kullanılır. Gaz pedalı ayrı bir tekerleğe yerleştirilmiştir. ### Logitech F710 Gamepad @@ -151,9 +190,11 @@ Bu oyun kumandası, QGroundControl aracılığıyla bir multirotoru manuel olara #### Mac OS Leopard / Lion Kurulumu -F710, Leopard / Lion'da algılanır, ancak otomatik olarak bir giriş cihazı olarak yapılandırılmaz. Çalışan bir konfigürasyon elde etmek için, F710'un _ Rumblepad2 _ olarak tanınması gerekir. +F710, Leopard / Lion'da algılanır, ancak otomatik olarak bir giriş cihazı olarak yapılandırılmaz. +Çalışan bir konfigürasyon elde etmek için, F710'un \_ Rumblepad2 \_ olarak tanınması gerekir. -Önce nasıl tanındığını kontrol edin: ** Apple> Bu Mac Hakkında> Ek Bilgi> Sistem Raporu> USB **. "Logitech Cordless RumblePad 2" olarak algılanmışsa bundan sonra başka bir işlem yapılmasına gerek yoktur. +Önce nasıl tanındığını kontrol edin: \*\* Apple> Bu Mac Hakkında> Ek Bilgi> Sistem Raporu> USB \*\*. +"Logitech Cordless RumblePad 2" olarak algılanmışsa bundan sonra başka bir işlem yapılmasına gerek yoktur. "Logitech Wireless 710" olarak algılanırsa, şu adımları gerçekleştirin: diff --git a/docs/tr/qgc-user-guide/setup_view/motors.md b/docs/tr/qgc-user-guide/setup_view/motors.md index ad3ab501ef4..a2598f1bfe8 100644 --- a/docs/tr/qgc-user-guide/setup_view/motors.md +++ b/docs/tr/qgc-user-guide/setup_view/motors.md @@ -2,8 +2,9 @@ Motor Kurulumu, ayrı motorları / servoları test etmek için kullanılır (örneğin, motorların doğru yönde döndüğünü doğrulamak için). -::: tip -Bu talimatlar PX4 ve ArduPilot'taki çoğu araç türü için geçerlidir. Araca özel talimatlar, alt konular olarak sağlanır (örn. [ Motor Kurulumu (ArduSub) ](../setup_view/motors_ardusub.md)). +:::tip +Bu talimatlar PX4 ve ArduPilot'taki çoğu araç türü için geçerlidir. +Araca özel talimatlar, alt konular olarak sağlanır (örn. [ Motor Kurulumu (ArduSub) ](../setup_view/motors_ardusub.md)). ::: ![Motorların Testi](../../../assets/setup/Motors.png) @@ -12,10 +13,19 @@ Bu talimatlar PX4 ve ArduPilot'taki çoğu araç türü için geçerlidir. Araca Motorları test etmek için: -1. Tüm pervaneleri çıkarın. > ** Uyarı ** Pervaneleri, motorları etkinleştirmeden önce çıkarmalısınız! -2. (_ yalnızca PX4 _) güvenlik anahtarını etkinleştirin - varsa. -3. Motor kaydırıcılarını etkinleştirmek için onaylayıcıyı (_ Pervaneler çıkarıldı - Motor kaydırıcılarını etkinleştirin _) kaydırın. -4. Motorları döndürmek ve doğru yönde döndüklerini doğrulamak için tek tek kaydırıcıları ayarlayın. > ** Not ** Motorlar yalnızca kaydırıcıyı bıraktıktan sonra döner ve 3 saniye sonra otomatik olarak dönmeyi durdurur. +1. Tüm pervaneleri çıkarın. + + > \*\* Uyarı \*\* Pervaneleri, motorları etkinleştirmeden önce çıkarmalısınız! + > ::: + +2. (\_ yalnızca PX4 \_) güvenlik anahtarını etkinleştirin - varsa. + +3. Motor kaydırıcılarını etkinleştirmek için onaylayıcıyı (\_ Pervaneler çıkarıldı - Motor kaydırıcılarını etkinleştirin \_) kaydırın. + +4. Motorları döndürmek ve doğru yönde döndüklerini doğrulamak için tek tek kaydırıcıları ayarlayın. + + > \*\* Not \*\* Motorlar yalnızca kaydırıcıyı bıraktıktan sonra döner ve 3 saniye sonra otomatik olarak dönmeyi durdurur. + > ::: ## Ek Bilgi diff --git a/docs/tr/qgc-user-guide/setup_view/motors_ardusub.md b/docs/tr/qgc-user-guide/setup_view/motors_ardusub.md index 18d8705f84b..c9351af2ea1 100644 --- a/docs/tr/qgc-user-guide/setup_view/motors_ardusub.md +++ b/docs/tr/qgc-user-guide/setup_view/motors_ardusub.md @@ -2,21 +2,26 @@ ArduSub'un düzgün çalışması için motorların doğru şekilde kurulması gerekir. -ROV'nuzu yeni monte ettiyseniz, önce ** Manuel Test ** bölümünde iticilerin doğru çıkışlara bağlandığından emin olun. Her kaydırıcıyı sürükleyin ve görüntülenen gövdeye göre _ doğru motorun _ döndüğünden emin olun. +ROV'nuzu yeni monte ettiyseniz, önce \*\* Manuel Test \*\* bölümünde iticilerin doğru çıkışlara bağlandığından emin olun. +Her kaydırıcıyı sürükleyin ve görüntülenen gövdeye göre \_ doğru motorun \_ döndüğünden emin olun. -İticilerinin uygun çıkışlara bağlandığından emin olduktan sonra,_ doğru yönü _ (ileri / geri) kontrol etmek için [ otomatik yön algılama ](#automatic) (ArduSub 4.0'dan iibaren tavsiye edilir) veya [ manuel test](#manual) seçeneklerinden birini kullanabilirsiniz. +İticilerinin uygun çıkışlara bağlandığından emin olduktan sonra,\_ doğru yönü \_ (ileri / geri) kontrol etmek için [ otomatik yön algılama ](#automatic) (ArduSub 4.0'dan iibaren tavsiye edilir) veya [ manuel test](#manual) seçeneklerinden birini kullanabilirsiniz. -> ** Note ** [ Manuel Test ](#manual) ArduSub tarafından 3.5 sürümüne kadar desteklenirken, ArduSub 4.0 hem [ Manuel Testi ](#manual) hem de [ otomatik yön algılamayı ](#automatic) destekler. +:::info +\*\* Note \*\* [ Manuel Test ](#manual) ArduSub tarafından 3.5 sürümüne kadar desteklenirken, ArduSub 4.0 hem [ Manuel Testi ](#manual) hem de [ otomatik yön algılamayı ](#automatic) destekler. +::: ## Manuel Test {#manual} -ArduSub motor kurulumu, motorları teker teker test etmenize olanak sağlar. Kaydırıcılar, her motorun ileri veya geri modda döndürülmesine izin verir ve kaydırıcıların altındaki onay kutuları, tek tek iticilerin çalışmasını tersine çevrilmesine olanak tanır. +ArduSub motor kurulumu, motorları teker teker test etmenize olanak sağlar. +Kaydırıcılar, her motorun ileri veya geri modda döndürülmesine izin verir ve kaydırıcıların altındaki onay kutuları, tek tek iticilerin çalışmasını tersine çevrilmesine olanak tanır. -Sağdaki resim, her bir iticinin konumu ve yönü ile birlikte şu anda kullanımda olan gövdeyi gösterir. Eğer gövde seçimi aracınıza uymuyorsa, önce [Frame ](../setup_view/airframe_ardupilot.md#ardusub) sekmesinden doğru gövdeyi seçin. +Sağdaki resim, her bir iticinin konumu ve yönü ile birlikte şu anda kullanımda olan gövdeyi gösterir. +Eğer gövde seçimi aracınıza uymuyorsa, önce [Frame ](../setup_view/airframe_ardupilot.md#ardusub) sekmesinden doğru gövdeyi seçin. Motorları manuel olarak kurmak ve test etmek için sayfadaki talimatları okuyun ve uygulayın. -::: warning +:::warning Aracı devreye almak ve testi etkinleştirmek için anahtarı kaydırmadan önce motorların ve pervanelerin engellerden uzak olduğundan emin olun! ::: @@ -24,12 +29,15 @@ Aracı devreye almak ve testi etkinleştirmek için anahtarı kaydırmadan önce ## Otomatik Yön Algılama {#automatic} -Ardusub 4.0 ve daha yeni sürümler, motor yönlerinin otomatik olarak algılanmasını destekler. Bu, her motora sinyal göndererek, gövdenin beklendiği gibi tepki verip vermediğini kontrol ederek ve gerekirse motoru ters çevirerek çalışır. Bu işlem yaklaşık bir dakika sürer. +Ardusub 4.0 ve daha yeni sürümler, motor yönlerinin otomatik olarak algılanmasını destekler. +Bu, her motora sinyal göndererek, gövdenin beklendiği gibi tepki verip vermediğini kontrol ederek ve gerekirse motoru ters çevirerek çalışır. +Bu işlem yaklaşık bir dakika sürer. -Otomatik motor yönü algılamasını gerçekleştirmek için **Vehicle Setup->Motors ** sekmesine gidin, ** Auto-Detect Directions ** düğmesine tıklayın ve bekleyin. İşlemle ilgili ek çıktı, işlem gerçekleşirken düğmenin yanında gösterilecektir. +Otomatik motor yönü algılamasını gerçekleştirmek için \*\*Vehicle Setup->Motors \*\* sekmesine gidin, \*\* Auto-Detect Directions \*\* düğmesine tıklayın ve bekleyin. +İşlemle ilgili ek çıktı, işlem gerçekleşirken düğmenin yanında gösterilecektir. -::: warning -Bu prosedür hala motorların gövde görünümünde gösterildiği gibi _ doğru çıkışlara _ bağlanmasını gerektirir! +:::warning +Bu prosedür hala motorların gövde görünümünde gösterildiği gibi \_ doğru çıkışlara \_ bağlanmasını gerektirir! ::: ![Ardusub Motorların Otomatik Kurulumu](../../../assets/setup/motors-sub-auto.jpg) diff --git a/docs/tr/qgc-user-guide/setup_view/parameters.md b/docs/tr/qgc-user-guide/setup_view/parameters.md index 7fd97a2c3bb..f980fff9a89 100644 --- a/docs/tr/qgc-user-guide/setup_view/parameters.md +++ b/docs/tr/qgc-user-guide/setup_view/parameters.md @@ -4,15 +4,15 @@ _Parametreler_ ekranı, araçla ilişkili parametrelerden herhangi birini bulman ![Parametreler Ekranı](../../../assets/setup/parameters_px4.jpg) -::: info +:::info PX4 Pro ve ArduPilot farklı parametre setleri kullanır, ancak her ikisi de bu bölümde açıklandığı gibi yönetilir. ::: ## Bir Parametreyi Bulma -Parametreler gruplar halinde düzenlenmiştir. Soldaki butonlara tıklayarak görüntülemek için bir parametre grubu seçin (yukarıdaki görüntüde _ Pil Kalibrasyonu _ grubu seçilir). +Parametreler gruplar halinde düzenlenmiştir. Soldaki butonlara tıklayarak görüntülemek için bir parametre grubu seçin (yukarıdaki görüntüde \_ Pil Kalibrasyonu \_ grubu seçilir). -Ayrıca _ Search_ alanına bir terim girerek bir parametre için _ arama _ yapabilirsiniz. Bu size girilen alt diziyi içeren tüm parametre adlarının ve açıklamalarının bir listesini gösterecektir (aramayı sıfırlamak için ** Clear ** tuşuna basın). +Ayrıca \_ Search\_ alanına bir terim girerek bir parametre için \_ arama \_ yapabilirsiniz. Bu size girilen alt diziyi içeren tüm parametre adlarının ve açıklamalarının bir listesini gösterecektir (aramayı sıfırlamak için \*\* Clear \*\* tuşuna basın). ![Parametreler Araması](../../../assets/setup/parameters_search.jpg) @@ -22,7 +22,7 @@ Bir parametrenin değerini değiştirmek için bir grup ya da arama listesindeki ![Bir parametre değerini değiştirme](../../../assets/setup/parameters_changing.png) -::: info +:::info **Save** butonuna basıldığında, parametre sessizce ve otomatik olarak bağlı cihaza yüklenir. Parametreye bağlı olarak, değişikliğin etki etmesi için uçuş kontrolcüsünü yeniden başlatmanız gerekebilir. ::: diff --git a/docs/tr/qgc-user-guide/setup_view/power.md b/docs/tr/qgc-user-guide/setup_view/power.md index 5cecd81e290..f1fc732e352 100644 --- a/docs/tr/qgc-user-guide/setup_view/power.md +++ b/docs/tr/qgc-user-guide/setup_view/power.md @@ -11,15 +11,15 @@ Batarya/güç modülünüz için veri sayfasından verileri girin: hücre sayıs _QGroundControl_, ölçümlerden uygun voltaj bölücü ve volt başına amper değerlerini hesaplamak için kullanılabilir: 1. Bir multimetre kullanarak pilden gelen voltajı ölçün. -2. _Voltage divider_'ın yanındaki **Calculate** butonuna tıklayın. Gelen pencerede: - 1. Ölçülen voltajı girin. - 2. **Calculate**'e tıklayarak yeni bir voltaj bölücü değeri oluşturun. - 3. Değeri ana forma kaydetmek için **Close**'a tıklayın. -3. Bataryadaki akımı ölçün. -4. _Amps per volt_'un yanındaki **Calculate** butonuna tıklayın. Gelen pencerede: - 1. Ölçülen akımı girin. - 2. **Calculate**'e tıklayarak yeni bir _volt başına akım_ değeri oluşturun. - 3. Değeri ana forma kaydetmek için **Close**'a tıklayın. +2. _Voltage divider_'ın yanındaki **Calculate** butonuna tıklayın. On the prompt that appears: +3. Ölçülen voltajı girin. +4. **Calculate**'e tıklayarak yeni bir voltaj bölücü değeri oluşturun. +5. Değeri ana forma kaydetmek için **Close**'a tıklayın. +6. Bataryadaki akımı ölçün. +7. _Amps per volt_'un yanındaki **Calculate** butonuna tıklayın. On the prompt that appears: +8. Ölçülen akımı girin. +9. **Calculate**'e tıklayarak yeni bir _volt başına akım_ değeri oluşturun. +10. Değeri ana forma kaydetmek için **Close**'a tıklayın. ## Gelişmiş Güç Ayarları @@ -29,7 +29,7 @@ Gelişmiş güç ayarlarını özelleştirmek için **Show Advanced Settings** o Bataryalar yüksek motor yüklemelerinde daha az voltaj gösterir. Motorlar boştayken ve tam kapasitede çalışırkenki volt farkını batarya hücrelerinin sayısına bölerek girin. Emin değilseniz varsayılan değer kullanılmalıdır! -::: warning +:::warning Eğer değer çok yüksekse batarya deep-discharged olabilir ve hasar görebilir. ::: @@ -42,9 +42,10 @@ ESC'nin max/min PWM değerlerini kalibre etmek için: 3. **Calibrate** butonuna basın. ::: warning -Pervaneler takılıyken hiçbir zaman ESC kalibrasyonunu denemeyin. +Never attempt ESC calibration with props on. -ESC kalibrasyonu sırasında motorlar dönmemelidir. Bununla birlikte, bir ESC kalibrasyon sırasını doğru şekilde desteklemez/tespit etmezse, motoru maksimum hızda çalıştırarak PWM girişine yanıt verecektir. +ESC kalibrasyonu sırasında motorlar dönmemelidir. +Bununla birlikte, bir ESC kalibrasyon sırasını doğru şekilde desteklemez/tespit etmezse, motoru maksimum hızda çalıştırarak PWM girişine yanıt verecektir. ::: ## Diğer Ayarlar diff --git a/docs/tr/qgc-user-guide/setup_view/radio.md b/docs/tr/qgc-user-guide/setup_view/radio.md index 86c3fbb3c37..8e1c5a1828b 100644 --- a/docs/tr/qgc-user-guide/setup_view/radio.md +++ b/docs/tr/qgc-user-guide/setup_view/radio.md @@ -4,8 +4,8 @@ Radyo Kurulumu, ana vericinizin konum kontrol çubuklarını(dönüş, eğim, sa Ana kalibrasyon süreci PX4 ve ArduPilot için aynıdır (bazı ek uçuş kontrol cihazına özgü ayarlar / araçlar [ aşağıda ayrıntılı](#additional-radio-setup) olarak açıklanmıştır). -::: info -Radyo sistemini kalibre etmeden önce, alıcı ve vericinin bağlanması gerekir. Bir alıcı ve verici çiftini bağlama işlemi donanıma özeldir ( talimatlar için kılavuzunuza bakın). +:::info +Before you can calibrate the radio system the receiver and transmitter must be connected/bound. Bir alıcı ve verici çiftini bağlama işlemi donanıma özeldir ( talimatlar için kılavuzunuza bakın). ::: ## Kalibrasyonun Yapılması @@ -14,26 +14,26 @@ Kalibrasyon işlemi basittir - çubukları ekranın sağ üst köşesindeki veri Radyoyu kalibre etmek için: -1. Üstteki araç çubuğundan **dişli** simgesini (Vechicle Setup), daha sonra kenar çubuğundan **Radio**'u seçin. -2. RC vericinizi açın. -3. Kalibrasyonu başlatmak için **OK**'a basın. +1. Üstteki araç çubuğundan **dişli** simgesini (Vechicle Setup), daha sonra kenar çubuğundan **Radio**'u seçin. - ![Radio setup - before starting](../../../assets/setup/radio_start_setup.jpg) +2. RC vericinizi açın. - ::: info +3. Kalibrasyonu başlatmak için **OK**'a basın. - Yukardaki görüntü PX4 Pro içindir. Her iki aygıt yazılımı için kalibrasyon/üst bölüm aynıdır, ancak _ Ek Radyo Ayarları _ bölümü farklı olacaktır. - ::: + ![Radio setup - before starting](../../../assets/setup/radio_start_setup.jpg)::: info -4. Verici yapılandırmanıza uyan radyo _ verici modunu _ seçin (bu, _ QGroundControl _ 'ın kalibrasyon sırasında izlemeniz için doğru çubuk pozisyonlarını görüntülemesini sağlar). + Yukardaki görüntü PX4 Pro içindir. Her iki aygıt yazılımı için kalibrasyon/üst bölüm aynıdır, ancak \_ Ek Radyo Ayarları \_ bölümü farklı olacaktır. + ::: - ![Radio setup - move sticks](../../../assets/setup/radio_sticks_throttle.jpg) +4. Verici yapılandırmanıza uyan radyo \_ verici modunu \_ seçin (bu, \_ QGroundControl \_ 'ın kalibrasyon sırasında izlemeniz için doğru çubuk pozisyonlarını görüntülemesini sağlar). -5. Çubukları metinde (ve verici görüntüsünde) belirtilen pozisyonlara hareket ettirin. Çubuklar doğru pozisyondayken ** Next ** tuşuna basın. Tüm pozisyonlar için tekrar edin. + ![Radio setup - move sticks](../../../assets/setup/radio_sticks_throttle.jpg) -6. When prompted, move all other switches and dials through their full range (you will be able to observe them moving on the _Channel Monitor_). +5. Çubukları metinde (ve verici görüntüsünde) belirtilen pozisyonlara hareket ettirin. Çubuklar doğru pozisyondayken \*\* Next \*\* tuşuna basın. Tüm pozisyonlar için tekrar edin. -7. Press **Next** to save the settings. +6. When prompted, move all other switches and dials through their full range (you will be able to observe them moving on the _Channel Monitor_). + +7. Press **Next** to save the settings. Radio calibration is demonstrated in the [PX4 setup video here](https://youtu.be/91VGmdSlbo4?t=4m30s) (youtube). @@ -52,7 +52,9 @@ Before you can calibrate the radio system the receiver and transmitter must be c To bind a Spektrum transmitter/receiver: 1. Select the **Spektrum Bind** button + 2. Select the radio button for your receiver + 3. Press **OK** ![Spektrum Bind](../../../assets/setup/radio_additional_setup_spectrum_bind_select_channels.jpg) @@ -66,7 +68,9 @@ This setting is used to copy the manual trim settings from your radio transmitte To copy the trims: 1. Select **Copy Trims**. + 2. Center your sticks and move throttle all the way down. + 3. Press **Ok**. ![Copy Trims](../../../assets/setup/radio_additional_radio_setup_copy_trims_px4.jpg) @@ -90,7 +94,7 @@ The flight controller will pass through the unmodified values from the specified Tuning channels allow you to map a transmitter tuning knob to a parameter (so that you can dynamically modify a parameter from your transmitter). -::: tip +:::tip This feature is provided to enable manual in-flight tuning. ::: @@ -106,8 +110,11 @@ To set up tuning channels: To map a PARAM tuning channel to a parameter: 1. Open the **Parameters** sidebar. + 2. Select the parameter to map to your transmitter (this will open the _Parameter Editor_). + 3. Check the **Advanced Settings** checkbox. + 4. Click the **Set RC to Param...** button (this will pop-up the foreground dialog displayed below) ![Map tuning channels to parameters](../../../assets/setup/parameters_radio_channel_mapping_px4.jpg) @@ -115,8 +122,9 @@ To map a PARAM tuning channel to a parameter: 5. Select the tuning channel to map (1, 2 or 3) from the _Parameter Tuning ID_ selection list. 6. Press **OK** to close the dialog. + 7. Press **Save** to save all changes and close the _Parameter Editor_. -::: tip +:::tip You can clear all parameter/tuning channel mappings by selecting menu **Tools > Clear RC to Param** at the top right of the _Parameters_ screen. ::: diff --git a/docs/tr/qgc-user-guide/setup_view/safety.md b/docs/tr/qgc-user-guide/setup_view/safety.md index 85d63733306..f58ec5e50e5 100644 --- a/docs/tr/qgc-user-guide/setup_view/safety.md +++ b/docs/tr/qgc-user-guide/setup_view/safety.md @@ -8,6 +8,6 @@ The PX4 page is shown below. ![Safety Setup - PX4](../../../assets/setup/px4_safety.jpg) -::: info +:::info For additional PX4 safety settings and information see: [Safety Configuration](https://docs.px4.io/en/config/safety.html). ::: diff --git a/docs/tr/qgc-user-guide/setup_view/safety_ardupilot.md b/docs/tr/qgc-user-guide/setup_view/safety_ardupilot.md index 050e8deaff7..a2b22754f13 100644 --- a/docs/tr/qgc-user-guide/setup_view/safety_ardupilot.md +++ b/docs/tr/qgc-user-guide/setup_view/safety_ardupilot.md @@ -2,11 +2,11 @@ The _Safety Setup_ page allows you to configure (vehicle specific) failsafe settings. -::: tip +:::tip The setup page covers the most important safety options; other failsafe settings can be set via the [parameters](../setup_view/parameters.md) described in the failsafe documentation for each vehicle type. ::: -::: info +:::tip _QGroundControl_ does not support polygon fences or rally points on ArduPilot. ::: @@ -16,15 +16,17 @@ The Copter safety page is shown below. ![Safety Setup - Copter (Ardupilot)](../../../assets/setup/safety/safety_arducopter.jpg) -::: info +:::info For additional safety settings and information see: [Failsafe](http://ardupilot.org/copter/docs/failsafe-landing-page.html). ::: -### Battery Failsafe {#battery_failsafe_copter} +### Battery Failsafe {#battery\_failsafe\_copter} -This panel sets the [Battery Failsafe](http://ardupilot.org/copter/docs/failsafe-battery.html) parameters. You can set low and critical thresholds for voltage and/or remaining capacity and define the action if the failsafe value is breached. The thresholds can be disabled by setting them to zero. +This panel sets the [Battery Failsafe](http://ardupilot.org/copter/docs/failsafe-battery.html) parameters. +You can set low and critical thresholds for voltage and/or remaining capacity and define the action if the failsafe value is breached. +The thresholds can be disabled by setting them to zero. -::: tip +:::tip If there is a second battery (enabled in the [Power Setup](../setup_view/power.md)) a second panel will be displayed with the same settings. ::: @@ -32,14 +34,14 @@ If there is a second battery (enabled in the [Power Setup](../setup_view/power.m The configuration options are: -- **Low action** ([BATT_FS_LOW_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-low-act-low-battery-failsafe-action)) - Select one of: None, Land, RTL, SmartRTL, SmartRTL or Land, Terminate. -- **Critical action** ([BATT_FS_CRT_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-crt-act-critical-battery-failsafe-action)) - Select one of: None, Land, RTL, SmartRTL, SmartRTL or Land, Terminate. -- **Low voltage threshold** ([BATT_LOW_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-low-volt-low-battery-voltage)) - Battery voltage that triggers the _low action_. -- **Critical voltage threshold** ([BATT_CRT_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-crt-volt-critical-battery-voltage))- Battery voltage that triggers the _critical action_. -- **Low mAh threshold** ([BATT_LOW_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-low-mah-low-battery-capacity)) - Battery capacity that triggers the _low action_. -- **Critical mAh threshold** ([BATT_CRT_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-crt-mah-battery-critical-capacity)) - Battery capacity that triggers the _critical action_. +- **Low action** ([BATT\_FS\_LOW\_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-low-act-low-battery-failsafe-action)) - Select one of: None, Land, RTL, SmartRTL, SmartRTL or Land, Terminate. +- **Critical action** ([BATT\_FS\_CRT\_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-crt-act-critical-battery-failsafe-action)) - Select one of: None, Land, RTL, SmartRTL, SmartRTL or Land, Terminate. +- **Low voltage threshold** ([BATT\_LOW\_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-low-volt-low-battery-voltage)) - Battery voltage that triggers the _low action_. +- **Critical voltage threshold** ([BATT\_CRT\_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-crt-volt-critical-battery-voltage))- Battery voltage that triggers the _critical action_. +- **Low mAh threshold** ([BATT\_LOW\_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-low-mah-low-battery-capacity)) - Battery capacity that triggers the _low action_. +- **Critical mAh threshold** ([BATT\_CRT\_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-crt-mah-battery-critical-capacity)) - Battery capacity that triggers the _critical action_. -### General Failsafe Triggers {#failsafe_triggers_copter} +### General Failsafe Triggers {#failsafe\_triggers\_copter} This panel enables the [GCS Failsafe](http://ardupilot.org/copter/docs/gcs-failsafe.html) and enables/configures the throttle failsafe. @@ -49,25 +51,26 @@ The configuration options are: - **Ground Station failsafe** - Disabled, Enabled always RTL, Enabled Continue with Mission in Auto Mode, Enabled Always SmartRTL or RTL, Enabled Always SmartRTL or Land. - **Throttle failsafe** - Disabled, Always RTL, Continue with Mission in Auto Mode, Always land. -- **PWM Threshold** ([FS_THR_VALUE](http://ardupilot.org/copter/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. +- **PWM Threshold** ([FS\_THR\_VALUE](http://ardupilot.org/copter/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. -### Geofence {#geofence_copter} +### Geofence {#geofence\_copter} -This panel sets the parameters for the cylindrical [Simple Geofence](http://ardupilot.org/copter/docs/ac2_simple_geofence.html). You can set whether the fence radius or height are enabled, the maximum values for causing a breach, and the action in the event of a breach. +This panel sets the parameters for the cylindrical [Simple Geofence](http://ardupilot.org/copter/docs/ac2_simple_geofence.html). +You can set whether the fence radius or height are enabled, the maximum values for causing a breach, and the action in the event of a breach. ![Safety Setup - Geofence (Copter)](../../../assets/setup/safety/safety_arducopter_geofence.jpg) The configuration options are: -- **Circle GeoFence enabled** ([FENCE_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - Enable the circular geofence. -- **Altitude GeoFence enabled** ([FENCE_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - Enable altitude geofence. -- Fence action ([FENCE_ACTION](http://ardupilot.org/copter/docs/parameters.html#fence-action-fence-action)) One of: +- **Circle GeoFence enabled** ([FENCE\_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE\_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - Enable the circular geofence. +- **Altitude GeoFence enabled** ([FENCE\_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE\_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - Enable altitude geofence. +- Fence action ([FENCE\_ACTION](http://ardupilot.org/copter/docs/parameters.html#fence-action-fence-action)) One of: - **Report only** - Report fence breach. - **RTL or Land** - RTL or land on fence breach. -- **Max radius** ([FENCE_RADIUS](http://ardupilot.org/copter/docs/parameters.html#fence-radius-circular-fence-radius)) - Circular fence radius that when broken causes RTL. -- **Max altitude** ([FENCE_ALT_MAX](http://ardupilot.org/copter/docs/parameters.html#fence-alt-max-fence-maximum-altitude))- Fence maximum altitude to trigger altitude geofence. +- **Max radius** ([FENCE\_RADIUS](http://ardupilot.org/copter/docs/parameters.html#fence-radius-circular-fence-radius)) - Circular fence radius that when broken causes RTL. +- **Max altitude** ([FENCE\_ALT\_MAX](http://ardupilot.org/copter/docs/parameters.html#fence-alt-max-fence-maximum-altitude))- Fence maximum altitude to trigger altitude geofence. -### Return to Launch {#rtl_copter} +### Return to Launch {#rtl\_copter} This panel sets the [RTL Mode](http://ardupilot.org/copter/docs/rtl-mode.html) behaviour. @@ -75,15 +78,15 @@ This panel sets the [RTL Mode](http://ardupilot.org/copter/docs/rtl-mode.html) b The configuration options are: -- Select RTL return altitude ([RTL_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): +- Select RTL return altitude ([RTL\_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): - **Return at current altitude** - Return at current altitude. - **Return at specified altitude** - Ascend to specified altitude to return if below current altitude. -- **Loiter above home for** ([RTL_LOIT_TIME](http://ardupilot.org/copter/docs/parameters.html#rtl-loit-time-rtl-loiter-time)) - Check to set a loiter time before landing. +- **Loiter above home for** ([RTL\_LOIT\_TIME](http://ardupilot.org/copter/docs/parameters.html#rtl-loit-time-rtl-loiter-time)) - Check to set a loiter time before landing. - One of - - **Land with descent speed** ([LAND_SPEED](http://ardupilot.org/copter/docs/parameters.html#land-speed-land-speed)) - Select final descent speed. - - **Final loiter altitude** ([RTL_ALT_FINAL](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-final-rtl-final-altitude)) - Select and set final altitude for landing after RTL or mission (set to 0 to land). + - **Land with descent speed** ([LAND\_SPEED](http://ardupilot.org/copter/docs/parameters.html#land-speed-land-speed)) - Select final descent speed. + - **Final loiter altitude** ([RTL\_ALT\_FINAL](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-final-rtl-final-altitude)) - Select and set final altitude for landing after RTL or mission (set to 0 to land). -### Arming Checks {#arming_checks_copter} +### Arming Checks {#arming\_checks\_copter} This panel sets which [Pre-ARM Safety Checks](http://ardupilot.org/copter/docs/prearm_safety_check.html) are enabled. @@ -91,7 +94,7 @@ This panel sets which [Pre-ARM Safety Checks](http://ardupilot.org/copter/docs/p The configuration options are: -- **Arming Checks to perform** ([ARMING_CHECK](http://ardupilot.org/copter/docs/parameters.html#arming-check-arm-checks-to-peform-bitmask)) - Check all appropriate: Barometer, Compass, GPS lock, INS, Parameters, RC Channels, Board voltage, Battery Level, Airspeed, Logging Available, Hardware safety switch, GPS Configuration, System. +- **Arming Checks to perform** ([ARMING\_CHECK](http://ardupilot.org/copter/docs/parameters.html#arming-check-arm-checks-to-peform-bitmask)) - Check all appropriate: Barometer, Compass, GPS lock, INS, Parameters, RC Channels, Board voltage, Battery Level, Airspeed, Logging Available, Hardware safety switch, GPS Configuration, System. ## Plane @@ -99,17 +102,17 @@ The Plane safety page is shown below. ![Safety Setup - Plane (Ardupilot)](../../../assets/setup/safety/safety_arduplane.jpg) -::: info +:::info For additional safety settings and information see: [Plane Failsafe Function](http://ardupilot.org/plane/docs/apms-failsafe-function.html) and [Advanced Failsafe Configuration](http://ardupilot.org/plane/docs/advanced-failsafe-configuration.html). ::: -### Battery Failsafe {#battery_failsafe_plane} +### Battery Failsafe {#battery\_failsafe\_plane} The plane battery failsafe is the same as for copter except there are different options for the [Low](http://ardupilot.org/plane/docs/parameters.html#batt-fs-low-act-low-battery-failsafe-action) and [Critical](http://ardupilot.org/plane/docs/parameters.html#batt-fs-crt-act-critical-battery-failsafe-action) actions: None, RTL, Land, Terminate. For more information see: [battery failsafe](#battery_failsafe_copter) (copter). -### Failsafe Triggers {#failsafe_triggers_plane} +### Failsafe Triggers {#failsafe\_triggers\_plane} This panel enables the [GCS Failsafe](http://ardupilot.org/plane/docs/advanced-failsafe-configuration.html#ground-station-communications-loss) and enables/configures the throttle failsafe. @@ -117,10 +120,10 @@ This panel enables the [GCS Failsafe](http://ardupilot.org/plane/docs/advanced-f The configuration options are: -- **Throttle PWM threshold** ([THR_FS_VALUE](http://ardupilot.org/plane/docs/parameters.html#thr-fs-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. -- **GCS failsafe** ([FS_GCS_ENABL](http://ardupilot.org/plane/docs/parameters.html#fs-gcs-enabl-gcs-failsafe-enable)) - Check to enable GCS failsafe. +- **Throttle PWM threshold** ([THR\_FS\_VALUE](http://ardupilot.org/plane/docs/parameters.html#thr-fs-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. +- **GCS failsafe** ([FS\_GCS\_ENABL](http://ardupilot.org/plane/docs/parameters.html#fs-gcs-enabl-gcs-failsafe-enable)) - Check to enable GCS failsafe. -### Return to Launch {#rtl_plane} +### Return to Launch {#rtl\_plane} This panel sets the [RTL Mode](http://ardupilot.org/copter/docs/rtl-mode.html) behaviour. @@ -128,11 +131,11 @@ This panel sets the [RTL Mode](http://ardupilot.org/copter/docs/rtl-mode.html) b The configuration options are: -- Select RTL return altitude ([RTL_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): +- Select RTL return altitude ([RTL\_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): - **Return at current altitude** - Return at current altitude. - **Return at specified altitude** - Ascend to specified altitude to return if below current altitude. -### Arming Checks {#arming_checks_plane} +### Arming Checks {#arming\_checks\_plane} [Arming Checks](#arming_checks_copter) are the same as for copter. @@ -142,15 +145,15 @@ The Rover safety page is shown below. ![Safety Setup - Rover (Ardupilot)](../../../assets/setup/safety/safety_ardurover.jpg) -::: info +:::info For additional safety settings and information see: [Failsafes](http://ardupilot.org/rover/docs/rover-failsafes.html). ::: -### Battery Failsafe {#battery_failsafe_rover} +### Battery Failsafe {#battery\_failsafe\_rover} The rover battery failsafe is the same as for [copter](#battery_failsafe_copter). -### Failsafe Triggers {#failsafe_triggers_rover} +### Failsafe Triggers {#failsafe\_triggers\_rover} This panel enables the rover [Failsafes](http://ardupilot.org/rover/docs/rover-failsafes.html). @@ -158,12 +161,12 @@ This panel enables the rover [Failsafes](http://ardupilot.org/rover/docs/rover-f The configuration options are: -- **Ground Station failsafe** ([FS_GCS_ENABL](http://ardupilot.org/rover/docs/parameters.html#fs-gcs-enable-gcs-failsafe-enable)) - Check to enable GCS failsafe. -- **Throttle failsafe** ([FS_THR_ENABLE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-enable-throttle-failsafe-enable)) - Enable/disable throttle failsafe (value is _PWM threshold_ below). -- **PWM threshold** ([FS_THR_VALUE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. -- **Failsafe Crash Check** ([FS_CRASH_CHECK](http://ardupilot.org/rover/docs/parameters.html#fs-crash-check-crash-check-action)) - What to do in the event of a crash: Disabled, Hold, HoldAndDisarm +- **Ground Station failsafe** ([FS\_GCS\_ENABL](http://ardupilot.org/rover/docs/parameters.html#fs-gcs-enable-gcs-failsafe-enable)) - Check to enable GCS failsafe. +- **Throttle failsafe** ([FS\_THR\_ENABLE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-enable-throttle-failsafe-enable)) - Enable/disable throttle failsafe (value is _PWM threshold_ below). +- **PWM threshold** ([FS\_THR\_VALUE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. +- **Failsafe Crash Check** ([FS\_CRASH\_CHECK](http://ardupilot.org/rover/docs/parameters.html#fs-crash-check-crash-check-action)) - What to do in the event of a crash: Disabled, Hold, HoldAndDisarm -### Arming Checks {#arming_checks_rover} +### Arming Checks {#arming\_checks\_rover} [Arming Checks](#arming_checks_copter) are the same as for copter. @@ -173,11 +176,11 @@ The Sub safety page is shown below. ![Safety Setup - Sub (Ardupilot)](../../../assets/setup/safety/safety_ardusub.jpg) -::: info +:::info For additional safety settings and information see: [Failsafes](https://www.ardusub.com/operators-manual/failsafes.html). ::: -### Failsafe Actions {#failsafe_actions_sub} +### Failsafe Actions {#failsafe\_actions\_sub} The configuration options are: @@ -191,6 +194,6 @@ The configuration options are: - **Internal Temperature** - Select one of: Disabled, Warn only. - **Internal Pressure** - Select one of: Disabled, Warn only. -### Arming Checks {#arming_checks_sub} +### Arming Checks {#arming\_checks\_sub} [Arming Checks](#arming_checks_copter) are the same as for copter. diff --git a/docs/tr/qgc-user-guide/setup_view/sensors.md b/docs/tr/qgc-user-guide/setup_view/sensors.md index b9415288908..818db9d101b 100644 --- a/docs/tr/qgc-user-guide/setup_view/sensors.md +++ b/docs/tr/qgc-user-guide/setup_view/sensors.md @@ -2,7 +2,9 @@ The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors (the available sensors will depend on the autopilot firmware and vehicle type). -Available sensors are displayed as a list of buttons beside the sidebar. Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. Sensors with no light are simple settings with default values that you may choose not to calibrate. +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. Click on the button for each sensor to start its calibration sequence. diff --git a/docs/tr/qgc-user-guide/setup_view/sensors_ardupilot.md b/docs/tr/qgc-user-guide/setup_view/sensors_ardupilot.md index 0d5e3955b76..6156cc5b668 100644 --- a/docs/tr/qgc-user-guide/setup_view/sensors_ardupilot.md +++ b/docs/tr/qgc-user-guide/setup_view/sensors_ardupilot.md @@ -2,7 +2,9 @@ The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors (the available sensors will depend on the vehicle type). -Available sensors are displayed as a list of buttons beside the sidebar. Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. Sensors with no light are simple settings with default values that you may choose not to calibrate. +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. Click on the button for each sensor to start its calibration sequence. @@ -14,20 +16,25 @@ To calibrate the flight controller accelerometers you will be asked to place and The calibration steps are: -1. Click the **Accelerometer** sensor button. ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_ardupilot.jpg) +1. Click the **Accelerometer** sensor button. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_ardupilot.jpg) ::: info - You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. If not, you can also set it here. + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. ::: 2. Click **OK** to start the calibration. -3. Position the vehicle based on text instructions in the center display. Click the **Next** button to capture each position. ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_positions_ardupilot.jpg) + +3. Position the vehicle based on text instructions in the center display. + Click the **Next** button to capture each position. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_positions_ardupilot.jpg) ## Compass {#compass} ArduPilot uses onboard calibration support that allows for more accurate calibration. -::: info +:::info Older ArduPilot firmware can be calibrated using the [same process as PX4](../setup_view/sensors_px4.md#compass). ::: @@ -37,20 +44,25 @@ You need to rotate the vehicle randomly around all axes until the progress bar f This shows you the quality of the calibration for each compass. Using these values you can determine whether you may want to turn off usage of poorly performing compasses. -## Level Horizon {#level_horizon} +## Level Horizon {#level\_horizon} -If the horizon (as shown in the HUD) is not level after completing accelerometer calibration you can calibrate the level horizon for your vehicle. You will be asked to place the vehicle in a level orientation while it captures the information. +If the horizon (as shown in the HUD) is not level after completing accelerometer calibration you can calibrate the level horizon for your vehicle. +You will be asked to place the vehicle in a level orientation while it captures the information. -1. Click the **Level Horizon** sensor button. ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) +1. Click the **Level Horizon** sensor button. + ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) ::: info - You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. If not, you can also set it here. + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. ::: 2. Place the vehicle in its level flight orientation on a level surface: - - For planes this is the position during level flight (planes tend to have their wings slightly pitched up!) - - For copters this is the hover position. -3. Click **OK** to start the calibration. + +- For planes this is the position during level flight (planes tend to have their wings slightly pitched up!) +- For copters this is the hover position. + +1. Click **OK** to start the calibration. ## Pressure/Barometer {#pressure} @@ -68,23 +80,24 @@ To perform **Pressure** calibration: ## CompassMot (Optional) -CompassMot calibration is optional! It is recommended for vehicles that only have an internal compass and when there is significant interference on the compass from the motors, power wires, etc. CompassMot only works well if you have a battery current monitor because the magnetic interference is linear with current drawn. +CompassMot calibration is optional! It is recommended for vehicles that only have an internal compass and when there is significant interference on the compass from the motors, power wires, etc. +CompassMot only works well if you have a battery current monitor because the magnetic interference is linear with current drawn. To perform **CompassMot** calibration: 1. Click the **CompassMot** sensor button. - + 2. Follow the onscreen prompts. ![CompassMot calibration](../../../assets/setup/sensor_compass_mot.jpg) -## Sensor Settings {#sensor_settings} +## Sensor Settings {#sensor\_settings} The _Sensor Settings_ section allows you to specify the compass orientation and which compasses are enabled. -::: tip +:::tip You can skip this section if the flight controller and compass are mounted upright on the vehicle and facing the front (this is the default orientation - `ROTATION_NONE`). ::: @@ -105,4 +118,5 @@ To set the orientation(s) and compasses used: 2. Select the **AutoPilot Orientation**. 3. Select the _orientation_ from **Compass 1 (primary/external) > Orientation** (or check **Compass2 (secondary, external) > Use Compass** to instead use the internal compass). + 4. Press **OK**. diff --git a/docs/tr/qgc-user-guide/setup_view/sensors_px4.md b/docs/tr/qgc-user-guide/setup_view/sensors_px4.md index f2103d069ec..32561ad03a4 100644 --- a/docs/tr/qgc-user-guide/setup_view/sensors_px4.md +++ b/docs/tr/qgc-user-guide/setup_view/sensors_px4.md @@ -2,14 +2,17 @@ The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors (the available sensors will depend on the vehicle type). -Available sensors are displayed as a list of buttons beside the sidebar. Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. Sensors with no light are simple settings with default values that you may choose not to calibrate. +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. Click on the button for each sensor to start its calibration sequence. ![Sensors Setup screen for VTOL vehicle](../../../assets/setup/sensors_px4_vtol.jpg) -::: info -The image shown is from a VTOL vehicle running PX4 firmware. Other autopilot firmware and vehicles will offer slightly different options. +:::info +The image shown is from a VTOL vehicle running PX4 firmware. +Other autopilot firmware and vehicles will offer slightly different options. ::: ## Compass {#compass} @@ -21,11 +24,17 @@ The calibration steps are: 1. Click the **Compass** sensor button ![Select Compass calibration PX4](../../../assets/setup/sensor_compass_select_px4.jpg) ::: info - The default flight controller orientation is `ROTATION_NONE` (flight controller and compass mounted upright on the vehicle and facing the front). You can set a different value here or in [Set Orientations](#flight_controller_orientation). + The default flight controller orientation is `ROTATION_NONE` (flight controller and compass mounted upright on the vehicle and facing the front). + You can set a different value here or in [Set Orientations](#flight_controller_orientation). ::: 2. Click **OK** to start the calibration. -3. Place the vehicle in any of the orientations shown in red (incomplete) and hold it still. Once prompted (the orientation-image turns yellow) rotate the vehicle around the specified axis in either/both directions. Once the calibration is complete in that orientation the associated image on the screen will turn green. ![Compass calibration steps on PX4](../../../assets/setup/sensor_compass_calibrate_px4.jpg) + +3. Place the vehicle in any of the orientations shown in red (incomplete) and hold it still. + Once prompted (the orientation-image turns yellow) rotate the vehicle around the specified axis in either/both directions. + Once the calibration is complete in that orientation the associated image on the screen will turn green. + ![Compass calibration steps on PX4](../../../assets/setup/sensor_compass_calibrate_px4.jpg) + 4. Repeat the calibration process for all vehicle orientations. Once you've rotated the vehicle in all the positions _QGroundControl_ will display _Calibration complete_ (all orientation images will be displayed in green and the progress bar will fill completely) You can then proceed to the next sensor. @@ -37,16 +46,19 @@ You will be guided to place the vehicle on a flat surface and keep it still. The calibration steps are: 1. Click the **Gyroscope** sensor button ![Select Gyroscope calibration PX4](../../../assets/setup/sensor/gyroscope_calibrate_px4.jpg) + 2. Place the vehicle on a surface and leave it still. + 3. Click **Ok** to start the calibration. The bar at the top shows the progress: ![Gyro calibration in progress on PX4](../../../assets/setup/sensor/gyroscope_calibrate_progress_px4.jpg) -4. When finished, _QGroundControl_ will display _Calibration complete_ and the progress bar will fill completely. ![Gyro calibration complete on PX4](../../../assets/setup/sensor/gyroscope_calibrate_complete_px4.jpg) +4. When finished, _QGroundControl_ will display _Calibration complete_ and the progress bar will fill completely. + ![Gyro calibration complete on PX4](../../../assets/setup/sensor/gyroscope_calibrate_complete_px4.jpg) -::: info +:::info If you move the vehicle during calibration, _QGroundControl_ will automatically restart the calibration. ::: @@ -58,14 +70,19 @@ To calibrate the flight controller accelerometers you will be asked to place and The calibration steps are: -1. Click the **Accelerometer** sensor button. ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_px4.jpg) +1. Click the **Accelerometer** sensor button. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_px4.jpg) ::: info - You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. If not, you can also set it here. + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. ::: 2. Click **OK** to start the calibration. -3. Position the vehicle as guided by the _images_ on the screen. This is very similar to compass calibration. ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_positions_px4.jpg) + +3. Position the vehicle as guided by the _images_ on the screen. This is very similar to compass calibration. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_positions_px4.jpg) + 4. Repeat the calibration process for all vehicle orientations. Once you've rotated the vehicle in all the positions _QGroundControl_ will display _Calibration complete_. @@ -74,22 +91,28 @@ You can then proceed to the next sensor. ## Level Horizon -If the horizon (as shown in the HUD) is not level after completing accelerometer calibration you can calibrate the level horizon for your vehicle. You will be asked to place the vehicle in a level orientation while it captures the information. +If the horizon (as shown in the HUD) is not level after completing accelerometer calibration you can calibrate the level horizon for your vehicle. +You will be asked to place the vehicle in a level orientation while it captures the information. -1. Click the **Level Horizon** sensor button. ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) +1. Click the **Level Horizon** sensor button. + ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) ::: info - You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. If not, you can also set it here. + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. ::: 2. Place the vehicle in its level flight orientation on a level surface: - - For planes this is the position during level flight (planes tend to have their wings slightly pitched up!) - - For copters this is the hover position. -3. Click **OK** to start the calibration. + +- For planes this is the position during level flight (planes tend to have their wings slightly pitched up!) +- For copters this is the hover position. + +1. Click **OK** to start the calibration. ## Airspeed {#airspeed} -The airspeed calibration needs to read a stable baseline with 0 airspeed in order to determine an offset. Cup your hands over the pitot to block any wind (if calibrating the sensor indoors this is not needed) and then blow into the tube using your mouth (to signal completion of the calibration). +The airspeed calibration needs to read a stable baseline with 0 airspeed in order to determine an offset. +Cup your hands over the pitot to block any wind (if calibrating the sensor indoors this is not needed) and then blow into the tube using your mouth (to signal completion of the calibration). To calibrate the airspeed sensor: @@ -104,30 +127,33 @@ To calibrate the airspeed sensor: ::: 3. Click **OK** to start the calibration. + 4. Blow into the sensor. + 5. Wait for 2-3 seconds before removing the covering (calibration completes silently after several seconds) -## Set Orientations {#flight_controller_orientation} +## Set Orientations {#flight\_controller\_orientation} -::: tip +:::tip You can skip this section if the flight controller and compass are mounted upright on the vehicle and facing the front (this is the default orientation - `ROTATION_NONE`). ::: If the autopilot/compass are mounted in any other way you will need to specify their orientations as YAW, PITCH and/or ROLL offsets relative to the forward-facing-upright orientation (clock-wise rotation around the Z, Y and X axis, respectively). - + For example, the image below are at orientations: `ROTATION_NONE`, `ROTATION_YAW_90`,`ROTATION_YAW_180`,`ROTATION_YAW_270`. - + To set the orientation(s) on PX4: 1. Select the **Set Orientations** button. - + 2. Select the **AutoPilot Orientation**. 3. Select the **External Compass Orientation** (this option will only be displayed if there is an external compass). + 4. Press **OK**. diff --git a/docs/tr/qgc-user-guide/setup_view/setup_view.md b/docs/tr/qgc-user-guide/setup_view/setup_view.md index 22c9276913e..c21b41d544e 100644 --- a/docs/tr/qgc-user-guide/setup_view/setup_view.md +++ b/docs/tr/qgc-user-guide/setup_view/setup_view.md @@ -8,7 +8,7 @@ The Setup View is used to configure a new vehicle prior to first flight and/or t To the left of the screen are the set of available setup options. A setup button is marked with a red icon if there are still settings needed to be adjusted/specified. You should not fly if any of these are red. In the above image the Radio setup is not yet complete. -::: info +:::info The set of options shown and the contents of each option may differ based on whether the vehicle is running PX4 Pro or ArduPilot firmware. The image above is from a vehicle which is running PX4 Pro firmware. ::: diff --git a/docs/tr/qgc-user-guide/setup_view/tuning.md b/docs/tr/qgc-user-guide/setup_view/tuning.md index 144019dc0e7..13032afc2c0 100644 --- a/docs/tr/qgc-user-guide/setup_view/tuning.md +++ b/docs/tr/qgc-user-guide/setup_view/tuning.md @@ -1,6 +1,7 @@ # Tuning Setup -The Tuning page allows you to configure settings on your vehicle which control basic flight characteristics. The details differ depending on flight stack: +The Tuning page allows you to configure settings on your vehicle which control basic flight characteristics. +The details differ depending on flight stack: - [Tuning (ArduPilot)](../setup_view/tuning_ardupilot.md) - [Tuning (PX4)](../setup_view/tuning_px4.md) diff --git a/docs/tr/qgc-user-guide/setup_view/tuning_arducopter.md b/docs/tr/qgc-user-guide/setup_view/tuning_arducopter.md index 8bedaac6f48..242f58b2417 100644 --- a/docs/tr/qgc-user-guide/setup_view/tuning_arducopter.md +++ b/docs/tr/qgc-user-guide/setup_view/tuning_arducopter.md @@ -15,23 +15,34 @@ Performing an AutoTune: - Select which axes you would like to tune. ::: tip - Tuning all axes at once can take a significant amount of time, which may cause you to run out of battery. To prevent this choose to tune only one axis at a time. + Tuning all axes at once can take a significant amount of time, which may cause you to run out of battery. + To prevent this choose to tune only one axis at a time. ::: -- Assign AutoTune to one of your transmitter switches. Ensure that switch is in low position before taking off. +- Assign AutoTune to one of your transmitter switches. + Ensure that switch is in low position before taking off. + - Take off and put the copter into AltHold. + - Turn on AutoTune with your transmitter switch. + - The copter will twitch around the specified axes for a few minutes. + - When AutoTune completes the copter will change back to the original settings. + - Move the AutoTune switch back to low position and then back to high to test the new settings. + - Move the AutoTune switch to low to test previous settings. + - To save new settings, land and disarm while AutoTune switch is in high position. Note: -- Since AutoTune is done in AltHold your copter must already have a tuning which is minimally flyable in AltHold. You can cancel AutoTune at any time by moving the AutoTune switch back to low position. +- Since AutoTune is done in AltHold your copter must already have a tuning which is minimally flyable in AltHold. + You can cancel AutoTune at any time by moving the AutoTune switch back to low position. - You can reposition the copter using your transmitter at any time during AutoTune. ### In-Flight Tuning -This is an advanced option which allows you to tune a flight control parameter using one of your transmitter dial channels. Select the control option from the dropdown and specify the min/max for the values to assign to the dial. +This is an advanced option which allows you to tune a flight control parameter using one of your transmitter dial channels. +Select the control option from the dropdown and specify the min/max for the values to assign to the dial. diff --git a/docs/tr/qgc-user-guide/setup_view/tuning_ardusub.md b/docs/tr/qgc-user-guide/setup_view/tuning_ardusub.md index 9f674a96207..0745cf3190e 100644 --- a/docs/tr/qgc-user-guide/setup_view/tuning_ardusub.md +++ b/docs/tr/qgc-user-guide/setup_view/tuning_ardusub.md @@ -11,6 +11,7 @@ This page allows changing the PID controller gains to better suit your vehicle a - **Position Controller Parameters** are the parameters for the controller responsible for positioning the vehicle at a point in 3D space. The **Z** parameters control how the depth control works (eg in [_Depth Hold_](https://www.ardusub.com/operators-manual/flight-modes.html#depth-hold) mode). The **XY** parameters affect how the vehicle controls the horizontal position in [_Position Enabled_](https://www.ardusub.com/operators-manual/flight-modes.html#position-enabled-modes) modes. - **Waypoint Navigation Parameters** are the parameters for the controller responsible for following waypoints in **Auto** and **Guided** mode. + ::: warning **Guided** and **Auto** modes are currently unsupported and some features are disabled in QGC. ::: diff --git a/docs/tr/qgc-user-guide/setup_view/tuning_px4.md b/docs/tr/qgc-user-guide/setup_view/tuning_px4.md index 3531547d7ae..6be4cf09c36 100644 --- a/docs/tr/qgc-user-guide/setup_view/tuning_px4.md +++ b/docs/tr/qgc-user-guide/setup_view/tuning_px4.md @@ -2,25 +2,30 @@ Tuning only needs to be done once, and is recommended unless you're using vehicle that has already been tuned by the manufacturer (and not modified since). -[Auto-tuning](#autotune) should generally be used for frame types and controllers that support it (multicopter, fixed wing, and hybrid VTOL fixed wing vehicles). The tuning UI also supports manual tuning of all controllers. +[Auto-tuning](#autotune) should generally be used for frame types and controllers that support it (multicopter, fixed wing, and hybrid VTOL fixed wing vehicles). +The tuning UI also supports manual tuning of all controllers. ![Tuning Setup > Autotune](../../../assets/setup/tuning/px4_autotune_hero.png) -::: info -During [Airframe Setup](../config/airframe.md) you should have selected the frame that most closely matches your vehicle. This will usually be tuned well enough to fly, and it _may_ also be sufficiently well tuned to run autotuning. +:::info +During [Airframe Setup](../config/airframe.md) you should have selected the frame that most closely matches your vehicle. +This will usually be tuned well enough to fly, and it _may_ also be sufficiently well tuned to run autotuning. ::: ## Autotune Auto-tuning automates the process of tuning the PX4 rate and attitude controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional"). -::: info -This guide shows the default usage of this feature. Additional information and configuration can be found in the [PX4 Autotuning Guide](http://docs.px4.io/master/en/config/autotune.html) (PX4 User Guide). +:::info +This guide shows the default usage of this feature. +Additional information and configuration can be found in the [PX4 Autotuning Guide](http://docs.px4.io/master/en/config/autotune.html) (PX4 User Guide). ::: ### Pre-Autotuning Test -Auto-tuning is performed while flying. The vehicle must be able to fly and adequately stabilize itself before running auto-tune. This test ensures that the vehicle can fly safely in position controlled modes. +Auto-tuning is performed while flying. +The vehicle must be able to fly and adequately stabilize itself before running auto-tune. +This test ensures that the vehicle can fly safely in position controlled modes. To make sure the vehicle is stable enough for auto-tuning: @@ -28,9 +33,12 @@ To make sure the vehicle is stable enough for auto-tuning: 2. Takeoff and prepare for the test - **Multicopters:** Take off and hover at 1m above ground in **Altitude mode** or Stabilized mode. - **Fixed-wing mode:** Take off and fly at cruise speed in **Position mode** or **Altitude mode**. -3. Use the RC transmitter roll stick to perform the following maneuver, tilting the vehicle just a few degrees: _roll left > roll right > center_ (The whole maneuver should take about 3 seconds). The vehicle should stabilise itself within 2 oscillations. -4. Repeat the maneuver, tilting with larger amplitudes at each attempt. If the vehicle can stabilise itself within 2 oscillations at ~20 degrees move to the next step. -5. Repeat the same maneuvers but on the pitch axis. As above, start with small angles and confirm that the vehicle can itself within 2 oscillations before increasing the tilt. +3. Use the RC transmitter roll stick to perform the following maneuver, tilting the vehicle just a few degrees: _roll left > roll right > center_ (The whole maneuver should take about 3 seconds). + The vehicle should stabilise itself within 2 oscillations. +4. Repeat the maneuver, tilting with larger amplitudes at each attempt. + If the vehicle can stabilise itself within 2 oscillations at \~20 degrees move to the next step. +5. Repeat the same maneuvers but on the pitch axis. + As above, start with small angles and confirm that the vehicle can itself within 2 oscillations before increasing the tilt. If the drone can stabilize itself within 2 oscillations it is ready for the auto-tuning procedure. @@ -38,34 +46,49 @@ If not, see the [PX4 User Guide > Autotuning > Troubleshooting](http://docs.px4. ### Auto-tuning procedure -The auto-tuning sequence must be performed in a **safe flight zone, with enough space**. It takes about 40 seconds (between 19 and 68 seconds). For best results, we recommend running the test in calm weather conditions. +The auto-tuning sequence must be performed in a **safe flight zone, with enough space**. +It takes about 40 seconds (between 19 and 68 seconds). +For best results, we recommend running the test in calm weather conditions. -::: info +:::info Be ready to abort the autotuning process by moving the RC controller sticks. ::: The test steps are: 1. Perform the [pre-tuning test](#pre-tuning-test) above. -2. Takeoff using RC control and prepare for test: - - **Multicopters:** Takeoff using the remote controller in **Altitude mode**. Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m). - - **VTOL in Fixed-wing mode:** Once flying at cruise speed, activate **Hold Mode**. This will guide the plane to fly in circle at constant altitude and speed. +2. Takeoff using RC control and prepare for test: + - **Multicopters:** Takeoff using the remote controller in **Altitude mode**. + Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m). + - **VTOL in Fixed-wing mode:** Once flying at cruise speed, activate **Hold Mode**. + This will guide the plane to fly in circle at constant altitude and speed. 3. In QGroundControl, open the menu: **Vehicle setup > PID Tuning** ![Tuning Setup > Autotune Enabled](../../../assets/setup/tuning/px4_autotune.png) -4. Select either the _Rate Controller_ or _Attitude Controller_ tabs. Ensure that the **Autotune enabled** button is enabled (this will display the **Autotune** button and remove the manual tuning selectors). +4. Select either the _Rate Controller_ or _Attitude Controller_ tabs. + Ensure that the **Autotune enabled** button is enabled (this will display the **Autotune** button and remove the manual tuning selectors). + +5. Stop moving the joysticks and click on the **Autotune** button. + Read the warning popup and click on **OK** to start tuning. + +6. The drone will first start to perform quick roll motions followed by pitch and yaw motions. + The progress is shown in the progress bar, next to the _Autotune_ button. -5. Stop moving the joysticks and click on the **Autotune** button. Read the warning popup and click on **OK** to start tuning. -6. The drone will first start to perform quick roll motions followed by pitch and yaw motions. The progress is shown in the progress bar, next to the _Autotune_ button. 7. Apply the tuning: - - **Fixed Wing:** The tuning will be immediately/automatically be applied and tested in flight (by default). PX4 will then run a 4 second test and revert the new tuning if a problem is detected. - - **Multicopters:** Manually land and disarm to apply the new tuning parameters. Takeoff carefully and manually test that the vehicle is stable. + - **Fixed Wing:** The tuning will be immediately/automatically be applied and tested in flight (by default). + PX4 will then run a 4 second test and revert the new tuning if a problem is detected. + - **Multicopters:** Manually land and disarm to apply the new tuning parameters. + Takeoff carefully and manually test that the vehicle is stable. + 8. If any strong oscillations occur, land immediately and follow the instructions in [PX4 User Guide > Autotuning > Troubleshooting](http://docs.px4.io/master/en/config/autotune.html#troubleshooting). - @@ -77,15 +100,21 @@ A video of the process is shown below: Manual tuning is done in-flight, so your vehicle must already be tuned well enough to fly with (this is normally the case if you have selected an appropriate default airframe). -The instructions below explain how you can use the manual tuning UI. It is designed to be read/used in conjustion with the [PX4 Manual PID Tuning Guides](http://docs.px4.io/master/en/config/autotune.html#see-also), which provide more detailed hints on the kinds of step sizes to use when changing PID values. +The instructions below explain how you can use the manual tuning UI. +It is designed to be read/used in conjustion with the [PX4 Manual PID Tuning Guides](http://docs.px4.io/master/en/config/autotune.html#see-also), which provide more detailed hints on the kinds of step sizes to use when changing PID values. In overview: 1. Takeoff using RC control and prepare for test: - - **Multicopters:** Takeoff using the remote controller in **Altitude mode**. Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m). - - **Fixed-wing:** Once flying at cruise speed, activate **Hold Mode**. This will guide the plane to fly in circle at constant altitude and speed. + - **Multicopters:** Takeoff using the remote controller in **Altitude mode**. + Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m). + - **Fixed-wing:** Once flying at cruise speed, activate **Hold Mode**. + This will guide the plane to fly in circle at constant altitude and speed. + 2. In QGroundControl, open the menu: **Vehicle setup > PID Tuning** -3. Select the _Rate Controller_ tab. Ensure that the **Autotune enabled** button is is turned off. + +3. Select the _Rate Controller_ tab. + Ensure that the **Autotune enabled** button is is turned off. ![PX4 Tuning - Manual - Rate controller](../../../assets/setup/tuning/px4_copter_manual_rate.png) @@ -95,7 +124,10 @@ In overview: - Adjust the _Tuning Values_ (parameters) to improve the tracking shown on the graph using the slider. - The values are automatically saved, but you may wish to use the **Save to Clipboard** and **Restore from Clipboard** buttons to store the last known good configuration. - You can also **Clear**/**Stop** the chart using the buttons provided. + 6. Tune the other axes. -7. Switch to the other controllers and repeat the process. Screenshots of the tuning pages are shown below. + +7. Switch to the other controllers and repeat the process. + Screenshots of the tuning pages are shown below. ![PX4 Tuning - Manual - Attitude controller](../../../assets/setup/tuning/px4_copter_manual_attitude.png) ![PX4 Tuning - Manual - Velocity controller](../../../assets/setup/tuning/px4_copter_manual_velocity.png) ![PX4 Tuning - Manual - Position controller](../../../assets/setup/tuning/px4_copter_manual_velocity.png) diff --git a/docs/tr/qgc-user-guide/support/support.md b/docs/tr/qgc-user-guide/support/support.md index 758db3654cb..9d8a32a41ec 100644 --- a/docs/tr/qgc-user-guide/support/support.md +++ b/docs/tr/qgc-user-guide/support/support.md @@ -1,6 +1,7 @@ # Support -This user guide is meant to be the main provider of support for _QGroundControl_. If you find incorrect or missing information please report an [Issue](https://github.com/mavlink/qgc-user-guide/issues). +This user guide is meant to be the main provider of support for _QGroundControl_. +If you find incorrect or missing information please report an [Issue](https://github.com/mavlink/qgc-user-guide/issues). _Questions_ about how to use _QGroundControl_ should be raised in the discussion forum for the associated flight stack: @@ -9,15 +10,15 @@ _Questions_ about how to use _QGroundControl_ should be raised in the discussion These forums are also the best place to start discussions on bugs/problems you are having with _QGroundControl_ and or feature requests you would like to make. From there you may be directed to entering information in a GitHub Issue for further resolution. -### Developer Chat {#developer_chat} +### Developer Chat {#developer\_chat} -_QGroundControl_ developers (and many regular/deeply-involved users) can be found on the [#QGroundControl Slack channel](https://px4.slack.com/). You can [register to access the channel here](http://slack.px4.io/). +_QGroundControl_ developers (and many regular/deeply-involved users) can be found on the [#QGroundControl Slack channel](https://px4.slack.com/). ## GitHub Issues Issues are used to track bugs against _QGroundControl_ as well as feature requests for later versions. The current list of issues can be found on [GitHub here](https://github.com/mavlink/qgroundcontrol/issues). -::: info +:::info Please contact our developers using the support forums **before** creating GitHub issues for either bugs or feature requests. ::: diff --git a/docs/tr/qgc-user-guide/toolbar/toolbar.md b/docs/tr/qgc-user-guide/toolbar/toolbar.md index 5283a42bfbc..7d490932d42 100644 --- a/docs/tr/qgc-user-guide/toolbar/toolbar.md +++ b/docs/tr/qgc-user-guide/toolbar/toolbar.md @@ -1,10 +1,11 @@ # Ana Araç Çubuğu -Ana araç çubuğu, farklı uygulama görünümlerine erişmenize ve bağlı araçlarınız için öndemli durumların bilgisine ulaşmanıza olanak sağlar. Araç çubuğu, "PlanView" haricindeki tüm ekranlarda aynıdır (sizi "Fly" görünümüne geri götüren tek bir simgeye sahiptir). +Ana araç çubuğu, farklı uygulama görünümlerine erişmenize ve bağlı araçlarınız için öndemli durumların bilgisine ulaşmanıza olanak sağlar. +Araç çubuğu, "PlanView" haricindeki tüm ekranlarda aynıdır (sizi "Fly" görünümüne geri götüren tek bir simgeye sahiptir). ## Seç-Görüntüle Simgeler -Aşağıdaki simgeler ana _Views _ arasında geçiş yapmak için kullanılır. Hiçbir araç bağlı olmasa bile bu simgeler ekranda bulunur. +Aşağıdaki simgeler ana \_Views \_ arasında geçiş yapmak için kullanılır. Hiçbir araç bağlı olmasa bile bu simgeler ekranda bulunur. ![Ayarlar ekranı simgesi](../../../assets/toolbar/toolbar_view_select_settings.jpg) **[Settings](../settings_view/settings_view.md)**
_QGroundControl_ uygulamasını düzenleyin. @@ -18,7 +19,8 @@ Aşağıdaki simgeler ana _Views _ arasında geçiş yapmak için kullanılır. ## Durum Simgeleri -Durum simgeleri _QGroundControl_ bir araca bağlıyken gözükür. Bunlar araçla ilgili önemli bilgileri gösterir ve üstlerine tıklayarak daha ayrıntılı bilgilere erişilebilir. +Durum simgeleri _QGroundControl_ bir araca bağlıyken gözükür. +Bunlar araçla ilgili önemli bilgileri gösterir ve üstlerine tıklayarak daha ayrıntılı bilgilere erişilebilir. ![](../../../assets/toolbar/toolbar_status_message.jpg) ![yield](../../../assets/toolbar/toolbar_status_critical.jpg) **Vehicle Messages**
Click to show a list of messages from the vehicle. Note that version on the right is displayed when there are critical messages. diff --git a/docs/tr/qgc-user-guide/troubleshooting/parameter_download.md b/docs/tr/qgc-user-guide/troubleshooting/parameter_download.md index 5aa98e461a1..547c9f1ae27 100644 --- a/docs/tr/qgc-user-guide/troubleshooting/parameter_download.md +++ b/docs/tr/qgc-user-guide/troubleshooting/parameter_download.md @@ -1,9 +1,15 @@ # Parameter Download failures -The majority of parameter download failures are caused by a communication link which is noisy and has a high loss rate. Although the parameter protocol has retry logic for such a case it will eventually give up. At which point you will get an error stating that QGC was unable to retrieve the full set or parameters. +The majority of parameter download failures are caused by a communication link which is noisy and has a high loss rate. +Although the parameter protocol has retry logic for such a case it will eventually give up. +At which point you will get an error stating that QGC was unable to retrieve the full set or parameters. -Although you can still fly the vehicle in this state it is not recommended. Also the vehicle setup pages will not be available. +Although you can still fly the vehicle in this state it is not recommended. +Also the vehicle setup pages will not be available. -You can see the loss rate for your link from the [Settings View > MAVLink](../settings_view/mavlink.md) page. Even a loss rate in the high single digits can lead to intermittent failures of the plan protocols. Higher loss rates could leads to 100% failure. +You can see the loss rate for your link from the [Settings View > MAVLink](../settings_view/mavlink.md) page. +Even a loss rate in the high single digits can lead to intermittent failures of the plan protocols. +Higher loss rates could leads to 100% failure. -There is also the more remote possibility of either firmware or QGC bugs. To see the details of the back and forth message traffic of the protocol you can turn on [Console Logging](../settings_view/console_logging.md) for the Parameter Protocol. +There is also the more remote possibility of either firmware or QGC bugs. +To see the details of the back and forth message traffic of the protocol you can turn on [Console Logging](../settings_view/console_logging.md) for the Parameter Protocol. diff --git a/docs/tr/qgc-user-guide/troubleshooting/qgc_setup.md b/docs/tr/qgc-user-guide/troubleshooting/qgc_setup.md index 807acef6b7d..0ca91a83a58 100644 --- a/docs/tr/qgc-user-guide/troubleshooting/qgc_setup.md +++ b/docs/tr/qgc-user-guide/troubleshooting/qgc_setup.md @@ -2,7 +2,7 @@ This topic lists troubleshooting information related to _QGroundControl_ setup and installation on the host computer. -::: tip +:::tip Problems when **using** _QGroundControl_ to interact with a vehicle are covered in: [QGC Vehicle Interaction Problems](../troubleshooting/qgc_usage.md). ::: @@ -15,13 +15,14 @@ This can occur because 64-bit Windows only displays 64-bit voices, while _QGroun The solution is to set the desired _32-bit voice_ for your system: 1. Run the control panel application: **C:\Windows\SysWOW64\Speech\SpeechUX\sapi.cpl**. -2. Make your desired _Voice selection_ and then click **OK** at the bottom of the dialog. ![Windows 32-bit Text-To-Speech Control Panel](../../../assets/support/windows_text_to_speech.png) +2. Make your desired _Voice selection_ and then click **OK** at the bottom of the dialog. + ![Windows 32-bit Text-To-Speech Control Panel](../../../assets/support/windows_text_to_speech.png) -::: info +:::info Additional information about the Windows speech APIs can be found [here](https://www.webbie.org.uk/blog/microsoft-speech/). ::: -## Windows: UI Rendering/Video Driver Issues {#opengl_troubleshooting} +## Windows: UI Rendering/Video Driver Issues {#opengl\_troubleshooting} If you experience UI rendering issues or video driver crashes on Windows, this may be caused by "flaky" OpenGL drivers. _QGroundControl_ provides 3 shortcuts that you can use to start _QGroundControl_ in "safer" video modes (try these in order): @@ -29,7 +30,7 @@ If you experience UI rendering issues or video driver crashes on Windows, this m - **GPU Compatibility Mode:** QGC uses ANGLE drivers, which implement OpenGL on top of DirectX. - **GPU Safe Mode:** QGC uses a software rasterizer for the UI (this is very slow). -## Windows: Doesn't connect to Vehicle over WiFi {#waiting_for_connection} +## Windows: Doesn't connect to Vehicle over WiFi {#waiting\_for\_connection} If _QGroundControl_ sits forever (for example, _Waiting For Vehicle Connection_) when trying to connect to the vehicle over Wifi, a possible cause is that IP traffic is being blocked by firewall software (e.g. Windows Defender, Norton, etc.). @@ -37,7 +38,7 @@ If _QGroundControl_ sits forever (for example, _Waiting For Vehicle Connection_) The solution is to allow the _QGroundControl_ app through the firewall. -::: info +:::info It is possible to simply switch the network profile from Public to Private to allow connections, but this exposes your PC to the Network, so be careful ::: @@ -48,12 +49,14 @@ If using _Windows Defender_: - Select _QGroundControl_ and change the _Access_ selector to **Allow**. ::: tip - Programs are listed in alphabetical order by description (not filename). You'll find QGC under **O**: _Open source ground control app provided by QGroundControl dev team_ + Programs are listed in alphabetical order by description (not filename). + You'll find QGC under **O**: _Open source ground control app provided by QGroundControl dev team_ ::: -## Ubuntu: Video Streaming Fails (Missing Gstreamer) {#missing_gstreamer} +## Ubuntu: Video Streaming Fails (Missing Gstreamer) {#missing\_gstreamer} -On Ubuntu you must install _Gstreamer_ components in order to see video streams. If these are not installed _QGroundControl_ is unable to create the gstreamer nodes and fails with: +On Ubuntu you must install _Gstreamer_ components in order to see video streams. +If these are not installed _QGroundControl_ is unable to create the gstreamer nodes and fails with: ```sh VideoReceiver::start() failed. Error with gst_element_factory_make(‘avdec_h264’) @@ -61,25 +64,28 @@ VideoReceiver::start() failed. Error with gst_element_factory_make(‘avdec_h264 The [download/install instructions for Ubuntu](../getting_started/download_and_install.md#ubuntu) include _GStreamer_ setup information. -## Ubuntu 18.04: Video Streaming Fails on Dual Video Adapter Systems {#dual_vga} +## Ubuntu 18.04: Video Streaming Fails on Dual Video Adapter Systems {#dual\_vga} ![Video on Ubuntu 18.04](../../../assets/support/troubleshooting_dual_vga_driver.jpg) The version of GSteamer in Ubuntu 18.04 has a bug that prevents video displaying when using a VA API based decoder (i.e. vaapih264dec etc.) on systems that have both Intel and NVidia video display adapters. -::: info +:::info More generally, while the problem is known to occur on Ubuntu 18.04 with Intel and NVidia VGAs, it might occur on any linux system and other types of (dual) VGAs. ::: The easiest way to get _QGroundControl_ to work in this case is to start it using the following command line: - LIBVA_DRIVER_NAME=fakedriver ./QGroundControl) will this make the +``` +LIBVA_DRIVER_NAME=fakedriver ./QGroundControl) will this make the +``` Other alternatives are to disable one of the VGAs, uninstall VA API components, or upgrade to GStreamer 1.16 (there is no easy way to do this on Ubuntu 18.04 - please contribute a recipe if you find one!) -## Ubuntu 16.04: GLIBC_2.27 not found {#glibc_2_27} +## Ubuntu 16.04: GLIBC\_2.27 not found {#glibc\_2\_27} -The pre-built AppImages for QGroundControl 4.0 (and later) can only run on Ubuntu 18.04 LTS (or later). They do not run on Ubuntu 16.04. +The pre-built AppImages for QGroundControl 4.0 (and later) can only run on Ubuntu 18.04 LTS (or later). +They do not run on Ubuntu 16.04. If you try you will get the error as shown: diff --git a/docs/tr/qgc-user-guide/troubleshooting/qgc_usage.md b/docs/tr/qgc-user-guide/troubleshooting/qgc_usage.md index 06b21cf93f6..103bf3ba34f 100644 --- a/docs/tr/qgc-user-guide/troubleshooting/qgc_usage.md +++ b/docs/tr/qgc-user-guide/troubleshooting/qgc_usage.md @@ -7,6 +7,6 @@ This section covers a number of common problems related to **using** _QGroundCon - [Plan Upload/Download failures](../troubleshooting/plan_upload_download.md) - [Resume Mission failures](../troubleshooting/resume_mission.md) -::: tip +:::tip Problems with **installing/running** _QGroundControl_ on the host computer are covered in [Troubleshooting QGC Setup](../troubleshooting/qgc_setup.md). ::: diff --git a/docs/tr/qgc-user-guide/troubleshooting/resume_mission.md b/docs/tr/qgc-user-guide/troubleshooting/resume_mission.md index 25bce5b36a1..613729cf11a 100644 --- a/docs/tr/qgc-user-guide/troubleshooting/resume_mission.md +++ b/docs/tr/qgc-user-guide/troubleshooting/resume_mission.md @@ -7,18 +7,22 @@ The two main areas that are most problematic are: - The _Resume Mission_ dialog doesn't display when it should and you are just left with a Start Mission slider. - The new mission generated from _Resume Mission_ is not quite correct with respect to recreation of waypoints and/or camera commands. -::: warning +:::warning In order for the _QGroundControl_ development team to debug these issues the following information **must be supplied** in any github issue entered against _Resume Mission_. ::: -## Common Steps for Resume Mission Dialog/Generation {#common_steps} +## Common Steps for Resume Mission Dialog/Generation {#common\_steps} The following steps are required for debugging both types of problems: 1. Restart QGC + 2. Turn on [console logging](../settings_view/console_logging.md) with the log option: `GuidedActionsControllerLog`. + 3. Enable [telemetry logging](../settings_view/general.md#miscellaneous) (**Settings > General**). + 4. Start the mission. + 5. Fly till you need a battery swap. ::: tip diff --git a/docs/tr/qgc-user-guide/troubleshooting/vehicle_connection.md b/docs/tr/qgc-user-guide/troubleshooting/vehicle_connection.md index 7b31bc213d2..896cb1f5d1b 100644 --- a/docs/tr/qgc-user-guide/troubleshooting/vehicle_connection.md +++ b/docs/tr/qgc-user-guide/troubleshooting/vehicle_connection.md @@ -2,13 +2,19 @@ ## Vehicle does not show up in UI -QGC will automatically connect to a vehicle as soon as a communication link is created (using USB, or WiFi, etc.) If you establish that link and you don't see your vehicle show up in the QGC UI you can use [console logging](../settings_view/console_logging.md) to help debug the problem. +QGC will automatically connect to a vehicle as soon as a communication link is created (using USB, or WiFi, etc.) +If you establish that link and you don't see your vehicle show up in the QGC UI you can use [console logging](../settings_view/console_logging.md) to help debug the problem. Use the following steps to debug the issue: -- Start with the hardware vehicle link not connected. Don't plug in the USB connection and/or establish the WiFi link in your OS for example. -- Turn on `LinkManagerLog` [console logging](../settings_view/console_logging.md) in QGC. This will log output about the link which QGC sees and connects to. +- Start with the hardware vehicle link not connected. + Don't plug in the USB connection and/or establish the WiFi link in your OS for example. + +- Turn on `LinkManagerLog` [console logging](../settings_view/console_logging.md) in QGC. + This will log output about the link which QGC sees and connects to. + - Establish the hardware vehicle communication link. + - The console log output should display something like this: ``` @@ -22,10 +28,13 @@ Use the following steps to debug the issue: - The first few lines indicate QGC has established a hardware link and finally the auto-connect. -If you don't see any of this then QGC is not recognizing the hardware link. To see if your hardware is being recognized at the OS level do this: +If you don't see any of this then QGC is not recognizing the hardware link. +To see if your hardware is being recognized at the OS level do this: -- Start with the hardware vehicle link not connected. Don't plug in the USB connection and/or establish the WiFi link in your OS for example. -- Turn on `LinkManagerVerboseLog` [console logging](../settings_view/console_logging.md) in QGC. This will log output for all serial hardware connections that QGC recognizes. +- Start with the hardware vehicle link not connected. + Don't plug in the USB connection and/or establish the WiFi link in your OS for example. +- Turn on `LinkManagerVerboseLog` [console logging](../settings_view/console_logging.md) in QGC. + This will log output for all serial hardware connections that QGC recognizes. - You will see continuous output of the serial ports on your device. - Plug in your USB comm device. - You should see a new device show in in the console output. Example: @@ -45,9 +54,14 @@ If you don't see a new serial port should up in the console output when you plug ## Error: Vehicle is not responding -This indicates that although QGC was able to connect to the hardware link to your vehicle there is no telemetry going back and forth on the link. This can unfortunately indicate a number of problems: +This indicates that although QGC was able to connect to the hardware link to your vehicle there is no telemetry going back and forth on the link. +This can unfortunately indicate a number of problems: - Hardware communication setup problems - Firmware problems -Lastly it can happen if QGC attempts to automatically connect to a device which is connected to your computer which isn't a vehicle. You can identify this case using the steps above and noting the device information which QGC is attempting to connect to. In order to make auto-connect work the filter it uses on devices it attempts to auto-connect to is somewhat broad and can be incorrect. If you find this happening you will need to turn off auto-connect from General Settings and create a manual connection to the comm link for your vehicle. You can also remove the device causing the problem from your computer but that may not always be possible. +Lastly it can happen if QGC attempts to automatically connect to a device which is connected to your computer which isn't a vehicle. +You can identify this case using the steps above and noting the device information which QGC is attempting to connect to. +In order to make auto-connect work the filter it uses on devices it attempts to auto-connect to is somewhat broad and can be incorrect. +If you find this happening you will need to turn off auto-connect from General Settings and create a manual connection to the comm link for your vehicle. +You can also remove the device causing the problem from your computer but that may not always be possible. diff --git a/docs/zh/SUMMARY.md b/docs/zh/SUMMARY.md index 7f643fabe5e..ec1e00b8b9a 100644 --- a/docs/zh/SUMMARY.md +++ b/docs/zh/SUMMARY.md @@ -5,9 +5,11 @@ - [Download and Install](qgc-user-guide/getting_started/download_and_install.md) - [Toolbar/Menu](qgc-user-guide/toolbar/toolbar.md) - [Support](qgc-user-guide/support/support.md) + - [Fly](qgc-user-guide/fly_view/fly_view.md) - [Replay Flight Data](qgc-user-guide/fly_view/replay_flight_data.md) - [Video Overlay](qgc-user-guide/fly_view/video_overlay.md) + - [Plan](qgc-user-guide/plan_view/plan_view.md) - [GeoFence](qgc-user-guide/plan_view/plan_geofence.md) - [Rally Points](qgc-user-guide/plan_view/plan_rally_points.md) @@ -17,6 +19,7 @@ - [Corridor Scan](qgc-user-guide/plan_view/pattern_corridor_scan.md) - [Fixed Wing Landing Pattern](qgc-user-guide/plan_view/pattern_fixed_wing_landing.md) - [Pattern Presets](qgc-user-guide/plan_view/pattern_presets.md) + - [Vehicle Setup](qgc-user-guide/setup_view/setup_view.md) - [Firmware](qgc-user-guide/setup_view/firmware.md) - [Airframe](qgc-user-guide/setup_view/airframe.md) @@ -42,6 +45,7 @@ - [Camera](qgc-user-guide/setup_view/camera.md) - [Joystick](qgc-user-guide/setup_view/joystick.md) - [Parameters](qgc-user-guide/setup_view/parameters.md) + - [Application Settings](qgc-user-guide/settings_view/settings_view.md) - [General](qgc-user-guide/settings_view/general.md) - [CSV Logging](qgc-user-guide/settings_view/csv.md) @@ -49,11 +53,13 @@ - [MAVLink](qgc-user-guide/settings_view/mavlink.md) - [Console Logging](qgc-user-guide/settings_view/console_logging.md) - [Virtual Joystick (PX4)](qgc-user-guide/settings_view/virtual_joystick.md) + - [Analyze](qgc-user-guide/analyze_view/index.md) - [Log Download](qgc-user-guide/analyze_view/log_download.md) - [GeoTag Images (PX4)](qgc-user-guide/analyze_view/geotag_images.md) - [MAVLink Console (PX4)](qgc-user-guide/analyze_view/mavlink_console.md) - [MAVLink Inspector](qgc-user-guide/analyze_view/mavlink_inspector.md) + - [Releases](qgc-user-guide/releases/index.md) - [Release Notes](qgc-user-guide/releases/release_notes.md) - [v4.0 (Additional Notes)](qgc-user-guide/releases/stable_v4.0_additional.md) @@ -62,6 +68,7 @@ - [Daily Builds](qgc-user-guide/releases/daily_builds.md) - [Daily Build New Features](qgc-user-guide/releases/daily_build_new_features.md) - [Privacy Policy](qgc-user-guide/releases/privacy_policy.md) + - [Troubleshooting](qgc-user-guide/troubleshooting/index.md) - [Setup Problems](qgc-user-guide/troubleshooting/qgc_setup.md) diff --git a/docs/zh/docs/en/SUMMARY.md b/docs/zh/docs/en/SUMMARY.md new file mode 100644 index 00000000000..ec1e00b8b9a --- /dev/null +++ b/docs/zh/docs/en/SUMMARY.md @@ -0,0 +1,122 @@ +# Sidebar + +- [Overview](qgc-user-guide/index.md) + - [Quick Start](qgc-user-guide/getting_started/quick_start.md) + - [Download and Install](qgc-user-guide/getting_started/download_and_install.md) + - [Toolbar/Menu](qgc-user-guide/toolbar/toolbar.md) + - [Support](qgc-user-guide/support/support.md) + +- [Fly](qgc-user-guide/fly_view/fly_view.md) + - [Replay Flight Data](qgc-user-guide/fly_view/replay_flight_data.md) + - [Video Overlay](qgc-user-guide/fly_view/video_overlay.md) + +- [Plan](qgc-user-guide/plan_view/plan_view.md) + - [GeoFence](qgc-user-guide/plan_view/plan_geofence.md) + - [Rally Points](qgc-user-guide/plan_view/plan_rally_points.md) + - [Pattern](qgc-user-guide/plan_view/pattern.md) + - [Survey](qgc-user-guide/plan_view/pattern_survey.md) + - [Structure Scan](qgc-user-guide/plan_view/pattern_structure_scan_v2.md) + - [Corridor Scan](qgc-user-guide/plan_view/pattern_corridor_scan.md) + - [Fixed Wing Landing Pattern](qgc-user-guide/plan_view/pattern_fixed_wing_landing.md) + - [Pattern Presets](qgc-user-guide/plan_view/pattern_presets.md) + +- [Vehicle Setup](qgc-user-guide/setup_view/setup_view.md) + - [Firmware](qgc-user-guide/setup_view/firmware.md) + - [Airframe](qgc-user-guide/setup_view/airframe.md) + - [Airframe (ArduPilot)](qgc-user-guide/setup_view/airframe_ardupilot.md) + - [Airframe (PX4)](qgc-user-guide/setup_view/airframe_px4.md) + - [Radio](qgc-user-guide/setup_view/radio.md) + - [Sensors](qgc-user-guide/setup_view/sensors.md) + - [Sensors (ArduPilot)](qgc-user-guide/setup_view/sensors_ardupilot.md) + - [Sensors (PX4)](qgc-user-guide/setup_view/sensors_px4.md) + - [Flight Modes](qgc-user-guide/setup_view/flight_modes.md) + - [ArduPilot Flight Modes Setup](qgc-user-guide/setup_view/flight_modes_ardupilot.md) + - [PX4 Flight Modes Setup](qgc-user-guide/setup_view/flight_modes_px4.md) + - [Power](qgc-user-guide/setup_view/power.md) + - [Motors](qgc-user-guide/setup_view/motors.md) + - [Motors (ArduSub)](qgc-user-guide/setup_view/motors_ardusub.md) + - [Safety](qgc-user-guide/setup_view/safety.md) + - [Safety (ArduPilot)](qgc-user-guide/setup_view/safety_ardupilot.md) + - [Tuning](qgc-user-guide/setup_view/tuning.md) + - [Tuning (ArduPilot)](qgc-user-guide/setup_view/tuning_ardupilot.md) + - [ArduCopter Tuning](qgc-user-guide/setup_view/tuning_arducopter.md) + - [ArduSub Tuning](qgc-user-guide/setup_view/tuning_ardusub.md) + - [Tuning (PX4)](qgc-user-guide/setup_view/tuning_px4.md) + - [Camera](qgc-user-guide/setup_view/camera.md) + - [Joystick](qgc-user-guide/setup_view/joystick.md) + - [Parameters](qgc-user-guide/setup_view/parameters.md) + +- [Application Settings](qgc-user-guide/settings_view/settings_view.md) + - [General](qgc-user-guide/settings_view/general.md) + - [CSV Logging](qgc-user-guide/settings_view/csv.md) + - [Offline Maps](qgc-user-guide/settings_view/offline_maps.md) + - [MAVLink](qgc-user-guide/settings_view/mavlink.md) + - [Console Logging](qgc-user-guide/settings_view/console_logging.md) + - [Virtual Joystick (PX4)](qgc-user-guide/settings_view/virtual_joystick.md) + +- [Analyze](qgc-user-guide/analyze_view/index.md) + - [Log Download](qgc-user-guide/analyze_view/log_download.md) + - [GeoTag Images (PX4)](qgc-user-guide/analyze_view/geotag_images.md) + - [MAVLink Console (PX4)](qgc-user-guide/analyze_view/mavlink_console.md) + - [MAVLink Inspector](qgc-user-guide/analyze_view/mavlink_inspector.md) + +- [Releases](qgc-user-guide/releases/index.md) + - [Release Notes](qgc-user-guide/releases/release_notes.md) + - [v4.0 (Additional Notes)](qgc-user-guide/releases/stable_v4.0_additional.md) + - [v3.3 (Detailed)](qgc-user-guide/releases/stable_v3.3_long.md) + - [v3.2 (Detailed)](qgc-user-guide/releases/stable_v3.2_long.md) + - [Daily Builds](qgc-user-guide/releases/daily_builds.md) + - [Daily Build New Features](qgc-user-guide/releases/daily_build_new_features.md) + - [Privacy Policy](qgc-user-guide/releases/privacy_policy.md) + +- [Troubleshooting](qgc-user-guide/troubleshooting/index.md) + + - [Setup Problems](qgc-user-guide/troubleshooting/qgc_setup.md) + - [Usage Problems](qgc-user-guide/troubleshooting/qgc_usage.md) + - [Connection problems](qgc-user-guide/troubleshooting/vehicle_connection.md) + - [Parameter Download failures](qgc-user-guide/troubleshooting/parameter_download.md) + - [Plan Upload/Download failures](qgc-user-guide/troubleshooting/plan_upload_download.md) + - [Resume Mission failures](qgc-user-guide/troubleshooting/resume_mission.md) + +- [Developer's Guide](qgc-dev-guide/index.md) + - [Getting Started with source & builds](qgc-dev-guide/getting_started/index.md) + - [Build using Containers](qgc-dev-guide/getting_started/container.md) + - [Using QGC on CentOS](qgc-dev-guide/getting_started/cent_os.md) + - [QGC Release/Branching Process](qgc-dev-guide/release_branching_process.md) + - [Communication Flow](qgc-dev-guide/communication_flow.md) + - [Plugin Architecture](qgc-dev-guide/firmware_plugin.md) + - [Class Hierarchy](qgc-dev-guide/classes/index.md) + - [User Interface Design](qgc-dev-guide/user_interface_design/index.md) + - [Multi-Device Design Pattern](qgc-dev-guide/user_interface_design/multi_device_pattern.md) + - [Font and Colour Palette](qgc-dev-guide/user_interface_design/font_palette.md) + - [UI Controls](qgc-dev-guide/user_interface_design/controls.md) + - [Fact System](qgc-dev-guide/fact_system.md) + - [Top Level Views](qgc-dev-guide/views/index.md) + - [Settings View](qgc-dev-guide/views/settings.md) + - [Setup View](qgc-dev-guide/views/setup.md) + - [Plan View](qgc-dev-guide/views/plan.md) + - [Dynamic UI for mission item editing](qgc-dev-guide/plan/mission_command_tree.md) + - [Fly View](qgc-dev-guide/views/fly.md) + - [File Formats](qgc-dev-guide/file_formats/index.md) + - [Parameters](qgc-dev-guide/file_formats/parameters.md) + - [Plan](qgc-dev-guide/file_formats/plan.md) + - [MAVLink Logs](qgc-dev-guide/file_formats/mavlink.md) + - [Developer Tools](qgc-dev-guide/tools/index.md) + - [Mock Link](qgc-dev-guide/tools/mock_link.md) + - [Command Line Options](qgc-dev-guide/command_line_options.md) + - [Custom Builds](qgc-dev-guide/custom_build/custom_build.md) + - [Initial Repository Setup For Custom Build](qgc-dev-guide/custom_build/create_repos.md) + - [Custom Build Plugins](qgc-dev-guide/custom_build/plugins.md) + - [Resources Overrides](qgc-dev-guide/custom_build/resource_override.md) + - [Customization](qgc-dev-guide/custom_build/customization.md) + - [First Run Prompts](qgc-dev-guide/custom_build/first_run_prompts.md) + - [Toolbar customization](qgc-dev-guide/custom_build/toolbar.md) + - [Fly View Customization](qgc-dev-guide/custom_build/fly_view.md) + - [Release/Branching Process For Custom Builds](qgc-dev-guide/custom_build/release_branching_process.md) + - [MAVLink](qgc-dev-guide/custom_build/mavlink.md) + - [Code Submission](qgc-dev-guide/contribute/index.md) + - [Developer Call](qgc-dev-guide/contribute/dev_call.md) + - [Coding Style](qgc-dev-guide/contribute/coding_style.md) + - [Unit Tests](qgc-dev-guide/contribute/unit_tests.md) + - [Pull Requests](qgc-dev-guide/contribute/pull_requests.md) + - [Licenses](qgc-dev-guide/contribute/licences.md) diff --git a/docs/zh/docs/en/index.md b/docs/zh/docs/en/index.md new file mode 100644 index 00000000000..f5ea85cbc0e --- /dev/null +++ b/docs/zh/docs/en/index.md @@ -0,0 +1,27 @@ +--- +layout: home +hero: + name: QGroundControl Guide + tagline: For beginners, experienced users, and developers + actions: + - theme: brand + text: User Guide + link: /en/qgc-user-guide/index.md + - theme: brand + - theme: brand + text: Dev Guide + link: /en/qgc-dev-guide/index.md +features: + - title: Multiple flight stacks + details: Full setup/configuration of ArduPilot and PX4 Pro powered vehicles + - title: Mission planning + details: Autonomous flight with path planning, surveys, safe landing + - title: Flight map + details: Map shows vehicle position, flight track, waypoints and vehicle instruments + - title: Video overlay + details: FPV video streaming and instrument overlays. + - title: Multiple vehicles + details: Manage multiple vehicles and different types of vehicles + - title: Broad OS support + details: Windows, OS X, Linux platforms, iOS and Android devices +--- diff --git a/docs/zh/docs/en/qgc-dev-guide/classes/index.md b/docs/zh/docs/en/qgc-dev-guide/classes/index.md new file mode 100644 index 00000000000..4a60cb304c8 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/classes/index.md @@ -0,0 +1,27 @@ +# Class Hierarchy (high level) + +## LinkManager, LinkInterface + +A "Link" in QGC is a specific type of communication pipe with the vehicle such as a serial port or UDP over WiFi. The base class for all links is LinkInterface. Each link runs on it's own thread and sends bytes to MAVLinkProtocol. + +The `LinkManager` object keeps track of all open links in the system. `LinkManager` also manages automatic connections through serial and UDP links. + +## MAVLinkProtocol + +There is a single `MAVLinkProtocol` object in the system. It's job is to take incoming bytes from a link and translate them into MAVLink messages. MAVLink HEARTBEAT messages are routed to `MultiVehicleManager`. All MAVLink messages are routed to Vehicle's which are associated with the link. + +## MultiVehicleManager + +There is a single `MultiVehicleManager` object within the system. When it receives a HEARTBEAT on a link which has not been previously seen it creates a Vehicle object. `MultiVehicleManager` also keeps tracks of all Vehicles in the system and handles switching from one active vehicle to another and correctly handling a vehicle being removed. + +## Vehicle + +The Vehicle object is the main interface through which the QGC code communicates with the physical vehicle. + +Note: There is also a UAS object associated with each Vehicle which is a deprecated class and is slowly being phased out with all functionality moving to the Vehicle class. No new code should be added here. + +## FirmwarePlugin, FirmwarePluginManager + +The FirmwarePlugin class is the base class for firmware plugins. A firmware plugin contains the firmware specific code, such that the Vehicle object is clean with respect to it supporting a single standard interface to the UI. + +FirmwarePluginManager is a factory class which creates a FirmwarePlugin instance based on the MAV\_AUTOPILOT/MAV\_TYPE combination for the Vehicle. diff --git a/docs/zh/docs/en/qgc-dev-guide/command_line_options.md b/docs/zh/docs/en/qgc-dev-guide/command_line_options.md new file mode 100644 index 00000000000..a66cd53ef4d --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/command_line_options.md @@ -0,0 +1,46 @@ +# Command Line Options + +You can start _QGroundControl_ with command line options. These are used to enable logging, run unit tests, and simulate different host environments for testing. + +## Starting QGroundControl with Options + +You will need to open a command prompt or terminal, change directory to where **qgroundcontrol.exe** is stored, and then run it. This is shown below for each platform (using the `--logging:full` option): + +Windows Command Prompt: + +```bash +cd "\Program Files (x86)\qgroundcontrol" +qgroundcontrol --logging:full +``` + +OSX Terminal app (**Applications/Utilities**): + +```bash +cd /Applications/qgroundcontrol.app/Contents/MacOS/ +./qgroundcontrol --logging:full +``` + +Linux Terminal: + +```bash +./qgroundcontrol-start.sh --logging:full +``` + +## Options + +The options/command line arguments are listed in the table below. + +| Option | Description | +| --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| `--clear-settings` | Clears the app settings (reverts _QGroundControl_ back to default settings). | +| `--logging:full` | Turns on full logging. See [Console Logging](https://docs.qgroundcontrol.com/en/settings_view/console_logging.html#logging-from-the-command-line). | +| `--logging:full,LinkManagerVerboseLog,ParameterLoaderLog` | Turns on full logging and turns off the following listed comma-separated logging options. | +| `--logging:LinkManagerLog,ParameterLoaderLog` | Turns on the specified comma separated logging options | +| `--unittest:name` | (Debug builds only) Runs the specified unit test. Leave off `:name` to run all tests. | +| `--unittest-stress:name` | (Debug builds only) Runs the specified unit test 20 times in a row. Leave off :name to run all tests. | +| `--fake-mobile` | Simulates running on a mobile device. | +| `--test-high-dpi` | Simulates running _QGroundControl_ on a high DPI device. | + +Notes: + +- Unit tests are included in debug builds automatically (as part of _QGroundControl_). _QGroundControl_ runs under the control of the unit test (it does not start normally). diff --git a/docs/zh/docs/en/qgc-dev-guide/communication_flow.md b/docs/zh/docs/en/qgc-dev-guide/communication_flow.md new file mode 100644 index 00000000000..17e838f8250 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/communication_flow.md @@ -0,0 +1,15 @@ +# Communication Flow + +Description of the high level communication flow which takes place during a vehicle auto-connect. + +- LinkManager always has a UDP port open waiting for a vehicle heartbeat +- LinkManager detects a new known device type (Pixhawk, SiK Radio, PX4 Flow) that makes a UDP connection to the computer + - LinkManager creates a new SerialLink between the computer and the device +- Incoming bytes from the Link are sent to MAVLinkProtocol +- MAVLinkProtocol converts the bytes into a MAVLink message +- If the message is a `HEARTBEAT` the MultiVehicleManager is notified +- MultiVehicleManager is notified of the `HEARTBEAT` and creates a new vehicle object based on the information in the `HEARTBEAT` message +- The vehicle object instantiates the plugins that matches the vehicle +- The ParameterLoader associated with the vehicle object sends a `PARAM_REQUEST_LIST` to the connected device to load parameters using the parameter protocol +- Once the parameter load is complete, the MissionManager associated with the vehicle object requests the mission items from the connected device using the mission protocol +- Once parameter load is complete, the VehicleComponents display their UI in the Setup view diff --git a/docs/zh/docs/en/qgc-dev-guide/contribute/coding_style.md b/docs/zh/docs/en/qgc-dev-guide/contribute/coding_style.md new file mode 100644 index 00000000000..3d4d62420c1 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/contribute/coding_style.md @@ -0,0 +1,12 @@ +# Coding Style + +High level style information: + +- Tabs expanded to 4 spaces +- Pascal/CamelCase naming conventions + +The style itself is documents in the following example files: + +- [CodingStyle.cc](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.cc) +- [CodingStyle.h](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.h) +- [CodingStyle.qml](https://github.com/mavlink/qgroundcontrol/blob/master/CodingStyle.qml) diff --git a/docs/zh/docs/en/qgc-dev-guide/contribute/dev_call.md b/docs/zh/docs/en/qgc-dev-guide/contribute/dev_call.md new file mode 100644 index 00000000000..6464fc34d78 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/contribute/dev_call.md @@ -0,0 +1,38 @@ +# Bi-Weekly Dev Call + +The QGroundControl developer team syncs up on technical details and in-depth analysis. There is also a space in the agenda to discuss pull requests, major impacting issues and Q\&A. + +## Who Should attend: + +- Community members +- Core project maintiners +- Component maintainers +- Dronecode members + +:::info +The calls are open for anyone interested to attend, it's a great opportunity to meet the team and contribute to the ongoing development of the project. +::: + +## What gets discussed? + +The main agenda for the call is very simple, and usually remains the same with a few exceptions which are made aware to the community in advance. The calls typically last up to 60 minutes. + +The developer team goes through the issue tracker, including the current queue of Pull Requests, + +## Agenda + +While the agenda below is the norm, we might + +- Community Q\&A (Open mic, you can bring your own topics, we can discuss your PRs/Issues/Questions) +- Update on the project [High Priority Issues](https://github.com/mavlink/qgroundcontrol/projects/2) tracker +- Developer team coordination + +:::info +If you want to guarantee your Pull Request get's discussed on the next developer call, make sure you add the "dev-call" label on GitHub. We expect the author and the assigned reviewer to be on the call. +::: + +## Schedule + +- Time: Bi-Weekly on Tuesdays at 17h00 CET, 12h00 EST, 08h00 PST ([subscribe to the calendar](https://www.dronecode.org/calendar/)) +- The call is hosted on Jitsi the open platform ([QGC Bi-Weekly](https://meet.jit.si/GCS-bi-weekly)) +- the Agenda is published on the [PX4 Discuss - weekly-dev-call](https://discuss.px4.io/c/weekly-dev-call/qgc-developer-call/48) diff --git a/docs/zh/docs/en/qgc-dev-guide/contribute/index.md b/docs/zh/docs/en/qgc-dev-guide/contribute/index.md new file mode 100644 index 00000000000..0fd55b4e573 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/contribute/index.md @@ -0,0 +1,7 @@ +# Code Submission + +This section contains topics about the contributing code, including coding style, testing and the format of pull requests. + +:::info +QGroundControl (QGC) is [dual-licensed as Apache 2.0 and GPLv3](../contribute/licences.md). All contributions have to be made under both licenses. +::: diff --git a/docs/zh/docs/en/qgc-dev-guide/contribute/licences.md b/docs/zh/docs/en/qgc-dev-guide/contribute/licences.md new file mode 100644 index 00000000000..20c157a0d2f --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/contribute/licences.md @@ -0,0 +1,30 @@ +# Licences + +## QGroundControl License + +_QGroundControl_ (QGC) is dual-licensed as Apache 2.0 and GPLv3. All contributions have to be made under both licenses. Users of the codebase are free to use it under either license. + +:::warning +_QGroundControl_ licensing rules out the re-use of any copyleft (e.g. GPL) licensed code. All contributions must be original or from a compatible license (BSD 2/3 clause, MIT, Apache 2.0). +::: + +The dual approach is necessary to be able to offer _QGroundControl_ through the iOS and Android app stores and offers the open source community choice. + +### Apache 2.0 License + +The [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) License is a permissive license which allows QGC to be built and used in any environment, including proprietary applications. It allows QGC to be built for mobile app stores. When building with Apache 2.0 a commercial Qt license is required. + +### GPL v3 License + +The [GPL v3 License](http://www.gnu.org/licenses/gpl-3.0.en.html) is a strong copyleft license. When building QGC under this license the open source version of Qt can be used. Our licensing grants the permission to use a later version of the license, however, contributions have to be made under 3.0. + +## Documentation, Artwork, Images + +The QGroundControl documentation, artwork and images are licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). + +## See Also + +- [qgroundcontrol/COPYING.md](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md) +- [qgroundcontrol/CONTRIBUTING.md](https://github.com/mavlink/qgroundcontrol/blob/master/CONTRIBUTING.md) +- [qgc-user-guide/LICENSE](https://github.com/mavlink/qgc-user-guide/blob/master/LICENSE) +- [qgc-dev-guide/LICENSE](https://github.com/mavlink/qgc-dev-guide/blob/master/LICENSE) diff --git a/docs/zh/docs/en/qgc-dev-guide/contribute/pull_requests.md b/docs/zh/docs/en/qgc-dev-guide/contribute/pull_requests.md new file mode 100644 index 00000000000..fe120dcf7dc --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/contribute/pull_requests.md @@ -0,0 +1,3 @@ +# Pull Requests + +All pull requests go through the QGC CI build system which builds release and debug version. Builds will fail if there are compiler warnings. Also unit tests are run against supported OS debug builds. diff --git a/docs/zh/docs/en/qgc-dev-guide/contribute/unit_tests.md b/docs/zh/docs/en/qgc-dev-guide/contribute/unit_tests.md new file mode 100644 index 00000000000..e8c14fe7b4b --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/contribute/unit_tests.md @@ -0,0 +1,20 @@ +# Unit Tests + +_QGroundControl_ (QGC) contains a set of unit tests that must pass before a pull request will be accepted. The addition of new complex subsystems to QGC should include a corresponding new unit test to test it. + +The full list of unit tests can be found in [UnitTestList.cc](https://github.com/mavlink/qgroundcontrol/blob/master/src/qgcunittest/UnitTestList.cc). + +To run unit tests: + +1. Build in `debug` mode with `UNITTEST_BUILD` definition. +2. Copy the **deploy/qgroundcontrol-start.sh** script in the **debug** directory +3. Run _all_ unit tests from the command line using the `--unittest` command line option. + For Linux this is done as shown: + ``` + qgroundcontrol-start.sh --unittest + ``` +4. Run _individual_ unit tests by specifying the test name as well: `--unittest:RadioConfigTest`. + For Linux this is done as shown: + ``` + qgroundcontrol-start.sh --unittest:RadioConfigTest + ``` diff --git a/docs/zh/docs/en/qgc-dev-guide/custom_build/create_repos.md b/docs/zh/docs/en/qgc-dev-guide/custom_build/create_repos.md new file mode 100644 index 00000000000..c4bce8ee142 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/custom_build/create_repos.md @@ -0,0 +1,15 @@ +# Initial Repository Setup For Custom Build + +The suggested mechanism for working on QGC and a custom build version of QGC is to have two separate repositories. The first repo is your main QGC fork. The second repo is your custom build repo. + +## Main QGC Respository + +This repo is used to work on changes to mainline QGC. When creating your own custom build it is not uncommon to discover that you may need a tweak/addition to the custom build to achieve what you want. By discussing those needed changes firsthand with QGC devs and submitting pulls to make the custom build architecture better you make QGC more powerful for everyone and give back to the community. + +The best way to create this repo is to fork the regular QGC repo to your own GitHub account. + +## Custom Build Repository + +This is where you will do your main custom build development. All changes here should be within the custom directory as opposed to bleeding out into the regular QGC codebase. + +Since you can only fork a repo once, the way to create this repo is to "Create a new repository" in your GitHub account. Do not add any additional files to it like gitignore, readme's and so forth. Once it is created you will be given the option to setup up the Repo. Now you can select to "import code from another repository". Just import the regular QGC repo using the "Import Code" button. diff --git a/docs/zh/docs/en/qgc-dev-guide/custom_build/custom_build.md b/docs/zh/docs/en/qgc-dev-guide/custom_build/custom_build.md new file mode 100644 index 00000000000..ff37e9b1c14 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/custom_build/custom_build.md @@ -0,0 +1,26 @@ +# Custom Builds + +A custom build allows third parties to create their own version of QGC in a way that allows them to easily keep up to date with changes which are being made in regular QGC. QGC has an architecture built into it which allows custom builds to modify and add to the feature set of regular QGC. + +Some possibilities with a custom build + +- Fully brand your build +- Define a single flight stack to avoid carrying over unnecessary code +- Implement your own, autopilot and firmware plugin overrides +- Implement your own camera manager and plugin overrides +- Implement your own QtQuick interface module +- Implement your own toolbar, toolbar indicators and UI navigation +- Implement your own Fly View overlay (and how to hide elements from QGC such as the flight widget) +- Implement your own, custom QtQuick camera control +- Implement your own, custom Pre-flight Checklist +- Define your own resources for all of the above + +One of the downsides of QGC providing both generic support for any vehicle which supports mavlink as well as providing firmware specific support for both PX4 Pro and ArduPilot is complexity of the user interface. Since QGC doesn't know any information about your vehicle ahead of time it requires UI bits which can get in the way if the vehicle you fly only uses PX4 Pro firmware and is a multi-rotor vehicle. If that is a known thing then the UI can be simplified in various places. Also QGC targets both DIY users who are building their own vehicles from scratch as well as commercial users of off the shelf vehicles. Setting up a DIY drone from scratch requires all sort of functionality which is not needed for users of off the shelf vehicles. So for off the shelf vehicle users all the DIY specific stuff is just extra noise they need to look past. Creating a custom build allows you to specify exact details for your vehicle and hide things which are irrelevant thus creating an even simple user experience for your users than regular generic QGC. + +There is a plugin architecture in QGC which allows for this custom build creation. They can be found in QGCCorePlugin.h, FirmwarePlugin.h and AutoPilotPlugin.h associated classes. To create a custom build you create subclasses of the standard plugins overriding the set of methods which are appropriate for you usage. + +There is also a mechanism which allows you to override resources so you can change the smaller visual elements in QGC. + +Also internal to QGC is the concept of an "Advanced Mode". Whereas a standard QGC builds always runs in advanced mode. A custom build always starts out in regular/not advanced mode. There is an easier mechanism in the build to turn on advanced mode which is to click the fly view button 5 times in a row fairly quickly. If you do this in a custom build you will be warned about entering advanced mode. The concept here is to hide things which normal users should not have access to behind advanced mode. For example a commercial vehicle will not need access to most setup pages which are oriented to DIY setup. So a custom build can hide this. The custom example code shows how to do this. + +If you want to understand the possibilities, the first step is to read through those files which document what is possible. Next look through the [`custom-example`](https://github.com/mavlink/qgroundcontrol/tree/master/custom-example) source code including the [README](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/README.md). diff --git a/docs/zh/docs/en/qgc-dev-guide/custom_build/customization.md b/docs/zh/docs/en/qgc-dev-guide/custom_build/customization.md new file mode 100644 index 00000000000..b97b5c63371 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/custom_build/customization.md @@ -0,0 +1,7 @@ +# Customization + +The following topics explain how to customise various views and other parts of the UI. + +- [First Run Prompts](../custom_build/first_run_prompts.md) +- [Toolbar customization](../custom_build/toolbar.md) +- [Fly View Customization](../custom_build/fly_view.md) diff --git a/docs/zh/docs/en/qgc-dev-guide/custom_build/first_run_prompts.md b/docs/zh/docs/en/qgc-dev-guide/custom_build/first_run_prompts.md new file mode 100644 index 00000000000..77d779da1b6 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/custom_build/first_run_prompts.md @@ -0,0 +1,54 @@ +# First Run Prompts + +When QGC is started for the first time it prompts the user to specify some initial settings. At the time of writing this documentation those are: + +- Unit Settings - What units does the user want to use for display. +- Offline Vehicle Settings - Vehicle information for creating Plans while not connected to a vehicle. + +The custom build architecure includes mechanisms for a custom build to both override the display of these prompts and/or create your own first run prompts. + +## First Run Prompt Dialog + +Each first run prompt is a simple dialog which can display ui to the user. Whether the specific dialog has already been show to the user or not is stored in a setting. Here is the code for the upstream first run prompt dialogs: + +- [Units Settings](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirstRunPromptDialogs/UnitsFirstRunPrompt.qml) +- [Offline Vehicle Settings](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirstRunPromptDialogs/OfflineVehicleFirstRunPrompt.qml) + +## Standard First Run Prompt Dialogs + +Each dialog has a unique ID associated with it. When that dialog is shown to the user that ID is registered as having already been displayed so it only happens once (unless you clear settings). The set of first run prompt which are included with upstream QGC are considered the "Standard" set. QGC gets the list of standard prompts to display from the `QGCCorePlugin::firstRunPromptStdIds` call. + +``` + /// Returns the standard list of first run prompt ids for possible display. Actual display is based on the + /// current AppSettings::firstRunPromptIds value. The order of this list also determines the order the prompts + /// will be displayed in. + virtual QList firstRunPromptStdIds(void); +``` + +You can override this method in your custom build if you want to hide some of those. + +## Custom First Run Prompt Dialogs + +Custom builds have the ability to create their own set of additional first run prompts as needed through the use of the following QGCCorePlugin method overrides: + +``` + /// Returns the custom build list of first run prompt ids for possible display. Actual display is based on the + /// current AppSettings::firstRunPromptIds value. The order of this list also determines the order the prompts + /// will be displayed in. + virtual QList firstRunPromptCustomIds(void); +``` + +``` + /// Returns the resource which contains the specified first run prompt for display + Q_INVOKABLE virtual QString firstRunPromptResource(int id); +``` + +Your QGCCorePlugin should override these two methods as well as provide static consts for the ids of your new first run prompts. Look at how the standard set is implemented for how to do this and take the same approach. + +## Order Of Display + +The set of first run prompts shown to the user are in the order returned by the `QGCCorePlugin::firstRunPromptStdIds` and `QGCCorePlugin::firstRunPromptCustomIds` with standard prompts shown before the custom prompts. Only the prompts which have not been previously shown to the user are shown. + +## Always On Prompts + +By setting the `markAsShownOnClose: false` property in your prompt ui implementation you can create a prompt which will show up each time QGC starts. This can be used for things like showing usage tips to your users. If you do this it is best to make sure that this is displayed last. diff --git a/docs/zh/docs/en/qgc-dev-guide/custom_build/fly_view.md b/docs/zh/docs/en/qgc-dev-guide/custom_build/fly_view.md new file mode 100644 index 00000000000..e6b3342817f --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/custom_build/fly_view.md @@ -0,0 +1,42 @@ +# Fly View Customization + +The Fly View is designed in such a way that it can be cusomtized in multiple ways from simple to more complex. It is designed in three separate layers each of which are customizable providing different levels of change. + +## Layers + +- There are three layers to the fly view from top to bottom visually: + - [`FlyView.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyView.qml) This is the base layer of ui and business logic to control map and video switching. + - [`FlyViewWidgetsOverlay.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyViewWidgetLayer.qml) This layer includes all the remaining widgets for the fly view. + - [`FlyViewCustomLayer.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyViewCustomLayer.qml) This is a layer you override using resource override to add your own custom layer. + +### Inset Negotiation using `QGCToolInsets` + +An important aspect of the Fly View is that it needs to understand how much central space it has in the middle of it's map window which is not obstructed by ui widgets which are at the edges of the window. It uses this information to pan the map when the vehicle goes out of view. This need to be done not only for the window edges but also for the widgets themselve such that the map pans before it goes under a widget. + +This is done through the use of the [`QGCToolInsets`](https://github.com/mavlink/qgroundcontrol/blob/master/src/QmlControls/QGCToolInsets.qml) object included in each layer. This objects provides inset information for each window edge informing the system as to how much real estate is taken up by edge based ui. Each layer is given the insets of the layer below it through `parentToolInsets` and then reports back the new insets taking into account the layer below and it's own additions through `toolInsets`. The final results total inset is then given to the map so it can do the right thing. The best way to understand this is to look at both the upstream and custom example code. + +### `FlyView.qml` + +The base layer for the view is also the most complex from ui interactions and business logic. It includes the main display elements of map and video as well as the guided controls. Although you can resource override this layer it is not recommended. And if you do you better really (really) know what you are doing. The reason it is a separate layer is to make the layer above much simpler and easier to customize. + +### `FlyViewWidgetsOverlay.qml` + +This layer contains all the remaining controls of the fly view. You have the ability to hide the controls through use of [`QGCFlyViewOptions`](https://github.com/mavlink/qgroundcontrol/blob/master/src/api/QGCOptions.h). But in order to change the layout of the upstream controls you must use a resource override. If you look at the source you'll see that the controls themselves are well encapsulated such that it should not be that difficult to create your own override which repositions them and/or adds your own ui. While maintaining a connection to the upstream implementaions of the controls. + +### `FlyViewCustomLayer.qml` + +This provides the simplest customization ability to the Fly View. Allowing you the add ui elements which are additive to the existing upstream controls. The upstream code adds no ui elements and is meant to be the basis for your own custom code used as a resource override for this qml. The custom example code provides you with an example of how to do it. + +## Recommendations + +### Simple customization + +The best place to start is using a custom layer override plus turning off ui elements from the widgets layer (if needed). I would recommend trying to stick with only this if at all possible. It provides the greatest abilty to not get screwed by upstream changes in the layers below. + +### Moderate complexity customization + +If you really need to reposition upstream ui elements then your only choice is overriding `FlyViewWidgetsOverlay.qml`. By doing this you are distancing yourself a bit from upstream changes. Although you will still get changes in the upstream controls for free. If there is a whole new control added to the fly view upstream you won't get it until you add it to your own override. + +### Highly complex customization + +The last and least recommended customization mechanism is overriding `FlyView.qml`. By doing this you are distancing yourself even further from getting upstream changes for free. diff --git a/docs/zh/docs/en/qgc-dev-guide/custom_build/mavlink.md b/docs/zh/docs/en/qgc-dev-guide/custom_build/mavlink.md new file mode 100644 index 00000000000..6fa5d685d9f --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/custom_build/mavlink.md @@ -0,0 +1,15 @@ +# MAVLink Customisation + +QGC communicates with flight stacks using [MAVLink](https://mavlink.io/en/), a very lightweight messaging protocol that has been designed for the drone ecosystem. + +QGC includes the [all.xml](https://mavlink.io/en/messages/all.html) dialect by default. The `all.xml` includes all other dialects in the [mavlink/mavlink](https://github.com/mavlink/mavlink/tree/master/message_definitions/v1.0) repository, and allows it to communicate with both PX4 and Ardupilot. +Previous versions of QGC (v4.2.8 and earlier), used the `ArduPilotMega.xml` dialect. + +In order to add support for a new set of messages you should add them to [development.xml](https://mavlink.io/en/messages/development.html), [ArduPilotMega.xml](https://mavlink.io/en/messages/ardupilotmega.html), or [common.xml](https://mavlink.io/en/messages/common.html) (for PX4), or fork _QGroundControl_ and include your own dialect. + +To modify the version of MAVLink used by QGC: + +- Replace the pre-build C library at [/qgroundcontrol/libs/mavlink/include/mavlink](https://github.com/mavlink/qgroundcontrol/tree/master/libs/mavlink/include/mavlink). + - By default this is a submodule importing https\://github.com/mavlink/c\_library\_v2 + - You can change the submodule, or [build your own libraries](https://mavlink.io/en/getting_started/generate_libraries.html) using the MAVLink toolchain. +- You can change the whole dialect used by setting it in [`MAVLINK_CONF`](https://github.com/mavlink/qgroundcontrol/blob/master/QGCExternalLibs.pri#L52) when running _qmake_. diff --git a/docs/zh/docs/en/qgc-dev-guide/custom_build/plugins.md b/docs/zh/docs/en/qgc-dev-guide/custom_build/plugins.md new file mode 100644 index 00000000000..5bbc45c97c4 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/custom_build/plugins.md @@ -0,0 +1,7 @@ +# Custom Build Plugins + +The mechanisms for customizing QGC for a custom build is through the existing `FirmwarePlugin`, `AutoPilotPlugin` and `QGCCorePlugin` architectures. By creating subclasses of these plugins in your custom build you can change the behavior of QGC to suit your needs without needed to modify the upstream code. + +## QGCCorePlugin + +This allows you to modify the parts of QGC which are not directly related to vehicle but are related to the QGC application itself. This includes things like application settings, color palettes, branding and so forth. diff --git a/docs/zh/docs/en/qgc-dev-guide/custom_build/release_branching_process.md b/docs/zh/docs/en/qgc-dev-guide/custom_build/release_branching_process.md new file mode 100644 index 00000000000..41e143a59f1 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/custom_build/release_branching_process.md @@ -0,0 +1,44 @@ +# Release Process for Custom Builds \[WIP Docs] + +One of the trickier aspects of creating your own custom build is the process to keep it up to date with regular QGC. This document describes a suggested process to follow. But in reality you are welcome to use whatever branching and release strategy you want for your custom builds. + +## Upstream QGC release/branching strategy + +The best place to start is understanding the mechanism QGC uses to do it's own releases. We will layer a custom build release process on top of that. You can find standard QGC [release process here](../release_branching_process.md). + +## Custom build/release types + +Regular QGC has two main build types: Stable and Daily. The build type for a custom build is more complex. Throughout this discussion we will use the term "upstream" to refer to the main QGC repo (https\://github.com/mavlink/qgroundcontrol). Also when we talk about a "new" upstream stable release, this means a major/minor release, not a patch release. + +### Synchronized Stable + +This type of release is synchronized with the release of an upstream stable. Once QGC releases stable you then release a version of your custom build which is based on this stable. This build will include all the new features from upstream including the new feature in your own custom code. + +### Out-Of-Band Stable + +This a subsequent release of your custom build after you have released a synchronized stable but prior to upstream releasing a new stable. It only includes new features from your own custom build and include no new features from upstream. Work on this type of release would occur on a branch which is either based on your latest synchronized stable or your last out of band release if it exists. You can release out of band stable releases at any time past your first synchronized stable release. + +### Daily + +Your custom daily builds are built from your `master` branch. It is important to keep your custom master up to date with QGC master. If you lag behind you may be surprised by upstream features which require some effort to integrate with your build. Or you may even require changes to "core" QGC in order to work with your code. +If you don't let QGC development team know soon enough, it may end up being too late to get things changed. + +## Options for your first build + +### Starting with a Synchronized Stable release + +It is suggested that you start with releasing a Synchronized Stable. This isn't necessary but it is the simplest way to get started. To set your self up for a synchronized stable you create your own branch for development which is based on the upstream current stable. + +### Starting with Daily builds + +The reason why you may consider this as your starting point is because you need features which are only in upstream master for your own custom builds. In this case you will have to live with releasing custom Daily builds until the next upstream stable. At which point you would release you first Synchronized Stable. For this setup you use your master branch and keep it in sync with upstream master as you develop. + +## After you release your first Synchronized Stable + +### Patch Releases + +As upstream QGC does patch releases on Stable you should also release your own patch releases based on upstream to keep your stable up to date with latest criticial bug fixes. + +### Out-Of-Band, Daily: One or the other or both? + +At this point you can decide which type of releases you want to follow. You can also decide to possibly do both. You can do smaller new features which don't require new upstream features using out of band releases. And you can do major new feature work as daily/master until the point you can do a new synchronized stable. diff --git a/docs/zh/docs/en/qgc-dev-guide/custom_build/resource_override.md b/docs/zh/docs/en/qgc-dev-guide/custom_build/resource_override.md new file mode 100644 index 00000000000..2c8fa94eba1 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/custom_build/resource_override.md @@ -0,0 +1,24 @@ +# Resource Overrides + +A "resource" in QGC source code terminology is anything found in the [qgroundcontrol.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgroundcontrol.qrc) and [qgcresources.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgcresources.qrc) file. By overriding a resource you can replace it with your own version of it. This could be as simple as a single icon, or as complex as replacing an entire Vehicle Setup page of qml ui code. + +Be aware that using resource overrides does not isolate you from upstream QGC changes like the plugin architecture does. In a sense you are directly modify the upstream QGC resources used by the main code. + +## Exclusion Files + +The first step to overriding a resource is to "exclude" it from the standard portion of the upstream build. This means that you are going to provide that resource in your own custom build resource file(s). There are two files which achieve this: qgroundcontrol.exclusion and [qgcresources.exclusion](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/qgcresources.exclusion). They correspond directly with the \*.qrc counterparts. In order to exclude a resource, copy the resource line from the .qrc file into the appropriate .exclusion file. + +## Custom version of excluded resources + +You must include the custom version of the overriden resouce in you custom build resource file. The resource alias must exactly match the upstream alias. The name and actual location of the resource can be anywhere within your custom directory structure. + +## Generating the new modified versions of standard QGC resource file + +This is done using the `updateqrc.py` python script. It will read the upstream `qgroundcontrol.qrc` and `qgcresources.qrc` file and the corresponding exclusion files and output new versions of these files in your custom directory. These new versions will not have the resources you specified to exclude in them. The build system for custom builds uses these generated files (if they exist) to build with instead of the upstream versions. The generated version of these file should be added to your repo. Also whenever you update the upstream portion of QGC in your custom repo you must re-run `python updateqrc.py` to generate new version of the files since the upstream resources may have changed. + +## Custom Build Example + +You can see an examples of custom build qgcresource overrides in the repo custom build example: + +- [qgcresources.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/qgcresources.exclusion) +- [custom.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/custom.qrc) diff --git a/docs/zh/docs/en/qgc-dev-guide/custom_build/toolbar.md b/docs/zh/docs/en/qgc-dev-guide/custom_build/toolbar.md new file mode 100644 index 00000000000..662cb8db4ae --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/custom_build/toolbar.md @@ -0,0 +1,51 @@ +# Toolbar Customization + +The toolbar can be customized in a number of ways to fit your custom build needs. The toolbar internally is made up of a number of sections from left to right: + +- View Switching +- Indicators + - App Indicators + - Vehicle Indicators + - Vehicle Mode Indicators +- Connection Management +- Branding + +The Indicator section varies based on the view currently displayed: + +- Fly View - Shows all indicators +- Plan View - Show no indicators and has its own custom indicator section for Plan status values +- Other Views - Do not show Vehicle Mode Indicators + +## Customization Possibilities + +### Indicators + +You can add your own indicators for display or remove any of the upstream indicators. The mechanism you use depends on the indicator type. + +#### App Indicators + +These provide information to the user which is not associated with a vehicle. For example RTK status. To manipulate the list of app indicators you use `QGCPlugin::toolbarIndicators`. + +#### Vehicle Indicators + +These are indicators which are associated with information about the vehicle. They are only available when a vehicle is connected. To manipulate the list of vehicle indicators you override `FirmwarePlugin::toolIndicators`. + +#### Vehicle Mode Indicators + +These are indicators which are associated with information about the vehicle. They require additional UI provided by the Fly View to complete their actions. An example is Arming and Disarming. They are only available when a vehicle is connected. To manipulate the list of vehicle mode indicators you override `FirmwarePlugin::modeIndicators`. + +### Modifying the toolbar UI itself + +This is accomplished by using resource overrides on the qml files associated with the toolbar. This provides a high level of customization but also a higher level of complexity. The primary ui for the toolbar is in `MainToolBar.qml`. The main window code in `MainRootWindow.qml` interacts with the toolbar to show different indicator sections based on current view as well as whether the mode indicators show or not also based on current view. + +If you want full control over the toolbar then you can override `MainToolBar.qml` and make your own completely different version. You will need to pay special attention to the interactions of the main toolbar with `MainRootWindow.qml` since you are going to need to replicated those interactions in your own custom version. + +There are two standard indicator ui sections of the toolbar: + +#### `MainToolBarIndicators.qml` + +This is used for all views except Plan. It display all the indicators in a row. Although you can override this file, in reality it doesn't do much other than layout for indicators. + +#### `PlanToolBarIndicators.qml` + +This is used by the Plan view to show the status values. If you want to change that ui you can override this file and provide your own custom version. diff --git a/docs/zh/docs/en/qgc-dev-guide/fact_system.md b/docs/zh/docs/en/qgc-dev-guide/fact_system.md new file mode 100644 index 00000000000..5e7f5242d9c --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/fact_system.md @@ -0,0 +1,33 @@ +# Fact System + +The Fact System provides a set of capabilities which standardizes and simplifies the creation of the QGC user interface. + +## Fact {#fact} + +A Fact represents a single value within the system. + +## FactMetaData + +There is `FactMetaData` associated with each fact. It provides details on the Fact in order to drive automatic user interface generation and validation. + +## Fact Controls + +A Fact Control is a QML user interface control which connects to a Fact and it's `FactMetaData` to provide a control to the user to modify/display the value associated with the Fact. + +## FactGroup + +A _Fact Group_ is a group of [Facts](#fact). +It is used to organise facts and manage user defined facts. + +## Custom Build Support + +User defined facts can be added by overriding `factGroups` function of `FirmwarePlugin` in a custom firmware plugin class. +These functions return a name to fact group map that is used to identify added fact groups. +A custom fact group can be added by extending `FactGroup` class. +FactMetaDatas could be defined using the appopriate `FactGroup` constructor by providing a json file containing necessery information. + +Changing the metadata of existing facts is also possible by overriding `adjustMetaData` of `FirmwarePlugin` class. + +A fact associated with a vehicle (including facts belonging to fact groups returned in `factGroups` function of the vehicles Firmware plugin) can be reached using `getFact("factName")` or `getFact("factGroupName.factName")` + +For additional information please refer to comments in [FirmwarePlugin.h](https://github.com/mavlink/qgroundcontrol/blob/v4.0.8/src/FirmwarePlugin/FirmwarePlugin.h). diff --git a/docs/zh/docs/en/qgc-dev-guide/file_formats/index.md b/docs/zh/docs/en/qgc-dev-guide/file_formats/index.md new file mode 100644 index 00000000000..cf8a409129a --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/file_formats/index.md @@ -0,0 +1,3 @@ +# File Formats + +This section contains topics about the file formats used/supported by _QGroundControl_. diff --git a/docs/zh/docs/en/qgc-dev-guide/file_formats/mavlink.md b/docs/zh/docs/en/qgc-dev-guide/file_formats/mavlink.md new file mode 100644 index 00000000000..8a55c8289af --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/file_formats/mavlink.md @@ -0,0 +1,27 @@ +# MAVLink Log Format + +_QGroundControl_ allows you to generate plain MAVLink packet logs that can be +replayed (with QGroundControl) to watch a mission again for analysis. + +The format is binary: + +- Byte 1-8: Timestamp in microseconds since Unix epoch as unsigned 64 bit integer +- Byte 9-271: MAVLink packet (263 bytes maximum packet length, not all bytes have to be actual data, the packet might be shorter. Includes packet start sign) + +## Debugging + +To check your data, open your written file in a hex editor. You should see after 8 bytes **0x55**. The first 8 bytes should also convert to a valid timestamp, so something either close to zero or around the number **1294571828792000** (which is the current Unix epoch timestamp in microseconds). + +## C++ Sketch for logging MAVLink + +The code fragment below shows how to implement logging using [C++ streams](http://www.cplusplus.com/reference/iostream/istream/) from the C++ standard library. + +```cpp +//write into mavlink logfile +const int len = MAVLINK_MAX_PACKET_LEN+sizeof(uint64_t); +uint8_t buf[len]; +uint64_t time = getSystemTimeUsecs(); +memcpy(buf, (void*)&time, sizeof(uint64_t)); +mavlink_msg_to_send_buffer(buf+sizeof(uint64_t), msg); +mavlinkFile << buf << flush; +``` diff --git a/docs/zh/docs/en/qgc-dev-guide/file_formats/parameters.md b/docs/zh/docs/en/qgc-dev-guide/file_formats/parameters.md new file mode 100644 index 00000000000..60fd66a3638 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/file_formats/parameters.md @@ -0,0 +1,25 @@ +# Parameters File Format + +``` +# Onboard parameters for Vehicle 1 +# +# # Vehicle-Id Component-Id Name Value Type +1 1 ACRO_LOCKING 0 2 +1 1 ACRO_PITCH_RATE 180 4 +1 1 ACRO_ROLL_RATE 180 4 +1 1 ADSB_ENABLE 0 2 +``` + +Above is an example of a parameter file with four parameters. The file can include as many parameters as needed. + +Comments are preceded with a `#`. + +This header: `# MAV ID COMPONENT ID PARAM NAME VALUE` describes the format for each row: + +- `Vehicle-Id` Vehicle id +- `Component-Id` Component id for parameter +- `Name` Parameter name +- `Value` Parameter value +- `Type` Parameter type using MAVLink `MAV_PARAM_TYPE_*` enum values + +A parameter file contains the parameters for a single Vehicle. It can contain parameters for multiple components within that Vehicle. diff --git a/docs/zh/docs/en/qgc-dev-guide/file_formats/plan.md b/docs/zh/docs/en/qgc-dev-guide/file_formats/plan.md new file mode 100644 index 00000000000..914571983f2 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/file_formats/plan.md @@ -0,0 +1,489 @@ +# Plan File Format + +Plan files are stored in JSON file format and contain mission items and (optional) geo-fence and rally-points. +Below you can see the top level format of a Plan file + +:::tip +This is "near-minimal" - a plan must contain at least one mission item. +The plan fence and rally points are also used in modes when no mission is running. +::: + +```json +{ + "fileType": "Plan", + "geoFence": { + "circles": [], + "polygons": [], + "version": 2 + }, + "groundStation": "QGroundControl", + "mission": {}, + "rallyPoints": { + "points": [], + "version": 2 + }, + "version": 1 +} +``` + +The main fields are: + +| Key | Description | +| ------------------------------ | ------------------------------------------------------------------------------ | +| `version` | The version for this file. Current version is 1. | +| `fileType` | Must be `"Plan"`. | +| `groundStation` | The name of the ground station which created this file (here _QGroundControl_) | +| [`mission`](#mission) | The mission associated with this flight plan. | +| [`geoFence`](#geofence) | (Optional) Geofence information for this plan. | +| [`rallyPoints`](#rally_points) | (Optional) Rally/Safe point information for this plan | + +## Mission Object {#mission} + +The structure of the mission object is shown below. +The `items` field contains a comma-separated list of mission items (it must contain at least one mission item, as shown below). +The list may be a mix of both [SimpleItem](#mission_simple_item) and [ComplexItem](#mission_complex_item) objects. + +```json + "mission": { + "cruiseSpeed": 15, + "firmwareType": 12, + "globalPlanAltitudeMode": 1, + "hoverSpeed": 5, + "items": [ + { + "AMSLAltAboveTerrain": null, + "Altitude": 50, + "AltitudeMode": 0, + "autoContinue": true, + "command": 22, + "doJumpId": 1, + "frame": 3, + "params": [ + 15, + 0, + 0, + null, + 47.3985099, + 8.5451002, + 50 + ], + "type": "SimpleItem" + } + ], + "plannedHomePosition": [ + 47.3977419, + 8.545594, + 487.989 + ], + "vehicleType": 2, + "version": 2 + }, +``` + +The following values are required: + +| Key | Description | +| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version for the mission object. Current version is 2. | +| `firmwareType` | The firmware type for which this mission was created. This is one of the [MAV\_AUTOPILOT](https://mavlink.io/en/messages/common.html#MAV_AUTOPILOT) enum values. | +| `globalPlanAltitudeMode` | The global plan-wide altitude mode setting. This is used by plan items that don't specify an `"AltitudeMode"`. | +| `vehicleType` | The vehicle type for which this mission was created. This is one of the [MAV\_TYPE](https://mavlink.io/en/messages/common.html#MAV_TYPE) enum values. | +| `cruiseSpeed` | The default forward speed for Fixed wing or VTOL vehicles (i.e. when moving between waypoints). | +| `hoverSpeed` | The default forward speed for multi-rotor vehicles. | +| `items` | The list of mission item objects associated with the mission . The list may contain either/both [SimpleItem](#mission_simple_item) and [ComplexItem](#mission_complex_item) objects. | +| `plannedHomePosition` | The planned home position is shown on the map and used for mission planning when no vehicle is connected. The array values shown above are (from top): latitude, longitude and AMSL altitude. | + +The format of the simple and complex items is given below. + +### `SimpleItem` - Simple Mission Item {#mission\_simple\_item} + +A simple item represents a single MAVLink [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM) command. + +``` + { + "AMSLAltAboveTerrain": null, + "Altitude": 50, + "AltitudeMode": 0, + "autoContinue": true, + "command": 22, + "doJumpId": 1, + "frame": 3, + "params": [ + 15, + 0, + 0, + null, + 47.3985099, + 8.5451002, + 50 + ], + "type": "SimpleItem" + } +``` + +The field mapping is shown below. + +| Key | Description | +| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | `SimpleItem` for a simple item | +| `AMSLAltAboveTerrain` | Altitude value shown to the user. | +| `Altitude` | | +| `AltitudeMode` | | +| `autoContinue` | [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).autoContinue | +| `command` | The command ([MAV\_CMD](https://mavlink.io/en/messages/common.html#MAV_CMD)) for this mission item - see [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).command. | +| `doJumpId` | The target id for the current mission item in DO\_JUMP commands. These are auto-numbered from 1. | +| `frame` | [MAV\_FRAME](https://mavlink.io/en/messages/common.html#MAV_FRAME) (see [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).frame) | +| `params` | [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).param1,2,3,4,x,y,z (values depends on the particular [MAV\_CMD](https://mavlink.io/en/messages/common.html#MAV_CMD)). | + +### Complex Mission Item {#mission\_complex\_item} + +A complex item is a higher level encapsulation of multiple `MISSION_ITEM` objects treated as a single entity. + +There are currently three types of complex mission items: + +- [Survey](#survey) +- [Corridor Scan](#corridor_scan) +- [Structure Scan](#structure_scan) + +#### Survey - Complex Mission Item {#survey} + +The object definition for a `Survey` complex mission item is given below. + +``` +{ + "TransectStyleComplexItem": { + ... + }, + "angle": 0, + "complexItemType": "survey", + "entryLocation": 0, + "flyAlternateTransects": false, + "polygon": [ + [ + -37.75170619863631, + 144.98414811224316 + ], + ... + [ + -37.75170619863631, + 144.99457681259048 + ] + ], + "type": "ComplexItem", + "version": 4 + }, +``` + +Complex items have these values associated with them: + +| Key | Description | +| ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version number for this `survey` definition. Current version is 3. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `survey` | +| [`TransectStyleComplexItem`](#TransectStyleComplexItem) | The common base definition for Survey and CorridorScan complex items. | +| `angle` | The angle for the transect paths (degrees). | +| `entryLocation` | ? | +| `flyAlternateTransects` | If true, the vehicle will skip every other transect and then come back at the end and fly these alternates. This can be used for fixed wing aircraft when the turnaround would be too acute for the vehicle to make the turn. | +| `polygon` | The polygon array which represents the polygonal survey area. Each point is a latitude, longitude pair for a polygon vertex. | + +#### Corridor Scan {#corridor\_scan} + +The object definition for a `CorridorScan` complex mission item is given below. + +``` + { + "CorridorWidth": 50, + "EntryPoint": 0, + "TransectStyleComplexItem": { + ... + }, + }, + "complexItemType": "CorridorScan", + "polyline": [ + [ + -37.75234887156983, + 144.9893624624168 + ], + ... + [ + -37.75491914850321, + 144.9893624624168 + ] + ], + "type": "ComplexItem", + "version": 2 + }, +``` + +| Key | Description | +| ------------------------------------------------------- | --------------------------------------------------------------------- | +| `version` | The version for this `CorridorScan` definition. Current version is 3. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `CorridorScan` | +| `CorridorWidth` | ? | +| `EntryPoint` | ? | +| [`TransectStyleComplexItem`](#TransectStyleComplexItem) | The common base definition for Survey and CorridorScan complex items. | +| `polyline` | ? | + +#### Structure Scan {#structure\_scan} + +The object definition for a `StructureScan` complex mission item is given below. + +```json + { + "Altitude": 50, + "CameraCalc": { + "AdjustedFootprintFrontal": 25, + "AdjustedFootprintSide": 25, + "CameraName": "Manual (no camera specs)", + "DistanceToSurface": 10, + "DistanceToSurfaceRelative": true, + "version": 1 + }, + "Layers": 1, + "StructureHeight": 25, + "altitudeRelative": true, + "complexItemType": "StructureScan", + "polygon": [ + [ + -37.753184359536355, + 144.98879374063998 + ], + ... + [ + -37.75408368012594, + 144.98879374063998 + ] + ], + "type": "ComplexItem", + "version": 2 + } +``` + +| Key | Description | +| --------------------------- | ---------------------------------------------------------------------- | +| `version` | The version for this `StructureScan` definition. Current version is 2. | +| `type` | `ComplexItem` (this is a complex item). | +| `complexItemType` | `StructureScan` | +| `Altitude` | ? | +| [`CameraCalc`](#CameraCalc) | ? | +| `Layers` | ? | +| `StructureHeight` | ? | +| `altitudeRelative` | `true`: `altitude` is relative to home, `false`: `altitude` is AMSL. | +| `polygon` | ? | + +#### `TransectStyleComplexItem` {#TransectStyleComplexItem} + +`TransectStyleComplexItem` contains the common base definition for [`survey`](#survey) and [`CorridorScan`](#CorridorScan) complex items. + +```json + "TransectStyleComplexItem": { + "CameraCalc": { + ... + }, + "CameraTriggerInTurnAround": true, + "FollowTerrain": false, + "HoverAndCapture": false, + "Items": [ + ... + ], + "Refly90Degrees": false, + "TurnAroundDistance": 10, + "VisualTransectPoints": [ + [ + -37.75161626657736, + 144.98414811224316 + ], + ... + [ + -37.75565155437309, + 144.99438539496475 + ] + ], + "version": 1 + }, +``` + +| Key | Description | +| --------------------------- | --------------------------------------------------------------------------------- | +| `version` | The version for this `TransectStyleComplexItem` definition. Current version is 1. | +| [`CameraCalc`](#CameraCalc) | ? | +| `CameraTriggerInTurnAround` | ? (boolean) | +| `FollowTerrain` | ? (boolean) | +| `HoverAndCapture` | ? (boolean) | +| `Items` | ? | +| `Refly90Degrees` | ? (boolean) | +| `TurnAroundDistance` | The distance to fly past the polygon edge prior to turning for the next transect. | +| `VisualTransectPoints` | ? | + +##### CameraCalc {#CameraCalc} + +The `CameraCalc` contains camera information used for a survey, corridor or structure scan. + +``` + "CameraCalc": { + "AdjustedFootprintFrontal": 272.4, + "AdjustedFootprintSide": 409.2, + "CameraName": "Sony ILCE-QX1", + "DistanceToSurface": 940.6896551724138, + "DistanceToSurfaceRelative": true, + "FixedOrientation": false, + "FocalLength": 16, + "FrontalOverlap": 70, + "ImageDensity": 25, + "ImageHeight": 3632, + "ImageWidth": 5456, + "Landscape": true, + "MinTriggerInterval": 0, + "SensorHeight": 15.4, + "SensorWidth": 23.2, + "SideOverlap": 70, + "ValueSetIsDistance": false, + "version": 1 + }, +``` + +| Key | Description | +| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version for this `CameraCalc` definition. Current version is 1. | +| `AdjustedFootprintFrontal` | ? | +| `AdjustedFootprintSide` | ? | +| `DistanceToSurface` | ? Units? | +| `DistanceToSurfaceRelative` | ? | +| `CameraName` | Name of camera being used (must correspond to one of the cameras known to _QGroundControl_ or: `Manual (no camera specs)` for manual setup, `Custom Camera` for a custom setup. The keys listed after this point are not specified for a "Manual" camera definition. | +| `FixedOrientation` | ? (boolean) | +| `FocalLength` | Focal length of camera lens in millimeters. | +| `FrontalOverlap` | Percentage of frontal image overlap. | +| `ImageDensity` | ? | +| `ImageHeight` | Image height in px | +| `ImageWidth` | Image width in px | +| `Landscape` | `true`: Camera installed in landscape orientation on vehicle, `false`: Camera installed in portrait orientation on vehicle. | +| `MinTriggerInterval` | ? | +| `SensorHeight` | Sensor height in millimeters. | +| `SensorWidth` | Sensor width in millimeters. | +| `SideOverlap` | Percentage of side image overlap. | +| `ValueSetIsDistance` | ? (boolean) | + +## GeoFence {#geofence} + +Geofence information is optional. +The plan can contain an arbitrary number of geofences defined in terms of polygons and circles. + +The minimal definition is shown below. + +```json + "geoFence": { + "circles": [ + ], + "polygons": [ + ], + "version": 2 + }, +``` + +The fields are: + +| Key | Description | +| ------------------------------- | ----------------------------------------------------------------------------- | +| `version` | The version number for the geofence plan format. The documented version is 2. | +| [`circles`](#circle_geofence) | List containing circle geofence definitions (comma separated). | +| [`polygons`](#polygon_geofence) | List containing polygon geofence definitions (comma separated). | + +### Circle Geofence {#circle\_geofence} + +Each circular geofence is defined in a separate item, as shown below (multiple comma-separated items can be defined). +The items define the centre and radius of the circle, and whether or not the specific geofence is activated. + +```json +{ + "circle": { + "center": [47.39756763610029, 8.544649762407738], + "radius": 319.85 + }, + "inclusion": true, + "version": 1 +} +``` + +The fields are: + +| Key | Description | +| ----------- | -------------------------------------------------------------------------------------------------- | +| `version` | The version number for the geofence "circle" plan format. The documented version is 1. | +| `circle` | The definition of the circle. Includes `centre` (latitude, longitude) and `radisu` as shown above. | +| `inclusion` | Whether or not the geofence is enabled (true) or disabled. | + +### Polygon Geofence {#polygon\_geofence} + +Each polygon geofence is defined in a separate item, as shown below (multiple comma-separated items can be defined). +The geofence includes a set of points defined with a clockwise winding (i.e. they must enclose an area). + +```json + { + "inclusion": true, + "polygon": [ + [ + 47.39807773798406, + 8.543834631785785 + ], + [ + 47.39983519888905, + 8.550024648373267 + ], + [ + 47.39641100087146, + 8.54499282423751 + ], + [ + 47.395590322265186, + 8.539435808992085 + ] + ], + "version": 1 + } + ], + "version": 2 + } +``` + +The fields are: + +| Key | Description | +| ----------- | ------------------------------------------------------------------------------------------------------------------------------ | +| `version` | The version number for the geofence "polygon" plan format. The documented version is 2. | +| `polygon` | A list of points for the polygon. Each point contains a latitude and longitude. The points are ordered in a clockwise winding. | +| `inclusion` | Whether or not the geofence is enabled (true) or disabled. | + +## Rally Points {#rally\_points} + +Rally point information is optional. +The plan can contain an arbitrary number of rally points, each of which has a latitude, longitude, and altitude (above home position). + +A definition with two points is shown below. + +```json + + "rallyPoints": { + "points": [ + [ + 47.39760401, + 8.5509154, + 50 + ], + [ + 47.39902017, + 8.54263274, + 50 + ] + ], + "version": 2 + } +``` + +The fields are: + +| Key | Description | +| --------- | -------------------------------------------------------------------------------- | +| `version` | The version number for the rally point plan format. The documented version is 2. | +| `points` | A list of rally points. | diff --git a/docs/zh/docs/en/qgc-dev-guide/firmware_plugin.md b/docs/zh/docs/en/qgc-dev-guide/firmware_plugin.md new file mode 100644 index 00000000000..95d0c3ddc74 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/firmware_plugin.md @@ -0,0 +1,23 @@ +# Plugin Architecture + +Although the MAVLink spec defines a standard communication protocol to communicate with a vehicle. There are many aspects of that spec that are up for interpretation by the firmware developers. Because of this there are many cases where communication with a vehicle running one firmware is be slightly different than communication with a vehicle running a different firmware in order to accomplish the same task. Also each firmware may implement a different subset of the MAVLink command set. + +Another major issue is that the MAVLink spec does not cover vehicle configuration or a common parameter set. Due to this all code which relates to vehicle setup ends up being firmware specific. Also any code which must refer to a specific parameter is also firmware specific. + +Given all of these differences between firmware implementations it can be quite tricky to create a single ground station application that can support each without having the codebase degrade into a massive pile of if/then/else statements peppered everywhere based on the firmware the vehicle is using. + +QGC uses a plugin architecture to isolate the firmware specific code from the code which is generic to all firmwares. There are two main plugins which accomplish this `FirmwarePlugin` and `AutoPilotPlugin`. + +This plugin architecture is also used by custom builds to allow ever further customization beyond when standard QGC can provide. + +## FirmwarePlugin + +This is used to create a standard interface to parts of Mavlink which are generally not standardized. + +## AutoPilotPlugin + +This is used to provide the user interface for Vehicle Setup. + +## QGCCorePlugin + +This is used to expose features of the QGC application itself which are not related to a Vehicle through a standard interface. This is then used by custom builds to adjust the QGC feature set to their needs. diff --git a/docs/zh/docs/en/qgc-dev-guide/getting_started/cent_os.md b/docs/zh/docs/en/qgc-dev-guide/getting_started/cent_os.md new file mode 100644 index 00000000000..c709b04874b --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/getting_started/cent_os.md @@ -0,0 +1,220 @@ +# Using QGC on CentOS 7 + +## OS Installation + +To install CentOS 7: + +1. Fetch the latest [CentOS 7 ISO from here](http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso) +2. Make a bootable USB stick out of the ISO e.g. by [following this guide](https://linuxize.com/post/how-to-create-a-bootable-centos-7-usb-stick/). +3. Boot the target device from the stick. + +The following examples show how to boot the target device from the stick. + +**Example:** _Panasonic Toughpad FZ-M1_ (attaching a keyboard and mouse to the device to follow this guide is recommended). + +1. Enter the BIOS menu by holding **Delete** on an attached USB keyboard or pressing all hardware buttons around the power button during boot. +2. Once inside the BIOS switch to the _Exit_ tab using the arrow keys or the touchscreen. +3. Select your previously created and plugged in USB stick under Boot device override. + +**Example** [UAV Components Micronav](https://www.uavcomp.com/command-control/micronav/) device: + +1. The setup of CentOS will not start with the default configuration. + To solve this + 1. Go to the BIOS menu as explained in the example above. + 2. Disable the "Extension Port" device under the "Advanced" tab. + 3. "Exit and save" the BIOS menu on the Exit page of the BIOS and try again. + 4. After CentOS is installed, you revert the changes again so that the Microhard network works. +2. Make sure to never do a warm reboot but always first shut down the device if you want to reboot into Linux. + Otherwise the Microhard network adapter will not work properly and slows down the whole system. + +### CentOS Software Selection Installation Options + +These were the options used to setup a CentOS development system. +Use it as a guideline. + +![CentOS Installation](../../../assets/dev_getting_started/centos/centos_installation.png) + +![CentOS Software Selection](../../../assets/dev_getting_started/centos/centos_sw_selection.png) + +### Update GStreamer + +Once CentOS is installed and booted we need to set up the environment for QGC. +First, we need to update GStreamer to a more recent version. +This guide follows Alice Wonder's tips found here: https\://media.librelamp.com + +``` +sudo yum install epel-release -y +wget http://awel.domblogger.net/7/media/x86_64/awel-media-release-7-6.noarch.rpm +sudo yum localinstall awel-media-release-7-6.noarch.rpm -y +sudo yum clean all +sudo yum update +sudo yum install gstreamer1* --skip-broken -y +``` + +**Note:** Make sure these are installed (vaapi for Intel GPUs) + +``` +sudo yum install gstreamer1-vaapi +sudo yum install gstreamer1-libav +``` + +**Note:** Install these to enable hardware accelerated video decoding + +``` +sudo yum install libva +sudo yum install libva-utils +sudo yum install libva-intel-driver +``` + +If libva-intel-driver is not found you can download it and install it manually + +``` +wget http://download1.rpmfusion.org/free/el/updates/7/x86_64/l/libva-intel-driver-1.8.3-4.el7.x86_64.rpm +sudo yum localinstall libva-intel-driver-1.8.3-4.el7.x86_64.rpm -y +``` + +### Installing SDL2 + +SDL2 is used for joystick support. + +``` +sudo yum install SDL2 SDL2-devel -y +``` + +### Update Kernel (optional) + +:::tip +If your Joystick gets recognized and shows up as `/dev/input/js0` when you run the command `/dev/input/*` you can skip this step. +::: + +We recommend updating the kernel for: + +- Better touch screen responsiveness. +- Correct recognition of some USB devices - in particular joysticks. + +The following joysticks are known not do work out of the box with the default CentOS 7 kernel (3.10.0): + +- Logitech F310 +- Microsoft Xbox 360 controller (USB) + +To fix the joystick not being recognized (even if the same unit is working under Windows or Ubuntu) please [follow this guide to update the kernel](https://www.howtoforge.com/tutorial/how-to-upgrade-kernel-in-centos-7-server/). + +Here's a short summary of the commands that you need to execute to update the kernel: + +``` +sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org +sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm +sudo yum --enablerepo=elrepo-kernel install kernel-ml -y +``` + +Reboot your device afterwards and make sure the new kernel version shows up as the default start option in the GRUB menu on boot. + +:::info +You might need to disable secure boot in the BIOS to allow the new kernel to be booted. +::: + +## Running QGC on CentOS + +Before launching QGC, you need to make sure the current user has access to the dialout group (serial port access permission): + +``` +sudo usermod -a -G dialout $USER +``` + +### Firewall + +The default firewall security level of Red Hat distributions like CentOS block MAVLink communication and also the camera video stream. +So you need to create rules to open the incoming ports for MAVLink and camera stream. +For non-production local environment testing purposes ONLY you can temporarily disable the firewall using the following commands ([from here](https://www.liquidweb.com/kb/how-to-stop-and-disable-firewalld-on-centos-7/)): + +Temporary: + +``` +systemctl stop firewalld +``` + +Permanent (at your own risk): + +``` +systemctl disable firewalld +``` + +Undo permanent change: + +``` +systemctl enable firewalld +``` + +### Connection problems with multiple networks + +In our test with CentOS we had problems when connecting to multiple networks through multiple network devices even with appropriate IP address and subnet assignment. + +Issues consisted of: + +- Losing Internet access when connecting to a second network +- Having flaky connection to the vehicle with a lot of hiccups and packet losses (e.g. 30 seconds perfect connection 4 seconds of packet loss in a regular pattern) + +If you face any of these problems avoid them by only connecting one network at a time e.g. switching between WiFi and Microhard. + +### Executing a Prebuilt QGC Binary + +- Get hold of an archive containing a prebuilt binary of QGC for CentOS. + At the moment there is no automatic deployment for this build if you urgently need one get in touch with the developers. +- [Unpack the archive](https://www.hostdime.com/kb/hd/command-line/how-to-tar-untar-and-zip-files). +- Go inside the unpacked files and locate the script named `qgroundcontrol-run.sh` +- Run it by executing the command + ``` + ./qgroundcontrol-run.sh + ``` + +## Building QGC on CentOS + +### Installing Qt + +``` +mkdir ~/devel +cd ~/devel +``` + +Install Qt 5.12.4 from the Qt installation script that can be downloaded [here](https://www.qt.io/download-thank-you?os=linux\&hsLang=en). +Once downloaded, make it executable and run it: + +``` +chmod +x qt-unified-linux-x64-3.1.1-online.run +./qt-unified-linux-x64-3.1.1-online.run +``` + +Select the following options and install it under `~/devel/Qt`: + +![Qt Software Selection](../../../assets/dev_getting_started/centos/qt_setup.png) + +### Clone and Build QGC + +``` +git clone --recursive https://github.com/mavlink/qgroundcontrol.git +mkdir build +cd build +``` + +For a debug/test build: + +``` +../Qt/5.12.4/gcc_64/bin/qmake ../qgroundcontrol/qgroundcontrol.pro -spec linux-g++ CONFIG+=debug +``` + +For a release build: + +``` +../Qt/5.12.4/gcc_64/bin/qmake ../qgroundcontrol/qgroundcontrol.pro -spec linux-g++ CONFIG+=qtquickcompiler +``` + +Build it: + +``` +make -j4 +``` + +You can alternatively launch _QtCreator_ (found under `~/devel/Qt/Tools/QtCreator/bin/qtcreator`), load the `qgroundcontro.pro` project and build/debug from within its IDE. + +By default, this will build the regular QGC. +To build the sample, customized UI version, follow [these instructions](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/README.md). diff --git a/docs/zh/docs/en/qgc-dev-guide/getting_started/container.md b/docs/zh/docs/en/qgc-dev-guide/getting_started/container.md new file mode 100644 index 00000000000..3bdda672439 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/getting_started/container.md @@ -0,0 +1,81 @@ +# Building using Containers + +The community created a docker image that makes it much easier to build a Linux-based QGC application. +This can give you a massive boost in productivity and help with testing. + +## About the Container + +The Container is located in the `./deploy/docker` directory. +It's based on ubuntu 20.04. +It pre-installs all the dependencies at build time, including Qt, thanks to a script located in the same directory, `install-qt-linux.sh`. +The main advantage of using the container is the usage of the `CMake` build system and its many improvements over `qmake` + +## Building the Container + +Before using the container, you have to build the image. +You can accomplish this using docker, running the following script from the root of the QGC source code directory. + +``` +docker build --file ./deploy/docker/Dockerfile-build-linux -t qgc-linux-docker . +``` + +:::info +The `-t` flag is essential. +Keep in mind this is tagging the image for later reference since you can have multiple builds of the same container +::: + +::: info +If building on a Mac computer with an M1 chip you must also specify the build option `--platform linux/x86_64` as shown: + +``` +docker build --platform linux/x86_64 --file ./deploy/docker/Dockerfile-build-linux -t qgc-linux-docker . +``` + +Otherwise you will get a build error like: + +``` +qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory +``` + +::: + +## Building QGC using the Container + +To use the container to build QGC, you first need to define a directory to save the artifacts. +We recommend you create a `build` directory on the source tree and then run the docker image using the tag provided above as follows, from the root directory: + +``` +mkdir build +docker run --rm -v ${PWD}:/project/source -v ${PWD}/build:/project/build qgc-linux-docker +``` + +::: info +If using the script to build the Linux image on a Windows host, you would need to reference the PWD differently. +On Windows the docker command is: + +``` +docker run --rm -v %cd%:/project/source -v %cd%/build:/project/build qgc-linux-docker +``` + +::: + +Depending on your system resources, or the resources assigned to your Docker Daemon, the build step can take some time. + +## Troubleshooting + +### Windows: 'bash\r': No such file or directory + +This error indicates that a Linux script is being run with Windows line endings, which might occur if `git` was configured to use Windows line endings: + +``` + > [4/7] RUN /tmp/qt/install-qt-linux.sh: +#9 0.445 /usr/bin/env: 'bash\r': No such file or directory +``` + +One fix is to force Linux line endings using the command: + +``` +git config --global core.autocrlf false +``` + +Then update/recreate your local repository. diff --git a/docs/zh/docs/en/qgc-dev-guide/getting_started/index.md b/docs/zh/docs/en/qgc-dev-guide/getting_started/index.md new file mode 100644 index 00000000000..c01c1af6e99 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/getting_started/index.md @@ -0,0 +1,238 @@ +--- +qt_version: 5.15.2 +--- + +# Getting Started + +This topic explains how to get the _QGroundControl_ source code and build it either natively or within a _Vagrant_ environment. +It also provides information about optional or OS specific functionality. + +## Daily Builds + +If you just want to test (and not debug) a recent build of _QGroundControl_ you can use the [Daily Build](https://docs.qgroundcontrol.com/en/releases/daily_builds.html). Versions are provided for all platforms. + +## Source Code + +Source code for _QGroundControl_ is kept on GitHub here: https\://github.com/mavlink/qgroundcontrol. +It is [dual-licensed under Apache 2.0 and GPLv3](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md). + +To get the source files: + +1. Clone the repo (or your fork) including submodules: + ``` + git clone --recursive -j8 https://github.com/mavlink/qgroundcontrol.git + ``` +2. Update submodules (required each time you pull new source code): + ``` + git submodule update --recursive + ``` + +:::tip +Github source-code zip files cannot be used because these do not contain the appropriate submodule source code. +You must use git! +::: + +## Build QGroundControl + +### Using Containers + +We support Linux builds using a container found on the source tree of the repository, which can help you develop and deploy the QGC apps without having to install any of the requirements on your local environment. + +[Container Guide](../getting_started/container.md) + +### Native Builds + +_QGroundControl_ builds are supported for macOS, Linux, Windows, iOS and Android. +_QGroundControl_ uses [Qt](http://www.qt.io) as its cross-platform support library and uses [QtCreator](http://doc.qt.io/qtcreator/index.html) as its default build environment. + +- **macOS:** v10.11 or higher +- **Ubuntu:** 64 bit, gcc compiler +- **Windows:** Vista or higher, [Visual Studio 2019 compiler](#vs) (64 bit) +- **iOS:** 10.0 and higher +- **Android:** Android 5.0 and later. + - Standard QGC is built against ndk version 19. + - Java JDK 11 is required. +- **Qt version:** {{ $frontmatter.qt\_version }} **(only)** + + ::: warning + **Do not use any other version of Qt!** + QGC has been thoroughly tested with the specified version of Qt ({{ $frontmatter.qt\_version }}). + There is a significant risk that other Qt versions will inject bugs that affect stability and safety (even if QGC compiles). + ::: + +For more information see: [Qt 5 supported platform list](http://doc.qt.io/qt-5/supported-platforms.html). + +:::info +Native [CentOS Builds](../getting_started/cent_os.md) are also supported, but are documented separately (as the tested environment is different). +::: + +#### Install Visual Studio 2019 (Windows Only) {#vs} + +The Windows compiler can be found here: [Visual Studio 2019 compiler](https://visualstudio.microsoft.com/vs/older-downloads/) (64 bit) + +When installing, select _Desktop development with C++_ as shown: + +![Visual Studio 2019 - Select Desktop Environment with C++](../../../assets/dev_getting_started/visual_studio_select_features.png) + +:::info +Visual Studio is ONLY used to get the compiler. Actually building _QGroundControl_ should be done using [Qt Creator](#qt-creator) or [qmake](#qmake) as outlined below. +::: + +#### Install Qt + +You **need to install Qt as described below** instead of using pre-built packages from say, a Linux distribution, because _QGroundControl_ needs access to private Qt headers. + +To install Qt: + +1. Download and run the [Qt Online Installer](http://www.qt.io/download-open-source) + - **Ubuntu:** + - Set the downloaded file to executable using: `chmod +x`. + - Install to default location for use with **./qgroundcontrol-start.sh.** If you install Qt to a non-default location you will need to modify **qgroundcontrol-start.sh** in order to run downloaded builds. + +2. In the installer _Select Components_ dialog choose: {{ $frontmatter.qt\_version }}. + + ::: info + If the version needed is not displayed, check the archive (show archive and refresh). + ::: + + Then install just the following components: + + - **Windows**: _MSVC 2019 64 bit_ + - **MacOS**: _macOS_ + - **Linux**: _Desktop gcc 64-bit_ + - All: + - _Qt Charts_ + - _Android ARMv7_ (optional, used to build Android) + + ![QtCreator Select Components (Windows)](../../../assets/dev_getting_started/qt_creator_select_components.jpg) + +3. Install Additional Packages (Platform Specific) + + - **Ubuntu:** `sudo apt-get install speech-dispatcher libudev-dev libsdl2-dev patchelf build-essential curl` + - **Fedora:** `sudo dnf install speech-dispatcher SDL2-devel SDL2 systemd-devel patchelf` + - **Arch Linux:** `pacman -Sy speech-dispatcher patchelf` + - **Android:** [Qt Android Setup](http://doc.qt.io/qt-5/androidgs.html) + + ::: info + JDK11 is required (install if needed)! + ::: + +4. Install Optional/OS-Specific Functionality + + ::: info + Optional features that are dependent on the operating system and user-installed libraries are linked/described below. + These features can be forcibly enabled/disabled by specifying additional values to qmake. + ::: + + - **Video Streaming/Gstreamer:** - see [Video Streaming](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoReceiver/README.md). + - **Airmap SDK:** - TBD. + +5. Disable platform-specific optional features that are enabled (but not installed), by default. + + ::: info + This currently applies to Airmap on Linux, which is optional but enabled by default. + ::: + + - **Ubuntu:** + - Airmap: Create a file named **user\_config.pri** (in the repo root directory) containing the text `DEFINES += DISABLE_AIRMAP`. + This can be done in a bash terminal using the command: + ``` + echo -e "DEFINES += DISABLE_AIRMAP\r\n" | tee user_config.pri + ``` + +#### Building using Qt Creator {#qt-creator} + +1. Launch _Qt Creator_ and open the **qgroundcontrol.pro** project. + +2. In the **Projects** section, select the appropriate kit for your needs: + + - **OSX:** Desktop Qt {{ $frontmatter.qt\_version }} clang 64 bit + + ::: info + iOS builds must be built using [XCode](http://doc.qt.io/qt-5/ios-support.html). + ::: + + - **Ubuntu:** Desktop Qt {{ $frontmatter.qt\_version }} GCC 64bit + + - **Windows:** Desktop Qt {{ $frontmatter.qt\_version }} MSVC2019 **64bit** + + - **Android:** Android for armeabi-v7a (GCC 4.9, Qt {{ $frontmatter.qt\_version }}) + - JDK11 is required. + You can confirm it is being used by reviewing the project setting: **Projects > Manage Kits > Devices > Android (tab) > Android Settings > _JDK location_**. + +3. Build using the "hammer" (or "play") icons: + + ![QtCreator Build Button](../../../assets/dev_getting_started/qt_creator_build_qgc.png) + +#### Build using qmake on CLI {#qmake} + +Example commands to build a default QGC and run it afterwards: + +1. Make sure you cloned the repository and updated the submodules before, see chapter _Source Code_ above and switch into the repository folder: + ``` + cd qgroundcontrol + ``` + +2. Create and enter a shadow build directory: + ``` + mkdir build + cd build + ``` + +3. Configure the build using the qmake script in the root of the repository: + ``` + qmake ../ + ``` + +4. Run make to compile and link. + To accelerate the process things you can use the `-j{number of threads}` parameter. + + ``` + make -j12 + ``` + + ::: info + You can also specify build time flags here. + For example, you could disable airmap inclusion using the command: + + ``` + DEFINES+=DISABLE_AIRMAP make build + ``` + + ::: + +5. Run the QGroundcontrol binary that was just built: + ``` + ./staging/QGroundControl + ``` + +### Vagrant + +[Vagrant](https://www.vagrantup.com/) can be used to build and run _QGroundControl_ within a Linux virtual machine (the build can also be run on the host machine if it is compatible). + +1. [Download](https://www.vagrantup.com/downloads.html) and [Install](https://www.vagrantup.com/docs/getting-started/) Vagrant +2. From the root directory of the _QGroundControl_ repository run `vagrant up` +3. To use the graphical environment run `vagrant reload` + +### Additional Build Notes for all Supported OS + +- **Parallel builds:** For non Windows builds, you can use the `-j#` option to run parellel builds. +- **Location of built files:** Individual build file results can be found in the `build_debug` or `build_release` directories. The built executable can be found in the `debug` or `release` directory. +- **If you get this error when running _QGroundControl_**: `/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version 'GLIBCXX_3.4.20' not found.`, you need to either update to the latest _gcc_, or install the latest _libstdc++.6_ using: `sudo apt-get install libstdc++6`. +- **Unit tests:** To run the [unit tests](../contribute/unit_tests.md), build in `debug` mode with `UNITTEST_BUILD` definition, and then copy `deploy/qgroundcontrol-start.sh` script into the `debug` directory before running the tests. + +## Building QGC Installation Files + +You can additionally create installation file(s) for _QGroundControl_ as part of the normal build process. + +:::tip +On Windows you will need to first install [NSIS](https://sourceforge.net/projects/nsis/). +::: + +To add support for installation file creation you need to add `CONFIG+=installer` to your project file, or when you call _qmake_. + +To do this in _Qt Creator_: + +- Open **Projects > Build > Build Steps > qmake > Additional arguments**. +- Enter `CONFIG+=installer` as shown: + ![Installer](../../../assets/dev_getting_started/qt_project_installer.png) diff --git a/docs/zh/docs/en/qgc-dev-guide/index.md b/docs/zh/docs/en/qgc-dev-guide/index.md new file mode 100644 index 00000000000..22020d391d3 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/index.md @@ -0,0 +1,68 @@ +# QGroundControl Dev Guide + +[![Releases](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases) [![Discuss](https://img.shields.io/badge/discuss-dev-ff69b4.svg)](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-developers) + +This developer guide is the best source for information if you want to build, modify or extend [QGroundControl](http://qgroundcontrol.com) (QGC). +It shows how to obtain and build the source code, explains how QGC works, and provides guidelines for contributing code to the project. + +:::tip +This part of the guide is for **developers**! +::: + +:::warning +This is an active work in progress - information should be correct, but may not be complete! +If you find that it is missing helpful information (or errors) please raise an issue. +::: + +## Design Philosophy + +QGC is designed to provide a single codebase that can run across multiple OS platforms as well as multiple device sizes and styles. + +The QGC user interface is implemented using [Qt QML](http://doc.qt.io/qt-5/qtqml-index.html). QML provides for hardware acceleration which is a key feature on lower powered devices such as tablets or phones. QML also provides features which allows us to more easily create a single user interface which can adapt itself to differing screen sizes and resolution. + +The QGC UI targets itself more towards a tablet+touch style of UI than a desktop mouse-based UI. This make a single UI easier to create since tablet style UI also tends to work fine on desktop/laptops. + +## Support {#support} + +Development questions can be raised in the [QGroundControl Developer](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-developers) discuss category. + +## Contribution + +Information about contributing, including coding styles, testing and licenses can be found in [Code Submissions](contribute/index.md). + +:::tip +We expect all contributors to adhere to the [QGroundControl code of conduct](https://github.com/mavlink/qgroundcontrol/blob/master/CODE_OF_CONDUCT.md). +This code aims to foster an open and welcoming environment. +::: + +### Coordination Call + +The developer team meets bi-weekly to discuss the highest priority issues, project coordination, and discuss any Issues, PRs, or Questions from the Community. ([Developer Call Details](contribute/dev_call.md)) + +### Translations + +We use [Crowdin](https://crowdin.com) to make it easier to manage translation for both _QGroundControl_ and the documentation. + +The translation projects (and join links) are listed below: + +- [QGroundControl](https://crowdin.com/project/qgroundcontrol) ([join](https://crwd.in/qgroundcontrol)) +- [QGroundControl User Guide](https://crowdin.com/project/qgroundcontrol-user-guide) ([join](https://crwd.in/qgroundcontrol-user-guide)) +- [QGroundControl Developer Guide](https://crowdin.com/project/qgroundcontrol-developer-guide) ([join](https://crwd.in/qgroundcontrol-developer-guide)) + +The PX4 Developer Guide contains additional information about the (common) docs/translation toolchain: + +- [Documentation](https://dev.px4.io/en/contribute/docs.html) +- [Translation](https://dev.px4.io/en/contribute/docs.html) + +## License + +_QGroundControl_ source code is [dual-licensed under Apache 2.0 and GPLv3](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md). +For more information see: [Licenses](contribute/licences.md). + +## Governance + +The QGroundControl mission planner is hosted under the governance of the [Dronecode Project](https://www.dronecode.org/). + +Dronecode Logo Linux Foundation Logo + +
 
diff --git a/docs/zh/docs/en/qgc-dev-guide/plan/mission_command_tree.md b/docs/zh/docs/en/qgc-dev-guide/plan/mission_command_tree.md new file mode 100644 index 00000000000..55441b4e3fc --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/plan/mission_command_tree.md @@ -0,0 +1,196 @@ +# Mission Command Tree + +QGC creates the user interface for editing a specific mission item command dynamically from a hierarchy of json metadata. This hierarchy is called the Mission Command Tree. This way only json metadata must be created when new commands are added. + +## Why a tree? + +The tree is needed to deal with the idosyncracies of differening firmware supporting commands differently and/or different vehicle types supporting the commands in different ways. The simplest example of that is mavlink spec may include command parameters which are not supported by all firmwares. Or command parameters which are only valid for certain vehicle types. Also in some cases a GCS may decide to hide some of the command parameters from view to end users since they are too complex or cause usability problems. + +The tree is the MissionCommandTree class: [MissionCommandTree.cc](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.cc), [MissionCommandTree.h](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.h) + +### Tree Root + +The root of the tree is json metadata which matches the mavlink spec exactly. + +Here you can see an example of the root [json](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoCommon.json#L27) for `MAV_CMD_NAV_WAYPOINT`: + +``` + { + "id": 16, + "rawName": "MAV_CMD_NAV_WAYPOINT", + "friendlyName": "Waypoint", + "description": "Travel to a position in 3D space.", + "specifiesCoordinate": true, + "friendlyEdit": true, + "category": "Basic", + "param1": { + "label": "Hold", + "units": "secs", + "default": 0, + "decimalPlaces": 0 + }, + "param2": { + "label": "Acceptance", + "units": "m", + "default": 3, + "decimalPlaces": 2 + }, + "param3": { + "label": "PassThru", + "units": "m", + "default": 0, + "decimalPlaces": 2 + }, + "param4": { + "label": "Yaw", + "units": "deg", + "nanUnchanged": true, + "default": null, + "decimalPlaces": 2 + } + }, +``` + +Note: In reality this based information should be provided by mavlink itself and not needed to be part of a GCS. + +### Leaf Nodes + +The leaf nodes then provides metadata which can override values for the command and/or remove parameters from display to the user. The full tree hierarchy is this: + +- Root - Generic Mavlink + - Vehicle Type Specific - Vehicle specific overrides to the generic spec + - Firmware Type Specific - One optional leaf node for each firmware type (PX4/ArduPilot) + - Vehicle Type Specific - One optional leaf node for each vehicel type (FW/MR/VTOL/Rover/Sub) + +Note: In reality this override capability should be part of mavlink spec and should be able to be queried from the vehicle. + +### Building the instance tree from the full tree + +Since the json metadata provides information for all firmware/vehicle type combinations the actual tree to use must be built based on the firmware and vehicle type which is being used to create a Plan. This is done through a process call "collapsing" the full tree to a firmware/vehicle specific tree ([code](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.cc#L119)). + +The steps are as follows: + +- Add the root to the instance tree +- Apply the vehicle type specific overrides to the instance tree +- Apply the firmware type specific overrides to the instance tree +- Apply the firmware/vehicle type specific overrides to the instance tree + +The resulting Mission Command Tree is then used to build UI for the Plan View item editors. In reality it is used for more than just that, there are many other places where knowing more information about a specific command id is useful. + +## Example hierarchy for `MAV_CMD_NAV_WAYPOINT` + +Let's walk through an example hierarchy for `MAV_CMD_NAV_WAYPOINT`. Root information is shown above. + +### Root - Vehicle Type Specific leaf node + +The next level of the hiearchy is generic mavlink but vehicle specific. Json files are here: [MR](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoMultiRotor.json), [FW](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoFixedWing.json), [ROVER](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoRover.json), [Sub](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoSub.json), [VTOL](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoVTOL.json). And here are the overrides for (Fixed Wings)(https\://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoFixedWing.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "4" + }, +``` + +What this does is remove the editing UI for param4 which is Yaw and not used by fixed wings. Since this is a leaf node of the root, this applies to all fixed wing vehicle no matter the firmware type. + +### Root - Firmware Type Specific leaf node + +The next level of the hiearchy are overrides which are specific to a firmware type but apply to all vehicle types. Once again lets loook at the waypoint overrides: + +[ArduPilot](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/APM/MavCmdInfoCommon.json#L6): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2" + }, +``` + +[PX4](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/PX4/MavCmdInfoCommon.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2,3" + }, +``` + +You can see that for both firmwares param2 which is acceptance radius is removed from the editing ui. This is a QGC specific decision. It is generally safer and easier to use the firmwares generic acceptance radius handling than the specify a value. So we've decided to hide it from users. + +You can also see that for PX4 param3/PassThru is removed since it is not supported by PX. + +### Root - Firmware Type Specific - Vehicle Type Specific leaf node + +The last level of the hiearchy is both firmware and vehicle type specific. + +[ArduPilot/MR](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/APM/MavCmdInfoMultiRotor.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2,3,4" + }, +``` + +Here you can see that for an ArduPilot Multi-Rotor vehicle param2/3/4 Acceptance/PassThru/Yaw are removed. Yaw for example is removed because it is not supported. Due to quirk of how this code works, you need to repeat the overrides from the lower level. + +## Mission Command UI Info + +Two classes define the metadata associated with a command: + +- MissionCommandUIInfo - Metadata for the entire command +- MissionCmdParamInfo - Metadata for a param in a command + +The source is commented with full details of the json keys which are supported. + +[MissionCommandUIInfo](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandUIInfo.h#L82): + +``` +/// UI Information associated with a mission command (MAV_CMD) +/// +/// MissionCommandUIInfo is used to automatically generate editing ui for a MAV_CMD. This object also supports the concept of only having a set of partial +/// information for the command. This is used to create overrides of the base command information. For on override just specify the keys you want to modify +/// from the base command ui info. To override param ui info you must specify the entire MissionParamInfo object. +/// +/// The json format for a MissionCommandUIInfo object is: +/// +/// Key Type Default Description +/// id int reauired MAV_CMD id +/// comment string Used to add a comment +/// rawName string required MAV_CMD enum name, should only be set of base tree information +/// friendlyName string rawName Short description of command +/// description string Long description of command +/// specifiesCoordinate bool false true: Command specifies a lat/lon/alt coordinate +/// specifiesAltitudeOnly bool false true: Command specifies an altitude only (no coordinate) +/// standaloneCoordinate bool false true: Vehicle does not fly through coordinate associated with command (exampl: ROI) +/// isLandCommand bool false true: Command specifies a land command (LAND, VTOL_LAND, ...) +/// friendlyEdit bool false true: Command supports friendly editing dialog, false: Command supports 'Show all values" style editing only +/// category string Advanced Category which this command belongs to +/// paramRemove string Used by an override to remove params, example: "1,3" will remove params 1 and 3 on the override +/// param[1-7] object MissionCommandParamInfo object +/// +``` + +[MissionCmdParamInfo](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandUIInfo.h#L25): + +``` +/// UI Information associated with a mission command (MAV_CMD) parameter +/// +/// MissionCommandParamInfo is used to automatically generate editing ui for a parameter associated with a MAV_CMD. +/// +/// The json format for a MissionCmdParamInfo object is: +/// +/// Key Type Default Description +/// label string required Label for text field +/// units string Units for value, should use FactMetaData units strings in order to get automatic translation +/// default double 0.0/NaN Default value for param. If no default value specified and nanUnchanged == true, then defaultValue is NaN. +/// decimalPlaces int 7 Number of decimal places to show for value +/// enumStrings string Strings to show in combo box for selection +/// enumValues string Values associated with each enum string +/// nanUnchanged bool false True: value can be set to NaN to signal unchanged +``` diff --git a/docs/zh/docs/en/qgc-dev-guide/release_branching_process.md b/docs/zh/docs/en/qgc-dev-guide/release_branching_process.md new file mode 100644 index 00000000000..8cff755d051 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/release_branching_process.md @@ -0,0 +1,81 @@ +# QGroundControl Release/Branching process + +## Semantic Versioning + +QGC uses semantic versioning for the version numbers associated with its releases. +Semantic versioning is a 3-component number in the format of `vX.Y.Z`, where: + +- `X` is the major version. +- `Y` is the minor version. +- `Z` is the patch version. + +## Stable Builds + +The current stable build is the highest quality build available for QGC. +[Patch releases](#patch_releases) of the stable build are regularly made to fix important issues. + +Stable builds are built from a separate branch that is named with the format: `Stable_VX.Y` (note, there is no patch number!) +The branch has one or more git tags for each patch release (with the format `vX.Y.Z`), indicating the point in the repo source code that the associated patch release was created from. + +### Patch Releases {#patch\_releases} + +A patch release contains fixes to the stable release that are important enough to _require_ an update, and are safe enough that the stable release continues to maintain high quality. + +Patch releases increment the patch version number only. + +### Patch - Development Stage + +Approved fixes to the stable release are commited to the current stable branch. +These fixes continue to queue up in the stable branch until a patch release is made (see next step). + +Commits/changes to the stable branch must also be brought over to the master branch (either through cherry pick or separate pulls). + +### Patch - Release Stage + +At the point where the decision is made to do a patch release, the release binaries are created and a new _tag_ is added to the stable branch (with the same patch release number) indicating the associated source code. + +:::info +New branches are not created for patch releases - only for major and minor releases. +::: + +## Daily Builds + +### Development Stage + +Daily builds are built from the `master` branch, and this is where all new major feature development happens. +The state of master represents either the next minor point release, or a new major version release (depending on the level of change). + +There are no git tags associated with a released daily builds. +The released daily build will always match repo HEAD. + +### Release Stage + +When the decision is made to release a new major/minor version the master branch tends to go through an intial lockdown mode. +This is where only important fixes for the release are accepted as pull requests. + +:::info +During the lockdown phase, new features are not allowed in master. +::: + +Once the level of fixes associated with the release slows down to a low level, a new stable branch is created (at this point the `master` branch can move forward again as the latest and greatest). + +Fixes continue in the stable branch until it is deemed ready to release (ideally after a short time)! +At that point the new stable branch is tagged with the new version tag and the first stable release is made. + +## Custom Builds + +A proposed strategy for branching on custom builds can be found [here](custom_build/release_branching_process.md). + +## Process to create a new Stable + +### Major/Minor Version + +1. Create a branch from master named `Stable_VX.Y` where `X` is the major version number and `Y` is the minor version number. +2. Create a tag on the HEAD of master name `dX.Y` where the minor version is one greater than the new Stable. For example if you are create a new Stable 4.2 version then the tag would be 'd4.3'. This tag is used to create the version numbers for Android daily builds. Example: `git tag -a d4.3.0 -m "QGroundControl Daily Android Version Base"`. +3. Create an annotated tag on the newly created Stable branch named `vX.Y.0` with the correct major/minor version number. Example: `git tag -a v4.2.0 -m "QGroundControl v4.2.0"`. Pushing this tag to the repo will start a build. +4. Once the build completes verify the builds are pushed up to S3 correctly and sanity check that they at least boot correctly. Location on S3 will be `https://qgroundcontrol.s3.us-west-2.amazonaws.com/latest/...`. +5. Update the `https://qgroundcontrol.s3.us-west-2.amazonaws.com/builds/latest/QGC.version.txt` text file to the latest Stable version. This will notify uses there is a new Stable available the next time they launch QGC. + +### Patch Version + +Creating a new Patch Version is the same except you skip steps 1 and 2 and in step 3 you bump the patch version number up as needed. diff --git a/docs/zh/docs/en/qgc-dev-guide/tools/index.md b/docs/zh/docs/en/qgc-dev-guide/tools/index.md new file mode 100644 index 00000000000..d2f1bd88502 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/tools/index.md @@ -0,0 +1,20 @@ +# Developer Tools + +_QGroundControl_ makes a number of tools available primarily for autopilot developers. +These ease common developer tasks including setting up simulated connections for testing, +and accessing the System Shell over MAVLink. + +:::info +[Build the source in debug mode](https://github.com/mavlink/qgroundcontrol#supported-builds) to enable these tools. +::: + +Tools include: + +- **[Mock Link](../tools/mock_link.md)** (Daily Builds only) - Creates and stops multiple simulated vehicle links. +- **[Replay Flight Data](https://docs.qgroundcontrol.com/en/app_menu/replay_flight_data.html)** - Replay a telemetry log (User Guide). +- **[MAVLink Inspector](https://docs.qgroundcontrol.com/en/app_menu/mavlink_inspector.html)** - Display received MAVLink messages/values. +- **[MAVLink Analyzer](https://docs.qgroundcontrol.com/en/app_menu/mavlink_analyzer.html)** - Plot trends for MAVLink messages/values. +- **[Custom Command Widget](https://docs.qgroundcontrol.com/en/app_menu/custom_command_widget.html)** - Load custom/test QML UI at runtime. +- **[Onboard Files](https://docs.qgroundcontrol.com/en/app_menu/onboard_files.html)** - Navigate vehicle file system and upload/download files. +- **[HIL Config Widget](https://docs.qgroundcontrol.com/en/app_menu/hil_config.html)** - Settings for HIL simulators. +- **[MAVLink Console](https://docs.qgroundcontrol.com/en/analyze_view/mavlink_console.html)** (PX4 Only) - Connect to the PX4 nsh shell and send commands. diff --git a/docs/zh/docs/en/qgc-dev-guide/tools/mock_link.md b/docs/zh/docs/en/qgc-dev-guide/tools/mock_link.md new file mode 100644 index 00000000000..bbb8878c9c2 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/tools/mock_link.md @@ -0,0 +1,33 @@ +# Mock Link + +_Mock Link_ allows you to create and stop links to multiple simulated (mock) vehicles in _QGroundControl_ debug builds. + +The simulation does not support flight, but does allow easy testing of: + +- Mission upload/download +- Viewing and changing parameters +- Testing most setup pages +- Multiple vehicle UIs + +It is particularly useful for unit testing error cases for mission upload/download. + +## Using Mock Link + +To use _Mock Link_: + +1. Create a debug build by [building the source](https://github.com/mavlink/qgroundcontrol#supported-builds). + +2. Access _Mock Link_ by selecting the _Application Settings_ icon in the top toolbar and then **Mock Link** in the sidebar: + + ![](../../../assets/dev_tools/mocklink_waiting_for_connection.jpg) + +3. The buttons in the panel can be clicked to create a vehicle link of the associated type. + + - Each time you click a button a new connection will be created. + - When there is more than one connection the multiple-vehicle UI will appear. + + ![](../../../assets/dev_tools/mocklink_connected.jpg) + +4. Click the **Stop one Mock Link** to stop the currently active vehicle. + +Using _Mock Link_ is then more or less the same as using any other vehicle, except that the simulation does not allow flight. diff --git a/docs/zh/docs/en/qgc-dev-guide/user_interface_design/controls.md b/docs/zh/docs/en/qgc-dev-guide/user_interface_design/controls.md new file mode 100644 index 00000000000..16bbca6fbed --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/user_interface_design/controls.md @@ -0,0 +1,35 @@ +# User Interface Controls + +QGC provides a base set of controls for building user interface. In general they tend to be thin layers above the base QML Controls supported by Qt which respect the QGC color palette. + +``` +import QGroundControl.Controls 1.0 +``` + +## Qt Controls + +The following controls are QGC variants of standard Qt QML Controls. They provide the same functionality as the corresponding Qt controls except for the fact that they are drawn using the QGC palette. + +- QGCButton +- QGCCheckBox +- QGCColoredImage +- QGCComboBox +- QGCFlickable +- QGCLabel +- QGCMovableItem +- QGCRadioButton +- QGCSlider +- QGCTextField + +## QGC Controls + +These custom controls are exclusive to QGC and are used to create standard UI elements. + +- DropButton - RoundButton which drops out a panel of options when clicked. Example is Sync button in Plan view. +- ExclusiveGroupItem - Used as a base Item for custom controls which supports the QML ExclusiveGroup concept. +- QGCView - Base control for all top level views in the system. Provides support for FactPanels and displaying QGCViewDialogs and QGCViewMessages. +- QGCViewDialog - Dialog which pops out from the right side of a QGCView. You can specific the accept/reject buttons for the dialog as well as the dialog contents. Example usage is when you click on a parameter and it brings up the value editor dialog. +- QGCViewMessage - A simplified version of QGCViewDialog which allows you to specify buttons and a simple text message. +- QGCViewPanel - The main view contents inside of a QGCView. +- RoundButton - A round button control which uses an image as its inner contents. +- SetupPage - The base control for all Setup vehicle component pages. Provides a title, description and component page contents area. diff --git a/docs/zh/docs/en/qgc-dev-guide/user_interface_design/font_palette.md b/docs/zh/docs/en/qgc-dev-guide/user_interface_design/font_palette.md new file mode 100644 index 00000000000..b9472025352 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/user_interface_design/font_palette.md @@ -0,0 +1,20 @@ +# Font and Palette + +QGC has a standard set of fonts and color palette which should be used by all user interface. + +``` +import QGroundControl.Palette 1.0 +import QGroundControl.ScreenTools 1.0 +``` + +## QGCPalette + +This item exposes the QGC color palette. There are two variants of this palette: light and dark. The light palette is meant for outdoor use and the dark palette is for indoor. Normally you should never specify a color directly for UI, you should always use one from the palette. If you don't follow this rule, the user interface you create will not be capable of changing from a light/dark style. + +## QGCMapPalette + +The map palette is used for colors which are used to draw over a map. Due to the the different map styles, specifically satellite and street you need to have different colors to draw over them legibly. Satellite maps needs lighter colors to be seen whereas street maps need darker colors to be seen. The `QGCMapPalette` item provides a set of colors for this as well as the ability to switch between light and dark colors over maps. + +## ScreenTools + +The ScreenTools item provides values which you can use to specify font sizing. It also provides information on screen size and whether QGC is running on a mobile device. diff --git a/docs/zh/docs/en/qgc-dev-guide/user_interface_design/index.md b/docs/zh/docs/en/qgc-dev-guide/user_interface_design/index.md new file mode 100644 index 00000000000..caff40d9801 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/user_interface_design/index.md @@ -0,0 +1,11 @@ +# User Interface Design + +The main pattern for UI design in QGC is a UI page written in QML, many times communicating with a custom "Controller" written in C++. This follows a somewhat hacked variant of the MVC design pattern. + +The QML code binds to information associated with the system through the following mechanisms: + +- The custom controller +- The global `QGroundControl` object which provides access to things like the active Vehicle +- The FactSystem which provides access to parameters and in some cases custom Facts. + +Note: Due to the complexity of the QML used in QGC as well as it's reliance on communication with C++ objects to drive the ui it is not possible to use the QML Designer provided by Qt to edit QML. diff --git a/docs/zh/docs/en/qgc-dev-guide/user_interface_design/multi_device_pattern.md b/docs/zh/docs/en/qgc-dev-guide/user_interface_design/multi_device_pattern.md new file mode 100644 index 00000000000..241be1409f4 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/user_interface_design/multi_device_pattern.md @@ -0,0 +1,52 @@ +# Multi-Device Design Pattern + +QGroundControl is designed to run on multiple device types from desktop to laptop to tablet to small phone sized screens using mouse and touch. Below is the description of how QGC does it and the reasoning behind it. + +## Efficient 1 person dev team + +The design pattern that QGC development uses to solve this problem is based around making new feature development quick and allowing the code base to be testable and maintained by a very small team (let's say 1 developer as the default dev team size). The pattern to achieve this is followed very strictly, because not following it will lead to slower dev times and lower quality. + +Supporting this 1 person dev team concept leads to some tough decisions which not everyone may be happy about. But it does lead to QGC being released on many OS and form factors using a single codebase. This is something most other ground stations out there are not capable of achieving. + +What about contributors you ask? QGC has a decent amount of contributors. Can't they help move things past this 1 person dev team concept? Yes QGC has quite a few contributors. But unfortunately they come and go over time. And when they go, the code they contributed still must be maintained. Hence you fall back to the 1 person dev team concept which is mostly what has been around as an average over the last three years of development. + +## Target Device + +The priority target for QGC UI design is a tablet, both from a touch standpoint and a screen size standpoint (think 10" Samsung Galaxy tab). Other device types and sizes may see some sacrifices of visuals and/or usability due to this decision. The current order when making priority based decisions is Tablet, Laptop, Desktop, Phone (any small screen). + +### Phone sized screen support + +As specified above, at this point smaller phone sized screens are the lowest level priority for QGC. More focus is put onto making active flight level displays, such as the Fly view, more usable. Less focus is placed on Setup related views such as Setup and Plan. Those specific views are tested to be functionally usable on small screens but they may be painful to use. + +## Development tools used + +### Qt Layout controls + +QGC does not have differently coded UIs which are targeted to different screen sizes and/or form factors. In general it uses QML Layout capabilities to reflow a single set of QML UI code to fit different form factors. In some cases it provides less detail on small screen sizes to make things fit. But that is a simple visibility pattern. + +### FactSystem + +Internal to QGC is a system which is used to manage all of the individual pieces of data within the system. This data model is then connected to controls. + +### Heavy reliance on reusable controls + +QGC UI is developed from a base set of reusable controls and UI elements. This way any new feature added to a reusable control is now available throughout the UI. These reusable controls also connect to FactSystem Facts which then automatically provides appropriate UI. + +## Cons for this design pattern + +- The QGC user interface ends up being a hybrid style of desktop/laptop/tablet/phone. Hence not necessarily looking or feeling like it is optimized to any of these. +- Given the target device priority list and the fact that QGC tends to just re-layout the same UI elements to fit different form factors you will find this hybrid approach gets worse as you get farther away from the priority target. Hence small phone sized screens taking the worst hit on usability. +- The QGC reusable control set may not provide the absolute best UI in some cases. But it is still used to prevent the creation of additional maintenance surface area. +- Since the QGC UI uses the same UI code for all OSes, QGC does not follow the UI design guidelines specified by the OS itself. It has it's own visual style which is somewhat of a hybrid of things picked from each OS. Hence the UI looks and works mostly the same on all OS. Once again this means for example that QGC running on Android won't necessarily look like an android app. Or QGC running on an iPhone will not look or work like most other iPhone apps. That said the QGC visual/functional style should be understandable to these OS users. + +## Pros for this design pattern + +- It takes less time to design a new feature since the UI coding is done once using this hybrid model and control set. Layout reflow is quite capable in Qt QML and becomes second nature once you get used to it. +- A piece of UI can be functionally tested on one platform since the functional code is the same across all form factors. Only layout flow must be visually checked on multiple devices but this is fairly easily done using the mobile simulators. In most cases this is what is needed: + - Use desktop build, resizing windows to test reflow. This will generally cover a tablet sized screen as well. + - Use a mobile simulator to visually verify a phone sized screen. On OSX XCode iPhone simulator works really well. +- All of the above are critical to keeping our hypothetical 1 person dev team efficient and to keep quality high. + +## Future directions + +- Raise phone (small screen) level prioritization to be more equal to Tablet. Current thinking is that this won't happen until a 3.3 release time frame (release after current one being worked on). diff --git a/docs/zh/docs/en/qgc-dev-guide/views/fly.md b/docs/zh/docs/en/qgc-dev-guide/views/fly.md new file mode 100644 index 00000000000..a9f5a8e6c7c --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/views/fly.md @@ -0,0 +1,8 @@ +# Fly View + +- Top level QML code is in **FlightDisplayView\.qml** +- QML code communicates with `MissionController` (C++) for mission display +- Instrument widgets communicate with active Vehicle object +- Two main inner views are: + - `FlightDisplayViewMap` + - `FlightDisplayViewVideo` diff --git a/docs/zh/docs/en/qgc-dev-guide/views/index.md b/docs/zh/docs/en/qgc-dev-guide/views/index.md new file mode 100644 index 00000000000..9cf9e09ef22 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/views/index.md @@ -0,0 +1,3 @@ +# Top Level Views + +This section contains topics about the code for the top level views: settings, setup, plan and fly. diff --git a/docs/zh/docs/en/qgc-dev-guide/views/plan.md b/docs/zh/docs/en/qgc-dev-guide/views/plan.md new file mode 100644 index 00000000000..8ca6765fdf6 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/views/plan.md @@ -0,0 +1,5 @@ +# Plan View + +- Top level QML code is in [PlanView.qml](https://github.com/mavlink/qgroundcontrol/blob/master/src/plan_view/PlanView.qml) +- Main visual UI is a FlightMap control +- QML communicates with MissionController (C++) which provides the view with the mission item data and methods diff --git a/docs/zh/docs/en/qgc-dev-guide/views/settings.md b/docs/zh/docs/en/qgc-dev-guide/views/settings.md new file mode 100644 index 00000000000..8ac25ed099b --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/views/settings.md @@ -0,0 +1,4 @@ +# Settings View + +- Top level QML code is **AppSettings.qml** +- Each button loads a separate QML page diff --git a/docs/zh/docs/en/qgc-dev-guide/views/setup.md b/docs/zh/docs/en/qgc-dev-guide/views/setup.md new file mode 100644 index 00000000000..0dd51a0b157 --- /dev/null +++ b/docs/zh/docs/en/qgc-dev-guide/views/setup.md @@ -0,0 +1,5 @@ +# Setup View + +- Top level QML code implemented in **SetupView\.qml** +- Fixed set of buttons/pages: Summary, Firmware +- Remainder of buttons/pages come from AutoPilotPlugin VehicleComponent list diff --git a/docs/zh/docs/en/qgc-user-guide/analyze_view/geotag_images.md b/docs/zh/docs/en/qgc-user-guide/analyze_view/geotag_images.md new file mode 100644 index 00000000000..2b5f9547c1a --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/analyze_view/geotag_images.md @@ -0,0 +1,13 @@ +# GeoTag Images (Analyze View) + +The _GeoTag Images_ screen (**Analyze > GeoTag Images**) allows you to geotag images from a survey mission using information in the flight log. + +:::info +This feature only works with _PX4_ flight stack logs. +ArduPilot is not supported. +::: + +![Analyze View GeoTag Images](../../../assets/analyze/geotag_images.jpg) + +Select the log file, image directory and (optionally) output directory for geotagged images using the buttons provided. +Click **Start Tagging** to generate the geotagged images. diff --git a/docs/zh/docs/en/qgc-user-guide/analyze_view/index.md b/docs/zh/docs/en/qgc-user-guide/analyze_view/index.md new file mode 100644 index 00000000000..7c507283f39 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/analyze_view/index.md @@ -0,0 +1,12 @@ +# Analyze View + +The _Analyze View_ is accessed by selecting the _QGroundControl_ application menu ("Q" icon in the top left corner) and then selecting the **Analyze Tools** button (from the _Select Tool_ popup). + +![Analyze ](../../../assets/analyze/menu_analyze_tool.png) + +The view provides tools to: + +- [Download Logs](../analyze_view/log_download.md) — List, download and clear logs on the vehicle. +- [GeoTag Images (PX4)](../analyze_view/geotag_images.md) — Geotag survey mission images using the flight log (on a computer). +- [MAVLink Console (PX4)](../analyze_view/mavlink_console.md) — Access the the nsh shell running on the vehicle. +- [MAVLink Inspector](../analyze_view/mavlink_inspector.md) — Display and chart received MAVLink messages/values. diff --git a/docs/zh/docs/en/qgc-user-guide/analyze_view/log_download.md b/docs/zh/docs/en/qgc-user-guide/analyze_view/log_download.md new file mode 100644 index 00000000000..90ac5b82174 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/analyze_view/log_download.md @@ -0,0 +1,6 @@ +# Log Download (Analyze View) + +The _Log Download_ screen (**Analyze > Log Download**) is used to list (_Refresh_), +_Download_ and _Erase All_ log files from the connected vehicle. + +![Analyze View Log Download](../../../assets/analyze/log_download.jpg) diff --git a/docs/zh/docs/en/qgc-user-guide/analyze_view/mavlink_console.md b/docs/zh/docs/en/qgc-user-guide/analyze_view/mavlink_console.md new file mode 100644 index 00000000000..69c0eae0df2 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/analyze_view/mavlink_console.md @@ -0,0 +1,20 @@ +# MAVLink Console (Analyze View) + +The MAVLink Console (**Analyze > Mavlink Console**) allows you to connect to the PX4 [System Console](https://docs.px4.io/main/en/debug/system_console.html) and send commands. + +:::info +The console only works when connected to _hardware_ running the _PX4_ flight stack. +PX4 SITL and ArduPilot are not supported. +::: + +:::tip +This is a very useful feature for developers as it allows deep access to the system. In particular, if you are connected via Wifi, you can have this same level of access while the vehicle is flying. +::: + +![Analyze View MAVLink Console](../../../assets/analyze/mavlink_console.jpg) + +The view does not display any output except in response to commands. +Once the vehicle is connected, you can enter commands in the bar provided (for a full list of available commands enter: `?`). + +Command output is displayed in the view above the command bar. +Click **Show Latest** to jump to the bottom of the command output. diff --git a/docs/zh/docs/en/qgc-user-guide/analyze_view/mavlink_inspector.md b/docs/zh/docs/en/qgc-user-guide/analyze_view/mavlink_inspector.md new file mode 100644 index 00000000000..127fc65ce6a --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/analyze_view/mavlink_inspector.md @@ -0,0 +1,42 @@ +# MAVLink Inspector + +The _MAVLink Inspector_ provides real-time information and charting of MAVLink traffic received by _QGroundControl_. + +:::warning +This feature is intended primarily for **autopilot developers**/**vehicle creators**. +It is only supported on desktop builds (Windows, Linux, Mac OS). +::: + +![MAVLink inspector](../../../assets/analyze/mavlink_inspector/mavlink_inspector.jpg) + +The inspector lists all received messages for the current vehicle, along with their source component id and update frequency. +You can drill down into individual messages to get the message id, source component id, and the values of all the individual fields. +You can also chart field values in real time, selecting multiple fields from multiple messages to display on one of two charts. + +To use the _MAVLink Inspector_: + +1. Open _Analyze View_ by selecting the _QGroundControl_ application menu ("Q" icon in top left corner) and then choosing the **Analyze Tools** button (from the _Select Tool_ popup). + ![Analyze ](../../../assets/analyze/menu_analyze_tool.png) + +2. Select the **MAVLink Inspector** from the sidebar. + + ![MAVLink inspector menu](../../../assets/analyze/mavlink_inspector/mavlink_inspector_menu.jpg) + + The view will start populating with messages as they are received. + +3. Select a message to see its fields and their (dynamically updating) value: + + ![MAVLink inspector: message detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_message_details.jpg) + +4. Add fields to charts by enabling the adjacent checkboxes (plot 1 is displayed below plot 2). + + ![MAVLink inspector: chart fields detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_plot1.jpg) + + - Fields can be added to only one chart. + + - A chart can have multiple fields, and fields from multiple messages (these are listed above each chart). + Messages containing fields that are being charted are highlighted with an asterisk. + + ![MAVLink inspector: chart fields detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_charted_messages.jpg) + + - The _Scale_ and _Range_ are set to sensible values, but can be modified if needed. diff --git a/docs/zh/docs/en/qgc-user-guide/fly_view/fly_view.md b/docs/zh/docs/en/qgc-user-guide/fly_view/fly_view.md new file mode 100644 index 00000000000..4e0edc42877 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/fly_view/fly_view.md @@ -0,0 +1,437 @@ +# Fly View + +The Fly View is used to command and monitor the vehicle when flying. + +You can use it to: + +- Run an automated [pre-flight checklist](#preflight_checklist). +- Arm the vehicle (or check why it won't arm). +- Control missions: [start](#start_mission), [continue](#continue_mission), [pause](#pause), and [resume](#resume_mission). +- Guide the vehicle to [arm](#arm)/[disarm](#disarm)/[emergency stop](#emergency_stop), [takeoff](#takeoff)/[land](#land), [change altitude](#change_altitude), [go to](#goto) or [orbit](#orbit) a particular location, and [return/RTL](#rtl). +- Switch between a map view and a video view (if available) +- Display video, mission, telemetry, and other information for the current vehicle, and also switch between connected vehicles. + +![Fly View](../../../assets/fly/fly_view_overview.jpg) + +## UI Overview + +The screenshot above shows the main elements of the fly view: + +- **Map:** Displays the positions of all connected vehicles and the mission for the current vehicle. + - You can drag the map to move it around (the map automatically re-centres after a certain amount of time). + - Once flying, you can click on the map to set a [Go to](#goto) or [Orbit at](#orbit) location. +- **Fly Toolbar:** Key status information for sensors (GPS, battery, RC control), and vehicle state (Flight mode, Armed/Disarmed status). + - Select the sensor indicators to view more detail. + - Press the _Flight mode_ text (e.g. "Hold") to select a new mode. + Not every mode may be available. + - The text next to the **Q** icon indicates the flight readiness using text: "Not Ready", "Ready to Fly", "Flying", and status using colour: "green" (all good!), amber (a warning), red (serious problem). + Select the text when the background is amber or red to find out the cause of any preflight issues (QGC 4.2.0 and later). + You can also select the text to reach a button to arm/disarm/emergency-stop the vehicle. +- **Fly tools:** You can use these to: + - Toggle between takeoff/land. + - Pause/restart the current operation (e.g. landing, or the mission). + - Safety return (also known as RTL or Return). + - The _Action_ button offers other appropriate options for the current state (these overlay the _Confirmation Slider_). + Actions include changing the altitude or continuing a mission. + - Enable the [preflight checklist](#preflight_checklist) (tool option disabled by default). +- **[Instrument Panel](#instrument_panel):** A widget that displays vehicle telemetry. +- **Attitude/Compass**: A widget that provides virtual horizon and heading information. +- **Camera Tools**: A widget for switching between still and video modes, starting/stopping capture, and controlling camera settings. +- **[Video/Switcher](#video_switcher):** Toggle between video or map in a window. + - Press the element to switch _Video_ and _Map_ to foreground. + - _QGroundControl_ supports RTP and RTSP video streaming over your vehicles UDP connection. + It also supports directly connected UVC devices. + QGC video support is further discussed in the [Video README](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoStreaming/README.md). + - A [Telemetry Overlay](../fly_view/video_overlay.md) is automatically generated as a subtitle file +- **Confirmation Slider:** Context sensitive slider to confirm requested actions. + Slide to start operation. Press **X** to cancel. + +There are a number of other elements that are not displayed by default/are only displayed in certain conditions. +For example, the multi-vehicle selector is only displayed if you have multiple vehicles, and the preflight checklist tool button is only displayed if the appropriate setting is enabled. + +## Instrument Panel (Telemetry) {#instrument\_panel} + +The instrument panel displays telemetry information about the current vehicle. + +![Instrument Panel - for values/telemetry](../../../assets/fly/instrument_panel/instrument_panel_default_values.png) + +The default values include altitude (relative to the home location), horizontal and vertical speed, total flight time, and distance between vehicle and ground station. + +You can configure where the information is displayed by hovering over the panel and selecting the left-side square tool. +This toggles the position of the panel between bottom centre and right-centre. + +![Instrument Panel - hover for move/edit tools](../../../assets/fly/instrument_panel/instrument_panel_tools_move_edit.png) + +You configure what information is display by selecting the edit/pencil icon. +The grid will then display "+" and "-" icons that you can use to add or remove rows and columns (and the pencil icon is replaced by a "lock" icon that you can use to save the settings). + +![Instrument Panel - add rows/columns](../../../assets/fly/instrument_panel/instrument_panel_tools_edit_on.png) + +Select a value to launch its "Value Display" editor. +This allows you to change the icon, text, size, units and so on of the current telemetry value. + +![Instrument Panel - edit a value](../../../assets/fly/instrument_panel/instrument_panel_tools_edit_value.png) + +The selection list on the top left is used to change the source of the telemetry. +By default this is the vehicle, but you can use the selector to choose a particular sensor type. + +![Instrument Panel - value type](../../../assets/fly/instrument_panel/instrument_panel_edit_value_type.png) + +The selection list on the top right is used to select a particular telemetry value for the vehicle or sensor. + +![Instrument Panel - value options](../../../assets/fly/instrument_panel/instrument_panel_edit_value_options.png) + +### Camera {#camera\_instrument\_page} + +The camera panel is used to capture still images and video, and to configure the camera. + +![Camera Panel](../../../assets/fly/camera_panel/camera_mavlink.png) + +The camera capture and configuration options depend on the connected camera. +The configuration options are selected using the panel gear icon. +The configuration for a simple autopilot-connected camera are shown below. + +![Camera Panel - minimal settings](../../../assets/fly/camera_panel/camera_settings_minimal.png) + +When connected to camera that supports the [MAVLink Camera Protocol](https://mavlink.io/en/services/camera.html) you can additionally configure and use other camera services that it makes available. +For example, if your camera supports video mode you will be able to switch between still image capture and video mode, and start/stop recording. + +![Camera Panel - MAVLink settings](../../../assets/fly/camera_panel/camera_settings_mavlink.png) + +::: info +Most of the settings that are displayed depend on the camera (they are defined in its [MAVLink Camera Definition File](https://mavlink.io/en/services/camera_def.html)). + +> A few common settings at the end are hard-coded: Photo Mode (Single/Time Lapse), Photo Interval (if Time Lapse), Reset Camera Defaults (sends a reset command to the camera), Format (storage) +> ::: + +### Video Stream {#video\_instrument\_page} + +The video page is used to enable/disable video streaming. +When enabled, you can start/stop the video stream, enable a grid overlay, change how the image fits the screen, and record the video locally with QGC. + +![Instrument Page - Video Stream](../../../assets/fly/instrument_page_video_stream.jpg) + +## Actions/Tasks + +The following sections describe how to perform common operations/tasks in the Fly View. + +::: info +Many of the available options depend on both the vehicle type and its current state. +::: + +### Pre Flight Checklist {#preflight\_checklist} + +An automated preflight checklist can be used to run through standard checks that the vehicle is configured correctly and it is safe to fly. + +To view the checklist, first enable the tool by navigating to [Application Settings > General > Fly View](../settings_view/general.md) and selecting the **Use preflight checklist** checkbox. +The tool will then be added to the _Flight Tools_. +Press it to open the checklist: + +![Pre Flight Checklist](../../../assets/fly/pre_flight_checklist.jpg) + +Once you have performed each test, select it on the UI to mark it as complete. + +### Arming and Preflight Checks {#arm} + +Arming a vehicle starts the motors in preparation for takeoff. +You will only be able to arm the vehicle if it is safe and ready to fly. + +:::tip +Generally, if the vehicle is ready to arm, _QGroundControl_ will arm the vehicle for you if you start a mission or takeoff. +::: + +The vehicle is ready to fly in all modes if the status text says "Ready to Fly" and the background is green. + +![Vehicle state - ready to fly green/ready background](../../../assets/fly/vehicle_states/ready_to_fly_ok.png) + +If the background is amber then it is ready to take off in the current mode, but may not be able to switch to other modes. +If the background is red and the text is "Not Ready" then you will not be able to arm in the current mode. + +![Vehicle state - ready to fly amber/warning background](../../../assets/fly/vehicle_states/ready_to_fly_warning.png) +![Vehicle state - not ready](../../../assets/fly/vehicle_states/not_ready.png) + +From QGC 4.2.0 (at time of writing, a daily build) you can find out the exact cause of the warning or error, and possible solutions, by pushing the status text. + +This launches the preflight arming checks popup with a list of all preflight warnings. +The toggle on the right expands each error with additional information and possible solutions. + +![UI To check arming warnings](../../../assets/fly/vehicle_states/arming_preflight_check_ui.png) + +Once each issue is resolved it will disappear from the UI. +When all issues blocking arming have been removed you can use the arm button to display the arming confirmation slider, and arm the vehicle (or you can just take off - note that the vehicles will (by default) disarm automatically if you do not take off after a few seconds. + +![Arm confirmation slider](../../../assets/fly/vehicle_states/arming_slider.png) + +::: info +The status text also displays when flying. + +> ![Vehicle state - armed](../../../assets/fly/vehicle_states/armed.png) > ![Vehicle state - flying](../../../assets/fly/vehicle_states/flying.png) +> +> The arming checks UI will open even when flying, allowing you to emergency disarm. +> ::: + +### Disarm {#disarm} + +Disarming the vehicle when landed stops the motors (making the vehicle safe). + +Generally you do not need to explicitly disarm as vehicles will disarm automatically after landing, or shortly after arming if you do not take off. + +If needed, you can do so from the Arming Preflight Checks UI. + +![Disarming](../../../assets/fly/vehicle_states/arming_ui_landed_disarm.png) + +You will then need to use the disarming slider. + +![disarm slider](../../../assets/fly/vehicle_states/disarm_slider.png) + +::: info +Disarming the vehicle while it is flying is called an [Emergency Stop](#emergency_stop) +::: + +### Emergency Stop {#emergency\_stop} + +Emergency stop is effectively the same as disarming the vehicle while it is flying. +Your vehicle will crash! + +If needed, you can do so from the Arming Preflight Checks UI. + +![Disarming when flying](../../../assets/fly/vehicle_states/arming_ui_flying_disarm.png) + +You will then need to use the emergency disarming slider. + +![Emergency disarm slider](../../../assets/fly/vehicle_states/emergency_disarm_slider.png) + +### Takeoff {#takeoff} + +:::tip +If you are starting a mission for a multicopter, _QGroundControl_ will automatically perform the takeoff step. +::: + +To takeoff (when landed): + +1. Press the **Takeoff** button in the _Fly Tools_ (this will toggle to a **Land** button after taking off). +2. Optionally set the takeoff altitude in the right-side vertical slider. +3. Confirm takeoff using the slider. + +![takeoff](../../../assets/fly/takeoff.jpg) + +### Land {#land} + +You can land at the current position at any time while flying: + +1. Press the **Land** button in the _Fly Tools_ (this will toggle to a **Takeoff** button when landed). +2. Confirm landing using the slider. + +![land](../../../assets/fly/land.jpg) + +### RTL/Return + +Return to a "safe point" at any time while flying: + +1. Press the **RTL** button in the _Fly Tools_. +2. Confirm RTL using the slider. + +![rtl](../../../assets/fly/rtl.jpg) + +:::info +Vehicles commonly return to the "home" (takeoff) location and land. +This behaviour depends on the vehicle type and configuration. +For example, rally points or mission landings may be used as alternative return targets. +::: + +### Change Altitude {#change\_altitude} + +You can change altitude while flying, except when in a mission: + +1. Press the **Action** button on the _Fly Tools_ + +2. Select the _Change Altitude_ action from the dialog. + + ![Continue Mission/Change Altitude action](../../../assets/fly/continue_mission_change_altitude_action.jpg) + +3. Move the vertical slider to the desired altitude, then drag the confirmation slider to start the action. + + ![Change altitude](../../../assets/fly/change_altitude.jpg) + +### Goto Location {#goto} + +After taking off you can specify that you want to fly to a particular location. + +1. Left click/Press on the map where you want the vehicle to move and select **Go to location** on the popup. + +![Goto or orbit](../../../assets/fly/goto_or_orbit.jpg) + +1. The location will be displayed on the map, along with a confirmation slider. + + ![Goto confirmation](../../../assets/fly/goto.jpg) + +2. When you're ready, drag the slider to start the operation (or press the **X** icon to cancel it). + +:::info +Goto points must be set within 1 km of the vehicle (hard-coded in QGC). +::: + +### Orbit Location {#orbit} + +After taking off you can specify that you want to orbit a particular location. + +1. Left click/Press on the map (near the centre of your desired orbit) and select **Orbit at location** on the popup. + +![Goto or orbit](../../../assets/fly/goto_or_orbit.jpg) + +1. The proposed orbit will be displayed on the map, along with a confirmation sider. + + ![Orbit confirmation](../../../assets/fly/orbit.jpg) + + - Select and drag the central marker to move the orbit location. + - Select and drag the dot on the outer circle to change the orbit radius + +2. When you're ready, drag the slider to start the operation (or press the **X** icon to cancel it). + +### Pause + +You can pause most operations, including taking off, landing, RTL, mission execution, orbit at location. +The vehicle behaviour when paused depends on the vehicle type; typically a multicopter will hover, and a fixed wing vehicle will circle. + +:::info +You cannot pause a _Goto location_ operation. +::: + +To pause: + +1. Press the **Pause** button in the _Fly Tools_. +2. Optionally set a new altitude using the right-side vertical slider. +3. Confirm the pause using the slider. + +![pause](../../../assets/fly/pause.jpg) + +### Missions + +#### Start Mission {#start\_mission} + +You can start a mission when the vehicle is landed (the start mission confirmation slider is often displayed by default). + +To start a mission from landed: + +1. Press the **Action** button on the _Fly Tools_ + +2. Select the _Start Mission_ action from the dialog. + + ![Start mission action](../../../assets/fly/start_mission_action.jpg) + + (to display the confirmation slider) + +3. When the confirmation slider appears, drag it to start the mission. + + ![Start mission](../../../assets/fly/start_mission.jpg) + +#### Continue Mission {#continue\_mission} + +You can _continue_ mission from the _next_ waypoint when you're flying (the _Continue Mission_ confirmation slider is often displayed by default after you takeoff). + +:::info +Continue and [Resume mission](#resume_mission) are different! +Continue is used to restart a mission that has been paused, or where you have taken off, so you've already missed a takeoff mission command. +Resume mission is used when you've used a RTL or landed midway through a mission (e.g. for a battery change) and then wish to continue the next mission item (i.e. it takes you to where you were up to in the mission, rather than continuing from your place in the mission). +::: + +You can continue the current mission while (unless already in a mission!): + +1. Press the **Action** button on the _Fly Tools_ + +2. Select the _Continue Mission_ action from the dialog. + + ![Continue Mission/Change Altitude action](../../../assets/fly/continue_mission_change_altitude_action.jpg) + +3. Drag the confirmation slider to continue the mission. + + ![Continue Mission](../../../assets/fly/continue_mission.jpg) + +#### Resume Mission {#resume\_mission} + +_Resume Mission_ is used to resume a mission after performing an [RTL/Return](#rtl) or [Land](#land) from within a mission (in order, for example, to perform a battery change). + +:::info +If you are performing a battery change, **do not** disconnect QGC from the vehicle after disconnecting the battery. +After you insert the new battery _QGroundControl_ will detect the vehicle again and automatically restore the connection. +::: + +After landing you will be prompted with a _Flight Plan complete_ dialog, which gives you the option to remove the plan from the vehicle, leave it on the vehicle, or to resume the mission from the last waypoint that was traveled through. + +![Resume Mission](../../../assets/fly/resume_mission.jpg) + +If you select to resume the mission, then _QGroundControl_ will rebuild the mission and upload it to the vehicle. +Then use the _Start Mission_ slider to continue the mission. + +The image below shows the mission that was rebuilt after the Return shown above. + +![Resume Rebuilt Mission](../../../assets/fly/resume_mission_rebuilt.jpg) + +:::info +A mission cannot simply resume from the last mission item that the vehicle executed, because there may be multiple items at the last waypoint that affect the next stage of the mission (e.g. speed commands or camera control commands). +Instead _QGroundControl_ rebuilds the mission, starting from the last mission item flown, and automatically prepending any relevant commands to the front of the mission. +::: + +#### Remove Mission Prompt After Landing {#resume\_mission\_prompt} + +You will be prompted to remove the mission from the vehicle after the mission completes and the vehicle lands and disarms. +This is meant to prevent issues where stale missions are unknowingly left on a vehicle, potentially resulting in unexpected behavior. + +### Display Video {#video\_switcher} + +When video streaming is enabled, _QGroundControl_ will display the video stream for the currently selected vehicle in the "video switcher window" at the bottom left of the map. +You can press the switcher anywhere to toggle _Video_ and _Map_ to foreground (in the image below, the video is shown in the foreground). + +![Video Stream Record](../../../assets/fly/video_record.jpg) + +:::info +Video streaming is configured/enabled in [Application Settings > General tab > Video](../settings_view/general.md#video). +::: + +You can further configure video display using controls on the switcher: + +![Video Pop](../../../assets/fly/video_pop.jpg) + +- Resize the switcher by dragging the icon in the top right corner. +- Hide the switcher by pressing the toggle icon in the lower left. +- Detach the video switcher window by pressing on the icon in its top left corner + (once detached, you can move and resize the window just like any other in your OS). + If you close the detached window the switcher will re-lock to the QGC Fly view. + +### Record Video + +If supported by the camera and vehicle, _QGroundControl_ can start and stop video recording on the camera itself. _QGroundControl_ can also record the video stream and save it locally. + +:::tip +Video stored on the camera may be of much higher quality, but it is likely that your ground station will have a much larger recording capacity. +::: + +#### Record Video Stream (on GCS) + +Video stream recording is controlled on the [video stream instrument page](#video_instrument_page). +Press the red circle to start recording a new video (a new video file is created each time the circle is pressed); the circle will change into a red square while recording is in progress. + +![Video Stream Record](../../../assets/fly/video_record.jpg) + +Video stream recording is configured in the [Application Settings > General tab](../settings_view/general.md): + +- [Video Recording](../settings_view/general.md#video-recording) - specifies the recording file format and storage limits. + + ::: info + Videos are saved in Matroska format (.mkv) by default. + This format is relatively robust against corruption in case of errors. + ::: + +- [Miscellaneous](../settings_view/general.md#miscellaneous) - Streamed video is saved under the **Application Load/Save Path**. + +:::tip +The stored video includes just the video stream itself. +To record video with QGroundControl application elements displayed, you should use separate screen recording software. +::: + +#### Record Video on Camera + +Start/stop video recording _on the camera itself_ using the [camera instrument page](#camera_instrument_page). +First toggle to video mode, then select the red button to start recording. + +![Instrument Page - Camera MAVLink Settings](../../../assets/fly/instrument_page_camera_mavlink.jpg) diff --git a/docs/zh/docs/en/qgc-user-guide/fly_view/replay_flight_data.md b/docs/zh/docs/en/qgc-user-guide/fly_view/replay_flight_data.md new file mode 100644 index 00000000000..280359e29eb --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/fly_view/replay_flight_data.md @@ -0,0 +1,40 @@ +# Replay Flight Data + +:::warning +This feature is intended primarily for **autopilot developers**/**vehicle creators**. +It is only supported on desktop builds (Windows, Linux, Mac OS). +::: + +The _Replay Flight Data_ feature allows users to replay a telemetry log, enabling review of past or problematic flights. +The flight can be started, paused, stopped, restarted etc. + +:::info +_QGroundControl_ treats flight replay like an active connection. +When you pause/stop playing, the ground station will report "Communication Lost" and wait for disconnection or for more messages. +::: + +To replay a flight: + +1. Disconnect any active connections. + +2. Select **Application Settings > General > Fly View** + +3. Check **Show Telemetry Log Replay Status Bar** to toggle the flight replay bar at the bottom of the screen. + + ![Toggle Flight Replay](../../../assets/fly/flight_replay/flight_replay_toggle.jpg) + +4. Select the **Load Telemetry Log** button in the bar to display a _file selection_ dialog. + - Choose a log file to replay from the available telemetry logs. + - _QGroundControl_ will immediately start playing the log. + +5. When a log is loaded you can use the: + - **Pause/Play** button to pause and restart playing. + - _Slider_ to drag to a new position in the log. + - _Rate_ selector to choose the playback speed. + +6. To stop replay (i.e. to load a new file to replay), first pause the flight, and then select **Disconnect** (when it appears). + After disconnecting, the **Load Telemetry Log** button will be displayed. + +:::tip +You can inspect the running replay in more detail using the [MAVLink Inspector](../analyze_view/mavlink_inspector.md). +::: diff --git a/docs/zh/docs/en/qgc-user-guide/fly_view/video_overlay.md b/docs/zh/docs/en/qgc-user-guide/fly_view/video_overlay.md new file mode 100644 index 00000000000..a43f80d34d6 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/fly_view/video_overlay.md @@ -0,0 +1,42 @@ +# Video Overlay + +When QGroundControl is recording a video stream to a file, it will also export a subtitle file with telemetry data that can be used to overlay the telemetry on the video during playback. Whichever telemetry values are selected for display in the telemetry [values widget](FlyView.md#values-telemetry) will also be exported to the overlay. The overlay values are updated at 1Hz. + +![Values Widget](../../../assets/fly/overlay_widget.png) + +The selected values are laid out in three columns to optimize the screen utilization. +![Overlay in action](../../../assets/fly/overlay_capture.png) + +## Playing + +The overlay can be used with any player that [supports the SubStation Alpha](https://en.wikipedia.org/wiki/SubStation_Alpha#Players_and_renderers) subtitle format. +Most players will open both files together when you try to play the video. They need to be in the same folder and with the same name, which is how they are created by QGC. + +## Permanent Video Subtitles using Handbrake + +Subtitles can be permanently added to a video file using [HandBrake](https://handbrake.fr/). +This will make the subtitles permanently visible on any video player. + +Open **HandBrake**, you should see its main interface. +Click **Open** and select the video file. + +![Handbrake UI showing how to open video file](../../../assets/fly/video_overlay/1-open.png) + +With the video file loaded, switch to the subtitles tab. +Click **Add** to load the subtitle file. + +![Handbrake UI screenshot showing how to add subtitles](../../../assets/fly/video_overlay/2-subtitles.png) + +Choose **import SSA** ([ASS](https://en.wikipedia.org/wiki/SubStation_Alpha#Advanced_SubStation_Alpha) is an extension of SSA). + +![Import SSA file](../../../assets/fly/video_overlay/3-ssa.png) + +Load the **.ass** file corresponding to your video and tick the **Burn into video** checkbox. + +![burn](../../../assets/fly/video_overlay/4-openandburn.png) + +Choose where you want to save the new file and click **Start**. + +![Start burning new file](../../../assets/fly/video_overlay/5-start.png) + +This will start burning the subtitle and video to a new file. diff --git a/docs/zh/docs/en/qgc-user-guide/getting_started/download_and_install.md b/docs/zh/docs/en/qgc-user-guide/getting_started/download_and_install.md new file mode 100644 index 00000000000..1ff59f859cc --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/getting_started/download_and_install.md @@ -0,0 +1,106 @@ +# Download and Install + +The sections below can be used to download the [current stable release](../releases/release_notes.md) of _QGroundControl_ for each platform. + +:::tip +See [Troubleshooting QGC Setup](../troubleshooting/qgc_setup.md) if _QGroundControl_ doesn't start and run properly after installation! +::: + +## System Requirements + +QGC should run well on any modern computer or mobile device. Performance will depend on the system environment, 3rd party applications, and available system resources. +More capable hardware will provide a better experience. +A computer with at least 8Gb RAM, an SSD, Nvidia or AMD graphics and an i5 or better CPU will be suitable for most applications. + +For the best experience and compatibility, we recommend you the newest version of your operating system. + +## Windows {#windows} + +_QGroundControl_ can be installed on 64 bit versions of Windows: + +1. Download [QGroundControl-installer.exe](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl-installer.exe). +2. Double click the executable to launch the installer. + +:::info +The Windows installer creates 3 shortcuts: **QGroundControl**, **GPU Compatibility Mode**, **GPU Safe Mode**. +Use the first shortcut unless you experience startup or video rendering issues. +For more information see [Troubleshooting QGC Setup > Windows: UI Rendering/Video Driver Issues](../troubleshooting/qgc_setup.md#opengl_troubleshooting). +::: + +:::info +Prebuilt _QGroundControl_ versions from 4.0 onwards are 64-bit only. +It is possible to manually build 32 bit versions (this is not supported by the dev team). +::: + +## Mac OS X {#macOS} + +_QGroundControl_ can be installed on macOS 10.11 or later: + + + + + +1. Download [QGroundControl.dmg](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.dmg). +2. Double-click the .dmg file to mount it, then drag the _QGroundControl_ application to your _Application_ folder. + +::: info +QGroundControl continues to not be signed which causes problem on Catalina. To open QGC app for the first time: + +- Right-click the QGC app icon, select Open from the menu. You will only be presented with an option to Cancel. Select Cancel. +- Right-click the QGC app icon again, Open from the menu. This time you will be presented with the option to Open. + ::: + +## Ubuntu Linux {#ubuntu} + +_QGroundControl_ can be installed/run on Ubuntu LTS 20.04 (and later). + +Ubuntu comes with a serial modem manager that interferes with any robotics related use of a serial port (or USB serial). +Before installing _QGroundControl_ you should remove the modem manager and grant yourself permissions to access the serial port. +You also need to install _GStreamer_ in order to support video streaming. + +Before installing _QGroundControl_ for the first time: + +1. On the command prompt enter: + ```sh + sudo usermod -a -G dialout $USER + sudo apt-get remove modemmanager -y + sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y + sudo apt install libqt5gui5 -y + sudo apt install libfuse2 -y + ``` + +2. Logout and login again to enable the change to user permissions. + +  +To install _QGroundControl_: + +1. Download [QGroundControl.AppImage](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.AppImage). +2. Install (and run) using the terminal commands: + ```sh + chmod +x ./QGroundControl.AppImage + ./QGroundControl.AppImage (or double click) + ``` + +::: info +There are known [video steaming issues](../troubleshooting/qgc_setup.md#dual_vga) on Ubuntu 18.04 systems with dual adaptors. +::: + +:::info +Prebuilt _QGroundControl_ versions from 4.0 cannot run on Ubuntu 16.04. +To run these versions on Ubuntu 16.04 you can [build QGroundControl from source without video libraries](https://dev.qgroundcontrol.com/en/getting_started/). +::: + +## Android {#android} + +_QGroundControl_ is temporily unavailable from the Google Play Store. You can install manually from here: + +- [Android 32 bit APK](https://qgroundcontrol.s3-us-west-2.amazonaws.com/latest/QGroundControl32.apk) +- [Android 64 bit APK](https://qgroundcontrol.s3-us-west-2.amazonaws.com/latest/QGroundControl64.apk) + +## Old Stable Releases + +Old stable releases can be found on GitHub. + +## Daily Builds + +Daily builds can be [downloaded from here](../releases/daily_builds.md). diff --git a/docs/zh/docs/en/qgc-user-guide/getting_started/quick_start.md b/docs/zh/docs/en/qgc-user-guide/getting_started/quick_start.md new file mode 100644 index 00000000000..616f3c188fd --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/getting_started/quick_start.md @@ -0,0 +1,27 @@ +# QGroundControl Quick Start + +Getting _QGroundControl_ up and running is quick and easy: + +1. [Download and install](../getting_started/download_and_install.md) the application. +2. Start _QGroundControl_. +3. Attach your vehicle to the ground station device via USB, through a telemetry radio, or over WiFi. _QGroundControl_ should detect your vehicle and connect to it automatically. + +That's it! If the vehicle is ready to fly, _QGroundControl_ should display [Fly View](../fly_view/fly_view.md) as shown below (otherwise it will open [Setup View](../setup_view/setup_view.md)). + +![](../../../assets/quickstart/fly_view_connected_vehicle.jpg) + +A good way to become familiar with _QGroundControl_ is to start experimenting: + +- Use the [toolbar](../toolbar/toolbar.md) to switch between the main views: + - [Settings](../settings_view/settings_view.md): Configure the _QGroundControl_ application. + - [Setup](../setup_view/setup_view.md): Configure and tune your vehicle. + - [Plan](../plan_view/plan_view.md): Create autonomous missions. + - [Fly](../fly_view/fly_view.md): Monitor your vehicle(s) while flying, including streaming video. + - \[Analyze] \*\* Description of Analyze view is missing \*\* +- Click the _Status icons_ on the toolbar to find out the status of the connected vehicle. + +While the UI is fairly intuitive, this documentation can also be referenced to find out more. + +:::info +Make sure QGC has an internet connection when you connect a new vehicle. This will allow it to get the latest parameter and other metadata for the vehicle, along with [translations](../settings_view/general.md#miscellaneous). +::: diff --git a/docs/zh/docs/en/qgc-user-guide/index.md b/docs/zh/docs/en/qgc-user-guide/index.md new file mode 100644 index 00000000000..9a7b80beba3 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/index.md @@ -0,0 +1,27 @@ +# QGroundControl User Guide + +[![Releases](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases) [![Discuss](https://img.shields.io/badge/discuss-px4-ff69b4.svg)](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-usage) [![Discuss](https://img.shields.io/badge/discuss-ardupilot-ff69b4.svg)](http://discuss.ardupilot.org/c/ground-control-software/qgroundcontrol) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mavlink/qgroundcontrol?utm_source=badge\&utm_medium=badge\&utm_campaign=pr-badge\&utm_content=badge) [![Slack](../../assets/site/slack.svg)](https://join.slack.com/t/px4/shared_invite/zt-si4xo5qs-R4baYFmMjlrT4rQK5yUnaA) + +_QGroundControl_ provides full flight control and vehicle setup for PX4 or ArduPilot powered vehicles. +It provides easy and straightforward usage for beginners, while still delivering high end feature support for experienced users. + +**Key Features:** + +- Full setup/configuration of ArduPilot and PX4 Pro powered vehicles. +- Flight support for vehicles running PX4 and ArduPilot (or any other autopilot that communicates using the MAVLink protocol). +- Mission planning for autonomous flight. +- Flight map display showing vehicle position, flight track, waypoints and vehicle instruments. +- Video streaming with instrument display overlays. +- Support for managing multiple vehicles. +- QGC runs on Windows, OS X, Linux platforms, iOS and Android devices. + +![](../../assets/quickstart/connected_vehicle.jpg) + +:::info +This guide is an active work in progress. +The information provided should be correct, but you may find missing information or incomplete pages. +::: + +:::tip +Information about _QGroundControl_ development, architecture, contributing, and translating can be found in the [Developers Guide](https://dev.qgroundcontrol.com/en/). +::: diff --git a/docs/zh/docs/en/qgc-user-guide/plan_view/pattern.md b/docs/zh/docs/en/qgc-user-guide/plan_view/pattern.md new file mode 100644 index 00000000000..805e06765e0 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/plan_view/pattern.md @@ -0,0 +1,13 @@ +# Pattern + +The _Pattern tools_ (in the [PlanView](../plan_view/plan_view.md) _Plan Tools_) allow you to specify complex flight patterns using a simple graphical UI. +The available pattern tools depend on the vehicle (and support for the vehicle-type in the flight stack). + +![Pattern Tool (Plan Tools)](../../../assets/plan/pattern/pattern_tool.jpg) + +| Pattern | Description | Vehicles | +| ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | +| [Survey](../plan_view/pattern_survey.md) | Create a grid flight pattern over a polygonal area.
You can specify the polygon as well as the specifications for the grid and camera settings appropriate for creating geotagged images. | All | +| [Structure Scan](../plan_view/pattern_structure_scan_v2.md) | Create a grid flight pattern that captures images over vertical surfaces (polygonal or circular).
These are typically used for the visual inspection or creation of 3D models of structures. | MultiCopter, VTOL | +| [Corridor Scan](../plan_view/pattern_corridor_scan.md) | Create a flight pattern which follows a poly-line (for example, to survey a road). | All | +| [Fixed Wing Landing](../plan_view/pattern_fixed_wing_landing.md) | Add a landing pattern for fixed wing vehicles to a mission. | Fixed Wing | diff --git a/docs/zh/docs/en/qgc-user-guide/plan_view/pattern_corridor_scan.md b/docs/zh/docs/en/qgc-user-guide/plan_view/pattern_corridor_scan.md new file mode 100644 index 00000000000..d5195290484 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/plan_view/pattern_corridor_scan.md @@ -0,0 +1,102 @@ +# Corridor Scan (Plan Pattern) + +A corridor scan allows you to create a flight pattern that follows a poly-line. This can be used to, for example, survey a road. It is supported on all autopilots and vehicle types. + +> **Important** When planning a Corridor Scan using camera specifications the ground elevations under your survey area are assumed to be at the same altitude as your launch/home location. If the ground elevation under your survey area is either higher or lower than your launch/home location the effective overlap in your images will be less or more (respectively) than calculated. If ground elevation under your survey area is significantly higher than your launch/home location you could inadvertently plan a mission which causes the vehicle to fly into trees, obstacles, or the ground. Use Terrain Follow to create a survey that more closely maintains the desired altitude above terrain that has significant elevation differences from your launch/home altitude. + +![Corridor Scan](../../../assets/plan/corridor_scan.jpg) + +You can specify the path, the width of the corridor, and camera settings appropriate for creating geotagged images. + +## Creating a Scan + +To create a corridor scan: + +1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + +2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Corridor Scan_. + + ![Corridor Scan](../../../assets/plan/corridor_scan_menu.jpg) + + This will add a corridor to the map, and a _Corridor Scan_ item to the mission list (on the right). + +3. On the map drag the ends of the corridor to the start and end positions of the scan, respectively. + +4. Click the `(+)` symbol at the centre of a line to create a new vertix. + The new vertix can then be dragged into position to follow the path of the desired corridor. + +The corridor scan settings are covered in the next section. + +## Settings + +The corridor scan can be further configured in the associated mission item (in the mission item list on the right hand side of the Plan View). + +### Camera + +Camera triggering behaviour depends on the camera/camera settings. +You can select an existing camera or manually enter the settings. +The list of available cameras (QGC 3.4) is given below. + +![Corridor Scan - Select Camera](../../../assets/plan/corridor_scan_settings_camera_select.jpg) + +#### Known Camera + +Selecting a known camera from the option dropdown allows you to generate a grid pattern based on the camera's specifications. + +![Corridor Scan - Camera Settings Canon SX260](../../../assets/plan/corridor_scan_settings_camera_canon_sx260.jpg) + +The configurable options are: + +- **Landscape/Portrait** - Camera orientation relative to the "normal" orientation of the vehicle. +- **Image Overlap** - Overlap between each image. +- Select one of: + - **Altitude** - Survey altitude (ground resolution will be calculated/displayed for this altitude). + - **Ground resolution** - Ground resolution for each image (altitude required to achieve this resolution calculated and shown). + +#### Manual Camera + +The manual camera option allows you to specify desired survey height, trigger interval and appropriate grid spacing for your camera. + +![Corridor Scan - Manual Camera Settings](../../../assets/plan/corridor_scan_settings_camera_manual.jpg) + +The configurable options are: + +- **Altitude** - Survey altitude. +- **Trigger Distance** - The distance over ground between each camera shot. +- **Spacing** - Distance between adjacent grid (flight path) lines across the corridor. + +### Corridor + +![Corridor Scan - Corridor Settings](../../../assets/plan/corridor_scan_settings_corridor.jpg) + +The configurable options are: + +- **Width** - Set the width of the scan around the polyline that defines the path. +- **Turnaround dist** - Amount of additional distance to add outside the survey area for vehicle turn around. +- **Take images in turnarounds** - Check to enable image capture a turnaround points. +- **Relative altitude** - Check to specify a relative altitude. This is only supported for manual grids that are not using [terrain following](#terrain_following). +- **Rotate entry point** - Press button to swap the start and end point of the corridor scan. + +### Terrain Following {#terrain\_following} + +By default a flying vehicle will follow the corridor path at a fixed altitude. +Enabling _Terrain Following_ makes the vehicle maintain a constant height relative to ground. + +![Corridor Scan - Terrain Following Settings](../../../assets/plan/corridor_scan_settings_terrain.jpg) + +:::info +Terrain following uses terrain heights queried from _AirMap_ servers. +::: + +The configurable options are: + +- **Vehicle follows terrain** - Check to enable terrain following (and display the following options). + - **Tolerance** - The accepted deviation in altitude from the target altitude. + - **Max Climb Rate** - Maximum climb rate when following terrain. + - **Max Descent Rate** - Maximum descent rate when following terrain. + +### Statistics + +The _Statistics_ section shows the calculated survey area, photo interval, photo spacing and planned photo count. + +![Corridor Scan - Statistics](../../../assets/plan/corridor_scan_settings_statistics.jpg) diff --git a/docs/zh/docs/en/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md b/docs/zh/docs/en/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md new file mode 100644 index 00000000000..451aefb2881 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md @@ -0,0 +1,77 @@ +# Fixed Wing Landing Pattern (Plan Pattern) + +The _Fixed Wing Landing Pattern_ tool allows you to add a fixed wing landing pattern to a mission. +It is supported on both ArduPilot and PX4. + +![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern.jpg) + +The first point of the pattern is a loiter point with a specific altitude and the second is a landing point. +The vehicle will loiter at the first point until it reaches the target altitude, and then begin the landing sequence to fly down to the specified landing spot. + +Both the loiter and land points can be dragged to new positions, and a number of other settings can be configured in the associated mission item. + +## Creating a Landing Pattern + +To create a landing pattern: + +1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + +2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Fixed Wing Landing Pattern_. + + ![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern_menu.jpg) + + This will add a _Landing Pattern_ item to the mission list (on the right). + + ![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern_mission_item_initial.jpg) + +3. Click on the map to create both the loiter point and the landing point. + These can be moved on the map. + +Additional settings are covered in the next section. + +## Settings + +The landing pattern can be further configured in the associated mission item (in the mission item list on the right hand side of the Plan View). + +### Loiter Point + +The _Loiter Point_ settings are used to configure the loiter altitude, radius and direction. + +![Landing Pattern - Loiter Point](../../../assets/plan/pattern/fixed_wing_landing_pattern_settings_loiter.jpg) + +The configurable options are: + +- **Altitude** - Loiter altitude. +- **Radius** - Loiter radius. +- **Loiter clockwise** - Check to loiter in a clockwise direction (anti-clockwise is the default). + +### Landing Point + +The _Landing Point_ settings are used to configure the landing position and path. + +![Landing Pattern - Landing Point](../../../assets/plan/pattern/fixed_wing_landing_pattern_settings_landing.jpg) + +The configurable options are: + +- **Heading** - Heading from loiter point to land point. +- **Altitude** - Altitude for landing point (nominally zero). +- _Radio Buttons_ + - **Landing Dist** - Distance between loiter point and landing point. + - **Glide Slope** - Glide slope between loiter point and landing point. +- **Altitudes relative to home** - Check to set all altitudes in mission item to be relative to home (default is AMSL). + +## Implementation + +This pattern creates three mission items: + +- `DO_LAND_START` - If you abort a landing it sends `DO_GO_AROUND` to the vehicle, which then causes the mission to return to this point and try to land again. +- `NAV_LOITER_TO_ALT` - Start point for landing +- `NAV_LAND` - End point for landing + +The vehicle flares to landing using a flight path generated by the firmware between the `NAV_LOITER_TO_ALT` point and the `NAV_LAND` point. + +If those two locations violate the vehicle's flare constraints (e.g. descent angle is too steep) an error will be raised after you upload the invalid mission to the vehicle. + +:::info +On PX4, violating the flare constraints sends an error message to the ground station at upload time, and the autopilot will refuse to start the mission (since it fails integrity checks). +::: diff --git a/docs/zh/docs/en/qgc-user-guide/plan_view/pattern_presets.md b/docs/zh/docs/en/qgc-user-guide/plan_view/pattern_presets.md new file mode 100644 index 00000000000..fc94879d5d6 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/plan_view/pattern_presets.md @@ -0,0 +1,34 @@ +# Plan View - Pattern Presets + +Allows you to save commonly used settings as a named preset. + +:::info +Currently only supported by Survey. Support for other Patterns is in development. +::: + +## Managing Presets + +![Preset Combo](../../../assets/plan/pattern/pattern_preset_combo.jpg) + +Pattern items have a new selection at the top which allows you to manage presets: + +- **Custom (specify all settings)** This allows you to _not_ use a preset and specify all settings manually. +- **Save Settings As Preset** Saves the current settings as a named preset. +- **Delete Current Preset** Deletes the currently selected preset. +- **Presets:** Below this item will be listed the available presets for this pattern. + +## Creating/Updating A Preset + +![Preset Save](../../../assets/plan/pattern/pattern_preset_save.jpg) + +When you select **Save Settings As Preset** you will be prompted for the preset name. To save new settings for an existing preset select **Save Settings As Preset** while a preset is currently selected. + +You can also specify whether you want to save the currently selected camera in the preset. If you choose not to save the camera with the preset then the current camera will be used when loading the preset. You will also be able to change to a different camera when using the preset. Unless you fly your vehicle with different cameras at different times with the same preset you should select to save the camera in the preset. + +## Viewing Preset Settings + +If you want to view what the exact settings are for a Preset switch back to **Custom (specify all settings)** which will show you all the settings. Then you can switch back to using the named preset when done. + +## Presets In A Plan File + +The currently selected Preset is also saved in the Plan file such that when you load the Plan back the preset will once again be selected. Keep in mind that presets are specific to your version of QGroundControl. If you share a Plan file with a preset with another user, incorrect behavior may occur if that other user also has a preset of the same name but different settings. diff --git a/docs/zh/docs/en/qgc-user-guide/plan_view/pattern_structure_scan_v2.md b/docs/zh/docs/en/qgc-user-guide/plan_view/pattern_structure_scan_v2.md new file mode 100644 index 00000000000..c3a73eba65d --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/plan_view/pattern_structure_scan_v2.md @@ -0,0 +1,99 @@ +# Structure Scan (Plan Pattern) + +A _Structure Scan_ allows you to create a grid flight pattern that captures images over _vertical surfaces_ (e.g. walls) around a structure with an arbitrary polygonal (or circular) ground footprint. +Structure Scans are typically used for the visual inspection or creating 3D models of structures. + +_Structure Scans_ may be inserted into a mission using the Plan view **Pattern > Structure Scan** tool. + +:::info +The new version of _Structure Scan_ can't read older _Structure Scan_ plans. They will need to be recreated. +::: + +:::warning +This feature is not yet supported by ArduPilot firmware. +It is supported in PX4. +::: + +## Overview + +The image below shows a screenshot of structure scan. +The green polygon is used to mark out the ground footprint of the structure, while the white line around it indicates the vehicle flight path. +The green numbered circle on the flight path is the scan entry/exit point (where the scan starts). + +![Structure Scan](../../../assets/plan/structure_scan_v2/structure_scan.jpg) + +The scan divides the structure evenly into layers; the vehicle flies all the way around the structure at a particular altitude and _scan distance_ from the structure, then repeats the process at each layer until the whole surface has been scanned. + +![Layer JPG](../../../assets/plan/structure_scan_v2/layers.jpg) + +Users can set the _scan bottom altitude_ to avoid obstacles at the bottom of the structure, and the _extrance/exit altitude_ to avoid obstacles as the vehicle travels to/from the scan. + +## Creating a Scan + +To create a scan: + +1. In the **Plan View** select **Pattern tool > Structure Scan**. + +![Create Scan JPG](../../../assets/plan/structure_scan_v2/create_scan.jpg) + +1. This will create a simple square structure scan on the map. + + ![Initial Polygon](../../../assets/plan/structure_scan_v2/initial_polygon_scan.jpg) + + The region shown in green must be modified so that it surrounds the structure. + + - Drag the opaque vertices on the map to the edge of the structure (example circled in mauve above). + - If the structure footprint is more than a simple square you can click the semi-transparent circles between the vertices to create a new vertix. + +2. You can also change to a circular footprint by clicking on the central "vertix" (marked in red) and selecting _Circle_ in the popup menu. + + ![Circle Scan](../../../assets/plan/structure_scan_v2/circle_scan.jpg). + + - From the popup menu you can switch back to a polygon footprint and change the radius and/or position of the scan. + - Drag the central vertix to position the centre of the circle. + +3. The rest of the configuration is handled using the _Structure Scan_ editor on the right hand side of the view. + First select whether you want to perform a manual scan, a scan using a particular camera, or a scan using a custom camera definition. + + ::: info + The main difference between the modes is that predefined cameras are already set up to correctly calculate an effective layer height and trigger distance. + ::: + + Options for the different modes are shown below. + + ![Structure Scan editor](../../../assets/plan/structure_scan_v2/editor_options.jpg) + +The user can always configure the following settings: + +- **Start scan from top/bottom:** The direction in which layers are scanned. +- **Structure height:** The height of the object being scanned. +- **Scan distance:** Distance from the structure to the flight path. +- **Entrance/Exit Alt:** Use this setting to avoid obstacles between the last/next waypoint and the structure to be scanned. + - The vehicle will fly to the _Entrance/Exit_ point at this altitude and then descend to the initial layer to start the scan. + - The vehicle will ascend to this altitude after completing the scan and then move to the next waypoint. +- **Scan Bottom Alt:** Use this setting to avoid obstacles around the base of the structure. + This adjust the bottom of the structure to be above the ground, and hence the altitude of the first scan + (the height of the lowest layer flight path is shown in the scan statistics as _Bottom Layer Alt_. +- **Rotate Entry Point:** Move the start/finish point to the next vertix/position on the flight path. + +The remaining settings depend on the _camera mode_: + +- _Manual Mode_ allows you to specify: + - **Layer height:** The height of each layer. + - **Trigger Distance:** The distance between each camera trigger. + The camera is only triggered while flying the layer path. + It does not trigger images while transitioning from one layer to the next. + - **Gimbal Pitch** - Gimbal pitch you want to use for the scan. + +- _Known/pre-defined cameras_ automatically calculates layer heights and image triggering from required image overlap, and allows you to trade off scan distance and require image resolution. + It also ensures that the camera is pointed directly at the surface when it is capturing images (i.e. at a right angle rather than some tangent). + The settings are: + + - **Camera Orientation:** Portrait or Landscape + - _Overlap_: + - **Front Lap:** Image overlap from top to bottom (increasing shrinks layer height and increases layer count). + - **Side Lap:** Image overlap at sides (increasing takes more images in each lap/layer scan). + - **Scan distance:** Distance from the structure to the flight path. + - **Ground Res:** Required image resolution/sample quality of surface. + +- _Custom camera_ selection allows you to enter your own camera characteristics, but otherwise behaves the same as a predefined camera. diff --git a/docs/zh/docs/en/qgc-user-guide/plan_view/pattern_survey.md b/docs/zh/docs/en/qgc-user-guide/plan_view/pattern_survey.md new file mode 100644 index 00000000000..db492c27206 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/plan_view/pattern_survey.md @@ -0,0 +1,130 @@ +# Survey (Plan Pattern) + +A survey allows you to create a grid flight pattern over a polygonal area. +You can specify an arbitrary polygon, the angle and other properties of the grid, and camera settings appropriate for creating geotagged images. + +::: warning +If the survey area has significant elevation variation then consider enabling [Terrain Following](#terrain). + +When planning a Survey using camera specifications, the ground under the survey area are assumed to be flat - i.e. at the same altitude as the launch/home location. +If the ground elevation under the survey is either higher or lower than the home location the effective overlap in images will be less or more (respectively) than calculated. +If ground elevation under the survey area is _significantly_ higher than the home location you could inadvertently plan a mission path that causes the vehicle to fly into ground-level obstacles. + +Using terrain following ensures that the survey more closely matches the desired altitude above terrain, and reduces the likelihood of planning a mission that is too close to ground level. +::: + +![Survey](../../../assets/plan/survey/survey.jpg) + +## Creating a Survey + +To create a survey: + +1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + +2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Survey_. + + ![Survey Menu](../../../assets/plan/survey/survey_menu.jpg) + + This will add a survey grid to the map, and a _Survey_ item to the mission list (on the right). + +3. On the map drag the vertices to change the shape of the polygon. + +4. Click the `(+)` symbol between existing vertices to create a new vertix. + The new vertix can then be dragged into a new position. + +The survey settings are covered in the next section. + +## Settings + +The survey can be further configured in the associated mission item (in the mission item list on the right hand side of the _Plan View_). + +### Camera + +Camera triggering behaviour depends on the camera/camera settings. +You can select an existing camera, custom camera, or manually enter the settings. +The list of available cameras (QGC 3.4) is given below. + +![Survey - Camera Select](../../../assets/plan/survey/survey_camera_select.jpg) + +#### Known Camera {#known\_camera} + +Selecting a known camera from the option dropdown generates a grid pattern based on the camera capabilities. + +![Survey - Camera Sony](../../../assets/plan/survey/survey_camera_sony.jpg) + +The default settings can be tuned for your survey using the configuration options: + +- **Landscape/Portrait** - Camera orientation relative to the "normal" orientation of the vehicle. +- **Overlap** - Overlap between each image capture. + This can be configured separately for when flying along grid lines or across them. +- Select one of: + - **Altitude** - Survey altitude (ground resolution will be calculated/displayed for this altitude). + - **Ground resolution** - Ground resolution for each image (altitude required to achieve this resolution calculated and shown). + +#### Custom Camera {#custom\_camera} + +Selecting the custom camera option allows you to specify the settings for a new camera in a similar way to a known camera. + +![Survey - Custom Camera](../../../assets/plan/survey/survey_camera_custom.jpg) + +The camera-specific settings are: + +- **Sensor width/height** - The size of the image sensor of the camera. +- **Image width/height** - The resolution of the image captured by the camera. +- **Focal Length** - The focal length of the camera lens. + +The remaining settings are the same as for a [known camera](#known_camera). + +#### Manual Camera + +The manual camera option allows you to specify desired survey height, trigger interval and appropriate grid spacing for your camera. + +![Survey - Manual Camera Settings](../../../assets/plan/survey/survey_camera_manual.jpg) + +The configurable options are: + +- **Altitude** - Survey altitude to fly the whole grid. +- **Trigger Distance** - The distance over ground between each camera shot. +- **Spacing** - Distance between adjacent grid (flight path) lines across the corridor. + +### Transects + +The _Transects_ section is used for grid settings that are independent of the camera used. + +![Survey - Transects](../../../assets/plan/survey/survey_transects.jpg) + +The configurable options are: + +- **Angle** - The angle of the grid lines, relative to North. + ![Survey - Angle](../../../assets/plan/survey/survey_transects_angle.jpg) +- **Turnaround dist** - Amount of additional distance to add outside the survey area for vehicle turn around. +- **Rotate Entry Point** - Press button to swap the start and end point of the survey. +- **Hover and capture image** - Hover to capture images (multicopter only). +- **Refly at 90 degree offset** - Check to refly the whole mission at a 90 degree offset. + ![Survey - Fly Offset](../../../assets/plan/survey/survey_transects_offset.jpg) +- **Images in turnarounds** - Check to take images when turning +- **Relative altitude** - Check to make specified altitudes relative to home (if unchecked they are AMSL). + +### Terrain + +By default, a flying vehicle will follow the survey path at a fixed altitude. +Enabling _Terrain Following_ makes the vehicle maintain a constant height relative to ground. + +![Survey - Terrain Following Settings](../../../assets/plan/survey/survey_terrain.jpg) + +:::info +Terrain following uses terrain heights queried from _AirMap_ servers. +::: + +The configurable options are: + +- **Vehicle follows terrain** - Check to enable terrain following (and display the following options). + - **Tolerance** - The accepted deviation in altitude from the target altitude. + - **Max Climb Rate** - Maximum climb rate when following terrain. + - **Max Descent Rate** - Maximum descent rate when following terrain. + +### Statistics + +The _Statistics_ section shows the calculated survey area, photo interval, photo spacing and planned photo count. + +![Survey - Statistics](../../../assets/plan/survey/survey_statistics.jpg) diff --git a/docs/zh/docs/en/qgc-user-guide/plan_view/plan_geofence.md b/docs/zh/docs/en/qgc-user-guide/plan_view/plan_geofence.md new file mode 100644 index 00000000000..49780949b6d --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/plan_view/plan_geofence.md @@ -0,0 +1,60 @@ +# Plan View - GeoFence + +GeoFences allow you to create virtual regions within which the vehicle can fly, or in which it is _not allowed_ to fly. +You can also configure the action taken if you fly outside permitted areas. + +![Geofence overview](../../../assets/plan/geofence/geofence_overview.jpg) + +:::info +**ArduPilot users:** GeoFence support is only supported by Rover 3.6 and Copter 3.7 or higher. It also requires usage of a Daily build or Stable 3.6 (once available). +_QGroundControl_ will not display the GeoFence options if they are not supported by the connected vehicle. +::: + +## Create a Geofence + +To create a GeoFence: + +1. Navigate to the Plan View + +2. Select the _Geofence_ radio button above the Mission Command List + + ![Select geofence radio button](../../../assets/plan/geofence/geofence_select.jpg) + +3. Insert a circular or polygon region by pressing the **Circular Fence** or **Polygon Fence** button, respectively. + A new region will be added to the map and to the associated list of fences below the buttons. + +:::tip +You can create multiple regions by pressing the buttons multiple times, allowing complex geofence definitions to be created. +::: + +- Circular region: + + ![Circular Geofence](../../../assets/plan/geofence/geofence_circular.jpg) + + - Move the region by dragging the central dot on the map + - Resize the circle by dragging the dot on the edge of the circle (or you can change the radius value in the fence panel). + +- Polygon region: + + ![Polygon Geofence](../../../assets/plan/geofence/geofence_polygon.jpg) + + - Move the vertices by dragging the filled dots + - Create new vertices by clicking the "unfilled" dots on the lines between the filled vertices. + +1. By default new regions are created as _inclusion_ zones (vehicles must stay within the region). + Change them to exclusion zones (where the vehicle can't travel) by unchecking the associated _Inclusion_ checkbox in the fence panel. + +## Edit/Delete a GeoFence + +You can select a geofence region to edit by selecting its _Edit_ radio button in the GeoFence panel. +You can then edit the region on the map as described in the previous section. + +Regions can be deleted by pressing the associated **Del** button. + +## Upload a GeoFence + +The GeoFence is uploaded in the same way as a mission, using **File** in the [Plan tools](../plan_view/plan_view.md). + +## Remaining tools + +The rest of the tools work exactly as they do while editing a Mission. diff --git a/docs/zh/docs/en/qgc-user-guide/plan_view/plan_rally_points.md b/docs/zh/docs/en/qgc-user-guide/plan_view/plan_rally_points.md new file mode 100644 index 00000000000..d23a284eb28 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/plan_view/plan_rally_points.md @@ -0,0 +1,35 @@ +# Plan View - Rally Points + +Rally Points are alternative landing or loiter locations. +They are typically used to provide a safer or more convenient (e.g. closer) destination than the home position in Return/RTL mode. + +:::info +Rally Points are only supported by ArduPilot on Rover 3.6 and Copter 3.7 (or higher). +PX4 support is planned in PX4 v1.10 timeframes. +It also requires usage of a Daily build or Stable 3.6 (once available). +_QGroundControl_ will not display the Rally Point options if they are not supported by the connected vehicle. +::: + +![Rally Points](../../../assets/plan/rally/rally_points_overview.jpg) + +## Rally Point Usage + +To create Rally Points: + +1. Navigate to the Plan View +2. Select the _Rally_ radio button above the Mission Command List +3. Click the map wherever you want rally points. + - An **R** marker is added for each + - the currently active marker has a different colour (green) and can be edited using the _Rally Point_ panel. +4. Make any rally point active by selecting it on the map: + - Move the active rally point by either dragging it on the map or editing the position in the panel. + - Delete the active rally point by selecting the menu option on the _Rally Point_ panel + ![Delete Rally Point](../../../assets/plan/rally/rally_points_delete.jpg) + +## Upload Rally Points + +Rally points are uploaded in the same way as a mission, using **File** in the [Plan tools](../plan_view/plan_view.md). + +## Remaining tools + +The rest of the tools work exactly as they do while editing a Mission. diff --git a/docs/zh/docs/en/qgc-user-guide/plan_view/plan_view.md b/docs/zh/docs/en/qgc-user-guide/plan_view/plan_view.md new file mode 100644 index 00000000000..27e97e1375d --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/plan_view/plan_view.md @@ -0,0 +1,205 @@ +# Plan View + +The _Plan View_ is used to plan _autonomous missions_ for your vehicle, and upload them to the vehicle. Once the mission is [planned](#plan_mission) and sent to the vehicle, you switch to the [Fly View](../fly_view/fly_view.md) to fly the mission. + +It is also use to configure the [GeoFence](plan_geofence.md) and [Rally Points](plan_rally_points.md) if these are supported by the firmware. + + +![Plan View](../../../assets/plan/plan_view_overview.jpg) + +## UI Overview {#ui\_overview} + +The [screenshot above](#plan_screenshot) shows a simple mission plan that starts with a takeoff at the [Planned Home](#planned_home) position (H), +flies through three waypoints, and then lands on the last waypoint (i.e. waypoint 3). + +The main elements of the UI are: + +- **Map:** Displays the numbered indicators for the current mission, including the [Planned Home](#planned_home). + Click on the indicators to select them (for editing) or drag them around to reposition them. +- **Plan Toolbar:** Status information for the currently selected waypoint relative to the previous waypoint, as well as statistics for the entire mission (e.g. horizontal distance and time for mission). + - `Max telem dist` is the distance between the [Planned Home](#planned_home) and the furthest waypoint. + - When connected to a vehicle it also shows an **Upload** button, can be used to upload the plan to the vehicle. +- **[Plan Tools](#plan_tools):** Used to create and manage missions. +- **[Mission Command List/Overlay](#mission_command_list):** Displays the current list of mission items (select items to [edit](#mission_command_editors)). +- **Terrain Altitude Overlay:** Shows the relative altitude of each mission command. + +It shows you information related to the currently selected waypoint as well as statistics for the entire mission. + +## Planning a Mission {#plan\_mission} + +At very high level, the steps to create a mission are: + +1. Change to _Plan View_. +2. Add waypoints or commands to the mission and edit as needed. +3. Upload the mission to the vehicle. +4. Change to _Fly View_ and fly the mission. + +The following sections explain some of the details in the view. + +## Planned Home Position {#planned\_home} + +The _Planned Home_ shown in _Plan View_ is used to set the approximate start point when planning a mission (i.e. when a vehicle may not even be connected to QGC). +It is used by QGC to estimate mission times and to draw waypoint lines. + +![Planned Home Position](../../../assets/plan/mission/mission_settings_planned_home.jpg) + +You should move/drag the planned home position to roughly the location where you plan to takeoff. +The altitude for the planned home position is set in the [Mission Settings](#mission_settings) panel. + + + +:::tip +The Fly View displays the _actual_ home position set by the vehicle firmware when it arms (this is where the vehicle will return in Return/RTL mode). +::: + +## Plan Tools {#plan\_tools} + +The plan tools are used for adding individual waypoints, easing mission creation for complicated geometries, uploading/downloading/saving/restoring missions, and for navigating the map. The main tools are described below. + +:::info +**Center map**, **Zoom In**, **Zoom Out** tools help users better view and navigate the _Plan view_ map (they don't affect the mission commands sent to the vehicle). +::: + +### Add Waypoints + +Click on the **Add Waypoint** tool to activate it. While active, clicking on the map will add new mission waypoint at the clicked location. +The tool will stay active until you select it again. +Once you have added a waypoint, you can select it and drag it around to change its position. + +### File (Sync) {#file} + +The _File tools_ are used to move missions between the ground station and vehicle, and to save/restore them from files. +The tool displays an `!` to indicate that there are mission changes that you have not sent to the vehicle. + +:::info +Before you fly a mission you must upload it to the vehicle. +::: + +The _File tools_ provide the following functionality: + +- Upload (Send to vehicle) +- Download (Load from vehicle) +- Save/Save as to File, including as KML file. +- Load from File +- Remove All (removes all mission waypoints from _Plan view_ and from vehicle) + +### Pattern + +The [Pattern](Pattern.md) tool simplifies the creation of missions for flying complex geometries, including [surveys](../plan_view/pattern_survey.md) and [structure scans](../plan_view/pattern_structure_scan_v2.md). + +## Mission Command List {#mission\_command\_list} + +Mission commands for the current mission are listed on the right side of the view. +At the top are a set of options to switch between editing the mission, GeoFence and rally points. +Within the list you can select individual mission items to edit their values. + +![Mission Command List](../../../assets/plan/mission/mission_command_list.jpg) + +### Mission Command Editors {#mission\_command\_editors} + +Click on a mission command in the list to display its editor (in which you can set/change the command attributes). + +You can change the **type** of the command by clicking on the command name (for example: _Waypoint_). +This will display the _Select Mission Command_ dialog shown below. +By default this just displays the "Basic Commands", but you can use the **Category** drop down menu to display more (e.g. choose **All commands** to see all the options). + + + +To the right of each command name is a menu that you can click to access to additional options such as _Insert_ and _Delete_. + +:::info +The list of available commands will depend on firmware and vehicle type. +Examples may include: Waypoint, Start image capture, Jump to item (to repeat mission) and other commands. +::: + +### Mission Settings {#mission\_settings} + +The _Mission Start_ panel is the first item that appears in the [mission command list](#mission_command_list). +It may be used to specify a number default settings that may affect the start or end of the mission. + +![Mission Command List - showing mission settings](../../../assets/plan/mission_start.png) + +![Mission settings](../../../assets/plan/mission/mission_settings.png) + +#### Mission Defaults + +##### Waypoint alt + +Set the default altitude for the first mission item added to a plan (subsequent items take an initial altitude from the previous item). +This can also be used to change the altitude of all items in a plan to the same value; you will be prompted if you change the value when there are items in a plan. + +##### Flight speed + +Set a flight speed for the mission that is different than the default mission speed. + +#### Mission End + +##### Return to Launch after mission end + +Check this if you want your vehicle to Return/RTL after the final mission item. + +#### Planned Home Position + +The [Planned Home Position](#planned_home) section allows you to simulate the vehicle's home position while planning a mission. +This allows you to view the waypoint trajectory for your vehicle from takeoff to mission completion. + +![MissionSettings Planned Home Position Section](../../../assets/plan/mission/mission_settings_planned_home_position_section.jpg) + +:::info +This is only the _planned_ home position and you should place it where you plan to start the vehicle from. +It has no actual impact on flying the mission. +The actual home position of a vehicle is set by the vehicle itself when arming. +::: + +This section allows you to set the **Altitude** and **Set Home to Map Centre** +(you can move it to another position by dragging it on the map). + +#### Camera + +The camera section allows you to specify a camera action to take, control the gimbal and set your camera into photo or video mode. + +![MissionSettings Camera Section](../../../assets/plan/mission/mission_settings_camera_section.jpg) + +The available camera actions are: + +- No change (continue current action) +- Take photos (time) +- Take photos (distance) +- Stop taking photos +- Start recording video +- Stop recording video + +#### Vehicle Info + +The appropriate mission commands for the vehicle depend on the firmware and vehicle type. + +If you are planning a mission while you are _connected to a vehicle_ the firmware and vehicle type will be determined from the vehicle. +This section allows you to specify the vehicle firmware/type when not connected to a vehicle. + +![MissionSettings VehicleInfoSection](../../../assets/plan/mission/mission_settings_vehicle_info_section.jpg) + +The additional value that can be specified when planning a mission is the vehicle flight speed. +By specifying this value, total mission or survey times can be approximated even when not connected to a vehicle. + +## Troubleshooting + +### Mission (Plan) Upload/Download Failures {#plan\_transfer\_fail} + +Plan uploading and downloading can fail over a noisy communication link (affecting missions, GeoFence, and rally points). +If a failure occurs you should see a status message in the QGC UI similar to: + +> Mission transfer failed. Retry transfer. Error: Mission write mission count failed, maximum retries exceeded. + +The loss rate for your link can be viewed in [Settings View > MAVLink](../settings_view/mavlink.md). +The loss rate should be in the low single digits (i.e. maximum of 2 or 3): + +- A loss rate in the high single digits can lead to intermittent failures. +- Higher loss rates often lead to 100% failure. + +There is a much smaller possibility that issues are caused by bugs in either flight stack or QGC. +To analyse this possibility you can turn on [Console Logging](../settings_view/console_logging.md) for Plan upload/download and review the protocol message traffic. + +## Further Info + +- New Plan View features for [QGC release v3.2](../releases/stable_v3.2_long.md#plan_view) +- New Plan View features for [QGC release v3.3](../releases/stable_v3.3_long.md#plan_view) diff --git a/docs/zh/docs/en/qgc-user-guide/releases/daily_build_new_features.md b/docs/zh/docs/en/qgc-user-guide/releases/daily_build_new_features.md new file mode 100644 index 00000000000..6b298f7f00e --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/releases/daily_build_new_features.md @@ -0,0 +1,7 @@ +# Daily Build Major Changes + +This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ since the last [stable release](../releases/release_notes.md). +These features are available in [daily builds](../releases/daily_builds.md). +There is also a [Change Log](https://github.com/mavlink/qgroundcontrol/blob/master/ChangeLog.md) available for viewing. + +- TBD diff --git a/docs/zh/docs/en/qgc-user-guide/releases/daily_builds.md b/docs/zh/docs/en/qgc-user-guide/releases/daily_builds.md new file mode 100644 index 00000000000..0550549176e --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/releases/daily_builds.md @@ -0,0 +1,32 @@ +# Daily Builds + +Daily Builds of _QGroundControl_ have the absolute latest set of [new features](../releases/daily_build_new_features.md). + +:::warning +Daily Builds are less tested than stable builds. +Use at your own risk! +::: + +These can be downloaded from the links below (install as described in [Download and Install](../getting_started/download_and_install.md)): + +- [Windows](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl-installer.exe) + +- [OS X](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl.dmg) + + ::: info + QGroundControl continues to not be signed which causes problem on Catalina. To open QGC app for the first time: + + - Right-click the QGC app icon, select Open from the menu. You will only be presented with an option to Cancel. Select Cancel. + - Right-click the QGC app icon again, Open from the menu. This time you will be presented with the option to Open. + + ::: + +- [Linux](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl.AppImage) + +- [Android](https://play.google.com/store/apps/details?id=org.mavlink.qgroundcontrolbeta) - Google Play: Listed as _QGroundControl (Daily Test Build)_. + +- iOS currently unavailable + +:::info +The QGroundControl Continous Delivery pipeline from time to time might experience issues uploading to the Google Play store. You can find the daily build APK for Android devices for direct download here: [QGroundControl32.apk](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl32.apk), and [QGroundControl64.apk](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl64.apk) +::: diff --git a/docs/zh/docs/en/qgc-user-guide/releases/index.md b/docs/zh/docs/en/qgc-user-guide/releases/index.md new file mode 100644 index 00000000000..dec0acc68b7 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/releases/index.md @@ -0,0 +1,3 @@ +# Releases + +This section contains information about releases and daily builds. diff --git a/docs/zh/docs/en/qgc-user-guide/releases/privacy_policy.md b/docs/zh/docs/en/qgc-user-guide/releases/privacy_policy.md new file mode 100644 index 00000000000..44718df6e95 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/releases/privacy_policy.md @@ -0,0 +1,8 @@ +# Privacy Policy + +_QGroundControl_ may require access to personal and/or sensitive user data. None of this data is used outside of _QGroundControl_. + +The list below explains how some of the data is used: + +- Camera sensor: This is used for the purpose of overlaying the video with flight telemetry data. +- Location: This is used for tracking current user position on the map. diff --git a/docs/zh/docs/en/qgc-user-guide/releases/release_notes.md b/docs/zh/docs/en/qgc-user-guide/releases/release_notes.md new file mode 100644 index 00000000000..54dfa2f76de --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/releases/release_notes.md @@ -0,0 +1,255 @@ +# Release Notes + +This topic contains the cumulative release notes for _QGroundControl_. + +:::info +Stable build major/minor numbers are listed below. +_Patch_ release numbers are not listed, but can be found on the [Github release page](https://github.com/mavlink/qgroundcontrol/releases). +::: + +## Stable Version 4.0 (current) + +:::info +The format for Settings in QGC had to change in this release. Which means all QGC settings will be reset to defaults. +::: + +- Settings + - Language: Allow selection of language + - Optional [CSV Logging](../settings_view/csv.md) of telemetry data for improved accessibility. + - ArduPilot + - Mavlink: Configurable stream rate settings +- Setup + - Joystick + - New joystick setup ui + - Ability to configure held button to single or repeated action + - ArduPilot + - Motor Test + - ArduSub + - Automatic motor direction detection +- Plan + - Create Plan from template with wizard like progression for completing full Plan. + - Survey: Save commonly used settings as a Preset + - Polygon editing + - New editing tools ui + - Support for tracing a polygon from map locations + - ArduPilot + - Support for GeoFence and Rally Points using latest firmwares and mavlink v2 +- Fly + - Click to ROI support + - Added support for connecting to ADSB SBS server. Adds support for ADSB data from USB SDR Dongle running 'dump1090 --net' for example. + - Ability to turn on Heading to home, COG and Next Waypoint heading indicators in Compass. + - Video + - Add support for h.265 video streams + - Automatically add a [Video Overlay](../fly_view/video_overlay.md) with flight data as a subtitle for locally-recorded videos + - Vehicle type specific pre-flight checklists. Turn on from Settings. +- Analyze + - New Mavlink Inspector which includes charting support. Supported on all builds including Android and iOS. +- General + - Released Windows build are now 64 bit only + - Log Replay: Ability to specify replay speed + - ArduPilot + - Improved support for chibios firmwares and ArduPilot bootloader with respect to flashing and auto-connect. + +Additional notes for some features can be found here: [v4.0 (Additional Notes)](../releases/stable_v4.0_additional.md). + +## Stable Version 3.5 + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.5. + +- **Overall** + - Added Airmap integration to QGC. OSX build only. + - Bumped settings version (now 8). + This will cause all settings to be reset to defaults. + - Added Chinese and Turkish localization and partial German localization. + - Added support for the Taisync 2.4GHz ViUlinx digital HD wireless link. + - Fix loading of parameters from multiple components. + This especially affected WiFi connections. + - **ArduPilot** Support for ChibiOS firmware connect and flash. +- **Settings** + - **RTK** Add support for specifying fixed RTK based station location in Settings/General. + - **GCS Location** + - Added UDP Port option for NMEA GPS Device. + - GCS heading shown if available +- **Plan** + - **Polygons** Support loading polygons from SHP files. + - **Fixed Wing Landing Pattern** Add stop photo/video support. + Defaults to on such that doing an RTL will stop camera. + - **Edit Position dialog** Available on polygon vertices. +- **Fly** + - **Camera Page** Updated support for new MAVLInk camera messages. + Camera select, camera mode, start/stop photo/video, storage mangement... + - **Orbit** Support for changing rotation direction. + - **Instrument Panel** + - Added ESTIMATOR\_STATUS values to new estimatorStatus Vehicle FactGroup. + These are now available to display in instrument panel. + - Make Distance to GCS available for display from instrument panel. + - Make Heading to Home available for display from instrument panel. + +## Stable Version 3.4 + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.4. Not to mention the large number of bug fixes in each stable release. + +- **Settings** + - **Offline Maps** + - Center Tool allows you to specify a map location in lat/lon or UTM coordinates. Making it easier to get to the location you want to create an offline map for. + - Ability to pre-download terrain heights for offline use. + - **Help** Provides links to QGC user guide and forums. + +- **Setup** + - **Firmware** Ability to flash either PX4 or ArduPilot Flow firmware. + - PX4 Pro Firmware + - **Flight Modes** Specify channels for all available transmitter switches. + - **Tuning: Advanced** Initial implementation of vehicle PID tuning support. Note that this is a work in progress that will improve in 3.5 daily builds. + - ArduPilot Firmware + - **Power/Safety** Support for new multi-battery setup. + - **Trad Heli** New setup page. + +- **Plan** + + - **File Load/Save** New model for Plan file loading which matches a standard File Load/Save/Save As user model. + + - **Load KML** Ability to load a KML file directly from the Sync menu. You will be prompted for what type of Pattern you want to create from the KML if needed. + + - **Survey** Better support for irregular shaped polygons. + + - **[Corridor Scan](../plan_view/pattern_corridor_scan.md)** - Create a flight pattern which follows a poly-line. For example can be used to survey a road. + + - **[Fixed Wing Landing Pattern](../plan_view/pattern_fixed_wing_landing.md)** + - Landing area visually represented in Plan. + - Landing position/heading can be copied from Vehicle position/heading. + + - **Terrain** + + - Height of mission items can be specified as height above terrain. + - Survey and Corridor Scan can generate flight plans which follow terrain. + + ::: info + This feature does not support [ArduPilot terrain following](http://ardupilot.org/copter/docs/common-terrain-following.html). + ::: + + - **Edit Position** Set item position from vehicle position. + +- **Fly** + - **Pre-Flight Checklist** You can turn this on from Settings. It provides a generic checklist to follow prior to flight. Expect more feature to appear for this in 3.5 daily builds. + - **Instrument Panel** + - Many new values available for display. + - New Camera page which provides full camera control. Requires a camera which support new MavLink camera specification. + - **ArduPlane** Much better support for guided commands including QuadPlane support. + - **High Latency Links** Support for high latency links such as satellite connections. + Limits the traffic from QGC up to Vehicle on these links to reduce cost. + Supports HIGH\_LATENCY MavLink message. + Supports failover back/forth from high latency to normal link with dual link setup. + +## Stable Version 3.3 + +:::tip +More detailed release notes for version 3.3 can be found [here](../releases/stable_v3.3_long.md). +::: + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.3. Not to mention the large number of bug fixes of this release. + +- **Settings** + - Local NMEA GPS device support. + - Video Recording save settings. +- **Setup** + - **Parameter Editor** - Searching updates as you type characters for near immediate response to searches. + - **Joystick** - Android joystick support. +- **Plan** + - **NEW - Structure Scan Pattern** - Create a multi-layered flight pattern that captures images over vertical surfaces (polygonal or circular). Used for 3d model generation or vertical surface inspection. + - **Fixed Wing Landing Pattern** - You can now adjust the distance from the loiter to land point by either distance or glide slope fall rate. + - PX4 GeoFence and Rally Point support. + - Terrain height display in lower Mission Item altitude display +- **Fly** + - Start/Stop video recording. + - Better display of vehicle icons when connected to multiple vehicles. + - Multi-Vehicle View supports commands which apply to all vehicles. + - Displays vehicles reported from ADS-B sensor. +- **Analyze** + - **Mavlink console** - New support for communicating with Mavlink console. + - **Log Download** - Moved from Menu to Analyze view. + +## Stable Version 3.2 + +:::tip +More detailed release notes for version 3.2 can be found [here](../releases/stable_v3.2_long.md). +::: + +This section contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.2. + +- **Settings** + + - **File Save path** - Specify a save path for all files used by QGC. + - **Telemetry log auto-save** - Telemetry logs are now automatically saved without prompting. + - **AutoLoad Plans** - Used to automatically load a Plan onto a vehicle when it first connects. + - **RTK GPS** - Specify the Survey in accuracy and Minimum observation duration. + +- **Setup** + + - ArduPilot only + - **Pre-Flight Barometer and Airspeed calibration** - Now supported + - **Copy RC Trims** - Now supported + +- **Plan View** + + - **Plan files** - Missions are now saved as .plan files which include the mission, geo-fence and rally points. + - **Plan Toolbar** - New toolbar which shows you mission statistics and Upload button. + - **Mission Start** - Allows you to specify values such as flight speed and camera settings to start the mission with. + - **New Waypoint features** - Adjust heading and flight speed for each waypoint as well as camera settings. + - **Visual Gimbal direction** - Gimbal direction is shown on waypoint indicators. + - **Pattern tool** - Allows you to add complex patterns to a mission. + - Fixed Wing Landing (new) + - Survey (many new features) + - **Fixed Wing Landing Pattern** - Adds a landing pattern for fixed wings to your mission. + - **Survey** - New features + - **Take Images in Turnarounds** - Specify whether to take images through entire survey or just within each transect segment. + - **Hover and Capture** - Stop vehicle at each image location and take photo. + - **Refly at 90 degree offset** - Add additional pattern at 90 degree offset to original so get better image coverage. + - **Entry location** - Specify entry point for survey. + - **Polygon editing** - Simple on screen mechanism to drag, resize, add/remove points. Much better touch support. + +- **Fly View** + + - **Arm/Disarm** - Available from toolbar. + - **Guided Actions** - New action toolbar on the left. Supports: + - Takeoff + - Land + - RTL + - Pause + - Start Mission + - Resume Mission - after battery change + - Change Altitude + - Land Abort + - Set Waypoint + - Goto Location + - **Remove mission after vehicle lands** - Prompt to remove mission from vehicle after landing. + - **Flight Time** - Flight time is shown in instrument panel. + - **Multi-Vehicle View** - Better control of multiple vehicles. + +- **Analyze View** - New + + - **Log Download** - Moved to Analyze view from menu + - **Mavlink Console** - NSH shell access + +- **Support for third-party customized QGroundControl** + - Standard QGC supports multiple firmware types and multiple vehicle types. There is now support in QGC which allows a third-party to create their own custom version of QGC which is targeted specifically to their custom vehicle. They can then release their own version of QGC with their vehicle. + +## Stable Version 3.1 + +New Features + +- [Survey](../plan_view/pattern_survey.md) mission support +- [GeoFence](../plan_view/plan_geofence.md) support in Plan View +- [Rally Point](../plan_view/plan_rally_points.md) support in Plan View (ArduPilot only) +- ArduPilot onboard compass calibration +- Parameter editor search will now search as you type for quicker access +- Parameter display now supports unit conversion +- GeoTag images from log files (PX4 only) +- System health in instrument panel +- MAVLink 2.0 support (no signing yet) + +Major Bug Fixes + +- Fixed crash after disconnect from Vehicle +- Fixed android crash when using SiK Radios +- Many multi-vehicle fixes +- Bluetooth fixes diff --git a/docs/zh/docs/en/qgc-user-guide/releases/stable_v3.2_long.md b/docs/zh/docs/en/qgc-user-guide/releases/stable_v3.2_long.md new file mode 100644 index 00000000000..0056ad212fc --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/releases/stable_v3.2_long.md @@ -0,0 +1,265 @@ +# QGroundControl v3.2 Release Notes (Detailed) + +This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.2. + +## Settings + +### Telemetry log auto-save + +If you have _Save telemetry log after each flight_ turned on you will no longer be prompted as to where to save the log each time the vehicle disarms. +Logs will automatically be saved to the [Application Load/Save Path](../settings_view/general.md#load_save_path) + +For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#autosave_log). + +### AutoLoad plans + +If this setting is turned on, _QGroundControl_ will automatically upload a plan to the vehicle when it connects. +The plan file must be named **AutoLoad#.plan** where the `#` is replaced with the vehicle id. +The plan file must be located in the [Application Load/Save Path](../settings_view/general.md#load_save_path). + +For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#autoload_missions). + +### Application Load/Save Path + +You can now specify a save path which QGC will use as the default location to save files such as Parameters, Telemetry or Mission Plans. + +For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#load_save_path). + +### RTK GPS + +You can now specify the _Survey in accuracy_ and _Minimum observation duration_ for use with a connected RTK GPS. + +For more information see [Settings > General (RTK GPS)](../settings_view/general.md#rtk_gps). + +## Setup + +### ArduPilot - Pre-Flight Barometer and Airspeed calibration + +This is now supported from the Sensors page. + +### ArduPilot - Copy RC Trims + +This is now supported from the Copy Trims button on the Radio setup page. + +## Plan View {#plan\_view} + +### Plan Files + +Previous version of _QGroundControl_ saved missions, geo-fences and rally points in separate files (**.mission**, **.fence**, **.rally**). QGC now save all information related to a flight plan into a single file called a _Plan File_ with a file extension of **.plan**. + +Information about the format can be found in [Plan File Format](https://dev.qgroundcontrol.com/en/file_formats/plan.html) (QGC Developer Guide). + +### Plan Toolbar + +![Plan Toolbar](../../../assets/plan/plan_toolbar.jpg) + +The new _Plan Toolbar_ is displayed at the top of the [PlanView](../plan_view/plan_view.md). +It shows you information related to the currently selected waypoint as well as statistics for the entire mission. + +When connected to a vehicle it also shows an **Upload** button, which can be used to upload the plan to the vehicle. + +### Mission Settings + +The [Mission Settings](../plan_view/plan_view.md#mission_settings) panel allows you to specify values which apply to the entire mission, or settings you want to control right at the beginning of a mission. +This is the first item in the mission list on the right of the screen. + + + +#### Mission Defaults + +##### Waypoint alt + +This specifies the default altitude for newly added mission items. +If you update this value while you have a mission loaded it will prompt you to update all the the waypoints to this new altitude. + +##### Flight speed + +This allows you to set the flight speed for the mission to be different than the default mission speed. + +##### RTL after mission end + +Check this if you want your vehicle to RTL after the final mission item. + +#### Camera section + + + +The camera section allows you to specify a camera action to take, control the gimbal and set your camera into photo or video mode. + +The camera actions available are: + +- Continue current action +- Take photos (time) +- Take photos (distance) +- Stop taking photos +- Start recording video +- Stop recording video + +#### Vehicle Info section + + + +When planning a mission the firmware being run on the vehicle as well as the vehicle type must be known in order for QGroundControl to show you the mission commands which are appropriate for your vehicle. + +If you are planning a mission while you are connected to your vehicle the Firmware and Vehicle Type will be determined from the vehicle. If you are planning a mission while not connected to a vehicle you will need to specify this information yourself. + +The additional value that can be specified when planning a mission is the vehicle flight speed. By specifying this value, total mission or survey times can be approximated even when not connected to a vehicle. + +#### Planned Home Position + + + +The planned home position allows you to simulate the vehicle's home position while planning a mission. This way you see the waypoint trajectory for your vehicle from takeoff to mission completion. Keep in mind that this is only the "planned" home position and you should place it where you plan to start the vehicle from. It has no actual impact on flying the mission. The actual home position of a vehicle is set by the vehicle itself when arming. + +### New Waypoint features + + + +- You can now adjust heading and flight speed for each waypoint. +- There is a camera section available for camera changes on each waypoint. Explanation of Camera Section can be read under Mission Settings above. + +### Visual Gimbal direction + + + +If you specify gimbal yaw changes on waypoints, both the plan and fly views will show you a visual representation of the gimbal direction. + +### Pattern tool + +There is a new _Pattern tool_. The following patterns are supported: + +- Fixed Wing Landing (new) +- Survey (with new features) + +#### Fixed Wing Landing Pattern + +![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern.jpg) + +This adds a landing pattern for fixed wings to your mission. +The first point of the pattern is the loiter point which commands to vehicle to loiter to a specific altitude. +Once that altitude is reached, the vehicle will begin the landing sequence and fly down to the specified landing spot. + +Both the loiter and land points can be dragged to adjust. +Also all the various values associated with the pattern can be adjusted. + +For more information see [Fixed Wing Landing Pattern](../plan_view/pattern_fixed_wing_landing.md). + +#### Survey (new features) + +- Images are not automatically taken in the turnaround zone outside of the polygonal survey area. +- There is a new _Hover and Capture_ option which can be used to capture the highest quality image at each image location. The vehicle will stop at each image location prior to taking the image such that the vehicle is stable while the image is taken. +- There is a new option to re-fly the survey grid at a 90 degree angle to the previous pass. This allows you to generate much denser coverage for the images. + +![](../../../assets/plan/polygon_edit.jpg) + +Manipulating the survey area polygon is now easier to use on tablets with touch screens: + +- You can drag the entire polygon to a new location by dragging the center point handle. +- Each polygon vertex can be dragged to a new location. +- To remove a polygon vertex, simple click on the drag handle for it. +- Click on the **+** handles to add a new vertex between two existing vertices. + +## Fly View + +### RTK GPS + +RTK status is now shown in the toolbar. + +### Arm/Disarm + +There is an armed/disarmed indicator in the toolbar. You can click it to arm/disarm your vehicle. If you click Disarm in the toolbar while your vehicle is flying you will provided the option to Emergency Stop your vehicle. + +### Guided Actions + +- Takeoff +- Land +- RTL +- Pause +- Actions + - Start Mission + - Resume Mission + - Change Altitude + - Land Abort +- Direct interaction with map + - Set Waypoint + - Goto Location + +#### Resume Mission + +The Resume Mission guided action is used to resume a mission after performing an RTL from within the mission to perform a battery change. +After the vehicle lands from RTL and you have disconnected the battery **do not** disconnect QGC from the Vehicle. +Put in your new battery and QGC will detect the vehicle again and automatically restore the connection. +Once this happens you will be prompted with a Resume Mission confirmation slider. +If you want to resume the mission, confirm this and the mission will be rebuilt from your last waypoint traveled through. +Once the mission is rebuilt you will be presented with another Resume Mission slide which allows you to review the rebuilt mission before starting it again. +Confirm this Resume Mission slider to continue on with the mission. + +###### How resume mission rebuilding works + +In order to resume a mission you cannot simply continue it from the last mission item the vehicle ran. +The reason is is that may skip over important change speed commands or camera control commands which are prior to that item in the mission. +If you skipped over those the remainder of the mission will not run correctly. +In order to make resume mission work correctly QGC rebuilds the mission looking backwards from the last mission item flown and automatically appends relevant commands to the front of the mission. +By doing this the state of the mission prior to the resume point is restore. +The following mission commands are the ones scanned for: + +- `MAV_CMD_DO_CONTROL_VIDEO` +- `MAV_CMD_DO_SET_ROI` +- `MAV_CMD_DO_DIGICAM_CONFIGURE` +- `MAV_CMD_DO_DIGICAM_CONTROL` +- `MAV_CMD_DO_MOUNT_CONFIGURE` +- `MAV_CMD_DO_MOUNT_CONTROL` +- `MAV_CMD_DO_SET_CAM_TRIGG_DIST` +- `MAV_CMD_DO_FENCE_ENABLE` +- `MAV_CMD_IMAGE_START_CAPTURE` +- `MAV_CMD_IMAGE_STOP_CAPTURE` +- `MAV_CMD_VIDEO_START_CAPTURE` +- `MAV_CMD_VIDEO_STOP_CAPTURE` +- `MAV_CMD_DO_CHANGE_SPEED` +- `MAV_CMD_NAV_TAKEOFF` + +### Remove mission after vehicle lands + +You will be prompted to remove the mission from the vehicle after the mission completes and the vehicle lands and disarms. +This is meant to prevent issues where stale missions are unknowingly left on a vehicle cause unexpected behavior. + +### Instrument panel + +#### Camera trigger + +#### Flight Time + +Flight time is now available for display in the instrument panel. +For new users, flight time will be shown by default. +For existing users who have already modified their instrument panel values you will have to add it yourself if you want to use it. + +## [Analyze View](../analyze_view/index.md) + +- [Log Download](../analyze_view/log_download.md) moved to _Analyze View_ from menu. +- New [GeoTag Images](../analyze_view/geotag_images.md) support for PX4 Pro firmware +- New [MAVLink Console](../analyze_view/mavlink_console.md) which provides access the the _nsh shell_ running on the vehicle. + +## Multi-Vehicle View + +There is a new view available when you have multiple vehicles connected to QGC. It will only show up when more than one vehicle is connected. When that happens you will see an additional set of radio button at the top right of the Plan view. + + + +Click the **Multi-Vehicle** radio button to replace the instrument panel with the multi-vehicle list: + + + +The example above shows three vehicles. The numbers are the vehicle id. In the large font is the current flight mode. You can click the flight mode name to change to a different flight mode. To the right are small version of the instruments for each vehicle. You can command the vehicle to do the following actions from the control panel: + +- Arm/Disarm +- Start/Stop a mission +- Return to Launch +- Take Control back of the vehicle by returning to manual control from a mission. + +### Multi-Vehicle Gotchas - Unique vehicle ids + +Each vehicle connected to QGC must have a unique id. Otherwise QGC will think the vehicles are actually the same vehicle. The symptom of this is the Plan view jerking around as it tries to position itself to one vehicle and then the next. For PX4 Pro firmwares this is the `MAV_SYS_ID` parameter. For ArduPilot firmwares it is the `SYSID_THISMAV` parameter. + +## Support for third-party customized QGroundControl + +Standard QGC supports multiple firmware types and multiple vehicle types. There is now support in QGC which allows a third-party to create their own custom version of QGC which is targeted specifically to their custom vehicle. They can then release their own version of QGC with their vehicle. diff --git a/docs/zh/docs/en/qgc-user-guide/releases/stable_v3.3_long.md b/docs/zh/docs/en/qgc-user-guide/releases/stable_v3.3_long.md new file mode 100644 index 00000000000..4c2f86d680d --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/releases/stable_v3.3_long.md @@ -0,0 +1,96 @@ +# QGroundControl v3.3 Release Notes (Detailed) + +This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ in version 3.3. + +## Detailed Notes + +### Settings View + +#### NMEA GPS Device support + +![NMEA GPS Device support](../../../assets/settings/general/NMEADevice.jpg) + +You can specify a connection to one of these devices on the General page. +The GPS information will then be used for ground station location and in turn follow me support. + +For more information see [Settings > General (AutoConnect to the following devices)](../settings_view/general.md#auto_connect). + +#### Video Recording + +![Video Recording](../../../assets/settings/video_recording.jpg) + +Videos will be saved to the Video directory of your QGC file save path. +You can also specify the maximum amount of space you want video files to consume. +After that size if exceeded the oldest video files will be removed. +Video Recording is turned on/off from the Video widget in the Fly View. + +For more information see [Settings > General (Video / Video Recording)](../settings_view/general.md#video). + +### Plan View {#plan\_view} + +#### Structure Scan + +A Structure Scan allows you to create a grid flight pattern that captures images over vertical surfaces (polygonal or circular). +These are typically used for the visual inspection or creation of 3d models of structures. + +Details [here](../plan_view/pattern_structure_scan_v2.md). + +#### New MAVLink GeoFence, Rally Point support + +![](../../../assets/plan/geofence_rally.jpg) + +QGC supports the new MAVLink GeoFence and Rally Point specification/protocol. This new system supports multiple polygonal and/or circular fences which can be specified as an exclusion or an inclusion fence. + +The fence which is currently selected by the "Edit" radio button will show the on screen editing controls such as the drag points for polygon editing. + +**Note** Only PX4 Pro firmware supports the new specification. ArduPilot does not yet support the new spec. Support for GeoFence/Rally is temporarily disabled in QGC until QGC ArduPilot code is reworked to the new architecture. + +#### Edit Position Dialog + +![](../../../assets/plan/edit_position_dialog.jpg) + +The Edit Position Dialog allows you to specify a detailed position for an item in either Geographic or UTM coordinate systems. It is available from the Polygon Tools menu as well as the hamburger menu of any mission item which specifies a coordinate: + +![](../../../assets/plan/mission_item_editor_hamburger.jpg) + +#### Polygon Tools + +![](../../../assets/plan/polygon_tools.jpg) + +You can now also click on the polygon center drag handle to bring up a set of polygon manipulation tools. The tools are available anywhere polygon editing is supported: Survey, Structure Scan, GeoFence, ... + +- Circle - Converts the polygon to a circular polygon. +- Polygon - Changes a circular polygon back to a rectangular polygon. +- Set radius - Set radius for circular polygons. +- Edit position - Displays the edit position dialog to specify a detailed position for the circular center. +- Load KML - Set polygon to polygon loaded from KML file. + +Circular polygon example: + + + +### Fly View + +#### Start/Stop Video Recording + +This is now a video record button in the video window. Settings for saved videos are available from General Page of Setup view. + +#### Multi-Vehicle vehicle indicators + +When you are connected to multiple vehicles the vehicle id will be shown below the vehicle icon. The active vehicle will be opaque and the inactive vehicles will be semi-transparent. + +![](../../../assets/fly/multi_vehicle_indicators.jpg) + +#### Multi-Vehicle View supports batch commands + +The multi-vehicle list now supports commands which apply to all vehicles. + +![](../../../assets/fly/multi_vehicle_list.jpg) + +The current list of available commands are Pause and Start Mission but that will be exapanded upon with further development. + +#### ADS-B sensor vehicle display + +Vehicle reported by ADS-B sensor on vehicle are shown on map as smaller blue icons with altitude and callsign below the icon. + +![](../../../assets/fly/adsb_vehicle.jpg) diff --git a/docs/zh/docs/en/qgc-user-guide/releases/stable_v4.0_additional.md b/docs/zh/docs/en/qgc-user-guide/releases/stable_v4.0_additional.md new file mode 100644 index 00000000000..9399f0d3702 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/releases/stable_v4.0_additional.md @@ -0,0 +1,13 @@ +# QGroundControl v4.0 Release Notes (Additional) + +This topic contains additional notes about QGroundControl 4.0. +These should be integrated into main documentation in coming months (and this document deleted). + +- [Pattern Presets](../plan_view/pattern_presets.md) - Allows you to save settings for a Pattern item (Survey, Corridor Scan, ...) into a named preset. You can then use this preset over and over again as you create new Pattern. +- ArduPilot: + - Copter - PID Tuning support ![PID Tuning JPG](../../../assets/daily_build_changes/arducopter_pid_tuning.jpg) + - Copter - Additional Basic Tuning options ![Basic Tuning JPG](../../../assets/daily_build_changes/arducopter_basic_tuning.jpg) + - Copter/Rover - Frame setup ui ![Setup Frame Copter JPG](../../../assets/daily_build_changes/arducopter_setup_frame.jpg) + - Improved support for flashing ChibiOS firmware + - Improved support for connecting to ChibiOS bootloader boards + - Support configurable mavlink stream rates. Available from Settings/Mavlink page. ![Stream Rates JPG](../../../assets/daily_build_changes/arducopter_stream_rates.jpg) diff --git a/docs/zh/docs/en/qgc-user-guide/settings_view/console_logging.md b/docs/zh/docs/en/qgc-user-guide/settings_view/console_logging.md new file mode 100644 index 00000000000..e89bb78be30 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/settings_view/console_logging.md @@ -0,0 +1,47 @@ +# Console Logging + +The _Console_ can be helpful tool for diagnosing _QGroundControl_ problems. It can be found in **SettingsView > Console**. + +![Console logging](../../../assets/support/console.jpg) + +Click the **Set Logging** button to enable/disable logging information displayed by _QGroundControl_. + +## Common Logging Options + +The most commmonly used logging options are listed below. + +| Option(s) | Description | +| ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `LinkManagerLog`, `MultiVehicleManagerLog` | Debug connection problems. | +| `LinkManagerVerboseLog` | Debug serial ports not being detected. Very noisy continuous output of available serial ports. | +| `FirmwareUpgradeLog` | Debug firmware flash issues. | +| `ParameterManagerLog` | Debug parameter load problems. | +| `ParameterManagerDebugCacheFailureLog` | Debug parameter cache crc misses. | +| `PlanManagerLog`, `MissionManagerLog`, `GeoFenceManagerLog`, `RallyPointManagerLog` | Debug Plan upload/download issues. | +| `RadioComponentControllerLog` | Debug Radio calibration issues. | + +## Logging from the Command Line + +An alternate mechanism for logging is using the `--logging` command line option. This is handy if you are trying to get logs from a situation where _QGroundControl_ crashes. + +How you do this and where the traces are output vary by OS: + +- Windows + - You must open a command prompt, change directory to the **qgroundcontrol.exe** location, and run it from there: + ```bash + cd "\Program Files (x86)\qgroundcontrol" + qgroundcontrol --logging:full + ``` + - When _QGroundControl_ starts you should see a separate console window open which will have the log output +- OSX + - You must run _QGroundControl_ from Terminal. The Terminal app is located in Applications/Utilities. Once Terminal is open paste the following into it: + ```bash + cd /Applications/qgroundcontrol.app/Contents/MacOS/ + ./qgroundcontrol --logging:full + ``` + - Log traces will output to the Terminal window. +- ## Linux + ```bash + ./qgroundcontrol-start.sh --logging:full + ``` + - Log traces will output to the shell you are running from. diff --git a/docs/zh/docs/en/qgc-user-guide/settings_view/csv.md b/docs/zh/docs/en/qgc-user-guide/settings_view/csv.md new file mode 100644 index 00000000000..ae227ea9238 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/settings_view/csv.md @@ -0,0 +1,11 @@ +# CSV Logging + +![Csv checkbox](../../../assets/settings/general/csv.jpg) + +When checked, a CSV (comma-separated value) telemetry file will be created along with the usual **.tlog** telemetry file. +The file is only created if **Save log after each flight** is enabled, and is recorded for the same duration. + +This CSV file contains the most relevant vehicle telemetry data available for quick analysis such as GPS position, attitude, battery status, and others. +It is populated at 1 Hz and while it is not as detailed as the telemetry log, it is a lot easier to work with and quicker to extract data out of. + +The file can be opened by common spreadsheet software, including: Microsoft Excel, Google Sheets, LibreOffice Calc or OpenOffice Calc. diff --git a/docs/zh/docs/en/qgc-user-guide/settings_view/general.md b/docs/zh/docs/en/qgc-user-guide/settings_view/general.md new file mode 100644 index 00000000000..f88e660ef42 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/settings_view/general.md @@ -0,0 +1,282 @@ +# General Settings (Settings View) + +The general settings (**SettingsView > General Settings**) are the main place for application-level configuration. +Settable values include: display units, autoconnection devices, video display and storage, RTK GPS, brand image, and other miscellaneous settings. + +:::info +Values are settable even if no vehicle is connected. Settings that require a vehicle restart are indicated in the UI. +::: + +![SettingsView - Full General Tab](../../../assets/settings/general/overview.jpg) + +## Units + +This section defines the display units used in the application. + +![Units settings](../../../assets/settings/general/units.jpg) + +The settings are: + +- **Distance**: Meters | Feet +- **Area**: SquareMetres | SquareFeet | SquareKilometers | Hectares | Acres | SquareMiles +- **Speed**: Metres/second | Feet/second | Miles/hour | Kilometres/hour | Knots +- **Temperature**: Celsius | Fahrenheit + +## Miscellaneous + +This section defines a number of miscellaneous settings, related to (non exhaustively): font sizes, colour schemes, map providers, map types, telemetry logging, audio output, low battery announcement levels, default mission altitude, [virtual joysticks](../settings_view/virtual_joystick.md), mission autoloading, default application file load/save path etc. + +![Miscellaneous settings](../../../assets/settings/general/miscellaneous.jpg) + +The settings are: + +- **Language**: System (System Language) | Bulgarian, Chinese, ... + + ![Display languages](../../../assets/settings/general/languages.jpg) + + Translations are generally built into the application and selected automatically based on the system language. + + Metadata downloaded from the vehicle (such as parameter descriptions) might have translations as well. + These are downloaded from the internet upon vehicle connection. The translations are then cached locally. + This means an internet connection during vehicle connection is required at least once. + +- **Color Scheme**: Indoor (Dark) | Outdoor (Light) + +- **Map Provider**: Google | Mapbox | Bing | Airmap | VWorld | Eniro | Statkart + +- **Map Type**: Road | Hybrid | Satellite + +- **Stream GCS Position**: Never | Always | When in Follow Me Flight Mode. + +- **UI Scaling**: UI scale percentage (affects fonts, icons, button sizes, layout etc.) + +- **Mute all audio output**: Turns off all audio output. + +- **Check for Internet Connection**: Uncheck to allow maps to be used in China/places where map tile downloads are likely to fail (stops the map-tile engine continually rechecking for an Internet connection). + +- **Autoload Missions**: If enabled, automatically upload a plan to the vehicle on connection. + - The plan file must be named **AutoLoad#.plan**, where the `#` is replaced with the vehicle id. + - The plan file must be located in the [Application Load/Save Path](#load_save_path). + +- **Clear all settings on next start**: Resets all settings to the default (including this one) when _QGroundControl_ restarts. + +- **Announce battery lower than**: Battery level at which _QGroundControl_ will start low battery announcements. + +- **Application Load/Save Path**: Default location for loading/saving application files, including: parameters, telemetry logs, and mission plans. + +## Data Persistence {#data\_persistence} + +![Data Persistence Settings](../../../assets/settings/general/data_persistence.jpg) + +The settings are: + +- **Disable all data persistence**: Check to prevent any data being saved or cached: logs, map tiles etc. + This setting disables the [telemetry logs section](#telemetry_logs). + +## Telemetry Logs from Vehicle {#telemetry\_logs} + +![Telemetry Logs from Vehicle Settings](../../../assets/settings/general/telemetry_logs.jpg) + +The settings are: + +- **Save log after each flight**: Telemetry logs (`.tlog`) automatically saved to the _Application Load/Save Path_ ([above](#load_save_path)) after flight. +- **Save logs even if vehicle was not armed**: Logs when a vehicle connects to _QGroundControl_. + Stops logging when the last vehicle disconnects. +- [**CSV Logging**](csv.md): Log subset of telemetry data to a CSV file. + +## Fly View {#fly\_view} + +![Fly View Settings](../../../assets/settings/general/fly_view.jpg) + +The settings are: + +- **Use Preflight Checklist**: Enable pre-flight checklist in Fly toolbar. + +- **Enforce Preflight Checklist**: Checklist completion is a pre-condition for arming. + +- **Keep Map Centered on Vehicle**: Forces map to center on the currently selected vehicle. + +- **Show Telemetry Log Replay Status Bar**: Display status bar for [Replaying Flight Data](../fly_view/replay_flight_data.md). + +- **Virtual Joystick**: Enable [virtual joysticks](../settings_view/virtual_joystick.md) (PX4 only) + +- **Use Vertical Instrument Panel**: Align instrument panel vertically rather than horizontally (default). + +- **Show additional heading indicators on Compass**: Adds additional indicators to the compass rose: + +- _Blue arrow_: course over ground. + +- _White house_: direction back to home. + +- _Green line_: Direction to next waypoint. + +- **Lock Compass Nose-Up**: Check to rotate the compass rose (default is to rotate the vehicle inside the compass indicateor). + +- **Guided Minimum Altitude**: Minimum value for guided actions altitude slider. + +- **Guided Maximum Altitude**: Minimum value for guided actions altitude slider. + +- **Go To Location Max Distance**: The maximum distance that a Go To location can be set from the current vehicle location (in guided mode). + +## Plan View {#plan\_view} + +![Plan View Settings](../../../assets/settings/general/plan_view.jpg) + +The settings are: + +- **Default Mission Altitude**: The default altitude used for the Mission Start Panel, and hence for the first waypoint. + +## AutoConnect to the following devices {#auto\_connect} + +This section defines the set of devices to which _QGroundControl_ will auto-connect. + +![Device autoconnect settings](../../../assets/settings/general/autoconnect_devices.jpg) + +Settings include: + +- **Pixhawk:** Autoconnect to Pixhawk-series device +- **SiK Radio:** Autoconnect to SiK (Telemetry) radio +- **PX4 Flow:** Autoconnect to PX4Flow device +- **LibrePilot:** Autoconnect to Libre Pilot autopilot +- **UDP:** Autoconnect to UDP +- **RTK GPS:** Autoconnect to RTK GPS device +- **NMEA GPS Device:** Autoconnect to an external GPS device to get ground station position ([see below](#nmea_gps)) + +### Ground Station Location (NMEA GPS Device) {#nmea\_gps} + +_QGroundControl_ will automatically use an internal GPS to display its own location on the map with a purple `Q` icon (if the GPS provides a heading, this will be also indicated by the icon). +It may also use the GPS as a location source for _Follow Me Mode_ - currently supported on [PX4 Multicopters only](https://docs.px4.io/en/flight_modes/follow_me.html). + +You can also configure QGC to connect to an external GPS device via a serial or UDP port. +The GPS device must support the ASCII NMEA format - this is normally the case. + +:::tip +A higher quality external GPS system may be useful even if the ground station has internal GPS support. +::: + +Use the _NMEA GPS Device_ drop-down selector to manually select the GPS device and other options: + +- USB connection: + + ![NMEA GPS Device - Serial](../../../assets/settings/general/nmea_gps_serial.jpg) + + - **NMEA GPS Device:** _Serial_ + - **NMEA GPS Baudrate**: The baudrate for the serial port + + :::tip + To troubleshoot serial GPS problems: Disable RTK GPS [auto connection](#auto_connect), close _QGroundControl_, reconnect your GPS, and open QGC. + ::: + +- Network connection: + + ![NMEA GPS Device - UDP](../../../assets/settings/general/nmea_gps_udp.jpg) + + - **NMEA GPS Device:** _UDP Port_. + - **NMEA Stream UDP Port**: The UDP port on which QGC will listen for NMEA data (QGC binds the port as a server) + +## RTK GPS {#rtk\_gps} + +This section allows you to specify the RTK GPS "Survey-in" settings, to save and reuse the result of a Survey-In operation, or to directly enter any other known position for the base station. + +![RTK GPS Settings](../../../assets/settings/general/rtk_gps.jpg) + +:::info +The _Survey-In_ process is a startup procedure required by RTK GPS systems to get an accurate estimate of the base station position. +The process takes measurements over time, leading to increasing position accuracy. +Both of the setting conditions must met for the Survey-in process to complete. +For more information see [RTK GPS](https://docs.px4.io/en/advanced_features/rtk-gps.html) (PX4 docs) and [GPS- How it works](http://ardupilot.org/copter/docs/common-gps-how-it-works.html#rtk-corrections) (ArduPilot docs). +::: + +:::tip +In order to save and reuse a base position (because Survey-In is time consuming!) perform Survey-In once, select _Use Specified Base Position_ and press **Save Current Base Position** to copy in the values for the last survey. +The values will then persist across QGC reboots until they are changed. +::: + +The settings are: + +- Perform Survey-In + - **Survey-in accuracy (U-blox only):** The minimum position accuracy for the RTK Survey-In process to complete. + - **Minimum observation duration:** The minimum time that will be taken for the RTK Survey-in process. +- Use Specified Base Position + - **Base Position Latitude:** Latitude of fixed RTK base station. + - **Base Position Longitude:** Longitude of fixed RTK base station. + - **Base Position Alt (WGS94):** Altitude of fixed RTK base station. + - **Base Position Accuracy:** Accuracy of base station position information. + - **Save Current Base Position** (button): Press to copy settings from the last Survey-In operation to the _Use Specified Base Position_ fields above. + +## ADSB Server {#adsb\_server} + +![ADSB\_Server Settings](../../../assets/settings/general/adbs_server.jpg) + +The settings are: + +- **Connect to ADSB SBS server**: Check to connect to ADSB server on startup. +- **Host address**: Host address of ADSB server +- **Server port**: Port of ADSB server + +QGC can consume ADSB messages in SBS format from a remote or local server (at the specified IP address/port) and display detected vehicles on the Fly View map. + +::: tip +One way to get ADSB information from nearby vehicles is to use [dump1090](https://github.com/antirez/dump1090) to serve the data from a connected RTL-SDR dongle to QGC. + +The steps are: + +1. Get an RTL-SDR dongle (and antenna) and attach it to your ground station computer (you may need to find compatible drivers for your OS). +2. Install _dump1090_ on your OS (either pre-built or build from source). +3. Run `dump1090 --net` to start broadcasting messages for detected vehicles on TCP localhost port 30003 (127.0.0.1:30003). +4. Enter the server (`127.0.0.1`) and port (`30003`) address in the QGC settings above. +5. Restart QGC to start seeing local vehicles on the map. + +::: + +## Video {#video} + +The _Video_ section is used to define the source and connection settings for video that will be displayed in _Fly View_. + +![Video settings](../../../assets/settings/general/video_udp.jpg) + +The settings are: + +- **Video Source**: Video Stream Disabled | RTSP Video Stream | UDP h.264 Video Stream | UDP h.265 Video Stream | TCP-MPEG2 Video Stream | MPEG-TS (h.264) Video Stream | Integrated Camera + + ::: info + If no video source is specified then no other video or _video recording_ settings will be displayed (above we see the settings when UDP source is selected). + ::: + +- **URL/Port**: Connection type-specific stream address (may be port or URL). + +- **Aspect Ratio**: Aspect ratio for scaling video in video widget (set to 0.0 to ignore scaling) + +- **Disabled When Disarmed**: Disable video feed when vehicle is disarmed. + +- **Low Latency Mode**: Enabling low latency mode reduces the video stream latency, but may cause frame loss and choppy video (especially with a poor network connection). + +## Video Recording + +The _Video Recording_ section is used to specify the file format and maximum allocated file storage for storing video. +Videos are saved to a sub-directory ("Video") of the [Application Load/Save Path](#load_save_path). + +![Video - without auto deletion](../../../assets/settings/general/video_recording.jpg) + +![Video - auto deletion](../../../assets/settings/general/video_recording_auto_delete.jpg) + +The settings are: + +- **Auto-Delete Files**: If checked, files are auto deleted when the specified amount of storage is used. +- **Max Storage Usage**: Maximum video file storage before video files are auto deleted. +- **Video File Format**: File format for the saved video recording: mkv, mov, mp4. + +## Brand Image + +This setting specifies the _brand image_ used for indoor/outdoor colour schemes. + +The brand image is displayed in place of the icon for the connected autopilot in the top right corner of the toolbar. +It is provided so that users can easily create screen/video captures that include a company logo/branding. + +![Brand Image](../../../assets/settings/general/brand_image.jpg) + +The settings are: + +- **Indoor Image**: Brand image used in [indoor color scheme](#colour_scheme) +- **Outdoor Image**: Brand image used in [outdoor color scheme](#colour_scheme) +- **Reset Default Brand Image**: Reset the brand image back to default. diff --git a/docs/zh/docs/en/qgc-user-guide/settings_view/mavlink.md b/docs/zh/docs/en/qgc-user-guide/settings_view/mavlink.md new file mode 100644 index 00000000000..05bf0cd5581 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/settings_view/mavlink.md @@ -0,0 +1,81 @@ +# MAVLink Settings + +The MAVLink settings (**SettingsView > MAVLink**) allow you to configure options and view information specific to MAVLink communications. +This includes setting the MAVLink system ID for _QGroundControl_ and viewing link quality. + +The screen also allows you to manage [MAVLink 2 Log Streaming](#logging) (PX4 only), including _automating log upload to Flight Review_! + +![MAVLink settings screen](../../../assets/settings/mavlink/overview.png) + +## Ground Station {#ground\_station} + +This section sets the MAVLink properties and behaviour of _QGroundControl_. + +![Ground Station](../../../assets/settings/mavlink/ground_station.png) + +- **MAVLink System ID:** System ID of _QGroundControl_ on the MAVLink network (Default: 255). + Vehicles are typically allocated IDs from 1. + You may have to specify another ID if there are multiple ground stations or MAVLink applications on the network. +- **Emit heartbeat:** Disable emission of regular MAVLink HEARTBEAT message (Default: True). + Generally speaking, you should not turn this off. +- **Only accept MAVs with the same protocol version:** Set true to only connect to MAVLink 1 or to MAVLink 2 vehicles (Default: True). +- **Enable MAVLink forwarding:** Enable _QGroundControl_ to forward MAVLink messages from connected vehicles to another UDP endpoint (Default: False). + Note that this forwarding is one-way: from QGC to the specified host. + Any MAVLink messages that are received from the specified host will be ignored. + +## Link Status {#link\_status} + +This shows the status of MAVLink message transfer over the communications link. +A high **Loss rate** may lead to protocol errors for things like parameter download or mission upload/download. + +![Link Status](../../../assets/settings/mavlink/link_status.jpg) + +## MAVLink 2 Logging (PX4 only) {#logging} + +The _MAVLink 2 Logging_ settings (PX4 only) configure real-time log streaming from PX4 to _QGroundControl_ and upload of logs to [Flight Review](https://logs.px4.io). + +:::warning +MAVLink 2 Logging cannot be used on "basic" setups because it requires a constant high-rate MAVLink connection to the vehicle (it _may_ work over WiFI but will _not_ work over a Telemetry link). +::: + +:::tip +In theory log streaming allows real time analysis of data. +At time of writing real-time analysis has not yet been implemented. +::: + +The log format is the same as for SD Card logs (downloaded using [Analyze View > Log Download](../analyze_view/log_download.md)), but actual data logged may be slightly different because log start/stop time is controlled by _QGroundControl_ and because some dropouts may occur when streaming over a lossy channel. + +The _MAVLink 2 Logging_ section allows you to manually start and stop logging, and to enable automatic capture of logs. + +![MAVLink 2 Logging](../../../assets/settings/mavlink/mavlink2_logging.jpg) + +The _MAVLink 2 Log Uploads_ section allows you configure uploading of MAVLink logs to [Flight Review](https://logs.px4.io). +You can specify all the fields that you would otherwise have to directly enter in the site, and also choose whether logs are automatically or manually uploaded. + +![MAVLink 2 Log Uploads](../../../assets/settings/mavlink/mavlink2_log_uploads.jpg) + +The fields are: + +- **Email address for Log Uploads:** _Flight Review_ will email you a link to the upload at this address. + This is important as otherwise you will have no way to access a non-public log after upload. +- **Default Description:** Description/name of flight used for log. +- **Default Upload URL:** URL for upload of the log/log metadata. + This is set by default to the _Flight Review_ URL. +- **Video URL:** (Optional) URL for video of flight associated with log. + This may be included on the Flight Review page to ease analysis. +- **Wind Speed:** Used to aid debugging and filtering (from multiple flights). Allowed values: _Calm_ | _Breeze_ | _Gale_ | _Storm_. +- **Flight Rating:** Used to aid debugging and filtering (from multiple flights). Allowed values: _Crashed (Pilot Error)_ | _Crashed (Software or Hardware Issue)_ | _Unsatisfactory_ | _Good_ | _Great_. +- **Additional Feedback:** (Optional). Enter a more detailed description of the flight or behaviour. +- **Make this log publically available:** If set, the log will be visible and searchable on _Flight Review_. + If not set, it will only be available via the link emailed on upload. +- **Enable automatic log uploads:** If set, the log will automatically be uploaded on completion. +- **Delete log file after uploading:** If set, the log will automatically deleted after upload. + +The _Saved Log Files_ section is used to manually manage log uploads. +Use the checkboxes and buttons to select logs, and either delete or upload them. + +:::tip +You can change the parameters in _MAVLink 2 Log Uploads_ above to specify separate descriptions for uploaded logs. +::: + +![Saved log files](../../../assets/settings/mavlink/saved_log_files.jpg) diff --git a/docs/zh/docs/en/qgc-user-guide/settings_view/offline_maps.md b/docs/zh/docs/en/qgc-user-guide/settings_view/offline_maps.md new file mode 100644 index 00000000000..a3c0384c15b --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/settings_view/offline_maps.md @@ -0,0 +1,14 @@ +# Offline Maps + +![](../../../assets/settings/offline_maps.jpg) + +Offline Maps allows you to cache map tiles for use when not connected to the Internet. You can create multiple offline sets, each for a different location. + +## Add new set + +To create a new offline map set, click "Add new set". Which will take you to this page: +![](../../../assets/settings/offline_maps_add.jpg) + +From here you can name your set as well as specify the zoom levels you want to cache. Move the map to the position you want to cache and then set the zoom levels and click Download to cache the tiles. + +To the left you can see previews of the min and max zoom levels you have chosen. diff --git a/docs/zh/docs/en/qgc-user-guide/settings_view/settings_view.md b/docs/zh/docs/en/qgc-user-guide/settings_view/settings_view.md new file mode 100644 index 00000000000..d370436affa --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/settings_view/settings_view.md @@ -0,0 +1,19 @@ +# Settings View + +The _Settings View_ is used to configure the settings for the _QGroundControl_ application (rather than a specific vehicle). You do not have to have a vehicle connected to change these values. + +You can switch between the various settings options by clicking the buttons in the left-sidebar. + +![](../../../assets/settings/settings_view.jpg) + +## Settings Options + +**[General](general.md)**
The main application configuration settings. These are used to specify: display units, autoconnection devices, video display and storage, RTK GPS, etc. + +**Comm Links**
Allows you to manually create communication links and connect to them. _Keep in mind that normally this is not needed since QGroundControl will automatically connect to the most common devices._ + +**[Offline Maps](offline_maps.md)**
Allows you to cache maps for use while you have no Internet connection. + +**[MAVLink](mavlink.md)**
Settings associated with the MAVLink connection to a vehicle. + +**[Console](console_logging.md)**
Used to capture application logs for help with diagnosing application problems. diff --git a/docs/zh/docs/en/qgc-user-guide/settings_view/virtual_joystick.md b/docs/zh/docs/en/qgc-user-guide/settings_view/virtual_joystick.md new file mode 100644 index 00000000000..33544050b15 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/settings_view/virtual_joystick.md @@ -0,0 +1,20 @@ +# Virtual Joystick + +_QGroundControl_ allows you to control a vehicle with on-screen virtual thumbsticks. These are displayed as shown below in the flight view. + +![QGroundControl Preferences > Enable Virtual Joystick](../../../assets/settings/joystick_virtual_joystick_displayed.jpg) + +:::info +Thumbstick control is not as responsive as using an RC Transmitter (because the information is sent over MAVLink). Another alternative is to use a [USB Joystick/Gamepad](../setup_view/joystick.md). +::: + +## Enable the thumbsticks + +To enable the virtual joysticks: + +1. Select the **Q** icon from the top toolbar +2. Open the **Application Settings** +3. Make sure you're on the **General** tab +4. Check the **Virtual joystick** box + + ![QGroundControl Application Settings > Enable Virtual joystick](../../../assets/settings/joystick_virtual_joystick_enable.png) diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/airframe.md b/docs/zh/docs/en/qgc-user-guide/setup_view/airframe.md new file mode 100644 index 00000000000..475afe234ed --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/airframe.md @@ -0,0 +1,7 @@ +# Airframe Setup + +This page allows you to configure the main airframe selection associated with your vehicle. +The view/process differs slightly based on the flight controller firmware used. + +- [Airframe (ArduPilot)](../setup_view/airframe_ardupilot.md) +- [Airframe (PX4)](../setup_view/airframe_px4.md) diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/airframe_ardupilot.md b/docs/zh/docs/en/qgc-user-guide/setup_view/airframe_ardupilot.md new file mode 100644 index 00000000000..d0dd811a1be --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/airframe_ardupilot.md @@ -0,0 +1,41 @@ +# Airframe Setup (ArduPilot) + +Airframe Setup is used to select the frame class and type that matches your vehicle + +:::info +Airframe Setup is only available on _ArduCopter_ and _ArduSub_ vehicles (it is not shown for _ArduPilot_ Rover or Plane vehicles). +::: + +## ArduCopter Airframe Setup + +To select the airframe in Copter: + +1. First select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Airframe** in the sidebar. + + ![Airframe config](../../../assets/setup/airframe/arducopter.jpg) + +2. Select the broad _Frame Class_ for your vehicle: + + ![Airframe type](../../../assets/setup/airframe/arducopter_class.jpg) + + ::: info + You will need to reboot the vehicle for class changes to take effect. + ::: + +3. Select the specific _Frame Type_ for your vehicle: + + ![Airframe type](../../../assets/setup/airframe/arducopter_type.jpg) + +## ArduSub Frame Setup {#ardusub} + +To select the frame type for Sub: + +1. First select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Frame** in the sidebar. +2. Select the frame type that matches your vehicle (selecting a frame applies the selection). +3. Make sure that all **green** thrusters have **clockwise** propellers and all **blue** thrusters have **counter-clockwise** propellers (or vice-versa). + + ![Select airframe type](../../../assets/setup/airframe_ardusub.jpg) + + - You can also click **Load Vehicle Default Parameters** to load default parameter set for ArduSub. + + ![Load vehicle params](../../../assets/setup/airframe_ardusub_parameters.jpg) diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/airframe_px4.md b/docs/zh/docs/en/qgc-user-guide/setup_view/airframe_px4.md new file mode 100644 index 00000000000..9a1dac51cb1 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/airframe_px4.md @@ -0,0 +1,19 @@ +# Airframe Setup (PX4) + +To select the airframe in PX4: + +1. Start _QGroundControl_ and connect the vehicle. + +2. Select **QGroundControl icon > Vehicle Setup > Airframe** (sidebar) to open _Airframe Setup_. + +3. Select the broad vehicle group/type that matches your airframe and then use the dropdown within the group to choose the airframe that best matches your vehicle. + + ![Airframe options](../../../assets/setup/airframe_px4/airframe_px4.jpg) + + The example above shows _Generic Hexarotor X geometry_ selected from the _Hexarotor X_ group. + +4. Click the **Apply and Restart** button on the top right of the screen. + +5. Click **Apply** in the following prompt to save the settings and restart the vehicle. + + diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/camera.md b/docs/zh/docs/en/qgc-user-guide/setup_view/camera.md new file mode 100644 index 00000000000..0a63044c0a2 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/camera.md @@ -0,0 +1,18 @@ +# Camera Setup + +The details of the page differ if you are using PX4 firmware or ArduPilot firmware. + +## ArduPilot Camera Setup + +![](../../../assets/setup/ardupilot_camera.jpg) + +## PX4 Camera Setup + +![PX4 Camera setup](../../../assets/setup/px4_camera.jpg) + +For more information see [Camera](http://docs.px4.io/master/en/peripherals/camera.html) (PX4 User Guide). + +:::info +The camera settings section is not available by default for FMUv2-based flight controllers (e.g. 3DR Pixhawk) because the camera module is not automatically included in firmware. +For more information see [this topic](http://docs.px4.io/master/en/advanced_config/parameters.html#parameter-not-in-firmware). +::: diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/firmware.md b/docs/zh/docs/en/qgc-user-guide/setup_view/firmware.md new file mode 100644 index 00000000000..0ca404450a4 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/firmware.md @@ -0,0 +1,49 @@ +# Loading Firmware + +_QGroundControl_ **desktop** versions can install [PX4 Pro](http://px4.io/) or [ArduPilot](http://ardupilot.com) firmware onto Pixhawk-family flight-controller boards. By default QGC will install the current stable version of the selected autopilot, but you can also choose to install beta builds, daily builds, or custom firmware files. + +_QGroundControl_ can also install the firmware for SiK Radios and PX4 Flow devices. + +> **Caution** Loading Firmware is currently not available on tablet or phone versions of _QGroundControl_. + +## Connect Device for Firmware Update + +> **Caution** **Before you start installing Firmware** all USB connections to your vehicle must be _disconnected_ (both direct or through a telemetry radio). The vehicle must _not be_ powered by a battery. + +1. First select the **Gear** icon (_Vehicle Setup_) in the top toolbar and then **Firmware** in the sidebar. + +![Firmware disconnected](../../../assets/setup/firmware/firmware_disconnected.jpg) + +1. Connect your device (Pixhawk, SiK Radio, PX4 Flow) directly to your computer via USB. + + ::: info + Connect directly to a powered USB port on your machine (do not connect through a USB hub). + ::: + +## Select Firmware to Load + +Once the device is connected you can choose which firmware to load (_QGroundControl_ presents sensible options based on the connected hardware). + +1. For a Pixhawk-compatible board choose either **PX4 Flight Stack vX.X.X Stable Release** or **ArduPilot Flight Stack** radio buttons to download the _current stable release_. + + ![Select PX4](../../../assets/setup/firmware/firmware_select_default_px4.jpg) + + If you select _ArduPilot_ you will also have to choose the specific firmware and the type of vehicle (as shown below). + + ![Select ArduPilot](../../../assets/setup/firmware/firmware_selection_ardupilot.jpg) + +2. Check **Advanced settings** to select specific developer releases or install firmware from your local file system. + + ![ArduPilot - Advanced Settings](../../../assets/setup/firmware/firmware_selection_advanced_settings.jpg) + +## Update the firmware + +1. Click the **OK** button to start the update. + + The firmware will then proceed through a number of upgrade steps (downloading new firmware, erasing old firmware etc.). + Each step is printed to the screen and overall progress is displayed on a progress bar. + + ![Firmware Upgrade Complete](../../../assets/setup/firmware/firmware_upgrade_complete.jpg) + +Once the firmware has finished loading the device/vehicle will reboot and reconnect. +Next you will need to configure the [airframe](../setup_view/airframe.md) (and then sensors, radio, etc.) diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/flight_modes.md b/docs/zh/docs/en/qgc-user-guide/setup_view/flight_modes.md new file mode 100644 index 00000000000..382c8bee975 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/flight_modes.md @@ -0,0 +1,62 @@ +# Flight Modes Setup + +The _Flight Modes_ section allows you to map flight modes to radio channel(s), and hence to the switches on your radio control transmitter. +Both flight mode setup and the available flight modes are different in PX4 and ArduPilot (and there are some differences between ArduCopter and ArduPlane). + +:::info +In order to set up flight modes you must already have already [configured your radio](../setup_view/radio.md), and [setup the transmitter](#transmitter-setup) (as shown below). +::: + +To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +For more flight stack specific setup see: + +- [ArduPilot Flight Modes Setup](../setup_view/flight_modes_ardupilot.md) +- [PX4 Flight Modes Setup](../setup_view/flight_modes_px4.md) + +## Transmitter Setup + +In order setup flight modes you will first need to configure your _transmitter_ to encode the physical positions of your mode switch(es) into a single channel. + +On both PX4 and ArduPilot you can assign up to 6 different flight modes to a single channel of your transmitter +It is common to use the positions of a 2- and a 3-position switch on the transmitter to represent the 6 flight modes. +Each combination of switches is then encoded as a particular PWM value that will be sent on a single channel. + +:::info +The single channel is selectable on PX4 and ArduPlane, but is fixed to channel 5 on Copter. +::: + +The process for this varies depending on the transmitter. +A number of setup examples are provided below. + +### Taranis + +These examples show several configurations for the _FrSky Taranis_ transmitter. + +#### Map 3-way Switch to a Single Channel + +If you only need to support selecting between two or three modes then you can map the modes to the positions just one 3-way switch. +Below we show how to map the Taranis 3-way "SD" switch to channel 5. + +Open the Taranis UI **MIXER** page and scroll down to **CH5**, as shown below: + +![Taranis - Map channel to switch](../../../assets/setup/flight_modes/taranis_single_channel_mode_selection_1.png) + +Press **ENT(ER)** to edit the **CH5** configuration then change the **Source** to be the _SD_ button. + +![Taranis - Configure channel](../../../assets/setup/flight_modes/taranis_single_channel_mode_selection_2.png) + +That's it! +Channel 5 will now output 3 different PWM values for the three different **SD** switch positions. + +#### Map Multiple Switches to a Single Channel + +Most transmitters do not have 6-way switches, so if you need to be able to support more modes than the number of switch positions available (up to 6) then you will have to represent them using multiple switches. +Commonly this is done by encoding the positions of a 2- and a 3-position switch into a single channel, so that each switch position combination results in a different PWM value. + +On the FrSky Taranis this process involves assigning a "logical switch" to each combination of positions of the two real switches. +Each logical switch is then assigned to a different PWM value on the same channel. + +This video shows how this is done with the _FrSky Taranis_ transmitter: https\://youtu.be/TFEjEQZqdVA + + diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/flight_modes_ardupilot.md b/docs/zh/docs/en/qgc-user-guide/setup_view/flight_modes_ardupilot.md new file mode 100644 index 00000000000..2f4978ced77 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/flight_modes_ardupilot.md @@ -0,0 +1,54 @@ +# ArduPilot Flight Mode Setup + +The _Flight Modes_ section allows you to configure which flight modes and other actions are triggered by particular switches/switch positions on your RC transmitter. + +::: info +In order to set up flight modes you must already have + +> - [Configured your radio](../setup_view/radio.md) in order to set flight modes. +> - [Setup the RC transmitter](../setup_view/FlightModes.md#transmitter-setup) (Flight Modes > Transmitter Setup)> ::: + +To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +![Flight modes setup - ArduCopter](../../../assets/setup/flight_modes/ardupilot_copter.jpg) + +## Flight Mode Settings + +On ArduPilot you can assign up to 6 different flight modes to a single channel of your transmitter (the channel is selectable on Plane, but fixed to channel 5 on Copter). +ArduCopter also allows you to specify additional _Channel Options_ for channels 7-12. +These allow you to assign functions to these switches (for example, to turn on a camera, or return to launch). + +To set the flight modes: + +1. Turn on your RC transmitter. + +2. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + + ![Flight modes setup - ArduCopter](../../../assets/setup/flight_modes/ardupilot_copter.jpg) + + ::: info + The above image is a screenshot of the flight mode setup for ArduCopter. + ::: + +3. Select up to 6 flight modes in the drop downs. + +4. **ArduCopter only:** Select additional _Channel Options_ for channels 7-12. + +5. **ArduPlane only:** Select the mode channel from the dropdown. + + ![Flight modes setup - ArduPlane](../../../assets/setup/flight_modes/ardupilot_plane.jpg) + +6. Test that the modes are mapped to the right transmitter switches by selecting each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode). + +All values are automatically saved as they are changed. + +::: info +The ArduCopter screenshot above shows a typical setup for a three position flight mode switch with an additional option of RTL being on a channel 7 switch. +You can also setup 6 flight modes using two switches plus mixing on your transmitter. Scroll down to the center section of this [page](http://ardupilot.org/copter/docs/common-rc-transmitter-flight-mode-configuration.html#common-rc-transmitter-flight-mode-configuration) for tutorials on how to do that. +::: + +## See Also + +- [ArduCopter Flight Modes](http://ardupilot.org/copter/docs/flight-modes.html) +- [ArduPlane Flight Modes](http://ardupilot.org/plane/docs/flight-modes.html) +- [ArduCopter > Auxiliary Function Switches](https://ardupilot.org/copter/docs/channel-7-and-8-options.html#channel-7-and-8-options) - additional information about channel configuration. diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/flight_modes_px4.md b/docs/zh/docs/en/qgc-user-guide/setup_view/flight_modes_px4.md new file mode 100644 index 00000000000..2fac3ae0d8e --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/flight_modes_px4.md @@ -0,0 +1,50 @@ +# PX4 Flight Modes Setup + +The _Flight Modes_ section allows you to configure which [flight modes](http://docs.px4.io/master/en/getting_started/flight_modes.html) and other actions are triggered by particular switches/switch positions on your RC transmitter. + +::: info +In order to set up flight modes you must already have + +- [Configured your radio](../setup_view/radio.md) in order to set flight modes. +- [Setup the RC transmitter](../setup_view/FlightModes.md#transmitter-setup) (Flight Modes > Transmitter Setup) + ::: + +To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +![Flight modes single-channel](../../../assets/setup/flight_modes/px4_single_channel.jpg) + +## Flight Mode Settings + +The screen allows you to specify a "mode" channel and select up to 6 flight modes that will be activated based on the value sent on the channel. +You can also assign a small number of channels to trigger particular actions, such as deploying landing gear, or emergency shutdown (kill switch). + +The steps are: + +1. Turn on your RC transmitter. + +2. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + + ![Flight modes single-channel](../../../assets/setup/flight_modes/px4_single_channel.jpg) + +3. Specify _Flight Mode Settings_: + + - Select the transmitter **Mode channel** (shown as Channel 5 above). + - Select up to six **Flight Modes** for switch positions encoded in the channel. + + ::: info + Position mode, return mode and mission mode [are recommended](https://docs.px4.io/master/en/config/flight_mode.html#what-flight-modes-and-switches-should-i-set). + ::: + +4. Specify _Switch Settings_: + + - Select the channels that you want to map to specific actions - _Kill switch_, landing gear, etc. (if you have spare switches and channels on your transmitter). + +5. Test that the modes are mapped to the right transmitter switches: + - Check the _Channel Monitor_ to confirm that each switch moves the expected channel. + - Select each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode). + +All values are automatically saved as they are changed. + +## See Also + +- [PX4 Flight Modes](https://docs.px4.io/en/flight_modes/) diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/joystick.md b/docs/zh/docs/en/qgc-user-guide/setup_view/joystick.md new file mode 100644 index 00000000000..ffd4be052c0 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/joystick.md @@ -0,0 +1,205 @@ +# Joystick Setup + +_QGroundControl_ allows you to control a vehicle using a joystick or gamepad instead of an RC Transmitter. + +:::info +Flying with a Joystick (or [virtual thumb-sticks](../settings_view/virtual_joystick.md)) requires a reliable high bandwidth telemetry channel to ensure that the vehicle is responsive to joystick movements (because joystick information is sent over MAVLink). +::: + +:::info +Joystick and Gamepad support is enabled using the cross-platform [SDL2](http://www.libsdl.org/index.php) library. +Compatibility with a particular controller depends on SDL (all buttons that are exposed by that API are displayed through the _QGroundControl_ UI). +A [number of common joysticks and gamepads](#supported-joysticks) are known to work. +::: + +:::info +The joystick is _enabled_ as the last step of the calibration process. +::: + +## Enabling PX4 Joystick Support + +To enable Joystick support in PX4 you need to set the parameter \[`COM_RC_IN_MODE`]\(h[ttp://localhost:8080/px4\_user\_guide/en](https://docs.px4.io/en/main/advanced_config/parameter_reference.html#COM_RC_IN_MODE) to `1` - _Joystick_. +If this parameter is `0` then _Joystick_ will not be offered as a setup option. + +This is enabled by default for PX4 SITL builds (see the [Parameters](../setup_view/parameters.md) topic for information on how to find and set a particular parameter). + +## Ardupilot Joystick Support + +All ArduPilot vehicles are supported. No parameter configuration is necessary. + +## Configuring the Joystick {#configure} + +To configure a joystick: + +1. Start _QGroundControl_ and connect to a vehicle. + +2. Connect the Joystick or Gamepad to a USB port. + +3. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Joystick** in the sidebar. + The screen below will appear. + + ![Joystick setup - PlayStation](../../../assets/setup/joystick_sony_playstation.jpg) + +4. Make sure your joystick is selected in the **Active joystick** dropdown. + +5. Go to the **Calibrate** Tab, press the **Start** button and then follow the on-screen instructions to calibrate/move the sticks. + + ![Joystick setup - Calibration](../../../assets/setup/joystick_calibration.jpg) + + The joystick is _enabled_ as the last step of the calibration process. + +6. Test the buttons and sticks work as intended by pressing them, and viewing the result in the Axis/Button monitor in the **General** tab. + +7. Select the flight modes/vehicle functions activated by each joystick button. + ![Joystick setup - Buttons](../../../assets/setup/joystick_buttons.jpg) + +## Advanced Options + +Some additional Options are available at the **Advanced** tab. +These options may be useful for specific, unsual setups, for increasing sensibility, and for handling noisy joysticks. + +### Throttle Options + +![Joystick setup - Throttle Modes](../../../assets/setup/joystick_throttle_modes.jpg) + +- **Center stick is zero throttle**: Centered or lowered stick sends 0 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), raised stick sends 1000. + - **Spring loaded throttle smoothing**: In this mode you control not the throttle itself, but the rate at which it increases/decreases. + This is useful for setups where the throttle stick is spring loaded, as the user can hold the desired throttle while releasing the stick. +- **Full down stick is zero throttle**: In this mode, lowered stick sends 0 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), centered stick 500, and raised 1000. +- **Allow negative thrust**: When in **Center stick is zero throttle** mode, this allows the user to send negative values by lowering the stick. + So that lowered stick sends -1000 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), centered sends zero, and raised stick sends 1000. + This mode is only enabled for vehicles that support negative thrust, such as [Rover](http://ardupilot.org/rover/index.html). + +### Expo + +The expo slider allows you to make the sticks less sensitive in the center, allowing finer control in this zone. + +![Joystick setup - Expo](../../../assets/setup/joystick_throttle_expo.jpg) + +The slider adjusts the curvature of the exponential curve. + +![Joystick setup - Expo Curve](../../../assets/setup/joystick_throttle_expo_curve.jpg) + +The higher the Expo value, the flatter the curve is at the center, and steeper it is at the edges. + +### Advanced Settings + +The advanced settings are not recommended for everyday users. +They can cause unpredicted results if used incorrectly. + +![Joystick setup - Advanced Settings](../../../assets/setup/joystick_advanced.jpg) + +The following settings are available: + +- **Enable Gimbal Control**: Enabled two additional channels for controlling a gimbal. + +- **Joystick Mode**: Changes what the joystick actually controls, and the MAVLink messages sent to the vehicle. + + - **Normal**: User controls as if using a regular RC radio, MAVLink [MANUAL\_CONTROL](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL) messages are used. + - **Attitude**: User controls the vehicle attitude, MAVLink [SET\_ATTITUDE\_TARGET](https://mavlink.io/en/messages/common.html#SET_ATTITUDE_TARGET) messages are used. + - **Position**: User controls the vehicle position, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **position** only are used. + - **Force**: User controls the forces applied to the vehicle, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **force** only are used. + - **Velocity**: User controls the forces applied to the vehicle, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **velocity** only are used. + +- **Axis Frequency**: When the joystick is idle (inputs are not changing), the joystick commands are sent to the vehicle at 5Hz. When the joystick is in use (input values are changing), the joystick commands are sent to the vehicle at the (higher) frequency configured by this setting. The default is 25Hz. + +- **Button Frequency**: Controls the frequency at which repeated button actions are sent. + +- **Enable Circle Correction**: RC controllers sticks describe a square, while joysticks usually describe a circle. + When this option is enabled a square is inscribed inside the joystick movement area to make it more like an RC controller (so it is possible to reach all four corners). The cost is decreased resolution, as the effective stick travel is reduced. + + - **Disabled:** When this is **disabled** the joystick position is sent to the vehicle unchanged (the way that it is read from the joystick device). + On some joysticks, the (roll, pitch) values are confined to the space of a circle inscribed inside of a square. + In this figure, point B would command full pitch forward and full roll right, but the joystick is not able to reach point B because the retainer is circular. + This means that you will not be able to achieve full roll and pitch deflection simultaneously. + + ![](../../../assets/setup/joystick_circle_correction.jpg) + + - **Enabled:** The joystick values are adjusted in software to ensure full range of commands. + The usable area of travel and resolution is decreased, however, because the area highlighted grey in the figure is no longer used. + + ![Circle correction enabled](../../../assets/setup/joystick_circle_correction2.jpg) + +- **Deadbands:** Deadbands allow input changes to be ignored when the sticks are near their neutral positions. + This helps to avoid noise or small oscillations on sensitive sticks which may be interpreted as commands, or small offsets when sticks do not re-center well. + They can be adjusted during the first step of the [calibration](#configure), or by dragging vertically on the corresponding axis monitor. + +## Supported Joysticks + +The following joysticks/controllers have been shown to work with relatively recent _QGroundControl_ builds. + +### Sony Playstation 3/4 Controllers + +Both these joysticks are highly recommended. +They work well "out of the box" and have many buttons that you can map to flight modes. + +#### Sony PS4 - DualShock 4 Controller V2 (Wireless setup) + +This controller supports both USB and Bluetooth wireless connection. +Wired USB connection usually works out of the box. +The wireless connection needs some setup. + +##### Linux Ubuntu setup + +To make the controller work wirelessly under Linux the [jstest-gtk](https://jstest-gtk.gitlab.io/) and [ds4drv](https://github.com/chrippa/ds4drv) utilities are needed. + +The steps are: + +1. Install _jstest-gtk_: + ``` + sudo apt install jstest-gtk + ``` +2. Install _ds4drv_: + ``` + sudo pip install ds4drv + ``` +3. Run ds4drv + ``` + sudo ds4drv + ``` +4. Hold **Share** button and then **PS** button until controller LED starts blinking rapidly. + The _ds4drv_ should then detect a new device. +5. Last of all, you should check the controller setup by running the _jstest-gtk_ utility. + +### FrSky Taranis XD9 plus + +The _FrSky Taranis XD9 plus_ remote control can also be connected as a joystick. +You will need to connect it via the USB port on the back. + +The Taranis does not allow you to use button options (to be precise, you can set the options, but toggling the buttons on your transmitter does not cause them to be pressed). + +:::info +The Taranis is an open system that is openly being worked on. +It is possible that at time of writing there is a firmware or configuration that allows it to work effectively as a joystick. +::: + +### Logitech Gamepad F310 + +The Logitech Gamepad F310 has been tested via USB on MacOSX "Sierra". + +### Logitech Extreme 3D Pro + +The [Logitech Extreme 3D Pro](http://gaming.logitech.com/en-ch/product/extreme-3d-pro-joystick) Joystick has been tested on all platforms (Linux, Windows, Mac OSX). +This is a single stick controller that can also be twisted. The main stick axes are used for pitch and roll, while the twist action is used for yaw. The throttle is mapped onto a separate wheel. + +### Logitech F710 Gamepad + + + +This gamepad is great for flying a multirotor manually via QGroundControl. It works on Windows, Linux and Mac OS. + +#### Mac OS Leopard / Lion Setup + +The F710 is detected under Leopard / Lion but is not automatically configured as an input device. +In order to get a working configuration, the F710 has to be recognised as _Rumblepad2_. + +First check how it is recognised: **Apple > About this Mac > Additional Information > System Report > USB**. +It is detected as "Logitech Cordless RumblePad 2" then nothing further needs to be done. + +If it is detected as a "Logitech Wireless 710", perform these steps: + +1. Unplug the USB receiver of the gamepad +2. Prepare to quickly plug it into a USB port +3. Hit the Logitech button (its silver with the Logitech Logo on it in the center of the pad) +4. Quickly connect the USB receiver to your Mac +5. The pad should now be detected in the system report as "Logitech Cordless RumblePad 2". If not, retry the above steps. diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/motors.md b/docs/zh/docs/en/qgc-user-guide/setup_view/motors.md new file mode 100644 index 00000000000..e190dca8b4e --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/motors.md @@ -0,0 +1,34 @@ +# Motor Setup + +Motor Setup is used to test individual motors/servos (for example, to verify that motors spin in the correct direction). + +:::tip +These instructions apply to PX4 and to most vehicle types on ArduPilot. +Vehicle-specific instructions are provided as sub-topics (e.g. [Motors Setup (ArduSub)](../setup_view/motors_ardusub.md)). +::: + +![Motors Test](../../../assets/setup/Motors.png) + +## Test Steps + +To test the motors: + +1. Remove all propellers. + + ::: warning + You must remove props before activating the motors! + ::: + +2. (_PX4-only_) Enable safety switch - if used. + +3. Slide the switch to enable motor sliders (labeled: _Propellers are removed - Enable motor sliders_). + +4. Adjust the individual sliders to spin the motors and confirm they spin in the correct direction. + + ::: info + The motors only spin after you release the slider and will automatically stop spinning after 3 seconds. + ::: + +## Additional Information + +- [Basic Configuration > Motor Setup](http://docs.px4.io/master/en/config/motors.html) (_PX4 User Guide_) - This contains additional PX4-specific information. diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/motors_ardusub.md b/docs/zh/docs/en/qgc-user-guide/setup_view/motors_ardusub.md new file mode 100644 index 00000000000..469d8995821 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/motors_ardusub.md @@ -0,0 +1,43 @@ +# Motors Setup (ArduSub) + +In order for ArduSub to function properly, the motors must be correctly set up. + +If you just assembled your ROV, first make sure that the thrusters are connected to the correct outputs in the **Manual Test** section. +Drag each slider and make sure that the _correct motor_ spins accordingly to the frame displayed. + +Once you know that the thrusters are connected to the proper outputs you can check for _correct direction_ (forward/reverse) using either [automatic direction detection](#automatic) (recommended from ArduSub 4.0) or the [manual test](#manual). + +:::info +[Manual Test](#manual) is supported by ArduSub up to 3.5, while ArduSub 4.0 supports both [Manual Test](#manual) and [automatic direction detection](#automatic). +::: + +## Manual Test {#manual} + +The ArduSub motor setup allows you to test individual motors. +The sliders allow spinning each motor in forward or reverse mode, and the checkboxes under the sliders allow reversing the operation of individual thrusters. + +The image at the right shows the frame currently in use, along with the location and orientation of each thruster. +If the frame selection does not match your vehicle, first select the correct frame in the [Frame](../setup_view/airframe_ardupilot.md#ardusub) tab. + +To manually set up and test the motors, read and follow the instructions on the page. + +:::warning +Make sure the motors and propellers are clear from obstructions before sliding the switch to arm the vehicle and enable the test! +::: + +![Ardusub Motors Test](../../../assets/setup/motors-sub.jpg) + +## Automatic Direction Detection {#automatic} + +Ardusub 4.0 and newer support automatic detection of the motor directions. +This works by applying pulses to each motor, checking if the frame reacts as expected, and reversing the motor if necessary. +The process takes around one minute. + +To perform the automatic motor direction detection, navigate to **Vehicle Setup->Motors** tab, click the **Auto-Detect Directions** button and wait. +Additional output about the process will be shown next to the button as it runs. + +:::warning +This procedure still requires that the motors are connected to the _correct outputs_ as shown in the frame view! +::: + +![Ardusub Motors Auto-Setup](../../../assets/setup/motors-sub-auto.jpg) diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/parameters.md b/docs/zh/docs/en/qgc-user-guide/setup_view/parameters.md new file mode 100644 index 00000000000..8c12411227b --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/parameters.md @@ -0,0 +1,43 @@ +# Parameters + +The _Parameters_ screen allows you to find and modify any of the parameters associated with the vehicle. + +![Parameters Screen](../../../assets/setup/parameters_px4.jpg) + +:::info +PX4 Pro and ArduPilot use different parameter sets, but they are both managed as described in this section. +::: + +## Finding a Parameter + +The parameters are organized in groups. Select a group of parameters to view by clicking on the buttons to the left (in the image above the _Battery Calibration_ group is selected). + +You can also _search_ for a parameter by entering a term in the _Search_ field. This will show you a list of all parameter names and descriptions that contain the entered substring (press **Clear** to reset the search). + +![Parameters Search](../../../assets/setup/parameters_search.jpg) + +## Changing a Parameter + +To change the value of a parameter click on the parameter row in a group or search list. This will open a side dialog in which you can update the value (this dialog also provides additional detailed information about the parameter - including whether a reboot is required for the change to take effect). + +![Changing a parameter value](../../../assets/setup/parameters_changing.png) + +:::info +When you click **Save** the parameter is automatically and silently uploaded to the connected vehicle. Depending on the parameter, you may then need to reboot the flight controller for the change to take effect. +::: + +## Tools + +You can select additional options from the **Tools** menu on the top right hand side of the screen. + +![Tools menu](../../../assets/setup/parameters_tools_menu.png) + +**Refresh**
Refresh the parameter values by re-requesting all of them from the vehicle. + +**Reset all to defaults**
Reset all parameters to their original default values. + +**Load from file / Save to file**
Load parameters from an existing file or save your current parameter settings to a file. + +**Clear RC to Param**
This clears all associations between RC transmitter controls and parameters. For more information see: [Radio Setup > Param Tuning Channels](../setup_view/Radio.md#param-tuning-channels-px4). + +**Reboot Vehicle**
Reboot the vehicle (required after changing some parameters). diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/power.md b/docs/zh/docs/en/qgc-user-guide/setup_view/power.md new file mode 100644 index 00000000000..a87b436a697 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/power.md @@ -0,0 +1,53 @@ +# Power Setup + +The _Power Setup_ screen is used to configure battery parameters and also provide advanced settings for propellers. + +![Battery Calibration](../../../assets/setup/px4_power.jpg) + +## Battery Voltage/Current Calibration + +Enter data for your battery/power module from its data sheet: number of cells, full voltage per cell, empty voltage per cell. If provided, also enter voltage divider and amps-per-volt information. + +_QGroundControl_ can be used to calculate appropriate voltage divider and amps-per-volt values from measurements: + +1. Measure the voltage from the battery using a multimeter. +2. Click **Calculate** next to the _Voltage divider_ field. On the prompt that appears: +3. Enter the measured voltage. +4. Click **Calculate** to generate a new voltage-divider value. +5. Click **Close** to save the value into the main form. +6. Measure the current from the battery. +7. Click **Calculate** next to the _Amps per volt_ field. On the prompt that appears: +8. Enter the measured current. +9. Click **Calculate** to generate a new _amps per volt_ value. +10. Click **Close** to save the value into the main form. + +## Advanced Power Settings + +Click the **Show Advanced Settings** checkbox to specify advanced power settings. + +### Voltage Drop on Full Load + +Batteries show less voltage at high throttle. Enter the difference in Volts between idle throttle and full throttle, divided by the number of battery cells. The default value should be used if unsure! + +:::warning +If the value is too high the battery may be deep-discharged and damaged. +::: + +## ESC PWM Minimum and Maximum Calibration + +To calibrate the ESC max/min PWM values: + +1. Remove the propellers. +2. Connect the vehicle to QGC via USB (only). +3. Click the **Calibrate** button. + +::: warning +Never attempt ESC calibration with props on. + +Motors should not spin during ESC calibration. +However if an ESC doesn't properly support/detect the calibration sequence then it will respond to the PWM input by running the motor at maximum speed. +::: + +## Other Settings + +Select the **Show UAVCAN Settings** checkbox to access additional settings for UAVCAN Bus Configuration and motor index and direction assignment. diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/radio.md b/docs/zh/docs/en/qgc-user-guide/setup_view/radio.md new file mode 100644 index 00000000000..94c73c6ee7c --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/radio.md @@ -0,0 +1,131 @@ +# Radio Setup + +Radio Setup is used to configure the mapping of your main transmitter attitude control sticks (roll, pitch, yaw, throttle) to channels, and to calibrate the minimum, maximum, trim and reverse settings for all other transmitter controls/RC channels. + +The main calibration process is identical for PX4 and ArduPilot (a number of additional flight-controller specific settings/tools are [detailed below](#additional-radio-setup)). + +:::info +Before you can calibrate the radio system the receiver and transmitter must be connected/bound. The process for binding a transmitter and receiver pair is hardware specific (see your manual for instructions). +::: + +## Performing the Calibration + +The calibration process is straightforward - you will be asked to move the sticks in a specific pattern that is shown on the transmitter diagram on the top right of the screen. Simply follow the instructions to complete calibration. + +To calibrate the radio: + +1. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Radio** in the sidebar. + +2. Turn on your RC transmitter. + +3. Press **OK** to start the calibration. + + ![Radio setup - before starting](../../../assets/setup/radio_start_setup.jpg) + + ::: info + The image above is for PX4 Pro. Calibration/top section is the same for both firmware, but the _Additional Radio setup_ section will differ. + ::: + +4. Set the _transmitter mode_ radio button that matches your transmitter configuration (this ensures that _QGroundControl_ displays the correct stick positions for you to follow during calibration). + + ![Radio setup - move sticks](../../../assets/setup/radio_sticks_throttle.jpg) + +5. Move the sticks to the positions indicated in the text (and on the transmitter image). Press **Next** when the sticks are in position. Repeat for all positions. + +6. When prompted, move all other switches and dials through their full range (you will be able to observe them moving on the _Channel Monitor_). + +7. Press **Next** to save the settings. + +Radio calibration is demonstrated in the [PX4 setup video here](https://youtu.be/91VGmdSlbo4?t=4m30s) (youtube). + +## Additional Radio Setup + +At the lower part of the _Radio Setup_ screen is firmware-specific _Additional Radio setup_ section. The options for each autopilot are shown below. + +| PX4 | ArduPilot | +| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| | | + +### Spectrum Bind (ArduPilot/PX4) + +Before you can calibrate the radio system the receiver and transmitter must be connected/bound. If you have a _Spektrum_ receiver you can put it in _bind mode_ using _QGroundControl_ as shown below (this can be particularly useful if you don't have easy physical access to the receiver on your vehicle). + +To bind a Spektrum transmitter/receiver: + +1. Select the **Spektrum Bind** button + +2. Select the radio button for your receiver + +3. Press **OK** + + ![Spektrum Bind](../../../assets/setup/radio_additional_setup_spectrum_bind_select_channels.jpg) + +4. Power on your Spektrum transmitter while holding down the bind button. + +### Copy Trims (PX4) + +This setting is used to copy the manual trim settings from your radio transmitter so that they can be applied automatically within the autopilot. After this is done you will need to remove the manually set trims. + +To copy the trims: + +1. Select **Copy Trims**. + +2. Center your sticks and move throttle all the way down. + +3. Press **Ok**. + + ![Copy Trims](../../../assets/setup/radio_additional_radio_setup_copy_trims_px4.jpg) + +4. Reset the trims on your transmitter back to zero. + +### AUX Passthrough Channels (PX4) + +AUX passthrough channels allow you to control arbitrary optional hardware from your transmitter (for example, a gripper). + +To use the AUX passthrough channels: + +1. Map up to 2 transmitter controls to separate channels. +2. Specify these channels to map to the AUX1 and AUX2 ports respectively, as shown below. Values are saved to the vehicle as soon as they are set. + + ![AUX1 and AUX2 RC passthrough channels](../../../assets/setup/radio_additional_setup_aux_passthrough_channels_px4.jpg) + +The flight controller will pass through the unmodified values from the specified channels out of AUX1/AUX2 to the connected servos/relays that drive your hardware. + +### Param Tuning Channels (PX4) + +Tuning channels allow you to map a transmitter tuning knob to a parameter (so that you can dynamically modify a parameter from your transmitter). + +:::tip +This feature is provided to enable manual in-flight tuning. +::: + +The channels used for parameter tuning are assigned in the _Radio_ setup (here!), while the mapping from each tuning channel to its associated parameter is defined in the _Parameter editor_. + +To set up tuning channels: + +1. Map up to 3 transmitter controls (dials or sliders) to separate channels. +2. Select the mapping of _PARAM Tuning Id_ to radio channels, using the selection lists. Values are saved to the vehicle as soon as they are set. + + ![Map radio channels to tuning channels](../../../assets/setup/radio_additional_radio_setup_param_tuning_px4.jpg) + +To map a PARAM tuning channel to a parameter: + +1. Open the **Parameters** sidebar. + +2. Select the parameter to map to your transmitter (this will open the _Parameter Editor_). + +3. Check the **Advanced Settings** checkbox. + +4. Click the **Set RC to Param...** button (this will pop-up the foreground dialog displayed below) + + ![Map tuning channels to parameters](../../../assets/setup/parameters_radio_channel_mapping_px4.jpg) + +5. Select the tuning channel to map (1, 2 or 3) from the _Parameter Tuning ID_ selection list. + +6. Press **OK** to close the dialog. + +7. Press **Save** to save all changes and close the _Parameter Editor_. + +:::tip +You can clear all parameter/tuning channel mappings by selecting menu **Tools > Clear RC to Param** at the top right of the _Parameters_ screen. +::: diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/safety.md b/docs/zh/docs/en/qgc-user-guide/setup_view/safety.md new file mode 100644 index 00000000000..f58ec5e50e5 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/safety.md @@ -0,0 +1,13 @@ +# Safety Setup + +The _Safety Setup_ page allows you to configure the most important failsafe settings (other failsafe settings can be set via the [parameters](../setup_view/parameters.md) described in the failsafe documentation for each vehicle type). + +For ArduPilot safety page information see: [Safety (ArduPilot)](../setup_view/safety_ardupilot.md) + +The PX4 page is shown below. + +![Safety Setup - PX4](../../../assets/setup/px4_safety.jpg) + +:::info +For additional PX4 safety settings and information see: [Safety Configuration](https://docs.px4.io/en/config/safety.html). +::: diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/safety_ardupilot.md b/docs/zh/docs/en/qgc-user-guide/setup_view/safety_ardupilot.md new file mode 100644 index 00000000000..10719356fbc --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/safety_ardupilot.md @@ -0,0 +1,200 @@ +# Safety Setup (ArduPilot) + +The _Safety Setup_ page allows you to configure (vehicle specific) failsafe settings. + +:::tip +The setup page covers the most important safety options; other failsafe settings can be set via the [parameters](../setup_view/parameters.md) described in the failsafe documentation for each vehicle type. +::: + +:::tip +_QGroundControl_ does not support polygon fences or rally points on ArduPilot. +::: + +## Copter + +The Copter safety page is shown below. + +![Safety Setup - Copter (Ardupilot)](../../../assets/setup/safety/safety_arducopter.jpg) + +:::info +For additional safety settings and information see: [Failsafe](http://ardupilot.org/copter/docs/failsafe-landing-page.html). +::: + +### Battery Failsafe {#battery\_failsafe\_copter} + +This panel sets the [Battery Failsafe](http://ardupilot.org/copter/docs/failsafe-battery.html) parameters. +You can set low and critical thresholds for voltage and/or remaining capacity and define the action if the failsafe value is breached. +The thresholds can be disabled by setting them to zero. + +:::tip +If there is a second battery (enabled in the [Power Setup](../setup_view/power.md)) a second panel will be displayed with the same settings. +::: + +![Safety Setup - Battery1 Failsafe Triggers (Copter)](../../../assets/setup/safety/safety_arducopter_battery1_failsafe_triggers.jpg) + +The configuration options are: + +- **Low action** ([BATT\_FS\_LOW\_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-low-act-low-battery-failsafe-action)) - Select one of: None, Land, RTL, SmartRTL, SmartRTL or Land, Terminate. +- **Critical action** ([BATT\_FS\_CRT\_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-crt-act-critical-battery-failsafe-action)) - Select one of: None, Land, RTL, SmartRTL, SmartRTL or Land, Terminate. +- **Low voltage threshold** ([BATT\_LOW\_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-low-volt-low-battery-voltage)) - Battery voltage that triggers the _low action_. +- **Critical voltage threshold** ([BATT\_CRT\_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-crt-volt-critical-battery-voltage))- Battery voltage that triggers the _critical action_. +- **Low mAh threshold** ([BATT\_LOW\_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-low-mah-low-battery-capacity)) - Battery capacity that triggers the _low action_. +- **Critical mAh threshold** ([BATT\_CRT\_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-crt-mah-battery-critical-capacity)) - Battery capacity that triggers the _critical action_. + +### General Failsafe Triggers {#failsafe\_triggers\_copter} + +This panel enables the [GCS Failsafe](http://ardupilot.org/copter/docs/gcs-failsafe.html) +and enables/configures the throttle failsafe. + +![Safety Setup - General Failsafe Triggers (Copter)](../../../assets/setup/safety/safety_arducopter_general_failsafe_triggers.jpg) + +The configuration options are: + +- **Ground Station failsafe** - Disabled, Enabled always RTL, Enabled Continue with Mission in Auto Mode, Enabled Always SmartRTL or RTL, Enabled Always SmartRTL or Land. +- **Throttle failsafe** - Disabled, Always RTL, Continue with Mission in Auto Mode, Always land. +- **PWM Threshold** ([FS\_THR\_VALUE](http://ardupilot.org/copter/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. + +### Geofence {#geofence\_copter} + +This panel sets the parameters for the cylindrical [Simple Geofence](http://ardupilot.org/copter/docs/ac2_simple_geofence.html). +You can set whether the fence radius or height are enabled, the maximum values for causing a breach, and the action in the event of a breach. + +![Safety Setup - Geofence (Copter)](../../../assets/setup/safety/safety_arducopter_geofence.jpg) + +The configuration options are: + +- **Circle GeoFence enabled** ([FENCE\_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE\_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - Enable the circular geofence. +- **Altitude GeoFence enabled** ([FENCE\_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE\_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - Enable altitude geofence. +- Fence action ([FENCE\_ACTION](http://ardupilot.org/copter/docs/parameters.html#fence-action-fence-action)) One of: + - **Report only** - Report fence breach. + - **RTL or Land** - RTL or land on fence breach. +- **Max radius** ([FENCE\_RADIUS](http://ardupilot.org/copter/docs/parameters.html#fence-radius-circular-fence-radius)) - Circular fence radius that when broken causes RTL. +- **Max altitude** ([FENCE\_ALT\_MAX](http://ardupilot.org/copter/docs/parameters.html#fence-alt-max-fence-maximum-altitude))- Fence maximum altitude to trigger altitude geofence. + +### Return to Launch {#rtl\_copter} + +This panel sets the [RTL Mode](http://ardupilot.org/copter/docs/rtl-mode.html) behaviour. + +![Safety Setup - RTL (Copter)](../../../assets/setup/safety/safety_arducopter_return_to_launch.jpg) + +The configuration options are: + +- Select RTL return altitude ([RTL\_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): + - **Return at current altitude** - Return at current altitude. + - **Return at specified altitude** - Ascend to specified altitude to return if below current altitude. +- **Loiter above home for** ([RTL\_LOIT\_TIME](http://ardupilot.org/copter/docs/parameters.html#rtl-loit-time-rtl-loiter-time)) - Check to set a loiter time before landing. +- One of + - **Land with descent speed** ([LAND\_SPEED](http://ardupilot.org/copter/docs/parameters.html#land-speed-land-speed)) - Select final descent speed. + - **Final loiter altitude** ([RTL\_ALT\_FINAL](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-final-rtl-final-altitude)) - Select and set final altitude for landing after RTL or mission (set to 0 to land). + +### Arming Checks {#arming\_checks\_copter} + +This panel sets which [Pre-ARM Safety Checks](http://ardupilot.org/copter/docs/prearm_safety_check.html) are enabled. + +![Safety Setup - Arming Checks (Copter)](../../../assets/setup/safety/safety_arducopter_arming_checks.jpg) + +The configuration options are: + +- **Arming Checks to perform** ([ARMING\_CHECK](http://ardupilot.org/copter/docs/parameters.html#arming-check-arm-checks-to-peform-bitmask)) - Check all appropriate: Barometer, Compass, GPS lock, INS, Parameters, RC Channels, Board voltage, Battery Level, Airspeed, Logging Available, Hardware safety switch, GPS Configuration, System. + +## Plane + +The Plane safety page is shown below. + +![Safety Setup - Plane (Ardupilot)](../../../assets/setup/safety/safety_arduplane.jpg) + +:::info +For additional safety settings and information see: [Plane Failsafe Function](http://ardupilot.org/plane/docs/apms-failsafe-function.html) and [Advanced Failsafe Configuration](http://ardupilot.org/plane/docs/advanced-failsafe-configuration.html). +::: + +### Battery Failsafe {#battery\_failsafe\_plane} + +The plane battery failsafe is the same as for copter except there are different options for the [Low](http://ardupilot.org/plane/docs/parameters.html#batt-fs-low-act-low-battery-failsafe-action) and [Critical](http://ardupilot.org/plane/docs/parameters.html#batt-fs-crt-act-critical-battery-failsafe-action) actions: None, RTL, Land, Terminate. + +For more information see: [battery failsafe](#battery_failsafe_copter) (copter). + +### Failsafe Triggers {#failsafe\_triggers\_plane} + +This panel enables the [GCS Failsafe](http://ardupilot.org/plane/docs/advanced-failsafe-configuration.html#ground-station-communications-loss) and enables/configures the throttle failsafe. + +![Safety Setup - Failsafe Triggers (Plane)](../../../assets/setup/safety/safety_arduplane_failsafe_triggers.jpg) + +The configuration options are: + +- **Throttle PWM threshold** ([THR\_FS\_VALUE](http://ardupilot.org/plane/docs/parameters.html#thr-fs-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. +- **GCS failsafe** ([FS\_GCS\_ENABL](http://ardupilot.org/plane/docs/parameters.html#fs-gcs-enabl-gcs-failsafe-enable)) - Check to enable GCS failsafe. + +### Return to Launch {#rtl\_plane} + +This panel sets the [RTL Mode](http://ardupilot.org/copter/docs/rtl-mode.html) behaviour. + +![Safety Setup - RTL (Plane)](../../../assets/setup/safety/safety_arduplane_return_to_launch.jpg) + +The configuration options are: + +- Select RTL return altitude ([RTL\_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): + - **Return at current altitude** - Return at current altitude. + - **Return at specified altitude** - Ascend to specified altitude to return if below current altitude. + +### Arming Checks {#arming\_checks\_plane} + +[Arming Checks](#arming_checks_copter) are the same as for copter. + +## Rover + +The Rover safety page is shown below. + +![Safety Setup - Rover (Ardupilot)](../../../assets/setup/safety/safety_ardurover.jpg) + +:::info +For additional safety settings and information see: [Failsafes](http://ardupilot.org/rover/docs/rover-failsafes.html). +::: + +### Battery Failsafe {#battery\_failsafe\_rover} + +The rover battery failsafe is the same as for [copter](#battery_failsafe_copter). + +### Failsafe Triggers {#failsafe\_triggers\_rover} + +This panel enables the rover [Failsafes](http://ardupilot.org/rover/docs/rover-failsafes.html). + +![Safety Setup - Failsafe Triggers (Rover)](../../../assets/setup/safety/safety_ardurover_failsafe_triggers.jpg) + +The configuration options are: + +- **Ground Station failsafe** ([FS\_GCS\_ENABL](http://ardupilot.org/rover/docs/parameters.html#fs-gcs-enable-gcs-failsafe-enable)) - Check to enable GCS failsafe. +- **Throttle failsafe** ([FS\_THR\_ENABLE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-enable-throttle-failsafe-enable)) - Enable/disable throttle failsafe (value is _PWM threshold_ below). +- **PWM threshold** ([FS\_THR\_VALUE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. +- **Failsafe Crash Check** ([FS\_CRASH\_CHECK](http://ardupilot.org/rover/docs/parameters.html#fs-crash-check-crash-check-action)) - What to do in the event of a crash: Disabled, Hold, HoldAndDisarm + +### Arming Checks {#arming\_checks\_rover} + +[Arming Checks](#arming_checks_copter) are the same as for copter. + +## Sub + +The Sub safety page is shown below. + +![Safety Setup - Sub (Ardupilot)](../../../assets/setup/safety/safety_ardusub.jpg) + +:::info +For additional safety settings and information see: [Failsafes](https://www.ardusub.com/operators-manual/failsafes.html). +::: + +### Failsafe Actions {#failsafe\_actions\_sub} + +The configuration options are: + +- **GCS Heartbeat** - Select one of: Disabled, Warn only, Disarm, Enter depth hold mode, Enter surface mode. +- **Leak** - Select one of: Disabled, Warn only, Enter surface mode. + - **Detector Pin** - Select one of: Disabled, Pixhawk Aux (1-6), Pixhawk 3.3ADC(1-2), Pixhawk 6.6ADC. + - **Logic when Dry** - Select one of: Low, High. +- **Battery** - ?. +- **EKF** - Select one of: Disabled, Warn only, Disarm. +- **Pilot Input** - Select one of: Disabled, Warn only, Disarm. +- **Internal Temperature** - Select one of: Disabled, Warn only. +- **Internal Pressure** - Select one of: Disabled, Warn only. + +### Arming Checks {#arming\_checks\_sub} + +[Arming Checks](#arming_checks_copter) are the same as for copter. diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/sensors.md b/docs/zh/docs/en/qgc-user-guide/setup_view/sensors.md new file mode 100644 index 00000000000..4d7869856bf --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/sensors.md @@ -0,0 +1,15 @@ +# Sensors + +The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors +(the available sensors will depend on the autopilot firmware and vehicle type). + +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. + +Click on the button for each sensor to start its calibration sequence. + +Flight stack specific instructions are provided in the following topics: + +- [Sensors (ArduPilot)](../setup_view/sensors_ardupilot.md) +- [Sensors (PX4)](../setup_view/sensors_px4.md) diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/sensors_ardupilot.md b/docs/zh/docs/en/qgc-user-guide/setup_view/sensors_ardupilot.md new file mode 100644 index 00000000000..5aa8d72b3d4 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/sensors_ardupilot.md @@ -0,0 +1,123 @@ +# Sensor Setup (ArduPilot) + +The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors +(the available sensors will depend on the vehicle type). + +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. + +Click on the button for each sensor to start its calibration sequence. + +![Sensors Setup screen Copter](../../../assets/setup/sensor/sensor_setup_overview_ardupilot.jpg) + +## Accelerometer {#accelerometer} + +To calibrate the flight controller accelerometers you will be asked to place and hold your vehicle a number of orientations (you will be prompted when to move between positions). + +The calibration steps are: + +1. Click the **Accelerometer** sensor button. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_ardupilot.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Click **OK** to start the calibration. + +3. Position the vehicle based on text instructions in the center display. + Click the **Next** button to capture each position. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_positions_ardupilot.jpg) + +## Compass {#compass} + +ArduPilot uses onboard calibration support that allows for more accurate calibration. + +:::info +Older ArduPilot firmware can be calibrated using the [same process as PX4](../setup_view/sensors_px4.md#compass). +::: + +You need to rotate the vehicle randomly around all axes until the progress bar fills all the way to the right and the calibration completes. When the calibration completes you will get the following results: + +![ArduPilot Compass Calibration Onboard Result](../../../assets/setup/sensor_compass_ardupilot_onboard_calibration_result.jpg) + +This shows you the quality of the calibration for each compass. Using these values you can determine whether you may want to turn off usage of poorly performing compasses. + +## Level Horizon {#level\_horizon} + +If the horizon (as shown in the HUD) is not level after completing accelerometer calibration you can calibrate the level horizon for your vehicle. +You will be asked to place the vehicle in a level orientation while it captures the information. + +1. Click the **Level Horizon** sensor button. + ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Place the vehicle in its level flight orientation on a level surface: + +- For planes this is the position during level flight (planes tend to have their wings slightly pitched up!) +- For copters this is the hover position. + +1. Click **OK** to start the calibration. + +## Pressure/Barometer {#pressure} + +This calibration set's the altitude to zero at the current pressure. + +To perform **Pressure** calibration: + +1. Click the **Calibrate Pressure** button and then **Ok**. + + ![Calibrate Pressure](../../../assets/setup/sensor/calibrate_pressure_ardupilot.jpg) + + The calibration result is immediately displayed: + + ![Calibrate Pressure Result](../../../assets/setup/sensor/calibrate_pressure_result_ardupilot.jpg) + +## CompassMot (Optional) + +CompassMot calibration is optional! It is recommended for vehicles that only have an internal compass and when there is significant interference on the compass from the motors, power wires, etc. +CompassMot only works well if you have a battery current monitor because the magnetic interference is linear with current drawn. + +To perform **CompassMot** calibration: + +1. Click the **CompassMot** sensor button. + + + +2. Follow the onscreen prompts. + + ![CompassMot calibration](../../../assets/setup/sensor_compass_mot.jpg) + +## Sensor Settings {#sensor\_settings} + +The _Sensor Settings_ section allows you to specify the compass orientation and which compasses are enabled. + +:::tip +You can skip this section if the flight controller and compass are mounted upright on the vehicle and facing the front (this is the default orientation - `ROTATION_NONE`). +::: + +If the autopilot/compass are mounted in any other way you will need to specify their orientations as YAW, PITCH and/or ROLL offsets relative to the forward-facing-upright orientation (clock-wise rotation around the Z, Y and X axis, respectively). + +![Flight Controller Orientation](../../../assets/setup/flight_controller_orientation.png) + +For example, the image below are at orientations: `ROTATION_NONE`, `ROTATION_YAW_90`,`ROTATION_YAW_180`,`ROTATION_YAW_270`. + +![Flight controller yaw rotation](../../../assets/setup/flight_controller_yaw_rotation.png) + +To set the orientation(s) and compasses used: + +1. Select the **Sensor Settings** button. + + ![Sensor Settings](../../../assets/setup/sensor/sensor_settings_ardupilot.jpg) + +2. Select the **AutoPilot Orientation**. + +3. Select the _orientation_ from **Compass 1 (primary/external) > Orientation** (or check **Compass2 (secondary, external) > Use Compass** to instead use the internal compass). + +4. Press **OK**. diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/sensors_px4.md b/docs/zh/docs/en/qgc-user-guide/setup_view/sensors_px4.md new file mode 100644 index 00000000000..de46f62fe63 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/sensors_px4.md @@ -0,0 +1,163 @@ +# Sensor Setup (PX4) + +The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors +(the available sensors will depend on the vehicle type). + +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. + +Click on the button for each sensor to start its calibration sequence. + +![Sensors Setup screen for VTOL vehicle](../../../assets/setup/sensors_px4_vtol.jpg) + +:::info +The image shown is from a VTOL vehicle running PX4 firmware. +Other autopilot firmware and vehicles will offer slightly different options. +::: + +## Compass {#compass} + +The process guides you to position the vehicle in a number of set orientations and rotate the vehicle about the specified axis. + +The calibration steps are: + +1. Click the **Compass** sensor button + ![Select Compass calibration PX4](../../../assets/setup/sensor_compass_select_px4.jpg) + + ::: info + The default flight controller orientation is `ROTATION_NONE` (flight controller and compass mounted upright on the vehicle and facing the front). + You can set a different value here or in [Set Orientations](#flight_controller_orientation). + ::: + +2. Click **OK** to start the calibration. + +3. Place the vehicle in any of the orientations shown in red (incomplete) and hold it still. + Once prompted (the orientation-image turns yellow) rotate the vehicle around the specified axis in either/both directions. + Once the calibration is complete in that orientation the associated image on the screen will turn green. + ![Compass calibration steps on PX4](../../../assets/setup/sensor_compass_calibrate_px4.jpg) + +4. Repeat the calibration process for all vehicle orientations. + +Once you've rotated the vehicle in all the positions _QGroundControl_ will display _Calibration complete_ (all orientation images will be displayed in green and the progress bar will fill completely) +You can then proceed to the next sensor. + +## Gyroscope {#gyroscope} + +You will be guided to place the vehicle on a flat surface and keep it still. + +The calibration steps are: + +1. Click the **Gyroscope** sensor button + ![Select Gyroscope calibration PX4](../../../assets/setup/sensor/gyroscope_calibrate_px4.jpg) + +2. Place the vehicle on a surface and leave it still. + +3. Click **Ok** to start the calibration. + + The bar at the top shows the progress: + + ![Gyro calibration in progress on PX4](../../../assets/setup/sensor/gyroscope_calibrate_progress_px4.jpg) + +4. When finished, _QGroundControl_ will display _Calibration complete_ and the progress bar will fill completely. + ![Gyro calibration complete on PX4](../../../assets/setup/sensor/gyroscope_calibrate_complete_px4.jpg) + +:::info +If you move the vehicle during calibration, _QGroundControl_ will automatically restart the calibration. +::: + +You can then proceed to the next sensor. + +## Accelerometer {#accelerometer} + +To calibrate the flight controller accelerometers you will be asked to place and hold your vehicle a number of orientations (you will be prompted when to move between positions). + +The calibration steps are: + +1. Click the **Accelerometer** sensor button. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_px4.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Click **OK** to start the calibration. + +3. Position the vehicle as guided by the _images_ on the screen. This is very similar to compass calibration. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_positions_px4.jpg) + +4. Repeat the calibration process for all vehicle orientations. + +Once you've rotated the vehicle in all the positions _QGroundControl_ will display _Calibration complete_. + +You can then proceed to the next sensor. + +## Level Horizon + +If the horizon (as shown in the HUD) is not level after completing accelerometer calibration you can calibrate the level horizon for your vehicle. +You will be asked to place the vehicle in a level orientation while it captures the information. + +1. Click the **Level Horizon** sensor button. + ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) + + ::: info + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. + ::: + +2. Place the vehicle in its level flight orientation on a level surface: + +- For planes this is the position during level flight (planes tend to have their wings slightly pitched up!) +- For copters this is the hover position. + +1. Click **OK** to start the calibration. + +## Airspeed {#airspeed} + +The airspeed calibration needs to read a stable baseline with 0 airspeed in order to determine an offset. +Cup your hands over the pitot to block any wind (if calibrating the sensor indoors this is not needed) and then blow into the tube using your mouth (to signal completion of the calibration). + +To calibrate the airspeed sensor: + +1. Click the **Airspeed** sensor button + + ![Airspeed calibration](../../../assets/setup/sensors_airspeed.jpg) + +2. Cover the sensor (i.e. with your hand) + + ::: warning + Do not touch the sensor (obstruct any holes) during calibration. + ::: + +3. Click **OK** to start the calibration. + +4. Blow into the sensor. + +5. Wait for 2-3 seconds before removing the covering (calibration completes silently after several seconds) + +## Set Orientations {#flight\_controller\_orientation} + +:::tip +You can skip this section if the flight controller and compass are mounted upright on the vehicle and facing the front (this is the default orientation - `ROTATION_NONE`). +::: + +If the autopilot/compass are mounted in any other way you will need to specify their orientations as YAW, PITCH and/or ROLL offsets relative to the forward-facing-upright orientation (clock-wise rotation around the Z, Y and X axis, respectively). + + + +For example, the image below are at orientations: `ROTATION_NONE`, `ROTATION_YAW_90`,`ROTATION_YAW_180`,`ROTATION_YAW_270`. + + + +To set the orientation(s) on PX4: + +1. Select the **Set Orientations** button. + + + +2. Select the **AutoPilot Orientation**. + +3. Select the **External Compass Orientation** (this option will only be displayed if there is an external compass). + +4. Press **OK**. diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/setup_view.md b/docs/zh/docs/en/qgc-user-guide/setup_view/setup_view.md new file mode 100644 index 00000000000..6b3d32e9ecc --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/setup_view.md @@ -0,0 +1,37 @@ +# Setup View + +The Setup View is used to configure a new vehicle prior to first flight and/or tune a configured vehicle. + +![](../../../assets/setup/setup_view.jpg) + +## Setup Options + +To the left of the screen are the set of available setup options. A setup button is marked with a red icon if there are still settings needed to be adjusted/specified. You should not fly if any of these are red. In the above image the Radio setup is not yet complete. + +:::info +The set of options shown and the contents of each option may differ based on whether the vehicle is running PX4 Pro or ArduPilot firmware. The image above is from a vehicle which is running PX4 Pro firmware. +::: + +**Summary**
An overview of all the important setup options for your vehicle. Similar to the individual setup buttons, the summary blocks show a red indicator when those settings are not fully configured. + +**[Firmware](firmware.md)**
Flash new firmware onto your vehicle. + +**[Airframe](airframe.md)**
Specify the airframe type for the vehicle. + +**[Radio](radio.md)**
Calibrate your Radio Control Transmitter. + +**[Sensors](sensors.md)**
Calibrate the sensors on the vehicle. + +**[Flight Modes](flight_modes.md)**
Used to assign flight modes to your RC Transmitter switches. + +**[Power](power.md)**
Battery settings and additional power options such as ESC calibration. + +**[Motors](motors.md)**
Motors testing and setup. + +**[Safety](Safety.md)**
Specify settings for options related to Safety such as Return to Home or Failsafes. + +**[Tuning](tuning.md)**
Tune flight characteristics of the vehicle. + +**[Camera](camera.md)**
Configure settings for camera and gimbal. + +**[Parameters](parameters.md)**
Allows you to modify all parameters associated with your vehicle.

diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/tuning.md b/docs/zh/docs/en/qgc-user-guide/setup_view/tuning.md new file mode 100644 index 00000000000..13032afc2c0 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/tuning.md @@ -0,0 +1,7 @@ +# Tuning Setup + +The Tuning page allows you to configure settings on your vehicle which control basic flight characteristics. +The details differ depending on flight stack: + +- [Tuning (ArduPilot)](../setup_view/tuning_ardupilot.md) +- [Tuning (PX4)](../setup_view/tuning_px4.md) diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/tuning_arducopter.md b/docs/zh/docs/en/qgc-user-guide/setup_view/tuning_arducopter.md new file mode 100644 index 00000000000..242f58b2417 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/tuning_arducopter.md @@ -0,0 +1,48 @@ +# ArduCopter Tuning + +![ArduCopter Tuning Page](../../../assets/setup/tuning/arducopter.png) + +## Basic Tuning + +Adjust the flight characteristics by moving the desired slider to the left or right. + +## AutoTune + +AutoTune is used to automatically tune the rate parameters in order to provide the highest response without significant overshoot. + +Performing an AutoTune: + +- Select which axes you would like to tune. + + ::: tip + Tuning all axes at once can take a significant amount of time, which may cause you to run out of battery. + To prevent this choose to tune only one axis at a time. + ::: + +- Assign AutoTune to one of your transmitter switches. + Ensure that switch is in low position before taking off. + +- Take off and put the copter into AltHold. + +- Turn on AutoTune with your transmitter switch. + +- The copter will twitch around the specified axes for a few minutes. + +- When AutoTune completes the copter will change back to the original settings. + +- Move the AutoTune switch back to low position and then back to high to test the new settings. + +- Move the AutoTune switch to low to test previous settings. + +- To save new settings, land and disarm while AutoTune switch is in high position. + +Note: + +- Since AutoTune is done in AltHold your copter must already have a tuning which is minimally flyable in AltHold. + You can cancel AutoTune at any time by moving the AutoTune switch back to low position. +- You can reposition the copter using your transmitter at any time during AutoTune. + +### In-Flight Tuning + +This is an advanced option which allows you to tune a flight control parameter using one of your transmitter dial channels. +Select the control option from the dropdown and specify the min/max for the values to assign to the dial. diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/tuning_ardupilot.md b/docs/zh/docs/en/qgc-user-guide/setup_view/tuning_ardupilot.md new file mode 100644 index 00000000000..53d84b08bbf --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/tuning_ardupilot.md @@ -0,0 +1,4 @@ +# Tuning (ArduPilot) + +- [Tuning (ArduCopter)](../setup_view/tuning_arducopter.md) +- [Tuning (ArduSub)](../setup_view/tuning_ardusub.md) diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/tuning_ardusub.md b/docs/zh/docs/en/qgc-user-guide/setup_view/tuning_ardusub.md new file mode 100644 index 00000000000..0745cf3190e --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/tuning_ardusub.md @@ -0,0 +1,17 @@ +# ArduSub Tuning + +![ArduSub Tuning Page](../../../assets/setup/tuning/ardusub.jpg) + +## Basic Tuning + +This page allows changing the PID controller gains to better suit your vehicle and application. Changing these may help you get a snappier response for more precise movements, or a smoother response for recording cinematic footages. Adjust a parameter by moving the desired slider, or by clicking the increase/decrease buttons. There are three controllers that can be adjusted here: + +- [**Attitude Controller Parameters**](https://www.ardusub.com/operators-manual/full-parameter-list.html#atc-parameters) are the parameters for the controller responsible for keeping the vehicle oriented as you want it, assuming your vehicle has ability (enough motors/DOF) to do so. + +- **Position Controller Parameters** are the parameters for the controller responsible for positioning the vehicle at a point in 3D space. The **Z** parameters control how the depth control works (eg in [_Depth Hold_](https://www.ardusub.com/operators-manual/flight-modes.html#depth-hold) mode). The **XY** parameters affect how the vehicle controls the horizontal position in [_Position Enabled_](https://www.ardusub.com/operators-manual/flight-modes.html#position-enabled-modes) modes. + +- **Waypoint Navigation Parameters** are the parameters for the controller responsible for following waypoints in **Auto** and **Guided** mode. + + ::: warning + **Guided** and **Auto** modes are currently unsupported and some features are disabled in QGC. + ::: diff --git a/docs/zh/docs/en/qgc-user-guide/setup_view/tuning_px4.md b/docs/zh/docs/en/qgc-user-guide/setup_view/tuning_px4.md new file mode 100644 index 00000000000..76ed41fd803 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/setup_view/tuning_px4.md @@ -0,0 +1,135 @@ +# Tuning (PX4) + +Tuning only needs to be done once, and is recommended unless you're using vehicle that has already been tuned by the manufacturer (and not modified since). + +[Auto-tuning](#autotune) should generally be used for frame types and controllers that support it (multicopter, fixed wing, and hybrid VTOL fixed wing vehicles). +The tuning UI also supports manual tuning of all controllers. + +![Tuning Setup > Autotune](../../../assets/setup/tuning/px4_autotune_hero.png) + +:::info +During [Airframe Setup](../config/airframe.md) you should have selected the frame that most closely matches your vehicle. +This will usually be tuned well enough to fly, and it _may_ also be sufficiently well tuned to run autotuning. +::: + +## Autotune + +Auto-tuning automates the process of tuning the PX4 rate and attitude controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional"). + +:::info +This guide shows the default usage of this feature. +Additional information and configuration can be found in the [PX4 Autotuning Guide](http://docs.px4.io/master/en/config/autotune.html) (PX4 User Guide). +::: + +### Pre-Autotuning Test + +Auto-tuning is performed while flying. +The vehicle must be able to fly and adequately stabilize itself before running auto-tune. +This test ensures that the vehicle can fly safely in position controlled modes. + +To make sure the vehicle is stable enough for auto-tuning: + +1. Perform a normal preflight safety checklist to ensure the flight zone is clear and has enough space. +2. Takeoff and prepare for the test + - **Multicopters:** Take off and hover at 1m above ground in **Altitude mode** or Stabilized mode. + - **Fixed-wing mode:** Take off and fly at cruise speed in **Position mode** or **Altitude mode**. +3. Use the RC transmitter roll stick to perform the following maneuver, tilting the vehicle just a few degrees: _roll left > roll right > center_ (The whole maneuver should take about 3 seconds). + The vehicle should stabilise itself within 2 oscillations. +4. Repeat the maneuver, tilting with larger amplitudes at each attempt. + If the vehicle can stabilise itself within 2 oscillations at \~20 degrees move to the next step. +5. Repeat the same maneuvers but on the pitch axis. + As above, start with small angles and confirm that the vehicle can itself within 2 oscillations before increasing the tilt. + +If the drone can stabilize itself within 2 oscillations it is ready for the auto-tuning procedure. + +If not, see the [PX4 User Guide > Autotuning > Troubleshooting](http://docs.px4.io/master/en/config/autotune.html#troubleshooting). + +### Auto-tuning procedure + +The auto-tuning sequence must be performed in a **safe flight zone, with enough space**. +It takes about 40 seconds (between 19 and 68 seconds). +For best results, we recommend running the test in calm weather conditions. + +:::info +Be ready to abort the autotuning process by moving the RC controller sticks. +::: + +The test steps are: + +1. Perform the [pre-tuning test](#pre-tuning-test) above. + +2. Takeoff using RC control and prepare for test: + - **Multicopters:** Takeoff using the remote controller in **Altitude mode**. + Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m). + - **VTOL in Fixed-wing mode:** Once flying at cruise speed, activate **Hold Mode**. + This will guide the plane to fly in circle at constant altitude and speed. + +3. In QGroundControl, open the menu: **Vehicle setup > PID Tuning** + + ![Tuning Setup > Autotune Enabled](../../../assets/setup/tuning/px4_autotune.png) + +4. Select either the _Rate Controller_ or _Attitude Controller_ tabs. + Ensure that the **Autotune enabled** button is enabled (this will display the **Autotune** button and remove the manual tuning selectors). + +5. Stop moving the joysticks and click on the **Autotune** button. + Read the warning popup and click on **OK** to start tuning. + +6. The drone will first start to perform quick roll motions followed by pitch and yaw motions. + The progress is shown in the progress bar, next to the _Autotune_ button. + +7. Apply the tuning: + - **Fixed Wing:** The tuning will be immediately/automatically be applied and tested in flight (by default). + PX4 will then run a 4 second test and revert the new tuning if a problem is detected. + - **Multicopters:** Manually land and disarm to apply the new tuning parameters. + Takeoff carefully and manually test that the vehicle is stable. + +8. If any strong oscillations occur, land immediately and follow the instructions in [PX4 User Guide > Autotuning > Troubleshooting](http://docs.px4.io/master/en/config/autotune.html#troubleshooting). + +
+ + + +A video of the process is shown below: + + + +## Manual Tuning + +Manual tuning is done in-flight, so your vehicle must already be tuned well enough to fly with (this is normally the case if you have selected an appropriate default airframe). + +The instructions below explain how you can use the manual tuning UI. +It is designed to be read/used in conjustion with the [PX4 Manual PID Tuning Guides](http://docs.px4.io/master/en/config/autotune.html#see-also), which provide more detailed hints on the kinds of step sizes to use when changing PID values. + +In overview: + +1. Takeoff using RC control and prepare for test: + - **Multicopters:** Takeoff using the remote controller in **Altitude mode**. + Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m). + - **Fixed-wing:** Once flying at cruise speed, activate **Hold Mode**. + This will guide the plane to fly in circle at constant altitude and speed. + +2. In QGroundControl, open the menu: **Vehicle setup > PID Tuning** + +3. Select the _Rate Controller_ tab. + Ensure that the **Autotune enabled** button is is turned off. + + ![PX4 Tuning - Manual - Rate controller](../../../assets/setup/tuning/px4_copter_manual_rate.png) + +4. Select the _Tuning axis_ to tune: **Roll**, **Pitch** or **Yaw** (each axis is tuned separately). + +5. Fly the vehicle, observing the tracking on the chart. + - Adjust the _Tuning Values_ (parameters) to improve the tracking shown on the graph using the slider. + - The values are automatically saved, but you may wish to use the **Save to Clipboard** and **Restore from Clipboard** buttons to store the last known good configuration. + - You can also **Clear**/**Stop** the chart using the buttons provided. + +6. Tune the other axes. + +7. Switch to the other controllers and repeat the process. + Screenshots of the tuning pages are shown below. + + ![PX4 Tuning - Manual - Attitude controller](../../../assets/setup/tuning/px4_copter_manual_attitude.png) + ![PX4 Tuning - Manual - Velocity controller](../../../assets/setup/tuning/px4_copter_manual_velocity.png) + ![PX4 Tuning - Manual - Position controller](../../../assets/setup/tuning/px4_copter_manual_velocity.png) diff --git a/docs/zh/docs/en/qgc-user-guide/support/support.md b/docs/zh/docs/en/qgc-user-guide/support/support.md new file mode 100644 index 00000000000..0a379a572f9 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/support/support.md @@ -0,0 +1,57 @@ +# Support + +This user guide is meant to be the main provider of support for _QGroundControl_. +If you find incorrect or missing information please report an [Issue](https://github.com/mavlink/qgc-user-guide/issues). + +_Questions_ about how to use _QGroundControl_ should be raised in the discussion forum for the associated flight stack: + +- [PX4 Pro Flight Stack](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-usage) (discuss.px4.io). +- [ArduPilot Flight Stack](http://discuss.ardupilot.org/c/ground-control-software/qgroundcontrol) (discuss.ardupilot.org). + +These forums are also the best place to start discussions on bugs/problems you are having with _QGroundControl_ and or feature requests you would like to make. From there you may be directed to entering information in a GitHub Issue for further resolution. + +### Developer Chat {#developer\_chat} + +_QGroundControl_ developers (and many regular/deeply-involved users) can be found on the [#QGroundControl channel on the Dronecode Discord](https://discord.gg/dronecode). + +## GitHub Issues + +Issues are used to track bugs against _QGroundControl_ as well as feature requests for later versions. The current list of issues can be found on [GitHub here](https://github.com/mavlink/qgroundcontrol/issues). + +:::info +Please contact our developers using the support forums **before** creating GitHub issues for either bugs or feature requests. +::: + +### Reporting Bugs + +If you are directed to create an issue, please use the "Bug report" template and provide all information specified in the template. + +##### Reporting Crashes from Windows Builds + +When QGC crashes a crash dump file will be place in the Users LocalAppData directory. To navigate to that directory use the Start/Run command. You can bring this up window WinKey+R. Type into that `%localappdata%` for Open and click Ok. Crash dumps will be in a `QGCCrashDumps` folder in that directory. You should find a new **.dmp** file there. Add a link to that file in a GitHub Issue when reporting you problem. + +##### Reporting Hangs from Windows Builds + +If Windows is telling you the _QGroundControl program is unresponsive_ use the following steps to report the hang: + +1. Open _Task Manager_ (right-click TaskBar, select **Task Manager**) +2. Switch to the Processes tab and local **qgroundcontrol.exe** +3. Right-click on **groundcontrol.exe** and select **Create Dump File** +4. Place the dump file in a public location +5. Add a link to the **.dmp** file and above details in the GitHub issue. + +### Feature Requests + +If you are directed to create a feature request after discussion on support forums please use the "Feature request" template which has some helpful information on required details. + +## Troubleshooting + +Troubleshooting information is linked from [here](../troubleshooting/index.md). + +### Console Logging + +_Console Logs_ can be helpful when diagnosing _QGroundControl_ problems. For more information see: [Console Logging](../settings_view/console_logging.md). + +## Help Improve these Docs! + +Just like _QGroundControl_ itself, the user guide is an open source, user created and supported GitBook. We welcome [Pull Requests](https://github.com/mavlink/qgc-user-guide/pulls) against the guide for fixes and/or updates. diff --git a/docs/zh/docs/en/qgc-user-guide/toolbar/toolbar.md b/docs/zh/docs/en/qgc-user-guide/toolbar/toolbar.md new file mode 100644 index 00000000000..f5e666186d2 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/toolbar/toolbar.md @@ -0,0 +1,37 @@ +# Main Toolbar + +The main toolbar provides access to select the different application views, and high level status information for connected vehicles. +The toolbar is the same in all views except for "PlanView" (which has a single icon to take you back to "Fly" view). + +## View-select icons + +The following icons are used to switch between the main _Views_. These are displayed even if no vehicle is connected. + +![Settings view icon](../../../assets/toolbar/toolbar_view_select_settings.jpg) **[Settings](../settings_view/settings_view.md)**
Configure the _QGroundControl_ application. + +![Setup view icon](../../../assets/toolbar/toolbar_view_select_setup.jpg) **[Setup](../setup_view/setup_view.md)**
Configure and tune your vehicle. + +![Plan view icon](../../../assets/toolbar/toolbar_view_select_plan.jpg) **[Plan](../plan_view/plan_view.md)**
Create autonomous missions. + +![Fly icon](../../../assets/toolbar/toolbar_view_select_fly.jpg) **[Fly](../fly_view/fly_view.md)**
Monitor your vehicle(s) while flying, including streaming video. + +![Analyze icon](../../../assets/toolbar/toolbar_view_select_analyse.jpg) **[Analyze](../analyze_view/index.md)**
Download logs, geotag images from a survey mission, access the MAVLink console. + +## Status icons + +Status icons are displayed when _QGroundControl_ is connected to a vehicle. +These show the high level status of the vehicle, and can be clicked to see more detailed information. + +![](../../../assets/toolbar/toolbar_status_message.jpg) ![yield](../../../assets/toolbar/toolbar_status_critical.jpg) **Vehicle Messages**
Click to show a list of messages from the vehicle. Note that version on the right is displayed when there are critical messages. + +![](../../../assets/toolbar/toolbar_status_gps.jpg) **GPS Status**
Shows you satellite count and curent HDOP. + +![](../../../assets/toolbar/toolbar_status_rc.jpg) **RC RSSI**
RC signal strength information. + +![](../../../assets/toolbar/toolbar_status_telemetry.jpg) **Telemetry RSSI**
Telemetry signals strength information. + +![](../../../assets/toolbar/toolbar_status_battery.jpg) **Battery**
Remaining battery percent. + +![](../../../assets/toolbar/toolbar_status_flight_mode.jpg) **Flight Mode**
Current flight mode. Click to change flight mode. + +![](../../../assets/toolbar/toolbar_status_rtk_gps.jpg) **RTK GPS Survey-In Status**
Shows you progress of RTK GPS Survey-In process. diff --git a/docs/zh/docs/en/qgc-user-guide/troubleshooting/index.md b/docs/zh/docs/en/qgc-user-guide/troubleshooting/index.md new file mode 100644 index 00000000000..81150a50b89 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/troubleshooting/index.md @@ -0,0 +1,8 @@ +## Troubleshooting + +Troubleshooting information is provided in two sections: + +- [QGC Setup](../troubleshooting/qgc_setup.md) - Troubleshooting _QGroundControl_ installation and setup. +- [QGC Usage](../troubleshooting/qgc_usage.md) - Troubleshooting problems when **using** _QGroundControl_ to interact with a vehicle. + +If your questions are still unresolved, please check the [Support](../support/support.md) page for more information on getting help. diff --git a/docs/zh/docs/en/qgc-user-guide/troubleshooting/parameter_download.md b/docs/zh/docs/en/qgc-user-guide/troubleshooting/parameter_download.md new file mode 100644 index 00000000000..547c9f1ae27 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/troubleshooting/parameter_download.md @@ -0,0 +1,15 @@ +# Parameter Download failures + +The majority of parameter download failures are caused by a communication link which is noisy and has a high loss rate. +Although the parameter protocol has retry logic for such a case it will eventually give up. +At which point you will get an error stating that QGC was unable to retrieve the full set or parameters. + +Although you can still fly the vehicle in this state it is not recommended. +Also the vehicle setup pages will not be available. + +You can see the loss rate for your link from the [Settings View > MAVLink](../settings_view/mavlink.md) page. +Even a loss rate in the high single digits can lead to intermittent failures of the plan protocols. +Higher loss rates could leads to 100% failure. + +There is also the more remote possibility of either firmware or QGC bugs. +To see the details of the back and forth message traffic of the protocol you can turn on [Console Logging](../settings_view/console_logging.md) for the Parameter Protocol. diff --git a/docs/zh/docs/en/qgc-user-guide/troubleshooting/plan_upload_download.md b/docs/zh/docs/en/qgc-user-guide/troubleshooting/plan_upload_download.md new file mode 100644 index 00000000000..6475ded936b --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/troubleshooting/plan_upload_download.md @@ -0,0 +1,5 @@ +# Mission Upload/Download failures + +Although the protocol for uploading and download Plans (Mission, GeoFence, Rally Points) to a vehicle includes retry logic it can still fail over a communication link which is running at a high loss rate. + +For more information see: [Plan View > Mission (Plan) Upload/Download Failures](../plan_view/plan_view.md#plan_transfer_fail) diff --git a/docs/zh/docs/en/qgc-user-guide/troubleshooting/qgc_setup.md b/docs/zh/docs/en/qgc-user-guide/troubleshooting/qgc_setup.md new file mode 100644 index 00000000000..0ca91a83a58 --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/troubleshooting/qgc_setup.md @@ -0,0 +1,97 @@ +# Troubleshooting QGC Setup + +This topic lists troubleshooting information related to _QGroundControl_ setup and installation on the host computer. + +:::tip +Problems when **using** _QGroundControl_ to interact with a vehicle are covered in: [QGC Vehicle Interaction Problems](../troubleshooting/qgc_usage.md). +::: + +## 64-bit Windows: Audio in Unexpected Language + +On Windows 64-bit machines _QGroundControl_ may sometimes play audio/messages in a language that does not match the _Text-to-speech_ setting in **Control Panel > Speech** (e.g. audio spoken in German on an English machine). + +This can occur because 64-bit Windows only displays 64-bit voices, while _QGroundControl_ is a 32-bit application (on Windows) and hence can only run 32-bit voices. + +The solution is to set the desired _32-bit voice_ for your system: + +1. Run the control panel application: **C:\Windows\SysWOW64\Speech\SpeechUX\sapi.cpl**. +2. Make your desired _Voice selection_ and then click **OK** at the bottom of the dialog. + ![Windows 32-bit Text-To-Speech Control Panel](../../../assets/support/windows_text_to_speech.png) + +:::info +Additional information about the Windows speech APIs can be found [here](https://www.webbie.org.uk/blog/microsoft-speech/). +::: + +## Windows: UI Rendering/Video Driver Issues {#opengl\_troubleshooting} + +If you experience UI rendering issues or video driver crashes on Windows, this may be caused by "flaky" OpenGL drivers. _QGroundControl_ provides 3 shortcuts that you can use to start _QGroundControl_ in "safer" video modes (try these in order): + +- **QGroundControl:** QGC uses OpenGL graphics drivers directly. +- **GPU Compatibility Mode:** QGC uses ANGLE drivers, which implement OpenGL on top of DirectX. +- **GPU Safe Mode:** QGC uses a software rasterizer for the UI (this is very slow). + +## Windows: Doesn't connect to Vehicle over WiFi {#waiting\_for\_connection} + +If _QGroundControl_ sits forever (for example, _Waiting For Vehicle Connection_) when trying to connect to the vehicle over Wifi, a possible cause is that IP traffic is being blocked by firewall software (e.g. Windows Defender, Norton, etc.). + +![Waiting for connection](../../../assets/support/waiting_for_connection.jpg) + +The solution is to allow the _QGroundControl_ app through the firewall. + +:::info +It is possible to simply switch the network profile from Public to Private to allow connections, but this exposes your PC to the Network, so be careful +::: + +If using _Windows Defender_: + +- In the **Start** bar, enter/select: _Firewall & Network Protection_ (System Settings). +- Scroll to and select the option: _Allow an app through firewall_. +- Select _QGroundControl_ and change the _Access_ selector to **Allow**. + + ::: tip + Programs are listed in alphabetical order by description (not filename). + You'll find QGC under **O**: _Open source ground control app provided by QGroundControl dev team_ + ::: + +## Ubuntu: Video Streaming Fails (Missing Gstreamer) {#missing\_gstreamer} + +On Ubuntu you must install _Gstreamer_ components in order to see video streams. +If these are not installed _QGroundControl_ is unable to create the gstreamer nodes and fails with: + +```sh +VideoReceiver::start() failed. Error with gst_element_factory_make(‘avdec_h264’) +``` + +The [download/install instructions for Ubuntu](../getting_started/download_and_install.md#ubuntu) include _GStreamer_ setup information. + +## Ubuntu 18.04: Video Streaming Fails on Dual Video Adapter Systems {#dual\_vga} + +![Video on Ubuntu 18.04](../../../assets/support/troubleshooting_dual_vga_driver.jpg) + +The version of GSteamer in Ubuntu 18.04 has a bug that prevents video displaying when using a VA API based decoder (i.e. vaapih264dec etc.) on systems that have both Intel and NVidia video display adapters. + +:::info +More generally, while the problem is known to occur on Ubuntu 18.04 with Intel and NVidia VGAs, it might occur on any linux system and other types of (dual) VGAs. +::: + +The easiest way to get _QGroundControl_ to work in this case is to start it using the following command line: + +``` +LIBVA_DRIVER_NAME=fakedriver ./QGroundControl) will this make the +``` + +Other alternatives are to disable one of the VGAs, uninstall VA API components, or upgrade to GStreamer 1.16 (there is no easy way to do this on Ubuntu 18.04 - please contribute a recipe if you find one!) + +## Ubuntu 16.04: GLIBC\_2.27 not found {#glibc\_2\_27} + +The pre-built AppImages for QGroundControl 4.0 (and later) can only run on Ubuntu 18.04 LTS (or later). +They do not run on Ubuntu 16.04. + +If you try you will get the error as shown: + +```sh +$ ./QGroundControl.AppImage +/tmp/.mount_i4hPuB/QGroundControl: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /tmp/.mount_i4hPuB/QGroundControl) +``` + +If you need to use Ubuntu 16.04 then one workaround is to build from source without the video libraries. diff --git a/docs/zh/docs/en/qgc-user-guide/troubleshooting/qgc_usage.md b/docs/zh/docs/en/qgc-user-guide/troubleshooting/qgc_usage.md new file mode 100644 index 00000000000..103bf3ba34f --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/troubleshooting/qgc_usage.md @@ -0,0 +1,12 @@ +# Troubleshooting QGC Usage + +This section covers a number of common problems related to **using** _QGroundControl_ to interact with a vehicle: + +- [Connection problems](../troubleshooting/vehicle_connection.md) +- [Parameter Download failures](../troubleshooting/parameter_download.md) +- [Plan Upload/Download failures](../troubleshooting/plan_upload_download.md) +- [Resume Mission failures](../troubleshooting/resume_mission.md) + +:::tip +Problems with **installing/running** _QGroundControl_ on the host computer are covered in [Troubleshooting QGC Setup](../troubleshooting/qgc_setup.md). +::: diff --git a/docs/zh/docs/en/qgc-user-guide/troubleshooting/resume_mission.md b/docs/zh/docs/en/qgc-user-guide/troubleshooting/resume_mission.md new file mode 100644 index 00000000000..613729cf11a --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/troubleshooting/resume_mission.md @@ -0,0 +1,57 @@ +# Resume Mission Failures + +The process of resuming a mission after a battery swap is a fairly complex process within QGC. + +The two main areas that are most problematic are: + +- The _Resume Mission_ dialog doesn't display when it should and you are just left with a Start Mission slider. +- The new mission generated from _Resume Mission_ is not quite correct with respect to recreation of waypoints and/or camera commands. + +:::warning +In order for the _QGroundControl_ development team to debug these issues the following information **must be supplied** in any github issue entered against _Resume Mission_. +::: + +## Common Steps for Resume Mission Dialog/Generation {#common\_steps} + +The following steps are required for debugging both types of problems: + +1. Restart QGC + +2. Turn on [console logging](../settings_view/console_logging.md) with the log option: `GuidedActionsControllerLog`. + +3. Enable [telemetry logging](../settings_view/general.md#miscellaneous) (**Settings > General**). + +4. Start the mission. + +5. Fly till you need a battery swap. + + ::: tip + Alternatively you can attempt to reproduce the problem by manually RTL from the middle of the middle of the mission (though this may not always reproduce the problem). + ::: + +6. Once the vehicle lands and disarms you should get the _Resume Mission_ dialog. + + ::: info + If not there is a possible bug in QGC. + ::: + +### Resume Mission Dialog Problems + +For _Resume Mission Dialog_ problems follow the [common steps above](#common_steps), and then: + +7. Save the _Console Log_ to a file. +8. Place the _Console Log_, _Telemetry Log_ and _Plan File_ someplace which you can link to in the issue. +9. Create the issue with details and links to all three files. + +## Resume Mission Generation Problems + +For _Resume Mission Generation_ problems follow the [common steps above](#common_steps), and then: + +7. Click **Resume Mission**. +8. The new mission should be generated. +9. Go to [Plan View](../plan_view/plan_view.md). +10. Select **Download** from the _File/Sync_ menu. +11. Save the _Modified Plan_ to a file. +12. Save the _Console Log_ to a file. +13. Place the _Console Log_, _Telemetry Log_, _Original Plan_ file and _Modified Plan_ file someplace which you can link to in the issue. +14. Create the issue with details and links to all four files. diff --git a/docs/zh/docs/en/qgc-user-guide/troubleshooting/vehicle_connection.md b/docs/zh/docs/en/qgc-user-guide/troubleshooting/vehicle_connection.md new file mode 100644 index 00000000000..896cb1f5d1b --- /dev/null +++ b/docs/zh/docs/en/qgc-user-guide/troubleshooting/vehicle_connection.md @@ -0,0 +1,67 @@ +# Vehicle Connection Problems + +## Vehicle does not show up in UI + +QGC will automatically connect to a vehicle as soon as a communication link is created (using USB, or WiFi, etc.) +If you establish that link and you don't see your vehicle show up in the QGC UI you can use [console logging](../settings_view/console_logging.md) to help debug the problem. + +Use the following steps to debug the issue: + +- Start with the hardware vehicle link not connected. + Don't plug in the USB connection and/or establish the WiFi link in your OS for example. + +- Turn on `LinkManagerLog` [console logging](../settings_view/console_logging.md) in QGC. + This will log output about the link which QGC sees and connects to. + +- Establish the hardware vehicle communication link. + +- The console log output should display something like this: + + ``` + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:563 - "Waiting for bootloader to finish "/dev/cu.usbmodem01"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:563 - "Waiting for bootloader to finish "/dev/cu.usbmodem01"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:563 - "Waiting for bootloader to finish "/dev/cu.usbmodem01"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:563 - "Waiting for bootloader to finish "/dev/cu.usbmodem01"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:572 - "Waiting for next autoconnect pass "/dev/cu.usbmodem4201"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:613 - "New auto-connect port added: "ArduPilot ChibiOS on cu.usbmodem4201 (AutoConnect)" "/dev/cu.usbmodem4201"" + ``` + +- The first few lines indicate QGC has established a hardware link and finally the auto-connect. + +If you don't see any of this then QGC is not recognizing the hardware link. +To see if your hardware is being recognized at the OS level do this: + +- Start with the hardware vehicle link not connected. + Don't plug in the USB connection and/or establish the WiFi link in your OS for example. +- Turn on `LinkManagerVerboseLog` [console logging](../settings_view/console_logging.md) in QGC. + This will log output for all serial hardware connections that QGC recognizes. +- You will see continuous output of the serial ports on your device. +- Plug in your USB comm device. +- You should see a new device show in in the console output. Example: + ``` + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:520 - "-----------------------------------------------------" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:521 - "portName: "cu.usbmodem4201"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:522 - "systemLocation: "/dev/cu.usbmodem4201"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:523 - "description: "Pixhawk1"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:524 - "manufacturer: "ArduPilot"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:525 - "serialNumber: "1B0034000847323433353231"" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:526 - "vendorIdentifier: 1155" + [D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/LinkManager.cc:527 - "productIdentifier: 22336" + ``` +- After that it should continue to log a connection to that device as shown in the first example. + +If you don't see a new serial port should up in the console output when you plug it in then something is likely wrong with your hardware at the OS level. + +## Error: Vehicle is not responding + +This indicates that although QGC was able to connect to the hardware link to your vehicle there is no telemetry going back and forth on the link. +This can unfortunately indicate a number of problems: + +- Hardware communication setup problems +- Firmware problems + +Lastly it can happen if QGC attempts to automatically connect to a device which is connected to your computer which isn't a vehicle. +You can identify this case using the steps above and noting the device information which QGC is attempting to connect to. +In order to make auto-connect work the filter it uses on devices it attempts to auto-connect to is somewhat broad and can be incorrect. +If you find this happening you will need to turn off auto-connect from General Settings and create a manual connection to the comm link for your vehicle. +You can also remove the device causing the problem from your computer but that may not always be possible. diff --git a/docs/zh/index.md b/docs/zh/index.md new file mode 100644 index 00000000000..f5ea85cbc0e --- /dev/null +++ b/docs/zh/index.md @@ -0,0 +1,27 @@ +--- +layout: home +hero: + name: QGroundControl Guide + tagline: For beginners, experienced users, and developers + actions: + - theme: brand + text: User Guide + link: /en/qgc-user-guide/index.md + - theme: brand + - theme: brand + text: Dev Guide + link: /en/qgc-dev-guide/index.md +features: + - title: Multiple flight stacks + details: Full setup/configuration of ArduPilot and PX4 Pro powered vehicles + - title: Mission planning + details: Autonomous flight with path planning, surveys, safe landing + - title: Flight map + details: Map shows vehicle position, flight track, waypoints and vehicle instruments + - title: Video overlay + details: FPV video streaming and instrument overlays. + - title: Multiple vehicles + details: Manage multiple vehicles and different types of vehicles + - title: Broad OS support + details: Windows, OS X, Linux platforms, iOS and Android devices +--- diff --git a/docs/zh/qgc-dev-guide/classes/index.md b/docs/zh/qgc-dev-guide/classes/index.md index d3dc4bf25e6..94dd2b55c12 100644 --- a/docs/zh/qgc-dev-guide/classes/index.md +++ b/docs/zh/qgc-dev-guide/classes/index.md @@ -2,26 +2,26 @@ ## (LinkManager)链接管理器类,(LinkInterface)链接接口类 -QGC中的“链接”是QGC与载具间的一种特定类型的通信管道,例如串行端口或基于WiFi的UDP端口。 LinkInterface为所有链接的基类。 每个链接都在它自己的线程上运行,并将字节发送到MAVLinkProtocol。 +QGC中的“链接”是QGC与载具间的一种特定类型的通信管道,例如串行端口或基于WiFi的UDP端口。 LinkInterface为所有链接的基类。 每个链接都在它自己的线程上运行,并将字节发送到MAVLinkProtocol。 The base class for all links is LinkInterface. Each link runs on it's own thread and sends bytes to MAVLinkProtocol. -LinkManager类所生成对象管理系统中的所有打开链接。 `LinkManager`还通过串行和UDP链接管理自动连接 +LinkManager类所生成对象管理系统中的所有打开链接。 `LinkManager`还通过串行和UDP链接管理自动连接 系统中有一个MultiVehicleManager多机管理类生成的对象, 当它接收到一个新的心跳包(通过心跳包里面的系统ID识别),它会自动生成一个载具对象,来表示一个新的载具加入到系统。 'MultiVehicleManager'还可以保持对系统中所有载具的跟踪,对于激活状态的载具可以自由切换,而对于正在被移除的也能够正确处理。 ## MAVLink协议类 -系统中有一个MAVLink协议对象。 它的功能是从链接获取传入的字节并将它们转换为MAVLink消息。 MAVLink HEARTBEAT消息被分发到Multi Vehicle Manager(多机管理类)。 所有MAVLink消息都将分发到与链接相对应的载具。 +There is a single `MAVLinkProtocol` object in the system. 系统中有一个MAVLink协议对象。 它的功能是从链接获取传入的字节并将它们转换为MAVLink消息。 MAVLink HEARTBEAT消息被分发到Multi Vehicle Manager(多机管理类)。 所有MAVLink消息都将分发到与链接相对应的载具。 MAVLink HEARTBEAT messages are routed to `MultiVehicleManager`. (Vehicle)载具类 ## (MultiVehicleManager)多机管理类 -系统中有一个MultiVehicleManager多机管理类生成的对象, 当它接收到一个新的心跳包(通过心跳包里面的系统ID识别),它会自动生成一个载具对象,来表示一个新的载具加入到系统。 'MultiVehicleManager'还可以保持对系统中所有载具的跟踪,对于激活状态的载具可以自由切换,而对于正在被移除的也能够正确处理。 +There is a single `MultiVehicleManager` object within the system. When it receives a HEARTBEAT on a link which has not been previously seen it creates a Vehicle object. `MultiVehicleManager` also keeps tracks of all Vehicles in the system and handles switching from one active vehicle to another and correctly handling a vehicle being removed. -## (Vehicle)载具类 +## Vehicle Vehicle类所生成的对象是QGC代码与物理载具通信的主要接口。 -注意:还有一个与每个Vehicle相关联的UAS对象,这是一个已弃用的类,并且正逐渐被逐步淘汰,所有功能都转移到Vehicle类。 这里不应该添加新代码。 +注意:还有一个与每个Vehicle相关联的UAS对象,这是一个已弃用的类,并且正逐渐被逐步淘汰,所有功能都转移到Vehicle类。 这里不应该添加新代码。 No new code should be added here. ## (FirmwarePlugin)固件插件类,( FirmwarePluginManager)固件插件管理器类 -FirmwarePlugin类为固件插件的基类。 固件插件包含固件特定代码,因此Vehicle对象相对于它是识别的,支持UI的单个标准接口。 +The FirmwarePlugin class is the base class for firmware plugins. FirmwarePlugin类为固件插件的基类。 固件插件包含固件特定代码,因此Vehicle对象相对于它是识别的,支持UI的单个标准接口。 -FirmwarePluginManager是一个工厂类,它根据Vehicle类的成员MAV_AUTOPILOT / MAV_TYPE组合创建FirmwarePlugin类的实例。 +FirmwarePluginManager是一个工厂类,它根据Vehicle类的成员MAV\_AUTOPILOT / MAV\_TYPE组合创建FirmwarePlugin类的实例。 diff --git a/docs/zh/qgc-dev-guide/command_line_options.md b/docs/zh/qgc-dev-guide/command_line_options.md index 361099a8cdc..82872d0f6a6 100644 --- a/docs/zh/qgc-dev-guide/command_line_options.md +++ b/docs/zh/qgc-dev-guide/command_line_options.md @@ -1,10 +1,10 @@ # 命令行选项 -您可以使用命令行选项启动QGroundControl。 这些用于启用日志记录,运行单元测试以及模拟不同的主机环境以进行测试。 +您可以使用命令行选项启动QGroundControl。 这些用于启用日志记录,运行单元测试以及模拟不同的主机环境以进行测试。 These are used to enable logging, run unit tests, and simulate different host environments for testing. ## 使用选项启动QGroundControl -您需要打开命令提示符或终端,将目录更改为存储qgroundcontrol.exe的位置,然后运行它。 每个平台如下所示(使用--logging:full选项): +您需要打开命令提示符或终端,将目录更改为存储qgroundcontrol.exe的位置,然后运行它。 每个平台如下所示(使用--logging:full选项): This is shown below for each platform (using the `--logging:full` option): Windows命令提示符: @@ -30,19 +30,25 @@ Linux终端: 选项/命令行参数列在下表中。 -| 选项 | 描述 | -| ---- | ---- | - -| ` -clear-settings` | 清除应用程序设置(将QGroundControl恢复为默认设置)。 | -| `logging:full` | 打开完整日志记录。 请参阅控制台日志记录 | -| `logging:full,LinkManagerVerboseLog,ParameterLoaderLog` | 打开完整日志记录并关闭以下列出的以逗号分隔的日志记录选项。 | -| `--llogging:LinkManagerLog,ParameterLoaderLog` | 打开指定的逗号分隔日志记录选项 | -| `--unittest:name` | (仅限Debug构建)运行指定单元测试。 离开:运行所有测试的名称。 | -| `--unittest-stress:name` | (仅限调试版本)连续运行指定的单元测试20次。 离开:运行所有测试的名称。 | -| `-fake-mobile` | 模拟在移动设备上运行。 | -| `--test-high-dpi` | 模拟在高DPI设备上运行QGroundControl。 | +| 选项 | 描述 | +| --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| `--clear-settings` | Clears the app settings (reverts _QGroundControl_ back to default settings). | +| `--logging:full` | Turns on full logging. See [Console Logging](https://docs.qgroundcontrol.com/en/settings_view/console_logging.html#logging-from-the-command-line). | +| `--logging:full,LinkManagerVerboseLog,ParameterLoaderLog` | Turns on full logging and turns off the following listed comma-separated logging options. | +| `--logging:LinkManagerLog,ParameterLoaderLog` | Turns on the specified comma separated logging options | +| `--unittest:name` | (Debug builds only) Runs the specified unit test. Leave off `:name` to run all tests. | +| `--unittest-stress:name` | (Debug builds only) Runs the specified unit test 20 times in a row. Leave off :name to run all tests. | +| `--fake-mobile` | Simulates running on a mobile device. | +| `--test-high-dpi` | Simulates running _QGroundControl_ on a high DPI device. | 笔记: -- 单元测试自动包含在调试版本中(作为QGroundControl的一部分)。 QGroundControl在单元测试的控制下运行(它不能正常启动)。 +- 单元测试自动包含在调试版本中(作为QGroundControl的一部分)。 QGroundControl在单元测试的控制下运行(它不能正常启动)。 | ` + clear-settings` | 清除应用程序设置(将QGroundControl恢复为默认设置)。 | + \| `logging:full` | 打开完整日志记录。 请参阅控制台日志记录 | + \| `logging:full,LinkManagerVerboseLog,ParameterLoaderLog` | 打开完整日志记录并关闭以下列出的以逗号分隔的日志记录选项。 | + \| `--llogging:LinkManagerLog,ParameterLoaderLog` | 打开指定的逗号分隔日志记录选项 | + \| `--unittest:name` | (仅限Debug构建)运行指定单元测试。 离开:运行所有测试的名称。 | + \| `--unittest-stress:name` | (仅限调试版本)连续运行指定的单元测试20次。 离开:运行所有测试的名称。 | + \| `-fake-mobile` | 模拟在移动设备上运行。 | + \| `--test-high-dpi` | 模拟在高DPI设备上运行QGroundControl。 | diff --git a/docs/zh/qgc-dev-guide/contribute/dev_call.md b/docs/zh/qgc-dev-guide/contribute/dev_call.md index 8c245b076d0..6464fc34d78 100644 --- a/docs/zh/qgc-dev-guide/contribute/dev_call.md +++ b/docs/zh/qgc-dev-guide/contribute/dev_call.md @@ -1,6 +1,6 @@ # Bi-Weekly Dev Call -The QGroundControl developer team syncs up on technical details and in-depth analysis. There is also a space in the agenda to discuss pull requests, major impacting issues and Q&A. +The QGroundControl developer team syncs up on technical details and in-depth analysis. There is also a space in the agenda to discuss pull requests, major impacting issues and Q\&A. ## Who Should attend: @@ -9,7 +9,7 @@ The QGroundControl developer team syncs up on technical details and in-depth ana - Component maintainers - Dronecode members -::: info +:::info The calls are open for anyone interested to attend, it's a great opportunity to meet the team and contribute to the ongoing development of the project. ::: @@ -23,11 +23,11 @@ The developer team goes through the issue tracker, including the current queue o While the agenda below is the norm, we might -- Community Q&A (Open mic, you can bring your own topics, we can discuss your PRs/Issues/Questions) +- Community Q\&A (Open mic, you can bring your own topics, we can discuss your PRs/Issues/Questions) - Update on the project [High Priority Issues](https://github.com/mavlink/qgroundcontrol/projects/2) tracker - Developer team coordination -::: info +:::info If you want to guarantee your Pull Request get's discussed on the next developer call, make sure you add the "dev-call" label on GitHub. We expect the author and the assigned reviewer to be on the call. ::: diff --git a/docs/zh/qgc-dev-guide/contribute/index.md b/docs/zh/qgc-dev-guide/contribute/index.md index 8ed48d3c686..d1419cab49a 100644 --- a/docs/zh/qgc-dev-guide/contribute/index.md +++ b/docs/zh/qgc-dev-guide/contribute/index.md @@ -2,4 +2,6 @@ 本节包含有关贡献代码的主题,包括编码风格,测试和拉取请求的格式。 -> 注意: QGroundControl(QGC)作为Apache 2.0和GPLv3双重许可。 所有代码贡献都必须在两个许可证下进行。 +:::info +注意: QGroundControl(QGC)作为Apache 2.0和GPLv3双重许可。 所有代码贡献都必须在两个许可证下进行。 All contributions have to be made under both licenses. +::: diff --git a/docs/zh/qgc-dev-guide/contribute/licences.md b/docs/zh/qgc-dev-guide/contribute/licences.md index a0f3c6a590d..9f8a39c3705 100644 --- a/docs/zh/qgc-dev-guide/contribute/licences.md +++ b/docs/zh/qgc-dev-guide/contribute/licences.md @@ -2,19 +2,21 @@ ## QGroundControl许可证 -QGroundControl(QGC)作为Apache 2.0和GPLv3双重许可。 所有捐款都必须在两个许可证下进行。 用户可以在任一许可下免费使用它。 +QGroundControl(QGC)作为Apache 2.0和GPLv3双重许可。 所有捐款都必须在两个许可证下进行。 用户可以在任一许可下免费使用它。 All contributions have to be made under both licenses. Users of the codebase are free to use it under either license. -> 警告QGroundControl许可证排除重用任何Copyleft(例如GPL)许可代码。 所有贡献必须是原始的或来自兼容的许可(BSD 2/3条款,麻省理工学院,Apache 2.0)。 +:::warning +警告QGroundControl许可证排除重用任何Copyleft(例如GPL)许可代码。 所有贡献必须是原始的或来自兼容的许可(BSD 2/3条款,麻省理工学院,Apache 2.0)。 All contributions must be original or from a compatible license (BSD 2/3 clause, MIT, Apache 2.0). +::: 双重方法是必要的,以便能够通过iOS和Android应用程序商店提供QGroundControl,并提供开源社区用户选择 ### Apache 2.0许可证 -Apache 2.0许可证是一种权限许可证,允许在任何环境(包括专有应用程序)中构建和使用QGC。 它允许为移动应用程序商店构建QGC。 使用Apache 2.0构建时,需要商业Qt许可证。 +Apache 2.0许可证是一种权限许可证,允许在任何环境(包括专有应用程序)中构建和使用QGC。 它允许为移动应用程序商店构建QGC。 使用Apache 2.0构建时,需要商业Qt许可证。 It allows QGC to be built for mobile app stores. When building with Apache 2.0 a commercial Qt license is required. ### GPL v3许可证 -GPL v3许可证是强大的著作权许可证。 在此许可下构建QGC时,可以使用Qt的开源版本。 我们的许可授予使用更高版本许可的许可,但是,必须在3.0下做出贡献。 +The [GPL v3 License](http://www.gnu.org/licenses/gpl-3.0.en.html) is a strong copyleft license. GPL v3许可证是强大的著作权许可证。 在此许可下构建QGC时,可以使用Qt的开源版本。 我们的许可授予使用更高版本许可的许可,但是,必须在3.0下做出贡献。 Our licensing grants the permission to use a later version of the license, however, contributions have to be made under 3.0. ## 文档,图稿,图像 diff --git a/docs/zh/qgc-dev-guide/contribute/pull_requests.md b/docs/zh/qgc-dev-guide/contribute/pull_requests.md index 0261ace52ba..6da4182f26f 100644 --- a/docs/zh/qgc-dev-guide/contribute/pull_requests.md +++ b/docs/zh/qgc-dev-guide/contribute/pull_requests.md @@ -1,3 +1,3 @@ # Pull Requests -所有拉取请求都通过QGC CI构建系统,该系统构建版本和调试版本。 如果存在编译器警告,则构建将失败。 还针对支持的OS调试版本运行单元测试。 +所有拉取请求都通过QGC CI构建系统,该系统构建版本和调试版本。 如果存在编译器警告,则构建将失败。 还针对支持的OS调试版本运行单元测试。 Builds will fail if there are compiler warnings. Also unit tests are run against supported OS debug builds. diff --git a/docs/zh/qgc-dev-guide/contribute/unit_tests.md b/docs/zh/qgc-dev-guide/contribute/unit_tests.md index 69af1f1f12e..dee5ef3ecd3 100644 --- a/docs/zh/qgc-dev-guide/contribute/unit_tests.md +++ b/docs/zh/qgc-dev-guide/contribute/unit_tests.md @@ -6,7 +6,15 @@ _QGroundControl_ (QGC) contains a set of unit tests that must pass before a pull 要运行单元测试: -1. 使用UNITTEST_BUILD定义在调试模式下构建。 +1. 使用UNITTEST\_BUILD定义在调试模式下构建。 2. 复制debug目录中的deploy / qgroundcontrol-start.sh脚本 -3. 使用--unittest命令行选项从命令行运行所有单元测试。 对于Linux,这是完成如下所示: `qgroundcontrol-start.sh --unittest` -4. 通过指定测试名称来运行单个单元测试: - unittest:RadioConfigTest。 对于Linux,这是完成如下所示: `qgroundcontrol-start.sh --unittest:RadioConfigTest` +3. Run _all_ unit tests from the command line using the `--unittest` command line option. + For Linux this is done as shown: + ``` + 使用--unittest命令行选项从命令行运行所有单元测试。 对于Linux,这是完成如下所示: `qgroundcontrol-start.sh --unittest` + ``` +4. Run _individual_ unit tests by specifying the test name as well: `--unittest:RadioConfigTest`. + For Linux this is done as shown: + ``` + 通过指定测试名称来运行单个单元测试: - unittest:RadioConfigTest。 对于Linux,这是完成如下所示: `qgroundcontrol-start.sh --unittest:RadioConfigTest` + ``` diff --git a/docs/zh/qgc-dev-guide/custom_build/create_repos.md b/docs/zh/qgc-dev-guide/custom_build/create_repos.md new file mode 100644 index 00000000000..c4bce8ee142 --- /dev/null +++ b/docs/zh/qgc-dev-guide/custom_build/create_repos.md @@ -0,0 +1,15 @@ +# Initial Repository Setup For Custom Build + +The suggested mechanism for working on QGC and a custom build version of QGC is to have two separate repositories. The first repo is your main QGC fork. The second repo is your custom build repo. + +## Main QGC Respository + +This repo is used to work on changes to mainline QGC. When creating your own custom build it is not uncommon to discover that you may need a tweak/addition to the custom build to achieve what you want. By discussing those needed changes firsthand with QGC devs and submitting pulls to make the custom build architecture better you make QGC more powerful for everyone and give back to the community. + +The best way to create this repo is to fork the regular QGC repo to your own GitHub account. + +## Custom Build Repository + +This is where you will do your main custom build development. All changes here should be within the custom directory as opposed to bleeding out into the regular QGC codebase. + +Since you can only fork a repo once, the way to create this repo is to "Create a new repository" in your GitHub account. Do not add any additional files to it like gitignore, readme's and so forth. Once it is created you will be given the option to setup up the Repo. Now you can select to "import code from another repository". Just import the regular QGC repo using the "Import Code" button. diff --git a/docs/zh/qgc-dev-guide/custom_build/custom_build.md b/docs/zh/qgc-dev-guide/custom_build/custom_build.md index 9629c64ecef..0987d40a7c2 100644 --- a/docs/zh/qgc-dev-guide/custom_build/custom_build.md +++ b/docs/zh/qgc-dev-guide/custom_build/custom_build.md @@ -1,6 +1,6 @@ # 自定义构建 -自定义构建允许第三方创建自己的QGC版本,使其能够轻松跟上常规QGC中所做的更改。 QGC has an architecture built into it which allows custom builds to modify and add to the feature set of regular QGC. +自定义构建允许第三方创建自己的QGC版本,使其能够轻松跟上常规QGC中所做的更改。 QGC has an architecture built into it which allows custom builds to modify and add to the feature set of regular QGC. custom-example]\(https\://github.com/mavlink/qgroundcontrol/tree/master/custom-example) source code including the Some possibilities with a custom build @@ -23,8 +23,4 @@ There is also a mechanism which allows you to override resources so you can chan Also internal to QGC is the concept of an "Advanced Mode". Whereas a standard QGC builds always runs in advanced mode. A custom build always starts out in regular/not advanced mode. There is an easier mechanism in the build to turn on advanced mode which is to click the fly view button 5 times in a row fairly quickly. If you do this in a custom build you will be warned about entering advanced mode. The concept here is to hide things which normal users should not have access to behind advanced mode. For example a commercial vehicle will not need access to most setup pages which are oriented to DIY setup. So a custom build can hide this. The custom example code shows how to do this. -If you want to understand the possibilities, the first step is to read through those files which document what is possible. Next look through the [ - - custom-example](https://github.com/mavlink/qgroundcontrol/tree/master/custom-example) source code including the - -[README](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/README.md). +If you want to understand the possibilities, the first step is to read through those files which document what is possible. [README](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/README.md). diff --git a/docs/zh/qgc-dev-guide/custom_build/first_run_prompts.md b/docs/zh/qgc-dev-guide/custom_build/first_run_prompts.md new file mode 100644 index 00000000000..77d779da1b6 --- /dev/null +++ b/docs/zh/qgc-dev-guide/custom_build/first_run_prompts.md @@ -0,0 +1,54 @@ +# First Run Prompts + +When QGC is started for the first time it prompts the user to specify some initial settings. At the time of writing this documentation those are: + +- Unit Settings - What units does the user want to use for display. +- Offline Vehicle Settings - Vehicle information for creating Plans while not connected to a vehicle. + +The custom build architecure includes mechanisms for a custom build to both override the display of these prompts and/or create your own first run prompts. + +## First Run Prompt Dialog + +Each first run prompt is a simple dialog which can display ui to the user. Whether the specific dialog has already been show to the user or not is stored in a setting. Here is the code for the upstream first run prompt dialogs: + +- [Units Settings](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirstRunPromptDialogs/UnitsFirstRunPrompt.qml) +- [Offline Vehicle Settings](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirstRunPromptDialogs/OfflineVehicleFirstRunPrompt.qml) + +## Standard First Run Prompt Dialogs + +Each dialog has a unique ID associated with it. When that dialog is shown to the user that ID is registered as having already been displayed so it only happens once (unless you clear settings). The set of first run prompt which are included with upstream QGC are considered the "Standard" set. QGC gets the list of standard prompts to display from the `QGCCorePlugin::firstRunPromptStdIds` call. + +``` + /// Returns the standard list of first run prompt ids for possible display. Actual display is based on the + /// current AppSettings::firstRunPromptIds value. The order of this list also determines the order the prompts + /// will be displayed in. + virtual QList firstRunPromptStdIds(void); +``` + +You can override this method in your custom build if you want to hide some of those. + +## Custom First Run Prompt Dialogs + +Custom builds have the ability to create their own set of additional first run prompts as needed through the use of the following QGCCorePlugin method overrides: + +``` + /// Returns the custom build list of first run prompt ids for possible display. Actual display is based on the + /// current AppSettings::firstRunPromptIds value. The order of this list also determines the order the prompts + /// will be displayed in. + virtual QList firstRunPromptCustomIds(void); +``` + +``` + /// Returns the resource which contains the specified first run prompt for display + Q_INVOKABLE virtual QString firstRunPromptResource(int id); +``` + +Your QGCCorePlugin should override these two methods as well as provide static consts for the ids of your new first run prompts. Look at how the standard set is implemented for how to do this and take the same approach. + +## Order Of Display + +The set of first run prompts shown to the user are in the order returned by the `QGCCorePlugin::firstRunPromptStdIds` and `QGCCorePlugin::firstRunPromptCustomIds` with standard prompts shown before the custom prompts. Only the prompts which have not been previously shown to the user are shown. + +## Always On Prompts + +By setting the `markAsShownOnClose: false` property in your prompt ui implementation you can create a prompt which will show up each time QGC starts. This can be used for things like showing usage tips to your users. If you do this it is best to make sure that this is displayed last. diff --git a/docs/zh/qgc-dev-guide/custom_build/fly_view.md b/docs/zh/qgc-dev-guide/custom_build/fly_view.md new file mode 100644 index 00000000000..e6b3342817f --- /dev/null +++ b/docs/zh/qgc-dev-guide/custom_build/fly_view.md @@ -0,0 +1,42 @@ +# Fly View Customization + +The Fly View is designed in such a way that it can be cusomtized in multiple ways from simple to more complex. It is designed in three separate layers each of which are customizable providing different levels of change. + +## Layers + +- There are three layers to the fly view from top to bottom visually: + - [`FlyView.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyView.qml) This is the base layer of ui and business logic to control map and video switching. + - [`FlyViewWidgetsOverlay.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyViewWidgetLayer.qml) This layer includes all the remaining widgets for the fly view. + - [`FlyViewCustomLayer.qml`](https://github.com/mavlink/qgroundcontrol/blob/master/src/FlightDisplay/FlyViewCustomLayer.qml) This is a layer you override using resource override to add your own custom layer. + +### Inset Negotiation using `QGCToolInsets` + +An important aspect of the Fly View is that it needs to understand how much central space it has in the middle of it's map window which is not obstructed by ui widgets which are at the edges of the window. It uses this information to pan the map when the vehicle goes out of view. This need to be done not only for the window edges but also for the widgets themselve such that the map pans before it goes under a widget. + +This is done through the use of the [`QGCToolInsets`](https://github.com/mavlink/qgroundcontrol/blob/master/src/QmlControls/QGCToolInsets.qml) object included in each layer. This objects provides inset information for each window edge informing the system as to how much real estate is taken up by edge based ui. Each layer is given the insets of the layer below it through `parentToolInsets` and then reports back the new insets taking into account the layer below and it's own additions through `toolInsets`. The final results total inset is then given to the map so it can do the right thing. The best way to understand this is to look at both the upstream and custom example code. + +### `FlyView.qml` + +The base layer for the view is also the most complex from ui interactions and business logic. It includes the main display elements of map and video as well as the guided controls. Although you can resource override this layer it is not recommended. And if you do you better really (really) know what you are doing. The reason it is a separate layer is to make the layer above much simpler and easier to customize. + +### `FlyViewWidgetsOverlay.qml` + +This layer contains all the remaining controls of the fly view. You have the ability to hide the controls through use of [`QGCFlyViewOptions`](https://github.com/mavlink/qgroundcontrol/blob/master/src/api/QGCOptions.h). But in order to change the layout of the upstream controls you must use a resource override. If you look at the source you'll see that the controls themselves are well encapsulated such that it should not be that difficult to create your own override which repositions them and/or adds your own ui. While maintaining a connection to the upstream implementaions of the controls. + +### `FlyViewCustomLayer.qml` + +This provides the simplest customization ability to the Fly View. Allowing you the add ui elements which are additive to the existing upstream controls. The upstream code adds no ui elements and is meant to be the basis for your own custom code used as a resource override for this qml. The custom example code provides you with an example of how to do it. + +## Recommendations + +### Simple customization + +The best place to start is using a custom layer override plus turning off ui elements from the widgets layer (if needed). I would recommend trying to stick with only this if at all possible. It provides the greatest abilty to not get screwed by upstream changes in the layers below. + +### Moderate complexity customization + +If you really need to reposition upstream ui elements then your only choice is overriding `FlyViewWidgetsOverlay.qml`. By doing this you are distancing yourself a bit from upstream changes. Although you will still get changes in the upstream controls for free. If there is a whole new control added to the fly view upstream you won't get it until you add it to your own override. + +### Highly complex customization + +The last and least recommended customization mechanism is overriding `FlyView.qml`. By doing this you are distancing yourself even further from getting upstream changes for free. diff --git a/docs/zh/qgc-dev-guide/custom_build/mavlink.md b/docs/zh/qgc-dev-guide/custom_build/mavlink.md index a2c38d1f67e..6fa5d685d9f 100644 --- a/docs/zh/qgc-dev-guide/custom_build/mavlink.md +++ b/docs/zh/qgc-dev-guide/custom_build/mavlink.md @@ -2,13 +2,14 @@ QGC communicates with flight stacks using [MAVLink](https://mavlink.io/en/), a very lightweight messaging protocol that has been designed for the drone ecosystem. -QGC includes the [all.xml](https://mavlink.io/en/messages/all.html) dialect by default. The `all.xml` includes all other dialects in the [mavlink/mavlink](https://github.com/mavlink/mavlink/tree/master/message_definitions/v1.0) repository, and allows it to communicate with both PX4 and Ardupilot. Previous versions of QGC (v4.2.8 and earlier), used the `ArduPilotMega.xml` dialect. +QGC includes the [all.xml](https://mavlink.io/en/messages/all.html) dialect by default. The `all.xml` includes all other dialects in the [mavlink/mavlink](https://github.com/mavlink/mavlink/tree/master/message_definitions/v1.0) repository, and allows it to communicate with both PX4 and Ardupilot. +Previous versions of QGC (v4.2.8 and earlier), used the `ArduPilotMega.xml` dialect. In order to add support for a new set of messages you should add them to [development.xml](https://mavlink.io/en/messages/development.html), [ArduPilotMega.xml](https://mavlink.io/en/messages/ardupilotmega.html), or [common.xml](https://mavlink.io/en/messages/common.html) (for PX4), or fork _QGroundControl_ and include your own dialect. To modify the version of MAVLink used by QGC: - Replace the pre-build C library at [/qgroundcontrol/libs/mavlink/include/mavlink](https://github.com/mavlink/qgroundcontrol/tree/master/libs/mavlink/include/mavlink). - - By default this is a submodule importing https://github.com/mavlink/c_library_v2 + - By default this is a submodule importing https\://github.com/mavlink/c\_library\_v2 - You can change the submodule, or [build your own libraries](https://mavlink.io/en/getting_started/generate_libraries.html) using the MAVLink toolchain. - You can change the whole dialect used by setting it in [`MAVLINK_CONF`](https://github.com/mavlink/qgroundcontrol/blob/master/QGCExternalLibs.pri#L52) when running _qmake_. diff --git a/docs/zh/qgc-dev-guide/custom_build/release_branching_process.md b/docs/zh/qgc-dev-guide/custom_build/release_branching_process.md new file mode 100644 index 00000000000..41e143a59f1 --- /dev/null +++ b/docs/zh/qgc-dev-guide/custom_build/release_branching_process.md @@ -0,0 +1,44 @@ +# Release Process for Custom Builds \[WIP Docs] + +One of the trickier aspects of creating your own custom build is the process to keep it up to date with regular QGC. This document describes a suggested process to follow. But in reality you are welcome to use whatever branching and release strategy you want for your custom builds. + +## Upstream QGC release/branching strategy + +The best place to start is understanding the mechanism QGC uses to do it's own releases. We will layer a custom build release process on top of that. You can find standard QGC [release process here](../release_branching_process.md). + +## Custom build/release types + +Regular QGC has two main build types: Stable and Daily. The build type for a custom build is more complex. Throughout this discussion we will use the term "upstream" to refer to the main QGC repo (https\://github.com/mavlink/qgroundcontrol). Also when we talk about a "new" upstream stable release, this means a major/minor release, not a patch release. + +### Synchronized Stable + +This type of release is synchronized with the release of an upstream stable. Once QGC releases stable you then release a version of your custom build which is based on this stable. This build will include all the new features from upstream including the new feature in your own custom code. + +### Out-Of-Band Stable + +This a subsequent release of your custom build after you have released a synchronized stable but prior to upstream releasing a new stable. It only includes new features from your own custom build and include no new features from upstream. Work on this type of release would occur on a branch which is either based on your latest synchronized stable or your last out of band release if it exists. You can release out of band stable releases at any time past your first synchronized stable release. + +### Daily + +Your custom daily builds are built from your `master` branch. It is important to keep your custom master up to date with QGC master. If you lag behind you may be surprised by upstream features which require some effort to integrate with your build. Or you may even require changes to "core" QGC in order to work with your code. +If you don't let QGC development team know soon enough, it may end up being too late to get things changed. + +## Options for your first build + +### Starting with a Synchronized Stable release + +It is suggested that you start with releasing a Synchronized Stable. This isn't necessary but it is the simplest way to get started. To set your self up for a synchronized stable you create your own branch for development which is based on the upstream current stable. + +### Starting with Daily builds + +The reason why you may consider this as your starting point is because you need features which are only in upstream master for your own custom builds. In this case you will have to live with releasing custom Daily builds until the next upstream stable. At which point you would release you first Synchronized Stable. For this setup you use your master branch and keep it in sync with upstream master as you develop. + +## After you release your first Synchronized Stable + +### Patch Releases + +As upstream QGC does patch releases on Stable you should also release your own patch releases based on upstream to keep your stable up to date with latest criticial bug fixes. + +### Out-Of-Band, Daily: One or the other or both? + +At this point you can decide which type of releases you want to follow. You can also decide to possibly do both. You can do smaller new features which don't require new upstream features using out of band releases. And you can do major new feature work as daily/master until the point you can do a new synchronized stable. diff --git a/docs/zh/qgc-dev-guide/custom_build/resource_override.md b/docs/zh/qgc-dev-guide/custom_build/resource_override.md new file mode 100644 index 00000000000..2c8fa94eba1 --- /dev/null +++ b/docs/zh/qgc-dev-guide/custom_build/resource_override.md @@ -0,0 +1,24 @@ +# Resource Overrides + +A "resource" in QGC source code terminology is anything found in the [qgroundcontrol.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgroundcontrol.qrc) and [qgcresources.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/qgcresources.qrc) file. By overriding a resource you can replace it with your own version of it. This could be as simple as a single icon, or as complex as replacing an entire Vehicle Setup page of qml ui code. + +Be aware that using resource overrides does not isolate you from upstream QGC changes like the plugin architecture does. In a sense you are directly modify the upstream QGC resources used by the main code. + +## Exclusion Files + +The first step to overriding a resource is to "exclude" it from the standard portion of the upstream build. This means that you are going to provide that resource in your own custom build resource file(s). There are two files which achieve this: qgroundcontrol.exclusion and [qgcresources.exclusion](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/qgcresources.exclusion). They correspond directly with the \*.qrc counterparts. In order to exclude a resource, copy the resource line from the .qrc file into the appropriate .exclusion file. + +## Custom version of excluded resources + +You must include the custom version of the overriden resouce in you custom build resource file. The resource alias must exactly match the upstream alias. The name and actual location of the resource can be anywhere within your custom directory structure. + +## Generating the new modified versions of standard QGC resource file + +This is done using the `updateqrc.py` python script. It will read the upstream `qgroundcontrol.qrc` and `qgcresources.qrc` file and the corresponding exclusion files and output new versions of these files in your custom directory. These new versions will not have the resources you specified to exclude in them. The build system for custom builds uses these generated files (if they exist) to build with instead of the upstream versions. The generated version of these file should be added to your repo. Also whenever you update the upstream portion of QGC in your custom repo you must re-run `python updateqrc.py` to generate new version of the files since the upstream resources may have changed. + +## Custom Build Example + +You can see an examples of custom build qgcresource overrides in the repo custom build example: + +- [qgcresources.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/qgcresources.exclusion) +- [custom.qrc](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/custom.qrc) diff --git a/docs/zh/qgc-dev-guide/fact_system.md b/docs/zh/qgc-dev-guide/fact_system.md index 4acfef1cbc2..f19788578a7 100644 --- a/docs/zh/qgc-dev-guide/fact_system.md +++ b/docs/zh/qgc-dev-guide/fact_system.md @@ -8,7 +8,7 @@ Fact System(事实系统)提供一组标准化和简化QGC用户界面创建的 ## FactMetaData -与每个事实有FactMetaData相关联 它提供有关事实的详细信息,以便驱动自动用户界面生成和验证。 +与每个事实有FactMetaData相关联 它提供有关事实的详细信息,以便驱动自动用户界面生成和验证。 It provides details on the Fact in order to drive automatic user interface generation and validation. ## 事实控制 @@ -16,11 +16,15 @@ Fact System(事实系统)提供一组标准化和简化QGC用户界面创建的 ## FactGroup(事实小组) -A _Fact Group_ is a group of [Facts](#fact). It is used to organise facts and manage user defined facts. +A _Fact Group_ is a group of [Facts](#fact). +It is used to organise facts and manage user defined facts. ## Custom Build Support -User defined facts can be added by overriding `factGroups` function of `FirmwarePlugin` in a custom firmware plugin class. These functions return a name to fact group map that is used to identify added fact groups. A custom fact group can be added by extending `FactGroup` class. FactMetaDatas could be defined using the appopriate `FactGroup` constructor by providing a json file containing necessery information. +User defined facts can be added by overriding `factGroups` function of `FirmwarePlugin` in a custom firmware plugin class. +These functions return a name to fact group map that is used to identify added fact groups. +A custom fact group can be added by extending `FactGroup` class. +FactMetaDatas could be defined using the appopriate `FactGroup` constructor by providing a json file containing necessery information. Changing the metadata of existing facts is also possible by overriding `adjustMetaData` of `FirmwarePlugin` class. diff --git a/docs/zh/qgc-dev-guide/file_formats/mavlink.md b/docs/zh/qgc-dev-guide/file_formats/mavlink.md index 5235343c68a..0076dc281d8 100644 --- a/docs/zh/qgc-dev-guide/file_formats/mavlink.md +++ b/docs/zh/qgc-dev-guide/file_formats/mavlink.md @@ -2,14 +2,14 @@ _QGC 地面站_ 能生成纯 MAVLink 数据包日志,并支持日志回放,以便飞行任务结束后查看任务执行状态来进行数据分析。 -日志采用二进制格式,字节定义如下: +The format is binary: - 字节 1-8:64位无符号整数,表示时间戳,单位为微秒,起始时间为Unix纪元(UTM时间1970年1月1日0时0分0秒) -- 字节 9-271:MAVLink 数据包(数据包的最大长度为263字节,包括数据包起始标识。一般来说,数据包中的可用字节不会被实际数据全部填充,因此,数据包的实际长度会小于 263 字节 。 +- 字节 9-271:MAVLink 数据包(数据包的最大长度为263字节,包括数据包起始标识。一般来说,数据包中的可用字节不会被实际数据全部填充,因此,数据包的实际长度会小于 263 字节 。 Includes packet start sign) -## 调试 +## Debugging -若要检查数据, 请在以十六进制方式查看日志文件。 文件打开后,可在第九个字节的位置,找到 **0x55**。 前 8 个字节应转换为有效的时间戳,数值接近零或 **1294571828792000**(表示当前的 Unix 纪元时间戳(以微秒为单位)。 +To check your data, open your written file in a hex editor. You should see after 8 bytes **0x55**. The first 8 bytes should also convert to a valid timestamp, so something either close to zero or around the number **1294571828792000** (which is the current Unix epoch timestamp in microseconds). ## 用于记录 MAVLink 的 C++ 例程 diff --git a/docs/zh/qgc-dev-guide/file_formats/parameters.md b/docs/zh/qgc-dev-guide/file_formats/parameters.md index c4a5366835d..f61e33fbc14 100644 --- a/docs/zh/qgc-dev-guide/file_formats/parameters.md +++ b/docs/zh/qgc-dev-guide/file_formats/parameters.md @@ -1,14 +1,16 @@ # 参数文件格式 - # Onboard parameters for Vehicle 1 - # - # # Vehicle-Id Component-Id Name Value Type - 1 1 ACRO_LOCKING 0 2 - 1 1 ACRO_PITCH_RATE 180 4 - 1 1 ACRO_ROLL_RATE 180 4 - 1 1 ADSB_ENABLE 0 2 +``` +# Onboard parameters for Vehicle 1 +# +# # Vehicle-Id Component-Id Name Value Type +1 1 ACRO_LOCKING 0 2 +1 1 ACRO_PITCH_RATE 180 4 +1 1 ACRO_ROLL_RATE 180 4 +1 1 ADSB_ENABLE 0 2 +``` -以上是具有四个参数的参数文件的示例。 该文件可以包含所需数量的参数。 +以上是具有四个参数的参数文件的示例。 该文件可以包含所需数量的参数。 The file can include as many parameters as needed. 评论之前是#。 @@ -18,6 +20,6 @@ - Component-Id(参数的组件编号) - Name参数名称 - Value参数值 -- 使用MAVLink MAV*PARAM_TYPE* \*枚举值键入参数类型 +- 使用MAVLink MAV_PARAM\_TYPE_ \*枚举值键入参数类型 -参数文件包含单个Vehicle的参数。 它可以包含该Vehicle中多个组件的参数。 +参数文件包含单个Vehicle的参数。 它可以包含该Vehicle中多个组件的参数。 It can contain parameters for multiple components within that Vehicle. diff --git a/docs/zh/qgc-dev-guide/file_formats/plan.md b/docs/zh/qgc-dev-guide/file_formats/plan.md index f060346ade8..dc0203329a6 100644 --- a/docs/zh/qgc-dev-guide/file_formats/plan.md +++ b/docs/zh/qgc-dev-guide/file_formats/plan.md @@ -1,8 +1,12 @@ # 计划文件格式 计划文件以JSON文件格式存储,包含任务项和(可选)地理围栏和集结点。 您可以在下面看到Plan文件的顶级格式 +地理围栏“多边形”计划格式的版本号。 记录的版本是2。 -> **提示:** 这是“接近最小” - 计划必须包含至少一个任务项目。 当没有任务运行时,计划围栏和集结点也用于模式。 +:::tip +**提示:** 这是“接近最小” - 计划必须包含至少一个任务项目。 当没有任务运行时,计划围栏和集结点也用于模式。 +The plan fence and rally points are also used in modes when no mission is running. +::: ```json { @@ -24,18 +28,20 @@ 主要领域是: -| 键 | 描述 | -| ------------------------------ | ------------------------------------------------ | -| `version` | 此文件的版本。 当前版本为1。 | -| `fileType` | 必须是“计划”。 | -| `groundStation` | 创建此文件的地面站的名称(此处为QGroundControl) | -| [`mission`](#mission) | 与此飞行计划相关的任务。 | -| [`geoFence`](#geofence) | (可选)此计划的地理围栏信息。 | -| [`rallyPoints`](#rally_points) | (可选)此计划的拉力/安全点信息 | +| 键 | 描述 | +| ------------------------------ | ------------------------------------------------- | +| `version` | 地理围栏计划格式的版本号。 记录的版本是2。 地理围栏“圈子”计划格式的版本号。 记录的版本是1。 | +| `fileType` | 必须是“计划”。 | +| `groundStation` | 创建此文件的地面站的名称(此处为QGroundControl) | +| [`mission`](#mission) | 与此飞行计划相关的任务。 | +| [`geoFence`](#geofence) | (可选)此计划的地理围栏信息。 | +| [`rallyPoints`](#rally_points) | (可选)此计划的拉力/安全点信息 | ## 使命对象 {#mission} +The structure of the mission object is shown below. 任务对象的结构如下所示。 items字段包含以逗号分隔的任务项列表(它必须包含至少一个任务项,如下所示)。 该列表可以是SimpleItem和ComplexItem对象的混合 +The list may be a mix of both [SimpleItem](#mission_simple_item) and [ComplexItem](#mission_complex_item) objects. ```json "mission": { @@ -76,12 +82,12 @@ 需要以下值: -| 键 | 描述 | +| 键 | 描述 | | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `version` | 任务对象的版本。 目前的版本是2。 | -| `firmwareType` | 为此任务创建的固件类型。 这是MAV_AUTOPILOT枚举值之一。 | +| `version` | 任务对象的版本。 目前的版本是2。 Current version is 2. | +| `firmwareType` | 为此任务创建的固件类型。 这是MAV\_AUTOPILOT枚举值之一。 This is one of the [MAV\_AUTOPILOT](https://mavlink.io/en/messages/common.html#MAV_AUTOPILOT) enum values. | | `globalPlanAltitudeMode` | The global plan-wide altitude mode setting. This is used by plan items that don't specify an `"AltitudeMode"`. | -| `vehicleType` | The vehicle type for which this mission was created. This is one of the [MAV_TYPE](https://mavlink.io/en/messages/common.html#MAV_TYPE) enum values. | +| `vehicleType` | The vehicle type for which this mission was created. This is one of the [MAV\_TYPE](https://mavlink.io/en/messages/common.html#MAV_TYPE) enum values. | | `cruiseSpeed` | The default forward speed for Fixed wing or VTOL vehicles (i.e. when moving between waypoints). | | `hoverSpeed` | The default forward speed for multi-rotor vehicles. | | `items` | The list of mission item objects associated with the mission . The list may contain either/both [SimpleItem](#mission_simple_item) and [ComplexItem](#mission_complex_item) objects. | @@ -89,51 +95,53 @@ 简单和复杂项目的格式如下。 -### SimpleItem - 简单的任务项目 {#mission_simple_item} - -一个简单的项表示单个MAVLink MISSION_ITEM命令。 - - { - "AMSLAltAboveTerrain": null, - "Altitude": 50, - "AltitudeMode": 0, - "autoContinue": true, - "command": 22, - "doJumpId": 1, - "frame": 3, - "params": [ - 15, - 0, - 0, - null, - 47.3985099, - 8.5451002, - 50 - ], - "type": "SimpleItem" - } +### SimpleItem - 简单的任务项目 {#mission\_simple\_item} + +一个简单的项表示单个MAVLink MISSION\_ITEM命令。 + +``` + { + "AMSLAltAboveTerrain": null, + "Altitude": 50, + "AltitudeMode": 0, + "autoContinue": true, + "command": 22, + "doJumpId": 1, + "frame": 3, + "params": [ + 15, + 0, + 0, + null, + 47.3985099, + 8.5451002, + 50 + ], + "type": "SimpleItem" + } +``` 字段映射如下所示。 -| 键 | 描述 | -| --------------------- | ------------------------------------------------------------- | -| `type` | SimpleItem用于简单的项目 | -| `AMSLAltAboveTerrain` | 向用户显示的海拔高度值。 | -| `Altitude` | | -| `AltitudeMode` | | -| `autoContinue` | MISSION_ITEM.autoContinue | -| `command` | 任务项目 - 请参阅MISSION_ITEM.command。 | -| `doJumpId` | DO_JUMP命令中当前任务项的目标ID。 这些是从1自动编号。 | -| `frame` | 任务项目 - 请参阅MISSION_ITEM.command。 | -| `params` | MISSION_ITEM.param1,2,3,4,x,y,z(值取决于特定的MAV_CMD)。 | +| 键 | 描述 | +| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `type` | SimpleItem用于简单的项目 | +| `AMSLAltAboveTerrain` | 向用户显示的海拔高度值。 | +| `Altitude` | | +| `AltitudeMode` | | +| `autoContinue` | MISSION\_ITEM.autoContinue | +| `command` | The command ([MAV\_CMD](https://mavlink.io/en/messages/common.html#MAV_CMD)) for this mission item - see [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).command. | +| `doJumpId` | DO\_JUMP命令中当前任务项的目标ID。 这些是从1自动编号。 These are auto-numbered from 1. | +| `frame` | [MAV\_FRAME](https://mavlink.io/en/messages/common.html#MAV_FRAME) (see [MISSION\_ITEM](https://mavlink.io/en/messages/common.html#MISSION_ITEM).frame) | +| `params` | MISSION\_ITEM.param1,2,3,4,x,y,z(值取决于特定的MAV\_CMD)。 | -### 复杂任务项目 {#mission_complex_item} +### 复杂任务项目 {#mission\_complex\_item} -复杂项是对作为单个实体处理的多个MISSION_ITEM对象的更高级别封装。 +复杂项是对作为单个实体处理的多个MISSION\_ITEM对象的更高级别封装。 目前有三种类型的复杂任务项目: -- [. 调查](#survey) +- 调查]\(#survey) - [走廊扫描](#corridor_scan) - [结构扫描](#structure_scan) @@ -141,80 +149,84 @@ 调查复杂任务项目的对象定义如下。 - { - "TransectStyleComplexItem": { - ... - }, - "angle": 0, - "complexItemType": "survey", - "entryLocation": 0, - "flyAlternateTransects": false, - "polygon": [ - [ - -37.75170619863631, - 144.98414811224316 - ], - ... - [ - -37.75170619863631, - 144.99457681259048 - ] - ], - "type": "ComplexItem", - "version": 4 +``` +{ + "TransectStyleComplexItem": { + ... }, + "angle": 0, + "complexItemType": "survey", + "entryLocation": 0, + "flyAlternateTransects": false, + "polygon": [ + [ + -37.75170619863631, + 144.98414811224316 + ], + ... + [ + -37.75170619863631, + 144.99457681259048 + ] + ], + "type": "ComplexItem", + "version": 4 + }, +``` 复杂项目具有与之关联的这些值: -| 键 | 描述 | -| ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `version` | 此调查定义的版本号。 目前的版本是3。 | -| `type` | ComplexItem(这是一个复杂的项目)。 | -| `complexItemType` | `survey` | -| [`TransectStyleComplexItem `](#TransectStyleComplexItem) | Survey和CorridorScan复杂项目的通用基础定义。 | -| `angle` | 横断面的角度(度数)。 | -| `entryLocation` | ? | -| `flyAlternateTransects` | 如果是,则载具会跳过每个其他横断面,然后在最后返回并飞行这些替代。 This can be used for fixed wing aircraft when the turnaround would be too acute for the vehicle to make the turn. | -| `polygon` | 表示多边形测量区域的多边形数组。 每个点都是多边形顶点的纬度,经度对。 | +| 键 | 描述 | +| -------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | The version number for this `survey` definition. Current version is 3. | +| `type` | ComplexItem(这是一个复杂的项目)。 | +| `complexItemType` | `survey` | +| [`TransectStyleComplexItem `](#TransectStyleComplexItem) | Survey和CorridorScan复杂项目的通用基础定义。 | +| `angle` | 横断面的角度(度数)。 | +| `entryLocation` | ? | +| `flyAlternateTransects` | 团结积分信息是可选的。 该计划可以包含任意数量的拉力点,每个拉力点具有纬度,经度和高度(高于原始位置)。 如果是,则载具会跳过每个其他横断面,然后在最后返回并飞行这些替代。 This can be used for fixed wing aircraft when the turnaround would be too acute for the vehicle to make the turn. | +| `polygon` | The polygon array which represents the polygonal survey area. Each point is a latitude, longitude pair for a polygon vertex. | -#### 走廊扫描 {#corridor_scan} +#### 走廊扫描 {#corridor\_scan} CorridorScan复杂任务项的对象定义如下。 - { - "CorridorWidth": 50, - "EntryPoint": 0, - "TransectStyleComplexItem": { - ... - }, +``` + { + "CorridorWidth": 50, + "EntryPoint": 0, + "TransectStyleComplexItem": { + ... }, - "complexItemType": "CorridorScan", - "polyline": [ - [ - -37.75234887156983, - 144.9893624624168 - ], - ... - [ - -37.75491914850321, - 144.9893624624168 - ] - ], - "type": "ComplexItem", - "version": 2 }, + "complexItemType": "CorridorScan", + "polyline": [ + [ + -37.75234887156983, + 144.9893624624168 + ], + ... + [ + -37.75491914850321, + 144.9893624624168 + ] + ], + "type": "ComplexItem", + "version": 2 + }, +``` -| 键 | 描述 | -| ------------------------------------------------------- | -------------------------------------------- | -| `version` | 此CorridorScan定义的版本。 目前的版本是3。 | -| `type` | ComplexItem(这是一个复杂的项目)。 | -| `complexItemType` | `CorridorScan` | -| `CorridorWidth` | ? | -| `EntryPoint` | ? | -| [`TransectStyleComplexItem `](#TransectStyleComplexItem) | Survey和CorridorScan复杂项目的通用基础定义。 | -| `polyline` | ? | +| 键 | 描述 | +| -------------------------------------------------------- | -------------------------------------------------- | +| `version` | 此CorridorScan定义的版本。 目前的版本是3。 Current version is 3. | +| `type` | ComplexItem(这是一个复杂的项目)。 | +| `complexItemType` | `CorridorScan` | +| `CorridorWidth` | ? | +| `EntryPoint` | ? | +| [`TransectStyleComplexItem `](#TransectStyleComplexItem) | Survey和CorridorScan复杂项目的通用基础定义。 | +| `polyline` | ? | -#### 结构扫描 {#structure_scan} +#### 结构扫描 {#structure\_scan} StructureScan复杂任务项的对象定义如下。 @@ -249,17 +261,17 @@ StructureScan复杂任务项的对象定义如下。 } ``` -| 键 | 描述 | -| --------------------------- | ------------------------------------------------- | -| `version` | 此StructureScan定义的版本。 目前的版本是2。 | -| `type` | ComplexItem(这是一个复杂的项目)。 | -| `complexItemType` | `StructureScan` | -| `Altitude` | ? | -| [`CameraCalc`](#CameraCalc) | ? | -| `Layers` | ? | -| `StructureHeight` | ? | -| `altitudeRelative` | true: altitude相对于主页,false: altitude是AMSL。 | -| `polygon` | ? | +| 键 | 描述 | +| --------------------------- | --------------------------------------------------- | +| `version` | 此StructureScan定义的版本。 目前的版本是2。 Current version is 2. | +| `type` | ComplexItem(这是一个复杂的项目)。 | +| `complexItemType` | `StructureScan` | +| `Altitude` | ? | +| [`CameraCalc`](#CameraCalc) | ? | +| `Layers` | ? | +| `StructureHeight` | ? | +| `altitudeRelative` | true: altitude相对于主页,false: altitude是AMSL。 | +| `polygon` | ? | #### `TransectStyleComplexItem ` {#TransectStyleComplexItem} @@ -293,67 +305,70 @@ TransectStyleComplexItem contains the common base definition for survey and Corr }, ``` -| 键 | 描述 | -| --------------------------- | ---------------------------------------------------- | -| `version` | 此TransectStyleComplexItem定义的版本。 当前版本为1。 | -| [`CameraCalc`](#CameraCalc) | ? | -| `CameraTriggerInTurnAround ` | ? (布尔值) | -| `FollowTerrain` | ? (布尔值) | -| `HoverAndCapture` | ? (布尔值) | -| `Items` | ? | -| `Refly90Degrees` | ? (布尔值) | -| `TurnAroundDistance` | 在转向下一个横断面之前飞过多边形边缘的距离。 | -| `VisualTransectPoints` | ? | +| 键 | 描述 | +| ---------------------------- | ------------------------------------------------------- | +| `version` | 此TransectStyleComplexItem定义的版本。 当前版本为1。 此文件的版本。 当前版本为1。 | +| [`CameraCalc`](#CameraCalc) | ? | +| `CameraTriggerInTurnAround ` | ? (布尔值) | +| `FollowTerrain` | ? (布尔值) | +| `HoverAndCapture` | ? (布尔值) | +| `Items` | ? | +| `Refly90Degrees` | ? (布尔值) | +| `TurnAroundDistance` | 在转向下一个横断面之前飞过多边形边缘的距离。 | +| `VisualTransectPoints` | ? | ##### CameraCalc {#CameraCalc} CameraCalc包含用于调查,走廊或结构扫描的摄像机信息。 - "CameraCalc": { - "AdjustedFootprintFrontal": 272.4, - "AdjustedFootprintSide": 409.2, - "CameraName": "Sony ILCE-QX1", - "DistanceToSurface": 940.6896551724138, - "DistanceToSurfaceRelative": true, - "FixedOrientation": false, - "FocalLength": 16, - "FrontalOverlap": 70, - "ImageDensity": 25, - "ImageHeight": 3632, - "ImageWidth": 5456, - "Landscape": true, - "MinTriggerInterval": 0, - "SensorHeight": 15.4, - "SensorWidth": 23.2, - "SideOverlap": 70, - "ValueSetIsDistance": false, - "version": 1 - }, - -| 键 | 描述 | -| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `version` | 此CameraCalc定义的版本。 当前版本为1。 | -| `AdjustedFootprintFrontal` | ? | -| `AdjustedFootprintSide` | ? | -| `DistanceToSurface` | ? 单位? | -| `DistanceToSurfaceRelative` | ? | -| `CameraName` | 正在使用的摄像机名称(必须对应于QGroundControl已知的摄像机之一或: Manual (no camera specs) (手动(无摄像机规格)用于手动设置, Custom Camera (自定义摄像机)用于自定义设置。 未在“手动”摄像机定义中指定此点后列出的键。 | -| `FixedOrientation` | ? (布尔值) | -| `FocalLength` | 相机镜头的焦距,以毫米为单位。 | -| `FrontalOverlap` | 正面图像重叠的百分比。 | -| `ImageDensity` | ? | -| `ImageHeight` | 图像高度以px为单位 | -| `ImageWidth` | 图像宽度以px为单位 | -| `景观` | true:相机以横向方向安装在载具上,false:相机以纵向方向安装在载具上。 | -| `MinTriggerInterval` | ? | -| `SensorHeight` | 传感器高度,以毫米为单位。 | -| `SensorWidth` | 传感器宽度,以毫米为单位。 | -| `SideOverlap` | 侧面图像重叠的百分比。 | -| `ValueSetIsDistance` | ? (布尔值) | +``` + "CameraCalc": { + "AdjustedFootprintFrontal": 272.4, + "AdjustedFootprintSide": 409.2, + "CameraName": "Sony ILCE-QX1", + "DistanceToSurface": 940.6896551724138, + "DistanceToSurfaceRelative": true, + "FixedOrientation": false, + "FocalLength": 16, + "FrontalOverlap": 70, + "ImageDensity": 25, + "ImageHeight": 3632, + "ImageWidth": 5456, + "Landscape": true, + "MinTriggerInterval": 0, + "SensorHeight": 15.4, + "SensorWidth": 23.2, + "SideOverlap": 70, + "ValueSetIsDistance": false, + "version": 1 + }, +``` + +| 键 | 描述 | +| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `version` | 此CameraCalc定义的版本。 当前版本为1。 此调查定义的版本号。 目前的版本是3。 | +| `AdjustedFootprintFrontal` | ? | +| `AdjustedFootprintSide` | ? | +| `DistanceToSurface` | ? 单位? | +| `DistanceToSurfaceRelative` | ? | +| `CameraName` | 正在使用的摄像机名称(必须对应于QGroundControl已知的摄像机之一或: Manual (no camera specs) (手动(无摄像机规格)用于手动设置, Custom Camera (自定义摄像机)用于自定义设置。 未在“手动”摄像机定义中指定此点后列出的键。 The keys listed after this point are not specified for a "Manual" camera definition. | +| `FixedOrientation` | ? (布尔值) | +| `FocalLength` | 相机镜头的焦距,以毫米为单位。 | +| `FrontalOverlap` | 正面图像重叠的百分比。 | +| `ImageDensity` | ? | +| `ImageHeight` | 图像高度以px为单位 | +| `ImageWidth` | 图像宽度以px为单位 | +| `景观` | true:相机以横向方向安装在载具上,false:相机以纵向方向安装在载具上。 | +| `MinTriggerInterval` | ? | +| `SensorHeight` | 传感器高度,以毫米为单位。 | +| `SensorWidth` | 传感器宽度,以毫米为单位。 | +| `SideOverlap` | 侧面图像重叠的百分比。 | +| `ValueSetIsDistance` | ? (布尔值) | ## GeoFence (地理围栏) {#geofence} -Geofence (地理围栏) 信息是可选的。 该计划可以包含根据多边形和圆圈定义的任意数量的地理围栏。 +Geofence information is optional. +The plan can contain an arbitrary number of geofences defined in terms of polygons and circles. 最小定义如下所示。 @@ -369,15 +384,16 @@ Geofence (地理围栏) 信息是可选的。 该计划可以包含根据多边 主要领域是: -| 键 | 描述 | -| ------------------------------ | -------------------------------------------- | -| `version` | 地理围栏计划格式的版本号。 记录的版本是2。 | -| [`circles`](#circle_geofence) | 包含圆形地理围栏定义的列表(以逗号分隔)。 | -| [`polygon`](#polygon_geofence) | 包含多边形地理围栏定义的列表(以逗号分隔)。 | +| 键 | 描述 | +| ------------------------------ | ----------------------------------------------------------------------------- | +| `version` | The version number for the geofence plan format. The documented version is 2. | +| [`circles`](#circle_geofence) | 包含圆形地理围栏定义的列表(以逗号分隔)。 | +| [`polygon`](#polygon_geofence) | 包含多边形地理围栏定义的列表(以逗号分隔)。 | -### Circle Geofence (圆形地理围栏) {#circle_geofence} +### Circle Geofence (圆形地理围栏) {#circle\_geofence} -每个圆形地理围栏都在一个单独的项目中定义,如下所示(可以定义多个以逗号分隔的项目)。 项目定义圆的中心和半径,以及是否激活特定地理围栏。 +Each circular geofence is defined in a separate item, as shown below (multiple comma-separated items can be defined). +The items define the centre and radius of the circle, and whether or not the specific geofence is activated. ```json { @@ -390,17 +406,18 @@ Geofence (地理围栏) 信息是可选的。 该计划可以包含根据多边 } ``` -这些领域是: +主要领域是: -| 键 | 描述 | -| ----------- | ------------------------------------------------------------- | -| `version` | 地理围栏“圈子”计划格式的版本号。 记录的版本是1。 | -| `circle` | 圆的定义。 包括 centre (中心)(纬度,经度)和半径,如上所示。 | -| `inclusion` | 地理围栏是否已启用(true)或已禁用。 | +| 键 | 描述 | +| ----------- | --------------------------------------------------------------------------------------------------------- | +| `version` | The version number for the geofence "circle" plan format. 拉力点计划格式的版本号。 记录的版本是2。 | +| `circle` | 圆的定义。 包括 centre (中心)(纬度,经度)和半径,如上所示。 Includes `centre` (latitude, longitude) and `radisu` as shown above. | +| `inclusion` | 地理围栏是否已启用(true)或已禁用。 | -### 多边形地理围栏 {#polygon_geofence} +### 多边形地理围栏 {#polygon\_geofence} -每个多边形地理围栏都在单独的项目中定义,如下所示(可以定义多个以逗号分隔的项目)。 地理围栏包括一组用顺时针绕组限定的点(即它们必须包围一个区域)。 +Each polygon geofence is defined in a separate item, as shown below (multiple comma-separated items can be defined). +The geofence includes a set of points defined with a clockwise winding (i.e. they must enclose an area). ```json { @@ -432,15 +449,16 @@ Geofence (地理围栏) 信息是可选的。 该计划可以包含根据多边 这些领域是: -| 键 | 描述 | -| ----------- | ---------------------------------------------------------------- | -| `version` | 地理围栏“多边形”计划格式的版本号。 记录的版本是2。 | -| `polygon` | 多边形的点列表。 每个点都包含纬度和经度。 这些点按顺时针方向排序 | -| `inclusion` | 地理围栏是否已启用(true)或已禁用。 | +| 键 | 描述 | +| ----------- | ------------------------------------------------------------------------------------------------------------------------------ | +| `version` | The version number for the geofence "polygon" plan format. The documented version is 2. | +| `polygon` | A list of points for the polygon. Each point contains a latitude and longitude. The points are ordered in a clockwise winding. | +| `inclusion` | 地理围栏是否已启用(true)或已禁用。 | -## 团结积分 {#rally_points} +## 团结积分 {#rally\_points} -团结积分信息是可选的。 该计划可以包含任意数量的拉力点,每个拉力点具有纬度,经度和高度(高于原始位置)。 +Rally point information is optional. +The plan can contain an arbitrary number of rally points, each of which has a latitude, longitude, and altitude (above home position). 有两点的定义如下所示。 @@ -462,9 +480,9 @@ Geofence (地理围栏) 信息是可选的。 该计划可以包含根据多边 } ``` -主要领域是: +这些领域是: -| 键 | 描述 | -| --------- | ---------------------------------------- | -| `version` | 拉力点计划格式的版本号。 记录的版本是2。 | -| `points` | 拉力点列表。 | +| 键 | 描述 | +| --------- | -------------------------------------------------------------------------------- | +| `version` | The version number for the rally point plan format. The documented version is 2. | +| `points` | 拉力点列表。 | diff --git a/docs/zh/qgc-dev-guide/firmware_plugin.md b/docs/zh/qgc-dev-guide/firmware_plugin.md index 8d44763dbf4..40581fcd7ab 100644 --- a/docs/zh/qgc-dev-guide/firmware_plugin.md +++ b/docs/zh/qgc-dev-guide/firmware_plugin.md @@ -1,8 +1,8 @@ # Plugin Architecture -虽然MAVLink规范定义了与载具通信的标准通信协议。 There are many aspects of that spec that are up for interpretation by the firmware developers. Because of this there are many cases where communication with a vehicle running one firmware is be slightly different than communication with a vehicle running a different firmware in order to accomplish the same task. Also each firmware may implement a different subset of the MAVLink command set. +虽然MAVLink规范定义了与载具通信的标准通信协议。 There are many aspects of that spec that are up for interpretation by the firmware developers. There are many aspects of that spec that are up for interpretation by the firmware developers. Because of this there are many cases where communication with a vehicle running one firmware is be slightly different than communication with a vehicle running a different firmware in order to accomplish the same task. Also each firmware may implement a different subset of the MAVLink command set. -另一个主要问题是MAVLink规范不包括载具配置或通用参数集。 Due to this all code which relates to vehicle setup ends up being firmware specific. 此外,任何必须引用特定参数的代码也是特定于固件的。 +另一个主要问题是MAVLink规范不包括载具配置或通用参数集。 Due to this all code which relates to vehicle setup ends up being firmware specific. Due to this all code which relates to vehicle setup ends up being firmware specific. 此外,任何必须引用特定参数的代码也是特定于固件的。 鉴于固件实现之间的所有这些差异,创建单个地面站应用程序可能非常棘手,可以支持每个应用程序而不会使代码库降级为基于车辆使用的固件在任何地方遍布的大量if / then / else语句。 diff --git a/docs/zh/qgc-dev-guide/getting_started/cent_os.md b/docs/zh/qgc-dev-guide/getting_started/cent_os.md new file mode 100644 index 00000000000..c709b04874b --- /dev/null +++ b/docs/zh/qgc-dev-guide/getting_started/cent_os.md @@ -0,0 +1,220 @@ +# Using QGC on CentOS 7 + +## OS Installation + +To install CentOS 7: + +1. Fetch the latest [CentOS 7 ISO from here](http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso) +2. Make a bootable USB stick out of the ISO e.g. by [following this guide](https://linuxize.com/post/how-to-create-a-bootable-centos-7-usb-stick/). +3. Boot the target device from the stick. + +The following examples show how to boot the target device from the stick. + +**Example:** _Panasonic Toughpad FZ-M1_ (attaching a keyboard and mouse to the device to follow this guide is recommended). + +1. Enter the BIOS menu by holding **Delete** on an attached USB keyboard or pressing all hardware buttons around the power button during boot. +2. Once inside the BIOS switch to the _Exit_ tab using the arrow keys or the touchscreen. +3. Select your previously created and plugged in USB stick under Boot device override. + +**Example** [UAV Components Micronav](https://www.uavcomp.com/command-control/micronav/) device: + +1. The setup of CentOS will not start with the default configuration. + To solve this + 1. Go to the BIOS menu as explained in the example above. + 2. Disable the "Extension Port" device under the "Advanced" tab. + 3. "Exit and save" the BIOS menu on the Exit page of the BIOS and try again. + 4. After CentOS is installed, you revert the changes again so that the Microhard network works. +2. Make sure to never do a warm reboot but always first shut down the device if you want to reboot into Linux. + Otherwise the Microhard network adapter will not work properly and slows down the whole system. + +### CentOS Software Selection Installation Options + +These were the options used to setup a CentOS development system. +Use it as a guideline. + +![CentOS Installation](../../../assets/dev_getting_started/centos/centos_installation.png) + +![CentOS Software Selection](../../../assets/dev_getting_started/centos/centos_sw_selection.png) + +### Update GStreamer + +Once CentOS is installed and booted we need to set up the environment for QGC. +First, we need to update GStreamer to a more recent version. +This guide follows Alice Wonder's tips found here: https\://media.librelamp.com + +``` +sudo yum install epel-release -y +wget http://awel.domblogger.net/7/media/x86_64/awel-media-release-7-6.noarch.rpm +sudo yum localinstall awel-media-release-7-6.noarch.rpm -y +sudo yum clean all +sudo yum update +sudo yum install gstreamer1* --skip-broken -y +``` + +**Note:** Make sure these are installed (vaapi for Intel GPUs) + +``` +sudo yum install gstreamer1-vaapi +sudo yum install gstreamer1-libav +``` + +**Note:** Install these to enable hardware accelerated video decoding + +``` +sudo yum install libva +sudo yum install libva-utils +sudo yum install libva-intel-driver +``` + +If libva-intel-driver is not found you can download it and install it manually + +``` +wget http://download1.rpmfusion.org/free/el/updates/7/x86_64/l/libva-intel-driver-1.8.3-4.el7.x86_64.rpm +sudo yum localinstall libva-intel-driver-1.8.3-4.el7.x86_64.rpm -y +``` + +### Installing SDL2 + +SDL2 is used for joystick support. + +``` +sudo yum install SDL2 SDL2-devel -y +``` + +### Update Kernel (optional) + +:::tip +If your Joystick gets recognized and shows up as `/dev/input/js0` when you run the command `/dev/input/*` you can skip this step. +::: + +We recommend updating the kernel for: + +- Better touch screen responsiveness. +- Correct recognition of some USB devices - in particular joysticks. + +The following joysticks are known not do work out of the box with the default CentOS 7 kernel (3.10.0): + +- Logitech F310 +- Microsoft Xbox 360 controller (USB) + +To fix the joystick not being recognized (even if the same unit is working under Windows or Ubuntu) please [follow this guide to update the kernel](https://www.howtoforge.com/tutorial/how-to-upgrade-kernel-in-centos-7-server/). + +Here's a short summary of the commands that you need to execute to update the kernel: + +``` +sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org +sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm +sudo yum --enablerepo=elrepo-kernel install kernel-ml -y +``` + +Reboot your device afterwards and make sure the new kernel version shows up as the default start option in the GRUB menu on boot. + +:::info +You might need to disable secure boot in the BIOS to allow the new kernel to be booted. +::: + +## Running QGC on CentOS + +Before launching QGC, you need to make sure the current user has access to the dialout group (serial port access permission): + +``` +sudo usermod -a -G dialout $USER +``` + +### Firewall + +The default firewall security level of Red Hat distributions like CentOS block MAVLink communication and also the camera video stream. +So you need to create rules to open the incoming ports for MAVLink and camera stream. +For non-production local environment testing purposes ONLY you can temporarily disable the firewall using the following commands ([from here](https://www.liquidweb.com/kb/how-to-stop-and-disable-firewalld-on-centos-7/)): + +Temporary: + +``` +systemctl stop firewalld +``` + +Permanent (at your own risk): + +``` +systemctl disable firewalld +``` + +Undo permanent change: + +``` +systemctl enable firewalld +``` + +### Connection problems with multiple networks + +In our test with CentOS we had problems when connecting to multiple networks through multiple network devices even with appropriate IP address and subnet assignment. + +Issues consisted of: + +- Losing Internet access when connecting to a second network +- Having flaky connection to the vehicle with a lot of hiccups and packet losses (e.g. 30 seconds perfect connection 4 seconds of packet loss in a regular pattern) + +If you face any of these problems avoid them by only connecting one network at a time e.g. switching between WiFi and Microhard. + +### Executing a Prebuilt QGC Binary + +- Get hold of an archive containing a prebuilt binary of QGC for CentOS. + At the moment there is no automatic deployment for this build if you urgently need one get in touch with the developers. +- [Unpack the archive](https://www.hostdime.com/kb/hd/command-line/how-to-tar-untar-and-zip-files). +- Go inside the unpacked files and locate the script named `qgroundcontrol-run.sh` +- Run it by executing the command + ``` + ./qgroundcontrol-run.sh + ``` + +## Building QGC on CentOS + +### Installing Qt + +``` +mkdir ~/devel +cd ~/devel +``` + +Install Qt 5.12.4 from the Qt installation script that can be downloaded [here](https://www.qt.io/download-thank-you?os=linux\&hsLang=en). +Once downloaded, make it executable and run it: + +``` +chmod +x qt-unified-linux-x64-3.1.1-online.run +./qt-unified-linux-x64-3.1.1-online.run +``` + +Select the following options and install it under `~/devel/Qt`: + +![Qt Software Selection](../../../assets/dev_getting_started/centos/qt_setup.png) + +### Clone and Build QGC + +``` +git clone --recursive https://github.com/mavlink/qgroundcontrol.git +mkdir build +cd build +``` + +For a debug/test build: + +``` +../Qt/5.12.4/gcc_64/bin/qmake ../qgroundcontrol/qgroundcontrol.pro -spec linux-g++ CONFIG+=debug +``` + +For a release build: + +``` +../Qt/5.12.4/gcc_64/bin/qmake ../qgroundcontrol/qgroundcontrol.pro -spec linux-g++ CONFIG+=qtquickcompiler +``` + +Build it: + +``` +make -j4 +``` + +You can alternatively launch _QtCreator_ (found under `~/devel/Qt/Tools/QtCreator/bin/qtcreator`), load the `qgroundcontro.pro` project and build/debug from within its IDE. + +By default, this will build the regular QGC. +To build the sample, customized UI version, follow [these instructions](https://github.com/mavlink/qgroundcontrol/blob/master/custom-example/README.md). diff --git a/docs/zh/qgc-dev-guide/getting_started/container.md b/docs/zh/qgc-dev-guide/getting_started/container.md index 4efe4655b83..3bdda672439 100644 --- a/docs/zh/qgc-dev-guide/getting_started/container.md +++ b/docs/zh/qgc-dev-guide/getting_started/container.md @@ -1,21 +1,27 @@ # Building using Containers -The community created a docker image that makes it much easier to build a Linux-based QGC application. This can give you a massive boost in productivity and help with testing. +The community created a docker image that makes it much easier to build a Linux-based QGC application. +This can give you a massive boost in productivity and help with testing. ## About the Container -The Container is located in the `./deploy/docker` directory. It's based on ubuntu 20.04. It pre-installs all the dependencies at build time, including Qt, thanks to a script located in the same directory, `install-qt-linux.sh`. The main advantage of using the container is the usage of the `CMake` build system and its many improvements over `qmake` +The Container is located in the `./deploy/docker` directory. +It's based on ubuntu 20.04. +It pre-installs all the dependencies at build time, including Qt, thanks to a script located in the same directory, `install-qt-linux.sh`. +The main advantage of using the container is the usage of the `CMake` build system and its many improvements over `qmake` ## Building the Container -Before using the container, you have to build the image. You can accomplish this using docker, running the following script from the root of the QGC source code directory. +Before using the container, you have to build the image. +You can accomplish this using docker, running the following script from the root of the QGC source code directory. ``` docker build --file ./deploy/docker/Dockerfile-build-linux -t qgc-linux-docker . ``` -::: info -The `-t` flag is essential. Keep in mind this is tagging the image for later reference since you can have multiple builds of the same container +:::info +The `-t` flag is essential. +Keep in mind this is tagging the image for later reference since you can have multiple builds of the same container ::: ::: info @@ -35,7 +41,8 @@ qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or direc ## Building QGC using the Container -To use the container to build QGC, you first need to define a directory to save the artifacts. We recommend you create a `build` directory on the source tree and then run the docker image using the tag provided above as follows, from the root directory: +To use the container to build QGC, you first need to define a directory to save the artifacts. +We recommend you create a `build` directory on the source tree and then run the docker image using the tag provided above as follows, from the root directory: ``` mkdir build @@ -43,7 +50,8 @@ docker run --rm -v ${PWD}:/project/source -v ${PWD}/build:/project/build qgc-lin ``` ::: info -If using the script to build the Linux image on a Windows host, you would need to reference the PWD differently. On Windows the docker command is: +If using the script to build the Linux image on a Windows host, you would need to reference the PWD differently. +On Windows the docker command is: ``` docker run --rm -v %cd%:/project/source -v %cd%/build:/project/build qgc-linux-docker diff --git a/docs/zh/qgc-dev-guide/getting_started/index.md b/docs/zh/qgc-dev-guide/getting_started/index.md index 716e64519f8..18232da0b38 100644 --- a/docs/zh/qgc-dev-guide/getting_started/index.md +++ b/docs/zh/qgc-dev-guide/getting_started/index.md @@ -2,24 +2,35 @@ qt_version: 5.15.2 --- -# 入门指南 +# Getting Started 本主题说明如何获取QGroundControl源代码并在本机或在Vagrant(虚拟机)环境中构建它。 本主题还提供其他可选功能信息及特定于操作系统的功能信息。 +It also provides information about optional or OS specific functionality. ## 每日构建 -如果您只是想测试 (而不是调试) 最近生成的 _QGroundControl_ ,那么请使用[Daily build](https://docs.qgroundcontrol.com/en/releases/daily_builds.html)。 官方提供了适用于所有平台的版本。 +如果您只是想测试 (而不是调试) 最近生成的 _QGroundControl_ ,那么请使用[Daily build](https://docs.qgroundcontrol.com/en/releases/daily_builds.html)。 官方提供了适用于所有平台的版本。 Versions are provided for all platforms. ## 源代码 -_QGroundControl_ 的源代码保存在 github 上,下载地址为: https://github.com/mavlink/qgroundcontrol。 QGroundControl源代码在Apache 2.0和GPLv3下是双许可的。 有关更多信息,请参阅:许可证。 +_QGroundControl_ 的源代码保存在 github 上,下载地址为: https\://github.com/mavlink/qgroundcontrol。 QGroundControl源代码在Apache 2.0和GPLv3下是双许可的。 有关更多信息,请参阅:许可证。 +It is [dual-licensed under Apache 2.0 and GPLv3](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md). 要获取源文件, 请执行以下操作: -1. 克隆存储库 (或您的分叉), 包括子模块: `git clone --recursive -j8 https://github.com/mavlink/qgroundcontrol.git` -2. 2.更新子模块(每次拉新源代码时都这样做): `git submodule update --recursive` +1. Clone the repo (or your fork) including submodules: + ``` + 克隆存储库 (或您的分叉), 包括子模块: `git clone --recursive -j8 https://github.com/mavlink/qgroundcontrol.git` + ``` +2. Update submodules (required each time you pull new source code): + ``` + 2.更新子模块(每次拉新源代码时都这样做): `git submodule update --recursive` + ``` -> 提示:不能使用Github以zip形式下载源文件,因为zip压缩包中不包含相应的子模块源代码。 你必须使用git工具! +:::tip +提示:不能使用Github以zip形式下载源文件,因为zip压缩包中不包含相应的子模块源代码。 你必须使用git工具! +You must use git! +::: ## 构建QGroundControl开发环境 @@ -31,7 +42,8 @@ We support Linux builds using a container found on the source tree of the reposi ### Native Builds -_QGroundControl_ builds are supported for macOS, Linux, Windows, iOS and Android. _QGroundControl_ uses [Qt](http://www.qt.io) as its cross-platform support library and uses [QtCreator](http://doc.qt.io/qtcreator/index.html) as its default build environment. +_QGroundControl_ builds are supported for macOS, Linux, Windows, iOS and Android. +_QGroundControl_ uses [Qt](http://www.qt.io) as its cross-platform support library and uses [QtCreator](http://doc.qt.io/qtcreator/index.html) as its default build environment. - macOS:v10.11或更高版本 - Ubuntu:64位,gcc编译器 @@ -40,15 +52,16 @@ _QGroundControl_ builds are supported for macOS, Linux, Windows, iOS and Android - **Android:** Android 5.0 and later. - Standard QGC is built against ndk version 19. - Java JDK 11 is required. -- **Qt version:** {{ $frontmatter.qt_version }} **(only)** +- **Qt version:** {{ $frontmatter.qt\_version }} **(only)** :::warning - **Do not use any other version of Qt!** QGC has been thoroughly tested with the specified version of Qt ({{ $frontmatter.qt_version }}). There is a significant risk that other Qt versions will inject bugs that affect stability and safety (even if QGC compiles). + **Do not use any other version of Qt!** QGC has been thoroughly tested with the specified version of Qt ({{ $frontmatter.qt\_version }}). + There is a significant risk that other Qt versions will inject bugs that affect stability and safety (even if QGC compiles). ::: For more information see: [Qt 5 supported platform list](http://doc.qt.io/qt-5/supported-platforms.html). -::: info +:::info Native [CentOS Builds](../getting_started/cent_os.md) are also supported, but are documented separately (as the tested environment is different). ::: @@ -60,7 +73,7 @@ When installing, select _Desktop development with C++_ as shown: ![Visual Studio 2019 - Select Desktop Environment with C++](../../../assets/dev_getting_started/visual_studio_select_features.png) -::: info +:::info Visual Studio is ONLY used to get the compiler. Actually building _QGroundControl_ should be done using [Qt Creator](#qt-creator) or [qmake](#qmake) as outlined below. ::: @@ -71,12 +84,11 @@ You **need to install Qt as described below** instead of using pre-built package To install Qt: 1. 下载并运行[Qt Online Installer](http://www.qt.io/download-open-source) + - **Ubuntu:** + - 使用以下命令将下载的文件设置为可执行文件:`chmod + x` + - 请安装到默认位置, 以便与 **./qgroundcontrol-start.sh** 一起使用。如果将 Qt 安装到非默认位置, 则需要修改 **qgroundcontrol-start.sh** ,才能运行下载的组件。 -- **Ubuntu:** - - 使用以下命令将下载的文件设置为可执行文件:`chmod + x` - - 请安装到默认位置, 以便与 **./qgroundcontrol-start.sh** 一起使用。如果将 Qt 安装到非默认位置, 则需要修改 **qgroundcontrol-start.sh** ,才能运行下载的组件。 - -1. In the installer _Select Components_ dialog choose: {{ $frontmatter.qt_version }}. +2. In the installer _Select Components_ dialog choose: {{ $frontmatter.qt\_version }}. ::: info If the version needed is not displayed, check the archive (show archive and refresh). @@ -84,60 +96,68 @@ To install Qt: 然后,按如下向导,安装组件: -- **Windows**: _MSVC 2019 64 bit_ -- **MacOS**: _macOS_ -- **Linux**: _Desktop gcc 64-bit_ -- All: + - **Windows**: _MSVC 2019 64 bit_ + - **MacOS**: _macOS_ + - **Linux**: _Desktop gcc 64-bit_ + - All: + - _Qt Charts_ + - _Android ARMv7_ (optional, used to build Android) - - _Qt Charts_ - - _Android ARMv7_ (optional, used to build Android) + ![QtCreator Select Components (Windows)](../../../assets/dev_getting_started/qt_creator_select_components.jpg) - ![QtCreator Select Components (Windows)](../../../assets/dev_getting_started/qt_creator_select_components.jpg) +3. Install Additional Packages (Platform Specific) -- Install Additional Packages (Platform Specific) + - **Ubuntu:** `sudo apt-get install speech-dispatcher libudev-dev libsdl2-dev patchelf build-essential curl` + - **Fedora:** `sudo dnf install speech-dispatcher SDL2-devel SDL2 systemd-devel patchelf` + - **Arch Linux:** `pacman -Sy speech-dispatcher patchelf` + - **Android:** [Qt Android Setup](http://doc.qt.io/qt-5/androidgs.html) - - **Ubuntu:** `sudo apt-get install speech-dispatcher libudev-dev libsdl2-dev patchelf build-essential curl` - - **Fedora:** `sudo dnf install speech-dispatcher SDL2-devel SDL2 systemd-devel patchelf` - - **Arch Linux:** `pacman -Sy speech-dispatcher patchelf` - - **Android:** [Qt Android Setup](http://doc.qt.io/qt-5/androidgs.html) - - ::: info - JDK11 is required (install if needed)! - ::: + ::: info + JDK11 is required (install if needed)! + ::: -- Install Optional/OS-Specific Functionality +4. Install Optional/OS-Specific Functionality -::: info -Optional features that are dependent on the operating system and user-installed libraries are linked/described below. These features can be forcibly enabled/disabled by specifying additional values to qmake. -::: + Optional features that are dependent on the operating system and user-installed libraries are linked/described below. + These features can be forcibly enabled/disabled by specifying additional values to qmake. + ::: - - **Video Streaming/Gstreamer:** - see [Video Streaming](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoReceiver/README.md). - - **Airmap SDK:** - TBD. + - - **Video Streaming/Gstreamer:** - see [Video Streaming](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoReceiver/README.md). + - **Airmap SDK:** - TBD. + - **Airmap SDK:** - TBD. -- Disable platform-specific optional features that are enabled (but not installed), by default. +5. Disable platform-specific optional features that are enabled (but not installed), by default. - ::: info - This currently applies to Airmap on Linux, which is optional but enabled by default. - ::: + ::: info + This currently applies to Airmap on Linux, which is optional but enabled by default. + ::: - - **Ubuntu:** - - Airmap: Create a file named **user_config.pri** (in the repo root directory) containing the text `DEFINES += DISABLE_AIRMAP`. This can be done in a bash terminal using the command: `echo -e "DEFINES += DISABLE_AIRMAP\r\n" | tee user_config.pri` + - **Ubuntu:** + - Airmap: Create a file named **user\_config.pri** (in the repo root directory) containing the text `DEFINES += DISABLE_AIRMAP`. + This can be done in a bash terminal using the command: + ``` + This can be done in a bash terminal using the command: `echo -e "DEFINES += DISABLE_AIRMAP\r\n" | tee user_config.pri` + ``` #### Building using Qt Creator {#qt-creator} 1. Launch _Qt Creator_ and open the **qgroundcontrol.pro** project. + 2. In the **Projects** section, select the appropriate kit for your needs: - - **OSX:** Desktop Qt {{ $frontmatter.qt_version }} clang 64 bit + - **OSX:** Desktop Qt {{ $frontmatter.qt\_version }} clang 64 bit ::: info iOS builds must be built using [XCode](http://doc.qt.io/qt-5/ios-support.html). ::: - - **Ubuntu:** Desktop Qt {{ $frontmatter.qt_version }} GCC 64bit - - **Windows:** Desktop Qt {{ $frontmatter.qt_version }} MSVC2019 **64bit** - - **Android:** Android for armeabi-v7a (GCC 4.9, Qt {{ $frontmatter.qt_version }}) - - JDK11 is required. You can confirm it is being used by reviewing the project setting: **Projects > Manage Kits > Devices > Android (tab) > Android Settings > _JDK location_**. + - **Ubuntu:** Desktop Qt {{ $frontmatter.qt\_version }} GCC 64bit + + - **Windows:** Desktop Qt {{ $frontmatter.qt\_version }} MSVC2019 **64bit** + + - **Android:** Android for armeabi-v7a (GCC 4.9, Qt {{ $frontmatter.qt\_version }}) + - JDK11 is required. + You can confirm it is being used by reviewing the project setting: **Projects > Manage Kits > Devices > Android (tab) > Android Settings > _JDK location_**. 3. Build using the "hammer" (or "play") icons: @@ -148,18 +168,31 @@ Optional features that are dependent on the operating system and user-installed Example commands to build a default QGC and run it afterwards: 1. Make sure you cloned the repository and updated the submodules before, see chapter _Source Code_ above and switch into the repository folder: `cd qgroundcontrol` -2. Create and enter a shadow build directory: + ``` + cd qgroundcontrol + ``` - ```sh +2. Create and enter a shadow build directory: + ``` mkdir build cd build ``` 3. Configure the build using the qmake script in the root of the repository: `qmake ../` -4. Run make to compile and link. To accelerate the process things you can use the `-j{number of threads}` parameter. `make -j12` + ``` + 入门指南 + ``` + +4. Run make to compile and link. + To accelerate the process things you can use the `-j{number of threads}` parameter. + + ``` + `make -j12` + ``` ::: info - You can also specify build time flags here. For example, you could disable airmap inclusion using the command: + You can also specify build time flags here. + For example, you could disable airmap inclusion using the command: ``` DEFINES+=DISABLE_AIRMAP make build @@ -168,6 +201,9 @@ Example commands to build a default QGC and run it afterwards: ::: 5. Run the QGroundcontrol binary that was just built: `./staging/QGroundControl` + ``` + ./staging/QGroundControl + ``` ### Vagrant @@ -188,7 +224,7 @@ Example commands to build a default QGC and run it afterwards: You can additionally create installation file(s) for _QGroundControl_ as part of the normal build process. -::: info +:::tip On Windows you will need to first install [NSIS](https://sourceforge.net/projects/nsis/). ::: diff --git a/docs/zh/qgc-dev-guide/index.md b/docs/zh/qgc-dev-guide/index.md index 9125adc47d2..7b0cbeb449f 100644 --- a/docs/zh/qgc-dev-guide/index.md +++ b/docs/zh/qgc-dev-guide/index.md @@ -3,6 +3,7 @@ [![版本发布](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases) [![Discuss](https://img.shields.io/badge/discuss-dev-ff69b4.svg)](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-developers) 如果要构建,修改或扩展QGroundControl(QGC),此开发人员指南是获取信息的最佳来源。 它展示了如何获取和构建源代码,解释了QGC的工作原理,并提供了为项目贡献代码的指南。 +It shows how to obtain and build the source code, explains how QGC works, and provides guidelines for contributing code to the project. :::tip This part of the guide is for **developers**! @@ -17,9 +18,9 @@ If you find that it is missing helpful information (or errors) please raise an i QGC 的设计是为了提供一个能够跨越多个操作系统平台以及多种设备的单个代码库。 -QGC 用户界面使用[Qt QML](http://doc.qt.io/qt-5/qtqml-index.html)实现。 QML提供硬件加速,这是平板电脑或手机等低功率设备的关键功能。 QML还提供了一些功能,使我们能够更轻松地创建单个用户界面,以适应不同的屏幕尺寸和分辨率。 +QGC 用户界面使用[Qt QML](http://doc.qt.io/qt-5/qtqml-index.html)实现。 QML提供硬件加速,这是平板电脑或手机等低功率设备的关键功能。 QML还提供了一些功能,使我们能够更轻松地创建单个用户界面,以适应不同的屏幕尺寸和分辨率。 QML provides for hardware acceleration which is a key feature on lower powered devices such as tablets or phones. QML also provides features which allows us to more easily create a single user interface which can adapt itself to differing screen sizes and resolution. -与基于桌面鼠标的UI相比,QGC UI更倾向于平板电脑+触摸式UI。 这使得单个UI更容易创建,因为平板电脑样式UI也可以在台式机/笔记本电脑上正常工作。 +与基于桌面鼠标的UI相比,QGC UI更倾向于平板电脑+触摸式UI。 这使得单个UI更容易创建,因为平板电脑样式UI也可以在台式机/笔记本电脑上正常工作。 This make a single UI easier to create since tablet style UI also tends to work fine on desktop/laptops. ## 支持 {#support} @@ -29,8 +30,9 @@ Development questions can be raised in the [QGroundControl Developer](http://dis 有关贡献的信息,包括编码样式,测试和许可证,可以在代码提交中找到。 -::: tip -We expect all contributors to adhere to the [QGroundControl code of conduct](https://github.com/mavlink/qgroundcontrol/blob/master/CODE_OF_CONDUCT.md). This code aims to foster an open and welcoming environment. +:::tip +We expect all contributors to adhere to the [QGroundControl code of conduct](https://github.com/mavlink/qgroundcontrol/blob/master/CODE_OF_CONDUCT.md). +This code aims to foster an open and welcoming environment. ::: ### Coordination Call @@ -54,13 +56,13 @@ The PX4 Developer Guide contains additional information about the (common) docs/ ## 许可证 -_QGroundControl_ source code is [dual-licensed under Apache 2.0 and GPLv3](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md). For more information see: [Licenses](contribute/licences.md). +_QGroundControl_ source code is [dual-licensed under Apache 2.0 and GPLv3](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md). +For more information see: [Licenses](contribute/licences.md). ## 管理 The QGroundControl mission planner is hosted under the governance of the [Dronecode Project](https://www.dronecode.org/). -Dronecode Logo -Linux Foundation Logo +Dronecode Logo Linux Foundation Logo -
 
+
 
diff --git a/docs/zh/qgc-dev-guide/plan/mission_command_tree.md b/docs/zh/qgc-dev-guide/plan/mission_command_tree.md new file mode 100644 index 00000000000..55441b4e3fc --- /dev/null +++ b/docs/zh/qgc-dev-guide/plan/mission_command_tree.md @@ -0,0 +1,196 @@ +# Mission Command Tree + +QGC creates the user interface for editing a specific mission item command dynamically from a hierarchy of json metadata. This hierarchy is called the Mission Command Tree. This way only json metadata must be created when new commands are added. + +## Why a tree? + +The tree is needed to deal with the idosyncracies of differening firmware supporting commands differently and/or different vehicle types supporting the commands in different ways. The simplest example of that is mavlink spec may include command parameters which are not supported by all firmwares. Or command parameters which are only valid for certain vehicle types. Also in some cases a GCS may decide to hide some of the command parameters from view to end users since they are too complex or cause usability problems. + +The tree is the MissionCommandTree class: [MissionCommandTree.cc](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.cc), [MissionCommandTree.h](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.h) + +### Tree Root + +The root of the tree is json metadata which matches the mavlink spec exactly. + +Here you can see an example of the root [json](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoCommon.json#L27) for `MAV_CMD_NAV_WAYPOINT`: + +``` + { + "id": 16, + "rawName": "MAV_CMD_NAV_WAYPOINT", + "friendlyName": "Waypoint", + "description": "Travel to a position in 3D space.", + "specifiesCoordinate": true, + "friendlyEdit": true, + "category": "Basic", + "param1": { + "label": "Hold", + "units": "secs", + "default": 0, + "decimalPlaces": 0 + }, + "param2": { + "label": "Acceptance", + "units": "m", + "default": 3, + "decimalPlaces": 2 + }, + "param3": { + "label": "PassThru", + "units": "m", + "default": 0, + "decimalPlaces": 2 + }, + "param4": { + "label": "Yaw", + "units": "deg", + "nanUnchanged": true, + "default": null, + "decimalPlaces": 2 + } + }, +``` + +Note: In reality this based information should be provided by mavlink itself and not needed to be part of a GCS. + +### Leaf Nodes + +The leaf nodes then provides metadata which can override values for the command and/or remove parameters from display to the user. The full tree hierarchy is this: + +- Root - Generic Mavlink + - Vehicle Type Specific - Vehicle specific overrides to the generic spec + - Firmware Type Specific - One optional leaf node for each firmware type (PX4/ArduPilot) + - Vehicle Type Specific - One optional leaf node for each vehicel type (FW/MR/VTOL/Rover/Sub) + +Note: In reality this override capability should be part of mavlink spec and should be able to be queried from the vehicle. + +### Building the instance tree from the full tree + +Since the json metadata provides information for all firmware/vehicle type combinations the actual tree to use must be built based on the firmware and vehicle type which is being used to create a Plan. This is done through a process call "collapsing" the full tree to a firmware/vehicle specific tree ([code](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandTree.cc#L119)). + +The steps are as follows: + +- Add the root to the instance tree +- Apply the vehicle type specific overrides to the instance tree +- Apply the firmware type specific overrides to the instance tree +- Apply the firmware/vehicle type specific overrides to the instance tree + +The resulting Mission Command Tree is then used to build UI for the Plan View item editors. In reality it is used for more than just that, there are many other places where knowing more information about a specific command id is useful. + +## Example hierarchy for `MAV_CMD_NAV_WAYPOINT` + +Let's walk through an example hierarchy for `MAV_CMD_NAV_WAYPOINT`. Root information is shown above. + +### Root - Vehicle Type Specific leaf node + +The next level of the hiearchy is generic mavlink but vehicle specific. Json files are here: [MR](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoMultiRotor.json), [FW](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoFixedWing.json), [ROVER](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoRover.json), [Sub](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoSub.json), [VTOL](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoVTOL.json). And here are the overrides for (Fixed Wings)(https\://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MavCmdInfoFixedWing.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "4" + }, +``` + +What this does is remove the editing UI for param4 which is Yaw and not used by fixed wings. Since this is a leaf node of the root, this applies to all fixed wing vehicle no matter the firmware type. + +### Root - Firmware Type Specific leaf node + +The next level of the hiearchy are overrides which are specific to a firmware type but apply to all vehicle types. Once again lets loook at the waypoint overrides: + +[ArduPilot](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/APM/MavCmdInfoCommon.json#L6): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2" + }, +``` + +[PX4](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/PX4/MavCmdInfoCommon.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2,3" + }, +``` + +You can see that for both firmwares param2 which is acceptance radius is removed from the editing ui. This is a QGC specific decision. It is generally safer and easier to use the firmwares generic acceptance radius handling than the specify a value. So we've decided to hide it from users. + +You can also see that for PX4 param3/PassThru is removed since it is not supported by PX. + +### Root - Firmware Type Specific - Vehicle Type Specific leaf node + +The last level of the hiearchy is both firmware and vehicle type specific. + +[ArduPilot/MR](https://github.com/mavlink/qgroundcontrol/blob/master/src/FirmwarePlugin/APM/MavCmdInfoMultiRotor.json#L7): + +``` + { + "id": 16, + "comment": "MAV_CMD_NAV_WAYPOINT", + "paramRemove": "2,3,4" + }, +``` + +Here you can see that for an ArduPilot Multi-Rotor vehicle param2/3/4 Acceptance/PassThru/Yaw are removed. Yaw for example is removed because it is not supported. Due to quirk of how this code works, you need to repeat the overrides from the lower level. + +## Mission Command UI Info + +Two classes define the metadata associated with a command: + +- MissionCommandUIInfo - Metadata for the entire command +- MissionCmdParamInfo - Metadata for a param in a command + +The source is commented with full details of the json keys which are supported. + +[MissionCommandUIInfo](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandUIInfo.h#L82): + +``` +/// UI Information associated with a mission command (MAV_CMD) +/// +/// MissionCommandUIInfo is used to automatically generate editing ui for a MAV_CMD. This object also supports the concept of only having a set of partial +/// information for the command. This is used to create overrides of the base command information. For on override just specify the keys you want to modify +/// from the base command ui info. To override param ui info you must specify the entire MissionParamInfo object. +/// +/// The json format for a MissionCommandUIInfo object is: +/// +/// Key Type Default Description +/// id int reauired MAV_CMD id +/// comment string Used to add a comment +/// rawName string required MAV_CMD enum name, should only be set of base tree information +/// friendlyName string rawName Short description of command +/// description string Long description of command +/// specifiesCoordinate bool false true: Command specifies a lat/lon/alt coordinate +/// specifiesAltitudeOnly bool false true: Command specifies an altitude only (no coordinate) +/// standaloneCoordinate bool false true: Vehicle does not fly through coordinate associated with command (exampl: ROI) +/// isLandCommand bool false true: Command specifies a land command (LAND, VTOL_LAND, ...) +/// friendlyEdit bool false true: Command supports friendly editing dialog, false: Command supports 'Show all values" style editing only +/// category string Advanced Category which this command belongs to +/// paramRemove string Used by an override to remove params, example: "1,3" will remove params 1 and 3 on the override +/// param[1-7] object MissionCommandParamInfo object +/// +``` + +[MissionCmdParamInfo](https://github.com/mavlink/qgroundcontrol/blob/master/src/MissionManager/MissionCommandUIInfo.h#L25): + +``` +/// UI Information associated with a mission command (MAV_CMD) parameter +/// +/// MissionCommandParamInfo is used to automatically generate editing ui for a parameter associated with a MAV_CMD. +/// +/// The json format for a MissionCmdParamInfo object is: +/// +/// Key Type Default Description +/// label string required Label for text field +/// units string Units for value, should use FactMetaData units strings in order to get automatic translation +/// default double 0.0/NaN Default value for param. If no default value specified and nanUnchanged == true, then defaultValue is NaN. +/// decimalPlaces int 7 Number of decimal places to show for value +/// enumStrings string Strings to show in combo box for selection +/// enumValues string Values associated with each enum string +/// nanUnchanged bool false True: value can be set to NaN to signal unchanged +``` diff --git a/docs/zh/qgc-dev-guide/release_branching_process.md b/docs/zh/qgc-dev-guide/release_branching_process.md new file mode 100644 index 00000000000..8cff755d051 --- /dev/null +++ b/docs/zh/qgc-dev-guide/release_branching_process.md @@ -0,0 +1,81 @@ +# QGroundControl Release/Branching process + +## Semantic Versioning + +QGC uses semantic versioning for the version numbers associated with its releases. +Semantic versioning is a 3-component number in the format of `vX.Y.Z`, where: + +- `X` is the major version. +- `Y` is the minor version. +- `Z` is the patch version. + +## Stable Builds + +The current stable build is the highest quality build available for QGC. +[Patch releases](#patch_releases) of the stable build are regularly made to fix important issues. + +Stable builds are built from a separate branch that is named with the format: `Stable_VX.Y` (note, there is no patch number!) +The branch has one or more git tags for each patch release (with the format `vX.Y.Z`), indicating the point in the repo source code that the associated patch release was created from. + +### Patch Releases {#patch\_releases} + +A patch release contains fixes to the stable release that are important enough to _require_ an update, and are safe enough that the stable release continues to maintain high quality. + +Patch releases increment the patch version number only. + +### Patch - Development Stage + +Approved fixes to the stable release are commited to the current stable branch. +These fixes continue to queue up in the stable branch until a patch release is made (see next step). + +Commits/changes to the stable branch must also be brought over to the master branch (either through cherry pick or separate pulls). + +### Patch - Release Stage + +At the point where the decision is made to do a patch release, the release binaries are created and a new _tag_ is added to the stable branch (with the same patch release number) indicating the associated source code. + +:::info +New branches are not created for patch releases - only for major and minor releases. +::: + +## Daily Builds + +### Development Stage + +Daily builds are built from the `master` branch, and this is where all new major feature development happens. +The state of master represents either the next minor point release, or a new major version release (depending on the level of change). + +There are no git tags associated with a released daily builds. +The released daily build will always match repo HEAD. + +### Release Stage + +When the decision is made to release a new major/minor version the master branch tends to go through an intial lockdown mode. +This is where only important fixes for the release are accepted as pull requests. + +:::info +During the lockdown phase, new features are not allowed in master. +::: + +Once the level of fixes associated with the release slows down to a low level, a new stable branch is created (at this point the `master` branch can move forward again as the latest and greatest). + +Fixes continue in the stable branch until it is deemed ready to release (ideally after a short time)! +At that point the new stable branch is tagged with the new version tag and the first stable release is made. + +## Custom Builds + +A proposed strategy for branching on custom builds can be found [here](custom_build/release_branching_process.md). + +## Process to create a new Stable + +### Major/Minor Version + +1. Create a branch from master named `Stable_VX.Y` where `X` is the major version number and `Y` is the minor version number. +2. Create a tag on the HEAD of master name `dX.Y` where the minor version is one greater than the new Stable. For example if you are create a new Stable 4.2 version then the tag would be 'd4.3'. This tag is used to create the version numbers for Android daily builds. Example: `git tag -a d4.3.0 -m "QGroundControl Daily Android Version Base"`. +3. Create an annotated tag on the newly created Stable branch named `vX.Y.0` with the correct major/minor version number. Example: `git tag -a v4.2.0 -m "QGroundControl v4.2.0"`. Pushing this tag to the repo will start a build. +4. Once the build completes verify the builds are pushed up to S3 correctly and sanity check that they at least boot correctly. Location on S3 will be `https://qgroundcontrol.s3.us-west-2.amazonaws.com/latest/...`. +5. Update the `https://qgroundcontrol.s3.us-west-2.amazonaws.com/builds/latest/QGC.version.txt` text file to the latest Stable version. This will notify uses there is a new Stable available the next time they launch QGC. + +### Patch Version + +Creating a new Patch Version is the same except you skip steps 1 and 2 and in step 3 you bump the patch version number up as needed. diff --git a/docs/zh/qgc-dev-guide/tools/index.md b/docs/zh/qgc-dev-guide/tools/index.md index d3e2611686b..a2c47115403 100644 --- a/docs/zh/qgc-dev-guide/tools/index.md +++ b/docs/zh/qgc-dev-guide/tools/index.md @@ -1,8 +1,12 @@ # 开发者工具 QGroundControl主要为自动驾驶开发人员提供了许多工具。 这些简化了常见的开发人员任务,包括设置模拟连接以进行测试,以及通过MAVLink访问系统Shell。 +These ease common developer tasks including setting up simulated connections for testing, +and accessing the System Shell over MAVLink. -> 注意:在调试模式下构建源以启用这些工具。 +:::info +[Build the source in debug mode](https://github.com/mavlink/qgroundcontrol#supported-builds) to enable these tools. +::: 工具包括: @@ -11,6 +15,6 @@ QGroundControl主要为自动驾驶开发人员提供了许多工具。 这些 - MAVLink Inspector - 显示收到的MAVLink消息/值。 - MAVLink分析器 - 绘制MAVLink消息/值的趋势图。 - 自定义命令小组件 - 在运行时加载自定义/测试QML UI。 -- 板载文件 - 导航车辆文件系统和上载/下载文件。 +- **[Onboard Files](https://docs.qgroundcontrol.com/en/app_menu/onboard_files.html)** - Navigate vehicle file system and upload/download files. - HIL Config Widget - HIL模拟器的设置. - MAVLink控制台(仅限PX4) - 连接到PX4 nsh shell并发送命令。 diff --git a/docs/zh/qgc-dev-guide/tools/mock_link.md b/docs/zh/qgc-dev-guide/tools/mock_link.md index 939ebf852d4..a0eec14d524 100644 --- a/docs/zh/qgc-dev-guide/tools/mock_link.md +++ b/docs/zh/qgc-dev-guide/tools/mock_link.md @@ -15,17 +15,20 @@ Mock Link允许您在QGroundControl调试版本中创建和停止指向多个模 为了使用Mock Link: -1. 1.通过构建源来创建调试版本。 +1. Create a debug build by [building the source](https://github.com/mavlink/qgroundcontrol#supported-builds). + 2. 通过选择顶部工具栏中的“应用程序设置”图标,然后选择侧栏中的“模拟链接”来访问“模拟链接”: ![](../../../assets/dev_tools/mocklink_waiting_for_connection.jpg) -3. 3. 可以单击面板中的按钮以创建相关类型的车辆链接。 +3. 可以单击面板中的按钮以创建相关类型的车辆链接。 + + - 每次单击按钮时,都会创建一个新连接。 + - 当存在多个连接时,将显示多车辆UI。 + ![](../../../assets/dev_tools/mocklink_connected.jpg) -- 每次单击按钮时,都会创建一个新连接。 -- 当存在多个连接时,将显示多车辆UI。 - ![](../../../assets/dev_tools/mocklink_connected.jpg) + ![](../../../assets/dev_tools/mocklink_connected.jpg) -1. 1. 单击停止一个模拟链接以停止当前活动的车辆。 +4. 单击停止一个模拟链接以停止当前活动的车辆。 然后使用模拟链接或多或少与使用任何其他载具相同,只是模拟不允许飞行。 diff --git a/docs/zh/qgc-dev-guide/user_interface_design/controls.md b/docs/zh/qgc-dev-guide/user_interface_design/controls.md index 7e566855b2c..6ee5fc1b9f1 100644 --- a/docs/zh/qgc-dev-guide/user_interface_design/controls.md +++ b/docs/zh/qgc-dev-guide/user_interface_design/controls.md @@ -1,12 +1,14 @@ # 用户界面控件 -QGC提供了一组用于构建用户界面的基本控件。 一般来说,它们往往是Qt支持的基本QML控件上方的薄层,Qt控件支持QGC调色板。 +QGC提供了一组用于构建用户界面的基本控件。 一般来说,它们往往是Qt支持的基本QML控件上方的薄层,Qt控件支持QGC调色板。 In general they tend to be thin layers above the base QML Controls supported by Qt which respect the QGC color palette. - import QGroundControl.Controls 1.0 +``` +import QGroundControl.Controls 1.0 +``` ## Qt控件 -以下控件是标准Qt QML控件的QGC变体。 除了使用QGC调色板绘制。它还们提供与相应Qt控件相同的功能, +以下控件是标准Qt QML控件的QGC变体。 除了使用QGC调色板绘制。它还们提供与相应Qt控件相同的功能, They provide the same functionality as the corresponding Qt controls except for the fact that they are drawn using the QGC palette. - QGCButton - QGCCheckBox @@ -23,11 +25,11 @@ QGC提供了一组用于构建用户界面的基本控件。 一般来说,它 这些自定义控件是QGC独有的,用于创建标准UI元素。 -- DropButton - RoundButton,单击时会删除一组选项。 示例是平面视图中的同步按钮。 +- DropButton - RoundButton,单击时会删除一组选项。 示例是平面视图中的同步按钮。 Example is Sync button in Plan view. - ExclusiveGroupItem - 用于支持QML ExclusiveGroup 概念的自定义控制的基础项目。 -- QGCView - 系统中所有顶级视图的基本控件。 提供对FactPanels的支持并显示QGCViewDialogs和QGCViewMessages。 -- QGC View对话框 - 从QGC视图右侧弹出的对话框。 您可以指定对话框的接受/拒绝按钮以及对话框内容。 使用示例是当您单击某个参数并显示值编辑器对话框时。 +- QGCView - Base control for all top level views in the system. QGCView - 系统中所有顶级视图的基本控件。 提供对FactPanels的支持并显示QGCViewDialogs和QGCViewMessages。 +- QGC View对话框 - 从QGC视图右侧弹出的对话框。 您可以指定对话框的接受/拒绝按钮以及对话框内容。 使用示例是当您单击某个参数并显示值编辑器对话框时。 You can specific the accept/reject buttons for the dialog as well as the dialog contents. Example usage is when you click on a parameter and it brings up the value editor dialog. - QGCViewMessage - QGCViewDialog的简化版本,允许您指定按钮和简单的文本消息。 - QGCViewPanel - QGCView内部的主要视图内容。 - RoundButton - 一个圆形按钮控件,它使用图像作为其内部内容。 -- SetupPage - 所有安装载具组件页面的基本控件。 提供标题,说明和组件页面内容区域。 +- SetupPage - 所有安装载具组件页面的基本控件。 提供标题,说明和组件页面内容区域。 Provides a title, description and component page contents area. diff --git a/docs/zh/qgc-dev-guide/user_interface_design/font_palette.md b/docs/zh/qgc-dev-guide/user_interface_design/font_palette.md index 624ad1e8bc9..b4f83496694 100644 --- a/docs/zh/qgc-dev-guide/user_interface_design/font_palette.md +++ b/docs/zh/qgc-dev-guide/user_interface_design/font_palette.md @@ -2,17 +2,19 @@ QGC有一套标准的字体和调色板,应该由所有用户界面使用。 - import QGroundControl.Palette 1.0 - import QGroundControl.ScreenTools 1.0 +``` +import QGroundControl.Palette 1.0 +import QGroundControl.ScreenTools 1.0 +``` ## QGCPalette(QGC调色板) -此项目显示QGC调色板。 这个调色板有两种变体:浅色和深色。 较浅的调色板适合户外使用,黑色调色板适用于室内。 通常,您不应该直接为UI指定颜色,您应该使用调色板中的颜色。 如果不遵循此规则,则您创建的用户界面将无法通过浅色/深色样式更改。 +此项目显示QGC调色板。 这个调色板有两种变体:浅色和深色。 较浅的调色板适合户外使用,黑色调色板适用于室内。 通常,您不应该直接为UI指定颜色,您应该使用调色板中的颜色。 如果不遵循此规则,则您创建的用户界面将无法通过浅色/深色样式更改。 There are two variants of this palette: light and dark. The light palette is meant for outdoor use and the dark palette is for indoor. Normally you should never specify a color directly for UI, you should always use one from the palette. If you don't follow this rule, the user interface you create will not be capable of changing from a light/dark style. ## QGCMapPalette(QGC地图调色板) -地图调色板用于绘制地图的颜色。 由于不同的地图样式,特别是卫星和街道,您需要有不同的颜色来清晰地绘制它们。 卫星地图需要更浅的颜色,而街道地图需要更深的颜色。 QGCMapPalette项目为此提供了一组颜色,以及在地图上切换浅色和深色的功能。 +The map palette is used for colors which are used to draw over a map. 地图调色板用于绘制地图的颜色。 由于不同的地图样式,特别是卫星和街道,您需要有不同的颜色来清晰地绘制它们。 卫星地图需要更浅的颜色,而街道地图需要更深的颜色。 QGCMapPalette项目为此提供了一组颜色,以及在地图上切换浅色和深色的功能。 Satellite maps needs lighter colors to be seen whereas street maps need darker colors to be seen. The `QGCMapPalette` item provides a set of colors for this as well as the ability to switch between light and dark colors over maps. ## ScreenTools (屏幕工具) -ScreenTools项提供可用于指定字体大小的值。 它还提供有关屏幕大小以及QGC是否在移动设备上运行的信息。 +The ScreenTools item provides values which you can use to specify font sizing. ScreenTools项提供可用于指定字体大小的值。 它还提供有关屏幕大小以及QGC是否在移动设备上运行的信息。 diff --git a/docs/zh/qgc-dev-guide/user_interface_design/index.md b/docs/zh/qgc-dev-guide/user_interface_design/index.md index a05d32667e4..8655483a87d 100644 --- a/docs/zh/qgc-dev-guide/user_interface_design/index.md +++ b/docs/zh/qgc-dev-guide/user_interface_design/index.md @@ -1,6 +1,6 @@ # 用户界面设计 -QGC中UI设计的主要模式是用QML编写的UI页面,多次与用C ++编写的自定义“Controller”进行通信。 这种设计模式有点沿用MVC设计模式,但也有显著不同之处。 +QGC中UI设计的主要模式是用QML编写的UI页面,多次与用C ++编写的自定义“Controller”进行通信。 这种设计模式有点沿用MVC设计模式,但也有显著不同之处。 This follows a somewhat hacked variant of the MVC design pattern. QML代码通过以下机制绑定到与系统关联的信息: diff --git a/docs/zh/qgc-dev-guide/user_interface_design/multi_device_pattern.md b/docs/zh/qgc-dev-guide/user_interface_design/multi_device_pattern.md index f567a96be2d..148af95f78c 100644 --- a/docs/zh/qgc-dev-guide/user_interface_design/multi_device_pattern.md +++ b/docs/zh/qgc-dev-guide/user_interface_design/multi_device_pattern.md @@ -1,52 +1,52 @@ # 多设备设计模式 -QGroundControl设计用于从桌面到笔记本电脑,平板电脑和使用鼠标和触摸的小型手机屏幕等多种设备类型。 以下是QGC如何做到以及背后原理的描述。 +QGroundControl设计用于从桌面到笔记本电脑,平板电脑和使用鼠标和触摸的小型手机屏幕等多种设备类型。 以下是QGC如何做到以及背后原理的描述。 Below is the description of how QGC does it and the reasoning behind it. ## 高效的一个人开发团队 -QGC开发用于解决此问题的设计模式基于快速开发新功能并允许代码库由一个非常小的团队测试和维护(假设1个开发人员作为默认的开发团队规模)。 实现这一目标的模式非常严格,因为不遵循它将导致更慢的开发时间和更低的质量。 +QGC开发用于解决此问题的设计模式基于快速开发新功能并允许代码库由一个非常小的团队测试和维护(假设1个开发人员作为默认的开发团队规模)。 实现这一目标的模式非常严格,因为不遵循它将导致更慢的开发时间和更低的质量。 The pattern to achieve this is followed very strictly, because not following it will lead to slower dev times and lower quality. -支持这个1人开发团队概念导致一些艰难的决定,并不是每个人都可能感到高兴。 但它确实导致QGC使用单个代码库在许多操作系统和硬件平台上发布。 This is something most other ground stations out there are not capable of achieving. +Supporting this 1 person dev team concept leads to some tough decisions which not everyone may be happy about. But it does lead to QGC being released on many OS and form factors using a single codebase. This is something most other ground stations out there are not capable of achieving. -你可能会问,贡献者呢? QGC拥有相当数量的贡献者。 Can't they help move things past this 1 person dev team concept? 是的QGC有几个贡献者。 但是,他们随着时间的推移加入而来。 当它们离开时,它们贡献的代码仍然必须保持 因此,你回到了过去三年发展中的平均1人开发团队的概念 +What about contributors you ask? QGC has a decent amount of contributors. 你可能会问,贡献者呢? QGC拥有相当数量的贡献者。 Can't they help move things past this 1 person dev team concept? Yes QGC has quite a few contributors. But unfortunately they come and go over time. And when they go, the code they contributed still must be maintained. Hence you fall back to the 1 person dev team concept which is mostly what has been around as an average over the last three years of development. ## 目标设备 -从触摸的角度和屏幕尺寸的角度来看,QGC UI设计的优先目标是平板电脑(比如三星Galaxy)。 由于此决定,其他设备类型和大小可能会看到一些视觉和/或可用性的错误。 基于优先级的决策时的当前顺序是平板电脑,笔记本电脑,台式机,电话(任何小屏幕)。 +从触摸的角度和屏幕尺寸的角度来看,QGC UI设计的优先目标是平板电脑(比如三星Galaxy)。 由于此决定,其他设备类型和大小可能会看到一些视觉和/或可用性的错误。 基于优先级的决策时的当前顺序是平板电脑,笔记本电脑,台式机,电话(任何小屏幕)。 Other device types and sizes may see some sacrifices of visuals and/or usability due to this decision. The current order when making priority based decisions is Tablet, Laptop, Desktop, Phone (any small screen). ### 手机大小的屏幕支持 -As specified above, at this point smaller phone sized screens are the lowest level priority for QGC. More focus is put onto making active flight level displays, such as the Fly view, more usable. 较少关注设置相关视图,例如“设置”和“计划”。 Those specific views are tested to be functionally usable on small screens but they may be painful to use. +As specified above, at this point smaller phone sized screens are the lowest level priority for QGC. More focus is put onto making active flight level displays, such as the Fly view, more usable. Less focus is placed on Setup related views such as Setup and Plan. 较少关注设置相关视图,例如“设置”和“计划”。 Those specific views are tested to be functionally usable on small screens but they may be painful to use. ## 使用的开发工具 ### Qt布局控件 -QGC没有针对不同屏幕尺寸和/或形状因子的不同编码的UI。 通常,它使用QML Layout功能来重排一组QML UI代码以适应不同的外形。 在某些情况下,它提供了较小的屏幕尺寸细节,使事情适合。 但这是一个简单的可见性模式。 +QGC没有针对不同屏幕尺寸和/或形状因子的不同编码的UI。 通常,它使用QML Layout功能来重排一组QML UI代码以适应不同的外形。 在某些情况下,它提供了较小的屏幕尺寸细节,使事情适合。 但这是一个简单的可见性模式。 是的QGC有几个贡献者。 但是,他们随着时间的推移加入而来。 当它们离开时,它们贡献的代码仍然必须保持 因此,你回到了过去三年发展中的平均1人开发团队的概念 In some cases it provides less detail on small screen sizes to make things fit. But that is a simple visibility pattern. ### FactSystem(事实系统) -QGC内部是一个系统,用于管理系统中的所有单个数据。 这个数据模型是连接到控件的。 +QGC内部是一个系统,用于管理系统中的所有单个数据。 这个数据模型是连接到控件的。 This data model is then connected to controls. ### 严重依赖可重用控件 -QGC UI是从一组可重用的控件和UI元素开发而来的。 这样,现在可以在整个UI中使用添加到可重用控件的任何新功能。 这些可重用的控件还连接到FactSystem Facts,然后FactSystem Facts自动提供适当的UI。 +QGC UI是从一组可重用的控件和UI元素开发而来的。 这样,现在可以在整个UI中使用添加到可重用控件的任何新功能。 这些可重用的控件还连接到FactSystem Facts,然后FactSystem Facts自动提供适当的UI。 This way any new feature added to a reusable control is now available throughout the UI. These reusable controls also connect to FactSystem Facts which then automatically provides appropriate UI. ## 这种设计模式的缺点 -- QGC用户界面最终成为台式机/笔记本电脑/平板电脑/手机的混合风格。 因此,不一定看起来或感觉它被优化为任何这些。 -- 给定目标设备优先级列表以及QGC倾向于重新布局相同UI元素以适应不同形状因子的事实, 当你离优先目标越来越远时,你会发现这种混合方法会变得更糟。 因此,小型手机大小的屏幕在可用性方面受到的打击最大。 -- 在某些情况下,QGC可重用控件集可能无法提供绝对最佳的UI。 但它仍然用于防止创建额外的维护表面区域。 -- 由于QGC UI对所有操作系统使用相同的UI代码,因此QGC不遵循操作系统本身指定的UI设计准则。 它有自己的视觉风格,有点混合了从每个操作系统中挑选出来的东西。 因此,UI在所有操作系统上的外观和工作方式大致相同。 再次, 这意味着, 例如, QGC 运行在 android 并不一定看起来像一个 android 应用程序。或者, 在 iphone 上运行的 QGC 不会像其他大多数 iphone 应用程序那样看起来或工作。 也就是说,QGC视觉/功能样式对于这些OS用户来说应该是可以理解的。 +- QGC用户界面最终成为台式机/笔记本电脑/平板电脑/手机的混合风格。 因此,不一定看起来或感觉它被优化为任何这些。 Hence not necessarily looking or feeling like it is optimized to any of these. +- 给定目标设备优先级列表以及QGC倾向于重新布局相同UI元素以适应不同形状因子的事实, 当你离优先目标越来越远时,你会发现这种混合方法会变得更糟。 因此,小型手机大小的屏幕在可用性方面受到的打击最大。 Hence small phone sized screens taking the worst hit on usability. +- 在某些情况下,QGC可重用控件集可能无法提供绝对最佳的UI。 但它仍然用于防止创建额外的维护表面区域。 But it is still used to prevent the creation of additional maintenance surface area. +- 由于QGC UI对所有操作系统使用相同的UI代码,因此QGC不遵循操作系统本身指定的UI设计准则。 它有自己的视觉风格,有点混合了从每个操作系统中挑选出来的东西。 因此,UI在所有操作系统上的外观和工作方式大致相同。 再次, 这意味着, 例如, QGC 运行在 android 并不一定看起来像一个 android 应用程序。或者, 在 iphone 上运行的 QGC 不会像其他大多数 iphone 应用程序那样看起来或工作。 也就是说,QGC视觉/功能样式对于这些OS用户来说应该是可以理解的。 It has it's own visual style which is somewhat of a hybrid of things picked from each OS. Hence the UI looks and works mostly the same on all OS. Once again this means for example that QGC running on Android won't necessarily look like an android app. 支持这个1人开发团队概念导致一些艰难的决定,并不是每个人都可能感到高兴。 但它确实导致QGC使用单个代码库在许多操作系统和硬件平台上发布。 This is something most other ground stations out there are not capable of achieving. That said the QGC visual/functional style should be understandable to these OS users. ## 这种设计模式的优点 -- 由于使用此混合模型和控制集进行一次UI编码,因此设计新功能所需的时间更短。 布局重排在Qt QML中非常强大,一旦你习惯它就成为第二天性。 -- UI可以仅在一个平台上进行功能测试,因为代码是平台无关的。 只有布局流必须在多个设备上进行可视化检查, 但这很容易使用移动模拟器完成。 在大多数情况下,这是需要的: - - 使用桌面构建,调整窗口大小以测试重排。 通常也会覆盖平板电脑大小的屏幕。 - - 使用移动模拟器直观地验证手机大小的屏幕。 在OSX XCode iPhone模拟器上工作得非常好。 -- 上述机制对于确保单人团队的效率和高质量是至关重要。 +- It takes less time to design a new feature since the UI coding is done once using this hybrid model and control set. 由于使用此混合模型和控制集进行一次UI编码,因此设计新功能所需的时间更短。 布局重排在Qt QML中非常强大,一旦你习惯它就成为第二天性。 +- A piece of UI can be functionally tested on one platform since the functional code is the same across all form factors. UI可以仅在一个平台上进行功能测试,因为代码是平台无关的。 只有布局流必须在多个设备上进行可视化检查, 但这很容易使用移动模拟器完成。 在大多数情况下,这是需要的: In most cases this is what is needed: + - 使用桌面构建,调整窗口大小以测试重排。 通常也会覆盖平板电脑大小的屏幕。 This will generally cover a tablet sized screen as well. + - 将手机(小屏幕)级别优先级提升为更接近平板电脑。 目前的想法是,这将不会发生在3.3发布时间框架(在当前工作之后发布)。 使用移动模拟器直观地验证手机大小的屏幕。 在OSX XCode iPhone模拟器上工作得非常好。 +- All of the above are critical to keeping our hypothetical 1 person dev team efficient and to keep quality high. ## 未来发展方向 -- 将手机(小屏幕)级别优先级提升为更接近平板电脑。 目前的想法是,这将不会发生在3.3发布时间框架(在当前工作之后发布)。 +- Raise phone (small screen) level prioritization to be more equal to Tablet. Current thinking is that this won't happen until a 3.3 release time frame (release after current one being worked on). diff --git a/docs/zh/qgc-dev-guide/views/fly.md b/docs/zh/qgc-dev-guide/views/fly.md index 0856186aa6b..3eb89abca21 100644 --- a/docs/zh/qgc-dev-guide/views/fly.md +++ b/docs/zh/qgc-dev-guide/views/fly.md @@ -1,6 +1,6 @@ # 飞视图 -- 顶级QML代码在FlightDisplayView.qml中 +- 顶级QML代码在FlightDisplayView\.qml中 - QML代码与MissionController(C ++)通信以进行任务显示 - 仪器小部件与活动的Vehicle对象通信 - 两个主要的内部view是: diff --git a/docs/zh/qgc-dev-guide/views/setup.md b/docs/zh/qgc-dev-guide/views/setup.md index c582048bccf..80d6e1d22b7 100644 --- a/docs/zh/qgc-dev-guide/views/setup.md +++ b/docs/zh/qgc-dev-guide/views/setup.md @@ -1,5 +1,5 @@ # 设置视图 -- 在SetupView.qml中实现的顶级QML代码 +- 在SetupView\.qml中实现的顶级QML代码 - 固定的按钮/页面集:摘要,固件 - 按钮/页面的剩余部分来自AutoPilot Plugin Vehicle Component列表 diff --git a/docs/zh/qgc-user-guide/analyze_view/geotag_images.md b/docs/zh/qgc-user-guide/analyze_view/geotag_images.md index ceef70653a7..e90bc14670f 100644 --- a/docs/zh/qgc-user-guide/analyze_view/geotag_images.md +++ b/docs/zh/qgc-user-guide/analyze_view/geotag_images.md @@ -1,11 +1,13 @@ # GeoTag 图像(分析视图) -*GeoTag 图像*界面(**分析Analyze > GeoTag Images**)允许您使用飞行日志中的资料信息,从执行任务中查调地理标签图像。 +_GeoTag 图像_界面(**分析Analyze > GeoTag Images**)允许您使用飞行日志中的资料信息,从执行任务中查调地理标签图像。 -::: info +:::info 此功能仅适用于 _PX4_ 飞行日志。 ArduPilot 不支持。 +ArduPilot is not supported. ::: ![分析试图 - GeoTag 图像](../../../assets/analyze/geotag_images.jpg) 使用所提供的功能按钮,选取地理标记图像的日志文档,图片目录和输出目录(可选项)。 点击 **Start Tagging** 生成地理标记的图像。 +Click **Start Tagging** to generate the geotagged images. diff --git a/docs/zh/qgc-user-guide/analyze_view/index.md b/docs/zh/qgc-user-guide/analyze_view/index.md index 8d23f74d66d..08c1f582e19 100644 --- a/docs/zh/qgc-user-guide/analyze_view/index.md +++ b/docs/zh/qgc-user-guide/analyze_view/index.md @@ -1,4 +1,4 @@ -# 分析窗口 +# Analyze View The _Analyze View_ is accessed by selecting the _QGroundControl_ application menu ("Q" icon in the top left corner) and then selecting the **Analyze Tools** button (from the _Select Tool_ popup). diff --git a/docs/zh/qgc-user-guide/analyze_view/mavlink_console.md b/docs/zh/qgc-user-guide/analyze_view/mavlink_console.md index df7cfe0e672..74dbb0f8168 100644 --- a/docs/zh/qgc-user-guide/analyze_view/mavlink_console.md +++ b/docs/zh/qgc-user-guide/analyze_view/mavlink_console.md @@ -2,16 +2,19 @@ The MAVLink Console (**Analyze > Mavlink Console**) allows you to connect to the PX4 [System Console](https://docs.px4.io/main/en/debug/system_console.html) and send commands. -::: info -The console only works when connected to _hardware_ running the _PX4_ flight stack. PX4 SITL and ArduPilot are not supported. +:::info +The console only works when connected to _hardware_ running the _PX4_ flight stack. +PX4 SITL and ArduPilot are not supported. ::: -::: tip +:::tip This is a very useful feature for developers as it allows deep access to the system. In particular, if you are connected via Wifi, you can have this same level of access while the vehicle is flying. ::: ![Analyze View MAVLink Console](../../../assets/analyze/mavlink_console.jpg) -The view does not display any output except in response to commands. Once the vehicle is connected, you can enter commands in the bar provided (for a full list of available commands enter: `?`). +The view does not display any output except in response to commands. +Once the vehicle is connected, you can enter commands in the bar provided (for a full list of available commands enter: `?`). -Command output is displayed in the view above the command bar. Click **Show Latest** to jump to the bottom of the command output. +Command output is displayed in the view above the command bar. +Click **Show Latest** to jump to the bottom of the command output. diff --git a/docs/zh/qgc-user-guide/analyze_view/mavlink_inspector.md b/docs/zh/qgc-user-guide/analyze_view/mavlink_inspector.md index 5b6d09da8a3..127fc65ce6a 100644 --- a/docs/zh/qgc-user-guide/analyze_view/mavlink_inspector.md +++ b/docs/zh/qgc-user-guide/analyze_view/mavlink_inspector.md @@ -2,33 +2,40 @@ The _MAVLink Inspector_ provides real-time information and charting of MAVLink traffic received by _QGroundControl_. -::: warning -This feature is intended primarily for **autopilot developers**/**vehicle creators**. It is only supported on desktop builds (Windows, Linux, Mac OS). +:::warning +This feature is intended primarily for **autopilot developers**/**vehicle creators**. +It is only supported on desktop builds (Windows, Linux, Mac OS). ::: ![MAVLink inspector](../../../assets/analyze/mavlink_inspector/mavlink_inspector.jpg) -The inspector lists all received messages for the current vehicle, along with their source component id and update frequency. You can drill down into individual messages to get the message id, source component id, and the values of all the individual fields. You can also chart field values in real time, selecting multiple fields from multiple messages to display on one of two charts. +The inspector lists all received messages for the current vehicle, along with their source component id and update frequency. +You can drill down into individual messages to get the message id, source component id, and the values of all the individual fields. +You can also chart field values in real time, selecting multiple fields from multiple messages to display on one of two charts. To use the _MAVLink Inspector_: -1. Open _Analyze View_ by selecting the _QGroundControl_ application menu ("Q" icon in top left corner) and then choosing the **Analyze Tools** button (from the _Select Tool_ popup). ![Analyze ](../../../assets/analyze/menu_analyze_tool.png) -1. Select the **MAVLink Inspector** from the sidebar. +1. Open _Analyze View_ by selecting the _QGroundControl_ application menu ("Q" icon in top left corner) and then choosing the **Analyze Tools** button (from the _Select Tool_ popup). + ![Analyze ](../../../assets/analyze/menu_analyze_tool.png) + +2. Select the **MAVLink Inspector** from the sidebar. ![MAVLink inspector menu](../../../assets/analyze/mavlink_inspector/mavlink_inspector_menu.jpg) The view will start populating with messages as they are received. -1. Select a message to see its fields and their (dynamically updating) value: +3. Select a message to see its fields and their (dynamically updating) value: ![MAVLink inspector: message detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_message_details.jpg) -1. Add fields to charts by enabling the adjacent checkboxes (plot 1 is displayed below plot 2). +4. Add fields to charts by enabling the adjacent checkboxes (plot 1 is displayed below plot 2). ![MAVLink inspector: chart fields detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_plot1.jpg) - Fields can be added to only one chart. - - A chart can have multiple fields, and fields from multiple messages (these are listed above each chart). Messages containing fields that are being charted are highlighted with an asterisk. + + - A chart can have multiple fields, and fields from multiple messages (these are listed above each chart). + Messages containing fields that are being charted are highlighted with an asterisk. ![MAVLink inspector: chart fields detail](../../../assets/analyze/mavlink_inspector/mavlink_inspector_charted_messages.jpg) diff --git a/docs/zh/qgc-user-guide/fly_view/fly_view.md b/docs/zh/qgc-user-guide/fly_view/fly_view.md index d80b1ed5723..d8650699b68 100644 --- a/docs/zh/qgc-user-guide/fly_view/fly_view.md +++ b/docs/zh/qgc-user-guide/fly_view/fly_view.md @@ -5,10 +5,11 @@ 您可以使用它: - 自动运行[航前检查表](#preflight_checklist)。 +- Arm the vehicle (or check why it won't arm). - 控制飞行任务:[启动](#start_mission), [继续](#continue_mission), [暂停](#pause), 和[恢复](#resume_mission)。 - 引导飞行器执行[解锁](#arm)/[上锁](#disarm)/[急停](#emergency_stop)、[起飞](#takeoff)/[着陆](#land)、[改变高度](#change_altitude)、[去](#goto)或[环绕](#orbit)指定位置,以及[返航/RTL](#rtl)。 - 在地图视图和视频视图之间切换(如果可用) -- 显示当前飞行器采集到的视频、飞行任务、数传和其他信息,同时在已连接的多个飞行器之间切换。 +- Display video, mission, telemetry, and other information for the current vehicle, and also switch between connected vehicles. ![Fly View](../../../assets/fly/fly_view_overview.jpg) @@ -21,130 +22,184 @@ - Once flying, you can click on the map to set a [Go to](#goto) or [Orbit at](#orbit) location. - **Fly Toolbar:** Key status information for sensors (GPS, battery, RC control), and vehicle state (Flight mode, Armed/Disarmed status). - Select the sensor indicators to view more detail. - - Press the _Flight mode_ text (e.g. "Hold") to select a new mode. Not every mode may be available. - - Press the _Armed/Disarmed_ text to toggle the armed state. While flying you can press this text for _Emergency Stop_. + - Press the _Flight mode_ text (e.g. "Hold") to select a new mode. + Not every mode may be available. + - The text next to the **Q** icon indicates the flight readiness using text: "Not Ready", "Ready to Fly", "Flying", and status using colour: "green" (all good!), amber (a warning), red (serious problem). + Select the text when the background is amber or red to find out the cause of any preflight issues (QGC 4.2.0 and later). + You can also select the text to reach a button to arm/disarm/emergency-stop the vehicle. - **Fly tools:** You can use these to: - Toggle between takeoff/land. - Pause/restart the current operation (e.g. landing, or the mission). - Safety return (also known as RTL or Return). - - The _Action_ button offers other appropriate options for the current state (these overlay the _Confirmation Slider_). Actions include changing the altitude or continuing a mission. + - The _Action_ button offers other appropriate options for the current state (these overlay the _Confirmation Slider_). + Actions include changing the altitude or continuing a mission. - Enable the [preflight checklist](#preflight_checklist) (tool option disabled by default). - **[Instrument Panel](#instrument_panel):** A multi-page widget that displays vehicle information including: telemetry, camera, video, system health, and vibration. +- **Attitude/Compass**: A widget that provides virtual horizon and heading information. +- **Camera Tools**: A widget for switching between still and video modes, starting/stopping capture, and controlling camera settings. - **[Video/Switcher](#video_switcher):** Toggle between video or map in a window. - Press the element to switch _Video_ and _Map_ to foreground. - - _QGroundControl_ supports RTP and RTSP video streaming over your vehicles UDP connection. It also supports directly connected UVC devices. QGC video support is further discussed in the [Video README](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoStreaming/README.md). + - _QGroundControl_ supports RTP and RTSP video streaming over your vehicles UDP connection. + It also supports directly connected UVC devices. + QGC video support is further discussed in the [Video README](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoStreaming/README.md). - A [Telemetry Overlay](../fly_view/video_overlay.md) is automatically generated as a subtitle file -- **Confirmation Slider:** Context sensitive slider to confirm requested actions. Slide to start operation. Press **X** to cancel. +- **Confirmation Slider:** Context sensitive slider to confirm requested actions. + Slide to start operation. Press **X** to cancel. -There are a number of other elements that are not displayed by default/are only displayed in certain conditions. For example, the multi-vehicle selector is only displayed if you have multiple vehicles, and the preflight checklist tool button is only displayed if the appropriate setting is enabled. +There are a number of other elements that are not displayed by default/are only displayed in certain conditions. +For example, the multi-vehicle selector is only displayed if you have multiple vehicles, and the preflight checklist tool button is only displayed if the appropriate setting is enabled. -## Instrument Panel {#instrument_panel} +## Instrument Panel {#instrument\_panel} The instrument panel is a multi-page widget that displays information about the current vehicle, including: telemetry, camera, video, system health, and vibration information. -The default page displays vehicle telemetry - use the drop down menu on the top right to select the other options. - -### Values (Telemetry) +![Instrument Page - for values/telemetry](../../../assets/fly/instrument_page_values.jpg) The values page shows telemetry information; by default the altitude (relative to the home location) and the ground speed. -![Instrument Page - for values/telemetry](../../../assets/fly/instrument_page_values.jpg) +You can configure what information is display by pressing the small gear icon on the top left of the panel. +This toggles the position of the panel between bottom centre and right-centre. -You can configure what information is display by pressing the small gear icon on the top left of the panel. Each value can be displayed in normal or "large" size (large size shows just one value per row in the page, while normal shows 2). +![Instrument Panel - hover for move/edit tools](../../../assets/fly/instrument_panel/instrument_panel_tools_move_edit.png) -![Instrument Page - values settings](../../../assets/fly/instrument_page_values_settings.jpg) +You configure what information is display by selecting the edit/pencil icon. +The grid will then display "+" and "-" icons that you can use to add or remove rows and columns (and the pencil icon is replaced by a "lock" icon that you can use to save the settings). -### Camera {#camera_instrument_page} +![Instrument Page - Vibration Clip](../../../assets/fly/instrument_page_vibration.jpg) -The camera page is used to configure and control the camera. For a camera connected directly to the Flight Controller the only available option is camera triggering: +Select a value to launch its "Value Display" editor. +This allows you to change the icon, text, size, units and so on of the current telemetry value. -![Instrument Page - for Camera](../../../assets/fly/instrument_page_camera.jpg) +Press the _Armed/Disarmed_ text to toggle the armed state. -When connected to camera that supports the [MAVLink Camera Protocol](https://mavlink.io/en/services/camera.html) you can additionally configure and use other camera services that it makes available. For example, if your camera supports video mode you will be able to switch between still image capture and video mode, and start/stop recording. +The selection list on the top left is used to change the source of the telemetry. +By default this is the vehicle, but you can use the selector to choose a particular sensor type. -![Instrument Page - Camera MAVLink Settings](../../../assets/fly/instrument_page_camera_mavlink.jpg) +![Instrument Page - Vehicle Health Good](../../../assets/fly/instrument_page_health_good.jpg) ![Instrument Page - Vehicle Health Bad](../../../assets/fly/instrument_page_health_bad.jpg) -Advanced settings can be changed via the gear icon at the top left of the page. +The selection list on the top right is used to select a particular telemetry value for the vehicle or sensor. -![Instrument Page - Camera MAVLink Settings](../../../assets/fly/instrument_page_camera_mavlink_settings.jpg) +![Instrument Page - values settings](../../../assets/fly/instrument_page_values_settings.jpg) -::: info -Most of the settings that are displayed depend on the camera (they are defined in its [MAVLink Camera Definition File](https://mavlink.io/en/services/camera_def.html)). A few common settings at the end are hard-coded: Photo Mode (Single/Time Lapse), Photo Interval (if Time Lapse), Reset Camera Defaults (sends a reset command to the camera), Format (storage) -::: +### Camera {#camera\_instrument\_page} -### Video Stream {#video_instrument_page} +The camera page is used to configure and control the camera. -The video page is used to enable/disable video streaming. When enabled, you can start/stop the video stream, enable a grid overlay, change how the image fits the screen, and record the video locally with QGC. +![Instrument Page - for Camera](../../../assets/fly/instrument_page_camera.jpg) -![Instrument Page - Video Stream](../../../assets/fly/instrument_page_video_stream.jpg) +The camera capture and configuration options depend on the connected camera. +The configuration options are selected using the panel gear icon. +The configuration for a simple autopilot-connected camera are shown below. -### Health +Most of the settings that are displayed depend on the camera (they are defined in its [MAVLink Camera Definition File](https://mavlink.io/en/services/camera_def.html)). -The health page shows you the health of the systems within your vehicle. _QGroundControl_ will switch to this page automatically if any system changes to unhealthy. +When connected to camera that supports the [MAVLink Camera Protocol](https://mavlink.io/en/services/camera.html) you can additionally configure and use other camera services that it makes available. +For example, if your camera supports video mode you will be able to switch between still image capture and video mode, and start/stop recording. -![Instrument Page - Vehicle Health Good](../../../assets/fly/instrument_page_health_good.jpg) ![Instrument Page - Vehicle Health Bad](../../../assets/fly/instrument_page_health_bad.jpg) +![Instrument Page - Camera MAVLink Settings](../../../assets/fly/instrument_page_camera_mavlink_settings.jpg) + +::: info +Most of the settings that are displayed depend on the camera (they are defined in its [MAVLink Camera Definition File](https://mavlink.io/en/services/camera_def.html)). -### Vibration +> A few common settings at the end are hard-coded: Photo Mode (Single/Time Lapse), Photo Interval (if Time Lapse), Reset Camera Defaults (sends a reset command to the camera), Format (storage) -The vibration page shows current vibration levels and clip counts. +### Video Stream {#video\_instrument\_page} -![Instrument Page - Vibration Clip](../../../assets/fly/instrument_page_vibration.jpg) +The video page is used to enable/disable video streaming. +When enabled, you can start/stop the video stream, enable a grid overlay, change how the image fits the screen, and record the video locally with QGC. + +![Instrument Page - Video Stream](../../../assets/fly/instrument_page_video_stream.jpg) ## Actions/Tasks The following sections describe how to perform common operations/tasks in the Fly View. -::: info Many of the available options depend on both the vehicle type and its current state. ::: -### Pre Flight Checklist {#preflight_checklist} +### Pre Flight Checklist {#preflight\_checklist} An automated preflight checklist can be used to run through standard checks that the vehicle is configured correctly and it is safe to fly. -To view the checklist, first enable the tool by navigating to [Application Settings > General > Fly View](../settings_view/general.md) and selecting the **Use preflight checklist** checkbox. The tool will then be added to the _Flight Tools_. Press it to open the checklist: +To view the checklist, first enable the tool by navigating to [Application Settings > General > Fly View](../settings_view/general.md) and selecting the **Use preflight checklist** checkbox. +The tool will then be added to the _Flight Tools_. +Press it to open the checklist: ![Pre Flight Checklist](../../../assets/fly/pre_flight_checklist.jpg) Once you have performed each test, select it on the UI to mark it as complete. -### Arm {#arm} +### Arming and Preflight Checks {#arm} -::: tip +Arming a vehicle starts the motors in preparation for takeoff. +You will only be able to arm the vehicle if it is safe and ready to fly. + +:::tip Generally _QGroundControl_ does not require you to arm the vehicle explicitly; this is done for you if you start a mission or takeoff. ::: -Arming a vehicle starts the motors in preparation for takeoff. +The vehicle is ready to fly in all modes if the status text says "Ready to Fly" and the background is green. -To arm the vehicle, select **Disarmed** in the _Fly Toolbar_ and then use the confirmation sider. +![Vehicle state - ready to fly green/ready background](../../../assets/fly/vehicle_states/ready_to_fly_ok.png) -![Arm](../../../assets/fly/arm.jpg) +If the background is amber then it is ready to take off in the current mode, but may not be able to switch to other modes. +If the background is red and the text is "Not Ready" then you will not be able to arm in the current mode. + +![Vehicle state - ready to fly amber/warning background](../../../assets/fly/vehicle_states/ready_to_fly_warning.png) +![Vehicle state - not ready](../../../assets/fly/vehicle_states/not_ready.png) + +From QGC 4.2.0 (at time of writing, a daily build) you can find out the exact cause of the warning or error, and possible solutions, by pushing the status text. + +This launches the preflight arming checks popup with a list of all preflight warnings. +The toggle on the right expands each error with additional information and possible solutions. + +![UI To check arming warnings](../../../assets/fly/vehicle_states/arming_preflight_check_ui.png) + +Once each issue is resolved it will disappear from the UI. +When all issues blocking arming have been removed you can use the arm button to display the arming confirmation slider, and arm the vehicle (or you can just take off - note that the vehicles will (by default) disarm automatically if you do not take off after a few seconds. + +To arm the vehicle, select **Disarmed** in the _Fly Toolbar_ and then use the confirmation sider. ::: info -Vehicles usually disarm automatically if you do not take off after a few seconds. -::: +The status text also displays when flying. + +> To disarm the vehicle select **Armed** in the _Fly Toolbar_ when the vehicle is **landed**. +> +> The arming checks UI will open even when flying, allowing you to emergency disarm. +> ::: ### Disarm {#disarm} -Disarming the vehicle stops the motors (making the vehicle safe). To disarm the vehicle select **Armed** in the _Fly Toolbar_ when the vehicle is **landed**. +Disarming the vehicle stops the motors (making the vehicle safe). + +Vehicles usually disarm automatically if you do not take off after a few seconds. + +If needed, you can do so from the Arming Preflight Checks UI. + +![Arm](../../../assets/fly/arm.jpg) + +You will then need to use the disarming slider. ![Disarm](../../../assets/fly/disarm.jpg) -::: info Disarming the vehicle while it is flying is called an [Emergency Stop](#emergency_stop) -::: -### Emergency Stop {#emergency_stop} +### Emergency Stop {#emergency\_stop} + +Emergency stop is effectively the same as disarming the vehicle while it is flying. +Your vehicle will crash! -Emergency stop is effectively the same as disarming the vehicle while it is flying. Your vehicle will crash! +If needed, you can do so from the Arming Preflight Checks UI. To disarm the vehicle select **Armed** in the _Fly Toolbar_ when the vehicle is flying. +You will then need to use the emergency disarming slider. + ![Emergency Stop](../../../assets/fly/emergency_stop.jpg) ### Takeoff {#takeoff} -::: tip +:::tip If you are starting a mission for a multicopter, _QGroundControl_ will automatically perform the takeoff step. ::: @@ -174,22 +229,25 @@ Return to a "safe point" at any time while flying: ![rtl](../../../assets/fly/rtl.jpg) -::: info -Vehicles commonly return to the "home" (takeoff) location and land. This behaviour depends on the vehicle type and configuration. For example, rally points or mission landings may be used as alternative return targets. +:::info +Vehicles commonly return to the "home" (takeoff) location and land. +This behaviour depends on the vehicle type and configuration. +For example, rally points or mission landings may be used as alternative return targets. ::: -### Change Altitude {#change_altitude} +### Change Altitude {#change\_altitude} You can change altitude while flying, except when in a mission: 1. Press the **Action** button on the _Fly Tools_ + 2. Select the _Change Altitude_ action from the dialog. -![Continue Mission/Change Altitude action](../../../assets/fly/continue_mission_change_altitude_action.jpg) + ![Continue Mission/Change Altitude action](../../../assets/fly/continue_mission_change_altitude_action.jpg) 3. Move the vertical slider to the desired altitude, then drag the confirmation slider to start the action. -![Change altitude](../../../assets/fly/change_altitude.jpg) + ![Change altitude](../../../assets/fly/change_altitude.jpg) ### Goto Location {#goto} @@ -199,13 +257,13 @@ After taking off you can specify that you want to fly to a particular location. ![Goto or orbit](../../../assets/fly/goto_or_orbit.jpg) -2. The location will be displayed on the map, along with a confirmation slider. +1. The location will be displayed on the map, along with a confirmation slider. -![Goto confirmation](../../../assets/fly/goto.jpg) + ![Goto confirmation](../../../assets/fly/goto.jpg) -3. When you're ready, drag the slider to start the operation (or press the **X** icon to cancel it). +2. When you're ready, drag the slider to start the operation (or press the **X** icon to cancel it). -::: info +:::info Goto points must be set within 1 km of the vehicle (hard-coded in QGC). ::: @@ -217,20 +275,21 @@ After taking off you can specify that you want to orbit a particular location. ![Goto or orbit](../../../assets/fly/goto_or_orbit.jpg) -2. The proposed orbit will be displayed on the map, along with a confirmation sider. +1. The proposed orbit will be displayed on the map, along with a confirmation sider. -![Orbit confirmation](../../../assets/fly/orbit.jpg) + ![Orbit confirmation](../../../assets/fly/orbit.jpg) -- Select and drag the central marker to move the orbit location. -- Select and drag the dot on the outer circle to change the orbit radius + - Select and drag the central marker to move the orbit location. + - Select and drag the dot on the outer circle to change the orbit radius -3. When you're ready, drag the slider to start the operation (or press the **X** icon to cancel it). +2. When you're ready, drag the slider to start the operation (or press the **X** icon to cancel it). ### Pause -You can pause most operations, including taking off, landing, RTL, mission execution, orbit at location. The vehicle behaviour when paused depends on the vehicle type; typically a multicopter will hover, and a fixed wing vehicle will circle. +You can pause most operations, including taking off, landing, RTL, mission execution, orbit at location. +The vehicle behaviour when paused depends on the vehicle type; typically a multicopter will hover, and a fixed wing vehicle will circle. -::: info +:::info You cannot pause a _Goto location_ operation. ::: @@ -244,98 +303,108 @@ To pause: ### Missions -#### Start Mission {#start_mission} +#### Start Mission {#start\_mission} You can start a mission when the vehicle is landed (the start mission confirmation slider is often displayed by default). To start a mission from landed: 1. Press the **Action** button on the _Fly Tools_ -2. Select the _Start Mission_ action from the dialog. -![Start mission action](../../../assets/fly/start_mission_action.jpg) +2. Select the _Start Mission_ action from the dialog. - (to display the confirmation slider) + ![Start mission action](../../../assets/fly/start_mission_action.jpg) + (to display the confirmation slider) 3. When the confirmation slider appears, drag it to start the mission. -![Start mission](../../../assets/fly/start_mission.jpg) + ![Start mission](../../../assets/fly/start_mission.jpg) -#### Continue Mission {#continue_mission} +#### Continue Mission {#continue\_mission} You can _continue_ mission from the _next_ waypoint when you're flying (the _Continue Mission_ confirmation slider is often displayed by default after you takeoff). -::: info -Continue and [Resume mission](#resume_mission) are different! Continue is used to restart a mission that has been paused, or where you have taken off, so you've already missed a takeoff mission command. Resume mission is used when you've used a RTL or landed midway through a mission (e.g. for a battery change) and then wish to continue the next mission item (i.e. it takes you to where you were up to in the mission, rather than continuing from your place in the mission). +:::info +Continue and [Resume mission](#resume_mission) are different! +Continue is used to restart a mission that has been paused, or where you have taken off, so you've already missed a takeoff mission command. +Resume mission is used when you've used a RTL or landed midway through a mission (e.g. for a battery change) and then wish to continue the next mission item (i.e. it takes you to where you were up to in the mission, rather than continuing from your place in the mission). ::: You can continue the current mission while (unless already in a mission!): 1. Press the **Action** button on the _Fly Tools_ + 2. Select the _Continue Mission_ action from the dialog. -![Continue Mission/Change Altitude action](../../../assets/fly/continue_mission_change_altitude_action.jpg) + ![Continue Mission/Change Altitude action](../../../assets/fly/continue_mission_change_altitude_action.jpg) 3. Drag the confirmation slider to continue the mission. -![Continue Mission](../../../assets/fly/continue_mission.jpg) + ![Continue Mission](../../../assets/fly/continue_mission.jpg) -#### Resume Mission {#resume_mission} +#### Resume Mission {#resume\_mission} _Resume Mission_ is used to resume a mission after performing an [RTL/Return](#rtl) or [Land](#land) from within a mission (in order, for example, to perform a battery change). -::: info -If you are performing a battery change, **do not** disconnect QGC from the vehicle after disconnecting the battery. After you insert the new battery _QGroundControl_ will detect the vehicle again and automatically restore the connection. +:::info +If you are performing a battery change, **do not** disconnect QGC from the vehicle after disconnecting the battery. +After you insert the new battery _QGroundControl_ will detect the vehicle again and automatically restore the connection. ::: After landing you will be prompted with a _Flight Plan complete_ dialog, which gives you the option to remove the plan from the vehicle, leave it on the vehicle, or to resume the mission from the last waypoint that was traveled through. ![Resume Mission](../../../assets/fly/resume_mission.jpg) -If you select to resume the mission, then _QGroundControl_ will rebuild the mission and upload it to the vehicle. Then use the _Start Mission_ slider to continue the mission. +If you select to resume the mission, then _QGroundControl_ will rebuild the mission and upload it to the vehicle. +Then use the _Start Mission_ slider to continue the mission. The image below shows the mission that was rebuilt after the Return shown above. ![Resume Rebuilt Mission](../../../assets/fly/resume_mission_rebuilt.jpg) -::: info -A mission cannot simply resume from the last mission item that the vehicle executed, because there may be multiple items at the last waypoint that affect the next stage of the mission (e.g. speed commands or camera control commands). Instead _QGroundControl_ rebuilds the mission, starting from the last mission item flown, and automatically prepending any relevant commands to the front of the mission. +:::info +A mission cannot simply resume from the last mission item that the vehicle executed, because there may be multiple items at the last waypoint that affect the next stage of the mission (e.g. speed commands or camera control commands). +Instead _QGroundControl_ rebuilds the mission, starting from the last mission item flown, and automatically prepending any relevant commands to the front of the mission. ::: -#### Remove Mission Prompt After Landing {#resume_mission_prompt} +#### Remove Mission Prompt After Landing {#resume\_mission\_prompt} -You will be prompted to remove the mission from the vehicle after the mission completes and the vehicle lands and disarms. This is meant to prevent issues where stale missions are unknowingly left on a vehicle, potentially resulting in unexpected behavior. +You will be prompted to remove the mission from the vehicle after the mission completes and the vehicle lands and disarms. +This is meant to prevent issues where stale missions are unknowingly left on a vehicle, potentially resulting in unexpected behavior. -### Display Video {#video_switcher} +### Display Video {#video\_switcher} -When video streaming is enabled, _QGroundControl_ will display the video stream for the currently selected vehicle in the "video switcher window" at the bottom left of the map. You can press the switcher anywhere to toggle _Video_ and _Map_ to foreground (in the image below, the video is shown in the foreground). +When video streaming is enabled, _QGroundControl_ will display the video stream for the currently selected vehicle in the "video switcher window" at the bottom left of the map. +You can press the switcher anywhere to toggle _Video_ and _Map_ to foreground (in the image below, the video is shown in the foreground). ![Video Stream Record](../../../assets/fly/video_record.jpg) -::: info +:::info Video streaming is configured/enabled in [Application Settings > General tab > Video](../settings_view/general.md#video). ::: You can further configure video display using controls on the switcher: - ![Video Pop](../../../assets/fly/video_pop.jpg) +![Video Pop](../../../assets/fly/video_pop.jpg) - Resize the switcher by dragging the icon in the top right corner. - Hide the switcher by pressing the toggle icon in the lower left. -- Detach the video switcher window by pressing on the icon in its top left corner (once detached, you can move and resize the window just like any other in your OS). If you close the detached window the switcher will re-lock to the QGC Fly view. +- Detach the video switcher window by pressing on the icon in its top left corner (once detached, you can move and resize the window just like any other in your OS). + If you close the detached window the switcher will re-lock to the QGC Fly view. ### Record Video If supported by the camera and vehicle, _QGroundControl_ can start and stop video recording on the camera itself. _QGroundControl_ can also record the video stream and save it locally. -::: tip +:::tip Video stored on the camera may be of much higher quality, but it is likely that your ground station will have a much larger recording capacity. ::: #### Record Video Stream (on GCS) -Video stream recording is controlled on the [video stream instrument page](#video_instrument_page). Press the red circle to start recording a new video (a new video file is created each time the circle is pressed); the circle will change into a red square while recording is in progress. +Video stream recording is controlled on the [video stream instrument page](#video_instrument_page). +Press the red circle to start recording a new video (a new video file is created each time the circle is pressed); the circle will change into a red square while recording is in progress. ![Video Stream Record](../../../assets/fly/video_record.jpg) @@ -344,17 +413,20 @@ Video stream recording is configured in the [Application Settings > General tab] - [Video Recording](../settings_view/general.md#video-recording) - specifies the recording file format and storage limits. ::: info - Videos are saved in Matroska format (.mkv) by default. This format is relatively robust against corruption in case of errors. + Videos are saved in Matroska format (.mkv) by default. + This format is relatively robust against corruption in case of errors. ::: - [Miscellaneous](../settings_view/general.md#miscellaneous) - Streamed video is saved under the **Application Load/Save Path**. -::: tip -The stored video includes just the video stream itself. To record video with QGroundControl application elements displayed, you should use separate screen recording software. +:::tip +The stored video includes just the video stream itself. +To record video with QGroundControl application elements displayed, you should use separate screen recording software. ::: #### Record Video on Camera -Start/stop video recording _on the camera itself_ using the [camera instrument page](#camera_instrument_page). First toggle to video mode, then select the red button to start recording. +Start/stop video recording _on the camera itself_ using the [camera instrument page](#camera_instrument_page). +First toggle to video mode, then select the red button to start recording. ![Instrument Page - Camera MAVLink Settings](../../../assets/fly/instrument_page_camera_mavlink.jpg) diff --git a/docs/zh/qgc-user-guide/fly_view/replay_flight_data.md b/docs/zh/qgc-user-guide/fly_view/replay_flight_data.md index 0d385af818c..280359e29eb 100644 --- a/docs/zh/qgc-user-guide/fly_view/replay_flight_data.md +++ b/docs/zh/qgc-user-guide/fly_view/replay_flight_data.md @@ -1,32 +1,40 @@ # Replay Flight Data -::: warning -This feature is intended primarily for **autopilot developers**/**vehicle creators**. It is only supported on desktop builds (Windows, Linux, Mac OS). +:::warning +This feature is intended primarily for **autopilot developers**/**vehicle creators**. +It is only supported on desktop builds (Windows, Linux, Mac OS). ::: -The _Replay Flight Data_ feature allows users to replay a telemetry log, enabling review of past or problematic flights. The flight can be started, paused, stopped, restarted etc. +The _Replay Flight Data_ feature allows users to replay a telemetry log, enabling review of past or problematic flights. +The flight can be started, paused, stopped, restarted etc. -::: info -_QGroundControl_ treats flight replay like an active connection. When you pause/stop playing, the ground station will report "Communication Lost" and wait for disconnection or for more messages. +:::info +_QGroundControl_ treats flight replay like an active connection. +When you pause/stop playing, the ground station will report "Communication Lost" and wait for disconnection or for more messages. ::: To replay a flight: 1. Disconnect any active connections. -1. Select **Application Settings > General > Fly View** -1. Check **Show Telemetry Log Replay Status Bar** to toggle the flight replay bar at the bottom of the screen. + +2. Select **Application Settings > General > Fly View** + +3. Check **Show Telemetry Log Replay Status Bar** to toggle the flight replay bar at the bottom of the screen. ![Toggle Flight Replay](../../../assets/fly/flight_replay/flight_replay_toggle.jpg) -1. Select the **Load Telemetry Log** button in the bar to display a _file selection_ dialog. +4. Select the **Load Telemetry Log** button in the bar to display a _file selection_ dialog. - Choose a log file to replay from the available telemetry logs. - _QGroundControl_ will immediately start playing the log. -1. When a log is loaded you can use the: + +5. When a log is loaded you can use the: - **Pause/Play** button to pause and restart playing. - _Slider_ to drag to a new position in the log. - _Rate_ selector to choose the playback speed. -1. To stop replay (i.e. to load a new file to replay), first pause the flight, and then select **Disconnect** (when it appears). After disconnecting, the **Load Telemetry Log** button will be displayed. -::: tip +6. To stop replay (i.e. to load a new file to replay), first pause the flight, and then select **Disconnect** (when it appears). + After disconnecting, the **Load Telemetry Log** button will be displayed. + +:::tip You can inspect the running replay in more detail using the [MAVLink Inspector](../analyze_view/mavlink_inspector.md). ::: diff --git a/docs/zh/qgc-user-guide/fly_view/video_overlay.md b/docs/zh/qgc-user-guide/fly_view/video_overlay.md index 8411b3730cf..a43f80d34d6 100644 --- a/docs/zh/qgc-user-guide/fly_view/video_overlay.md +++ b/docs/zh/qgc-user-guide/fly_view/video_overlay.md @@ -4,21 +4,26 @@ When QGroundControl is recording a video stream to a file, it will also export a ![Values Widget](../../../assets/fly/overlay_widget.png) -The selected values are laid out in three columns to optimize the screen utilization. ![Overlay in action](../../../assets/fly/overlay_capture.png) +The selected values are laid out in three columns to optimize the screen utilization. +![Overlay in action](../../../assets/fly/overlay_capture.png) ## Playing -The overlay can be used with any player that [supports the SubStation Alpha](https://en.wikipedia.org/wiki/SubStation_Alpha#Players_and_renderers) subtitle format. Most players will open both files together when you try to play the video. They need to be in the same folder and with the same name, which is how they are created by QGC. +The overlay can be used with any player that [supports the SubStation Alpha](https://en.wikipedia.org/wiki/SubStation_Alpha#Players_and_renderers) subtitle format. +Most players will open both files together when you try to play the video. They need to be in the same folder and with the same name, which is how they are created by QGC. ## Permanent Video Subtitles using Handbrake -Subtitles can be permanently added to a video file using [HandBrake](https://handbrake.fr/). This will make the subtitles permanently visible on any video player. +Subtitles can be permanently added to a video file using [HandBrake](https://handbrake.fr/). +This will make the subtitles permanently visible on any video player. -Open **HandBrake**, you should see its main interface. Click **Open** and select the video file. +Open **HandBrake**, you should see its main interface. +Click **Open** and select the video file. ![Handbrake UI showing how to open video file](../../../assets/fly/video_overlay/1-open.png) -With the video file loaded, switch to the subtitles tab. Click **Add** to load the subtitle file. +With the video file loaded, switch to the subtitles tab. +Click **Add** to load the subtitle file. ![Handbrake UI screenshot showing how to add subtitles](../../../assets/fly/video_overlay/2-subtitles.png) diff --git a/docs/zh/qgc-user-guide/getting_started/download_and_install.md b/docs/zh/qgc-user-guide/getting_started/download_and_install.md index d28bfbbff04..e0bdcec75a8 100644 --- a/docs/zh/qgc-user-guide/getting_started/download_and_install.md +++ b/docs/zh/qgc-user-guide/getting_started/download_and_install.md @@ -2,13 +2,15 @@ The sections below can be used to download the [current stable release](../releases/release_notes.md) of _QGroundControl_ for each platform. -::: tip +:::tip See [Troubleshooting QGC Setup](../troubleshooting/qgc_setup.md) if _QGroundControl_ doesn't start and run properly after installation! ::: ## 系统配置要求 -QGC可以在任何当下流行的计算机或移动设备上正常运行。 性能表现将取决于系统环境、第三方应用程序和当前系统可使用的资源状况。 更牛的硬件配置将会提供一个更好的使用体验。 最低配置也至少要8Gb的内存,一个固态硬盘,Nvidia 或 AMD的显示卡和i5级别或更强的CPU,会让大多数应用程序执行起来爽到666 +QGC should run well on any modern computer or mobile device. Performance will depend on the system environment, 3rd party applications, and available system resources. +More capable hardware will provide a better experience. +A computer with at least 8Gb RAM, an SSD, Nvidia or AMD graphics and an i5 or better CPU will be suitable for most applications. 为了获得最好的体验和兼容性,我们推荐您使用最新版本的操作系统。 @@ -19,38 +21,46 @@ _QGroundControl_ can be installed on 64 bit versions of Windows: 1. Download [QGroundControl-installer.exe](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl-installer.exe). 2. 双击可执行文件来启动安装程序。 -::: tip -Windows 安装程序有三个快捷选项:**QGroundControl**, **GPU 兼容性模式**, **GPU 安全模式**。 除非您有遇到启动或图像渲染问题,一般情况下,使用第一个选项来安装, For more information see [Troubleshooting QGC Setup > Windows: UI Rendering/Video Driver Issues](../troubleshooting/qgc_setup.md#opengl_troubleshooting). +:::info +The Windows installer creates 3 shortcuts: **QGroundControl**, **GPU Compatibility Mode**, **GPU Safe Mode**. +Use the first shortcut unless you experience startup or video rendering issues. +For more information see [Troubleshooting QGC Setup > Windows: UI Rendering/Video Driver Issues](../troubleshooting/qgc_setup.md#opengl_troubleshooting). ::: -::: info -Prebuilt _QGroundControl_ versions from 4.0 onwards are 64-bit only. It is possible to manually build 32 bit versions (this is not supported by the dev team). +:::info +Prebuilt _QGroundControl_ versions from 4.0 onwards are 64-bit only. +It is possible to manually build 32 bit versions (this is not supported by the dev team). ::: ## Mac OS X 系统 {#macOS} _QGroundControl_ can be installed on macOS 10.11 or later: + + 1. Download [QGroundControl.dmg](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.dmg). -2. 双击.dmg 文件以挂载它,然后将*QGroundControl*应用程序拖动到您的*应用程序*文件夹。 +2. 双击.dmg 文件以挂载它,然后将_QGroundControl_应用程序拖动到您的_应用程序_文件夹。 + +::: info +QGroundControl continues to not be signed which causes problem on Catalina. To open QGC app for the first time: - > **注意** QGroundControlControl在Catalina系统上如果没有被签名认证,会有些问题发生。 当您首次打开 QGC 应用: - > - > - 右键点击QGC 应用图标,从菜单中选择Open 您只有一个选项,就是Cancel 选择 Cancel。 - > - 再次右键点击QGC 应用图标,从菜单中选择Open。 这次您会发现有 Open的选项了。 +- 右键点击QGC 应用图标,从菜单中选择Open 您只有一个选项,就是Cancel 选择 Cancel。 You will only be presented with an option to Cancel. Select Cancel. +- 再次右键点击QGC 应用图标,从菜单中选择Open。 这次您会发现有 Open的选项了。 This time you will be presented with the option to Open. + ::: ## Ubuntu Linux 系统 {#ubuntu} _QGroundControl_ can be installed/run on Ubuntu LTS 20.04 (and later). -Ubuntu comes with a serial modem manager that interferes with any robotics related use of a serial port (or USB serial). Before installing _QGroundControl_ you should remove the modem manager and grant yourself permissions to access the serial port. You also need to install _GStreamer_ in order to support video streaming. +Ubuntu comes with a serial modem manager that interferes with any robotics related use of a serial port (or USB serial). +Before installing _QGroundControl_ you should remove the modem manager and grant yourself permissions to access the serial port. +You also need to install _GStreamer_ in order to support video streaming. Before installing _QGroundControl_ for the first time: 1. On the command prompt enter: - ```sh sudo usermod -a -G dialout $USER sudo apt-get remove modemmanager -y @@ -58,9 +68,7 @@ Before installing _QGroundControl_ for the first time: sudo apt install libqt5gui5 -y sudo apt install libfuse2 -y ``` - - 2. Logout and login again to enable the change to user permissions.   To install _QGroundControl_: @@ -70,13 +78,16 @@ Before installing _QGroundControl_ for the first time: sh chmod +x ./QGroundControl.AppImage ./QGroundControl.AppImage (or double click) + ```sh + **注意** QGroundControlControl在Catalina系统上如果没有被签名认证,会有些问题发生。 当您首次打开 QGC 应用: + ``` -::: info There are known [video steaming issues](../troubleshooting/qgc_setup.md#dual_vga) on Ubuntu 18.04 systems with dual adaptors. ::: -::: info -Prebuilt _QGroundControl_ versions from 4.0 cannot run on Ubuntu 16.04. To run these versions on Ubuntu 16.04 you can [build QGroundControl from source without video libraries](https://dev.qgroundcontrol.com/en/getting_started/). +:::info +Prebuilt _QGroundControl_ versions from 4.0 cannot run on Ubuntu 16.04. +To run these versions on Ubuntu 16.04 you can [build QGroundControl from source without video libraries](https://dev.qgroundcontrol.com/en/getting_started/). ::: ## Android {#android} diff --git a/docs/zh/qgc-user-guide/getting_started/quick_start.md b/docs/zh/qgc-user-guide/getting_started/quick_start.md index 77c92328cdf..80ed2271ade 100644 --- a/docs/zh/qgc-user-guide/getting_started/quick_start.md +++ b/docs/zh/qgc-user-guide/getting_started/quick_start.md @@ -3,21 +3,25 @@ 让 _QGroundControl_ 轻松入门上手使用: 1. [下载并安装](../getting_started/download_and_install.md) 应用程序. -2. 启动*QGroundControl*。 -3. 通过USB有线通讯线缆、无线数据传输或WiFi将您的设备与地面站设备相联接。 *QGroundControl*应检测您的设备并自动连接它。 +2. 启动_QGroundControl_。 +3. Attach your vehicle to the ground station device via USB, through a telemetry radio, or over WiFi. _QGroundControl_ should detect your vehicle and connect to it automatically. -就这么简单! 如果设备准备飞行(无人机是飞,其它设备是运行),*QGroundControl*应显示如下[Fly View](../fly_view/fly_view.md) (否则将打开[Setup View](../setup_view/setup_view.md))。 +That's it! 就这么简单! 如果设备准备飞行(无人机是飞,其它设备是运行),_QGroundControl_应显示如下[Fly View](../fly_view/fly_view.md) (否则将打开[Setup View](../setup_view/setup_view.md))。 ![](../../../assets/quickstart/fly_view_connected_vehicle.jpg) -要想把*QGroundControl*玩的纯熟,最好方法是亲自上手折腾: +要想把_QGroundControl_玩的纯熟,最好方法是亲自上手折腾: - 使用[工具栏](../toolbar/toolbar.md)在主视图之间切换: - [Settings](../settings_view/settings_view.md):配置 _QGroundControl_ 应用程序。 - [Setup](../setup_view/setup_view.md):配置和调试你的设备。 - [Plan](../plan_view/plan_view.md):创建自主自动执行的任务 - [Fly](../fly_view/fly_view.md):在飞行时监测您的车辆,包括视频流。 - - [Analyze] ** Description of Analyze view is missing ** -- 点击工具栏上的*Status 图标*来确认已连接设备的状态。 + - \[Analyze] \*\* Description of Analyze view is missing \*\* +- 点击工具栏上的_Status 图标_来确认已连接设备的状态。 -虽然软件的界面相当直观亲和,但是这篇文档也能给您带来更多信息让您更加容易上手把玩QGC。 +While the UI is fairly intuitive, this documentation can also be referenced to find out more. + +:::info +Make sure QGC has an internet connection when you connect a new vehicle. This will allow it to get the latest parameter and other metadata for the vehicle, along with [translations](../settings_view/general.md#miscellaneous). +::: diff --git a/docs/zh/qgc-user-guide/index.md b/docs/zh/qgc-user-guide/index.md index 96db5c726b4..a72034f948f 100644 --- a/docs/zh/qgc-user-guide/index.md +++ b/docs/zh/qgc-user-guide/index.md @@ -1,8 +1,9 @@ # QGroundControl用户指南 -[![Releases](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases) [![Discuss](https://img.shields.io/badge/discuss-px4-ff69b4.svg)](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-usage) [![Discuss](https://img.shields.io/badge/discuss-ardupilot-ff69b4.svg)](http://discuss.ardupilot.org/c/ground-control-software/qgroundcontrol) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mavlink/qgroundcontrol?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Slack](../../assets/site/slack.svg)](https://join.slack.com/t/px4/shared_invite/zt-si4xo5qs-R4baYFmMjlrT4rQK5yUnaA) +[![Releases](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases) [![Discuss](https://img.shields.io/badge/discuss-px4-ff69b4.svg)](http://discuss.px4.io/c/qgroundcontrol/qgroundcontrol-usage) [![Discuss](https://img.shields.io/badge/discuss-ardupilot-ff69b4.svg)](http://discuss.ardupilot.org/c/ground-control-software/qgroundcontrol) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mavlink/qgroundcontrol?utm_source=badge\&utm_medium=badge\&utm_campaign=pr-badge\&utm_content=badge) [![Slack](../../assets/site/slack.svg)](https://join.slack.com/t/px4/shared_invite/zt-si4xo5qs-R4baYFmMjlrT4rQK5yUnaA) _QGroundControl_ 向PX4 或 ArduPilot 驱动的载具平台提供了全方位的飞行控制接口和载具设置接口。 它为初学者提供了方便直接的使用方法,同时仍然为有经验的用户提供高端功能支持。 +It provides easy and straightforward usage for beginners, while still delivering high end feature support for experienced users. **主要特性:** @@ -10,16 +11,17 @@ _QGroundControl_ 向PX4 或 ArduPilot 驱动的载具平台提供了全方位的 - 支持运行PX4和ArduPilot的载具(或使用MAVLink协议通信的任何其他自动驾驶仪)。 - 自主飞行的任务规划。 - 飞行地图上可显示载具的位置、飞行轨迹、航点和仪表盘等。 -- 叠加层的视频显示。 -- 支持一站多机。 +- Video streaming with instrument display overlays. +- Support for managing multiple vehicles. - QGC 可运行于Windows, OS X, Linux平台, iOS 和 Android 设备。 ![](../../assets/quickstart/connected_vehicle.jpg) -::: info -本指南将持续更新! 本指南多提供的信息应该是正确的,但不排除信息缺失或页面不完整。 +:::info +This guide is an active work in progress. +The information provided should be correct, but you may find missing information or incomplete pages. ::: -::: tip +:::tip 关于 _QGroundControl_ 开发、架构、贡献和翻译的信息可在 [开发者指南](https://dev.qgroundcontrol.com/en/) 中找到。 ::: diff --git a/docs/zh/qgc-user-guide/plan_view/pattern.md b/docs/zh/qgc-user-guide/plan_view/pattern.md index c5aafe994a5..2edc2baa695 100644 --- a/docs/zh/qgc-user-guide/plan_view/pattern.md +++ b/docs/zh/qgc-user-guide/plan_view/pattern.md @@ -1,14 +1,13 @@ # Pattern -The _Pattern tools_ (in the [PlanView](../plan_view/plan_view.md) _Plan Tools_) allow you to specify complex flight patterns using a simple graphical UI. The available pattern tools depend on the vehicle (and support for the vehicle-type in the flight stack). +The _Pattern tools_ (in the [PlanView](../plan_view/plan_view.md) _Plan Tools_) allow you to specify complex flight patterns using a simple graphical UI. +The available pattern tools depend on the vehicle (and support for the vehicle-type in the flight stack). ![Pattern Tool (Plan Tools)](../../../assets/plan/pattern/pattern_tool.jpg) -| Pattern | Description | Vehicles | -| ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ---------- | -| [Survey](../plan_view/pattern_survey.md) | Create a grid flight pattern over a polygonal area. | -| You can specify the polygon as well as the specifications for the grid and camera settings appropriate for creating geotagged images. | All | -| [Structure Scan](../plan_view/pattern_structure_scan_v2.md) | Create a grid flight pattern that captures images over vertical surfaces (polygonal or circular). | -| These are typically used for the visual inspection or creation of 3D models of structures. | MultiCopter, VTOL | -| [Corridor Scan](../plan_view/pattern_corridor_scan.md) | Create a flight pattern which follows a poly-line (for example, to survey a road). | All | -| [Fixed Wing Landing](../plan_view/pattern_fixed_wing_landing.md) | Add a landing pattern for fixed wing vehicles to a mission. | Fixed Wing | +| Pattern | Description | Vehicles | +| ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | +| [Survey](../plan_view/pattern_survey.md) | Create a grid flight pattern over a polygonal area. You can specify the polygon as well as the specifications for the grid and camera settings appropriate for creating geotagged images. | All | +| [Structure Scan](../plan_view/pattern_structure_scan_v2.md) | Create a grid flight pattern that captures images over vertical surfaces (polygonal or circular). These are typically used for the visual inspection or creation of 3D models of structures. | MultiCopter, VTOL | +| [Corridor Scan](../plan_view/pattern_corridor_scan.md) | Create a flight pattern which follows a poly-line (for example, to survey a road). | All | +| [Fixed Wing Landing](../plan_view/pattern_fixed_wing_landing.md) | Add a landing pattern for fixed wing vehicles to a mission. | Fixed Wing | diff --git a/docs/zh/qgc-user-guide/plan_view/pattern_corridor_scan.md b/docs/zh/qgc-user-guide/plan_view/pattern_corridor_scan.md index aefb7e771e5..d5195290484 100644 --- a/docs/zh/qgc-user-guide/plan_view/pattern_corridor_scan.md +++ b/docs/zh/qgc-user-guide/plan_view/pattern_corridor_scan.md @@ -13,15 +13,17 @@ You can specify the path, the width of the corridor, and camera settings appropr To create a corridor scan: 1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + 2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Corridor Scan_. -![Corridor Scan](../../../assets/plan/corridor_scan_menu.jpg) + ![Corridor Scan](../../../assets/plan/corridor_scan_menu.jpg) -This will add a corridor to the map, and a _Corridor Scan_ item to the mission list (on the right). + This will add a corridor to the map, and a _Corridor Scan_ item to the mission list (on the right). 3. On the map drag the ends of the corridor to the start and end positions of the scan, respectively. -4. Click the `(+)` symbol at the centre of a line to create a new vertix. The new vertix can then be dragged into position to follow the path of the desired corridor. +4. Click the `(+)` symbol at the centre of a line to create a new vertix. + The new vertix can then be dragged into position to follow the path of the desired corridor. The corridor scan settings are covered in the next section. @@ -31,7 +33,9 @@ The corridor scan can be further configured in the associated mission item (in t ### Camera -Camera triggering behaviour depends on the camera/camera settings. You can select an existing camera or manually enter the settings. The list of available cameras (QGC 3.4) is given below. +Camera triggering behaviour depends on the camera/camera settings. +You can select an existing camera or manually enter the settings. +The list of available cameras (QGC 3.4) is given below. ![Corridor Scan - Select Camera](../../../assets/plan/corridor_scan_settings_camera_select.jpg) @@ -73,13 +77,14 @@ The configurable options are: - **Relative altitude** - Check to specify a relative altitude. This is only supported for manual grids that are not using [terrain following](#terrain_following). - **Rotate entry point** - Press button to swap the start and end point of the corridor scan. -### Terrain Following {#terrain_following} +### Terrain Following {#terrain\_following} -By default a flying vehicle will follow the corridor path at a fixed altitude. Enabling _Terrain Following_ makes the vehicle maintain a constant height relative to ground. +By default a flying vehicle will follow the corridor path at a fixed altitude. +Enabling _Terrain Following_ makes the vehicle maintain a constant height relative to ground. ![Corridor Scan - Terrain Following Settings](../../../assets/plan/corridor_scan_settings_terrain.jpg) -::: info +:::info Terrain following uses terrain heights queried from _AirMap_ servers. ::: diff --git a/docs/zh/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md b/docs/zh/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md index 0addd4e57c3..451aefb2881 100644 --- a/docs/zh/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md +++ b/docs/zh/qgc-user-guide/plan_view/pattern_fixed_wing_landing.md @@ -1,10 +1,12 @@ # Fixed Wing Landing Pattern (Plan Pattern) -The _Fixed Wing Landing Pattern_ tool allows you to add a fixed wing landing pattern to a mission. It is supported on both ArduPilot and PX4. +The _Fixed Wing Landing Pattern_ tool allows you to add a fixed wing landing pattern to a mission. +It is supported on both ArduPilot and PX4. ![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern.jpg) -The first point of the pattern is a loiter point with a specific altitude and the second is a landing point. The vehicle will loiter at the first point until it reaches the target altitude, and then begin the landing sequence to fly down to the specified landing spot. +The first point of the pattern is a loiter point with a specific altitude and the second is a landing point. +The vehicle will loiter at the first point until it reaches the target altitude, and then begin the landing sequence to fly down to the specified landing spot. Both the loiter and land points can be dragged to new positions, and a number of other settings can be configured in the associated mission item. @@ -13,15 +15,17 @@ Both the loiter and land points can be dragged to new positions, and a number of To create a landing pattern: 1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + 2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Fixed Wing Landing Pattern_. -![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern_menu.jpg) + ![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern_menu.jpg) -This will add a _Landing Pattern_ item to the mission list (on the right). + This will add a _Landing Pattern_ item to the mission list (on the right). -![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern_mission_item_initial.jpg) + ![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern_mission_item_initial.jpg) -3. Click on the map to create both the loiter point and the landing point. These can be moved on the map. +3. Click on the map to create both the loiter point and the landing point. + These can be moved on the map. Additional settings are covered in the next section. @@ -68,6 +72,6 @@ The vehicle flares to landing using a flight path generated by the firmware betw If those two locations violate the vehicle's flare constraints (e.g. descent angle is too steep) an error will be raised after you upload the invalid mission to the vehicle. -::: info +:::info On PX4, violating the flare constraints sends an error message to the ground station at upload time, and the autopilot will refuse to start the mission (since it fails integrity checks). ::: diff --git a/docs/zh/qgc-user-guide/plan_view/pattern_presets.md b/docs/zh/qgc-user-guide/plan_view/pattern_presets.md index 77a7fbc17aa..fc94879d5d6 100644 --- a/docs/zh/qgc-user-guide/plan_view/pattern_presets.md +++ b/docs/zh/qgc-user-guide/plan_view/pattern_presets.md @@ -2,7 +2,7 @@ Allows you to save commonly used settings as a named preset. -::: info +:::info Currently only supported by Survey. Support for other Patterns is in development. ::: diff --git a/docs/zh/qgc-user-guide/plan_view/pattern_structure_scan_v2.md b/docs/zh/qgc-user-guide/plan_view/pattern_structure_scan_v2.md index 68413d3220d..3e32df27314 100644 --- a/docs/zh/qgc-user-guide/plan_view/pattern_structure_scan_v2.md +++ b/docs/zh/qgc-user-guide/plan_view/pattern_structure_scan_v2.md @@ -1,20 +1,24 @@ # Structure Scan (Plan Pattern) -A _Structure Scan_ allows you to create a grid flight pattern that captures images over _vertical surfaces_ (e.g. walls) around a structure with an arbitrary polygonal (or circular) ground footprint. Structure Scans are typically used for the visual inspection or creating 3D models of structures. +A _Structure Scan_ allows you to create a grid flight pattern that captures images over _vertical surfaces_ (e.g. walls) around a structure with an arbitrary polygonal (or circular) ground footprint. +Structure Scans are typically used for the visual inspection or creating 3D models of structures. _Structure Scans_ may be inserted into a mission using the Plan view **Pattern > Structure Scan** tool. -::: info +:::info The new version of _Structure Scan_ can't read older _Structure Scan_ plans. They will need to be recreated. ::: -::: warning -This feature is not yet supported by ArduPilot firmware. It is supported in PX4. +:::warning +This feature is not yet supported by ArduPilot firmware. +It is supported in PX4. ::: ## Overview -The image below shows a screenshot of structure scan. The green polygon is used to mark out the ground footprint of the structure, while the white line around it indicates the vehicle flight path. The green numbered circle on the flight path is the scan entry/exit point (where the scan starts). +The image below shows a screenshot of structure scan. +The green polygon is used to mark out the ground footprint of the structure, while the white line around it indicates the vehicle flight path. +The green numbered circle on the flight path is the scan entry/exit point (where the scan starts). ![Structure Scan](../../../assets/plan/structure_scan_v2/structure_scan.jpg) @@ -32,23 +36,24 @@ To create a scan: ![Create Scan JPG](../../../assets/plan/structure_scan_v2/create_scan.jpg) -2. This will create a simple square structure scan on the map. +1. This will create a simple square structure scan on the map. -![Initial Polygon](../../../assets/plan/structure_scan_v2/initial_polygon_scan.jpg) + ![Initial Polygon](../../../assets/plan/structure_scan_v2/initial_polygon_scan.jpg) -The region shown in green must be modified so that it surrounds the structure. + The region shown in green must be modified so that it surrounds the structure. -- Drag the opaque vertices on the map to the edge of the structure (example circled in mauve above). -- If the structure footprint is more than a simple square you can click the semi-transparent circles between the vertices to create a new vertix. + - Drag the opaque vertices on the map to the edge of the structure (example circled in mauve above). + - If the structure footprint is more than a simple square you can click the semi-transparent circles between the vertices to create a new vertix. -3. You can also change to a circular footprint by clicking on the central "vertix" (marked in red) and selecting _Circle_ in the popup menu. +2. You can also change to a circular footprint by clicking on the central "vertix" (marked in red) and selecting _Circle_ in the popup menu. -![Circle Scan](../../../assets/plan/structure_scan_v2/circle_scan.jpg). + ![Circle Scan](../../../assets/plan/structure_scan_v2/circle_scan.jpg). -- From the popup menu you can switch back to a polygon footprint and change the radius and/or position of the scan. -- Drag the central vertix to position the centre of the circle. + - From the popup menu you can switch back to a polygon footprint and change the radius and/or position of the scan. + - Drag the central vertix to position the centre of the circle. -4. The rest of the configuration is handled using the _Structure Scan_ editor on the right hand side of the view. First select whether you want to perform a manual scan, a scan using a particular camera, or a scan using a custom camera definition. +3. The rest of the configuration is handled using the _Structure Scan_ editor on the right hand side of the view. + First select whether you want to perform a manual scan, a scan using a particular camera, or a scan using a custom camera definition. ::: info The main difference between the modes is that predefined cameras are already set up to correctly calculate an effective layer height and trigger distance. @@ -66,18 +71,22 @@ The user can always configure the following settings: - **Entrance/Exit Alt:** Use this setting to avoid obstacles between the last/next waypoint and the structure to be scanned. - The vehicle will fly to the _Entrance/Exit_ point at this altitude and then descend to the initial layer to start the scan. - The vehicle will ascend to this altitude after completing the scan and then move to the next waypoint. -- **Scan Bottom Alt:** Use this setting to avoid obstacles around the base of the structure. This adjust the bottom of the structure to be above the ground, and hence the altitude of the first scan (the height of the lowest layer flight path is shown in the scan statistics as _Bottom Layer Alt_. +- **Scan Bottom Alt:** Use this setting to avoid obstacles around the base of the structure. + This adjust the bottom of the structure to be above the ground, and hence the altitude of the first scan (the height of the lowest layer flight path is shown in the scan statistics as _Bottom Layer Alt_. - **Rotate Entry Point:** Move the start/finish point to the next vertix/position on the flight path. The remaining settings depend on the _camera mode_: - _Manual Mode_ allows you to specify: - - **Layer height:** The height of each layer. - - **Trigger Distance:** The distance between each camera trigger. The camera is only triggered while flying the layer path. It does not trigger images while transitioning from one layer to the next. + - **Trigger Distance:** The distance between each camera trigger. + The camera is only triggered while flying the layer path. + It does not trigger images while transitioning from one layer to the next. - **Gimbal Pitch** - Gimbal pitch you want to use for the scan. -- _Known/pre-defined cameras_ automatically calculates layer heights and image triggering from required image overlap, and allows you to trade off scan distance and require image resolution. It also ensures that the camera is pointed directly at the surface when it is capturing images (i.e. at a right angle rather than some tangent). The settings are: +- _Known/pre-defined cameras_ automatically calculates layer heights and image triggering from required image overlap, and allows you to trade off scan distance and require image resolution. + It also ensures that the camera is pointed directly at the surface when it is capturing images (i.e. at a right angle rather than some tangent). + The settings are: - **Camera Orientation:** Portrait or Landscape - _Overlap_: diff --git a/docs/zh/qgc-user-guide/plan_view/pattern_survey.md b/docs/zh/qgc-user-guide/plan_view/pattern_survey.md index 1dcc47c7d38..db492c27206 100644 --- a/docs/zh/qgc-user-guide/plan_view/pattern_survey.md +++ b/docs/zh/qgc-user-guide/plan_view/pattern_survey.md @@ -1,11 +1,14 @@ # Survey (Plan Pattern) -A survey allows you to create a grid flight pattern over a polygonal area. You can specify an arbitrary polygon, the angle and other properties of the grid, and camera settings appropriate for creating geotagged images. +A survey allows you to create a grid flight pattern over a polygonal area. +You can specify an arbitrary polygon, the angle and other properties of the grid, and camera settings appropriate for creating geotagged images. ::: warning If the survey area has significant elevation variation then consider enabling [Terrain Following](#terrain). -When planning a Survey using camera specifications, the ground under the survey area are assumed to be flat - i.e. at the same altitude as the launch/home location. If the ground elevation under the survey is either higher or lower than the home location the effective overlap in images will be less or more (respectively) than calculated. If ground elevation under the survey area is _significantly_ higher than the home location you could inadvertently plan a mission path that causes the vehicle to fly into ground-level obstacles. +When planning a Survey using camera specifications, the ground under the survey area are assumed to be flat - i.e. at the same altitude as the launch/home location. +If the ground elevation under the survey is either higher or lower than the home location the effective overlap in images will be less or more (respectively) than calculated. +If ground elevation under the survey area is _significantly_ higher than the home location you could inadvertently plan a mission path that causes the vehicle to fly into ground-level obstacles. Using terrain following ensures that the survey more closely matches the desired altitude above terrain, and reduces the likelihood of planning a mission that is too close to ground level. ::: @@ -17,15 +20,17 @@ Using terrain following ensures that the survey more closely matches the desired To create a survey: 1. Open [PlanView](../plan_view/plan_view.md) _Plan Tools_. + 2. Choose the _Pattern Tool_ from the _Plan Tools_ and then select _Survey_. -![Survey Menu](../../../assets/plan/survey/survey_menu.jpg) + ![Survey Menu](../../../assets/plan/survey/survey_menu.jpg) -This will add a survey grid to the map, and a _Survey_ item to the mission list (on the right). + This will add a survey grid to the map, and a _Survey_ item to the mission list (on the right). 3. On the map drag the vertices to change the shape of the polygon. -4. Click the `(+)` symbol between existing vertices to create a new vertix. The new vertix can then be dragged into a new position. +4. Click the `(+)` symbol between existing vertices to create a new vertix. + The new vertix can then be dragged into a new position. The survey settings are covered in the next section. @@ -35,11 +40,13 @@ The survey can be further configured in the associated mission item (in the miss ### Camera -Camera triggering behaviour depends on the camera/camera settings. You can select an existing camera, custom camera, or manually enter the settings. The list of available cameras (QGC 3.4) is given below. +Camera triggering behaviour depends on the camera/camera settings. +You can select an existing camera, custom camera, or manually enter the settings. +The list of available cameras (QGC 3.4) is given below. ![Survey - Camera Select](../../../assets/plan/survey/survey_camera_select.jpg) -#### Known Camera {#known_camera} +#### Known Camera {#known\_camera} Selecting a known camera from the option dropdown generates a grid pattern based on the camera capabilities. @@ -48,12 +55,13 @@ Selecting a known camera from the option dropdown generates a grid pattern based The default settings can be tuned for your survey using the configuration options: - **Landscape/Portrait** - Camera orientation relative to the "normal" orientation of the vehicle. -- **Overlap** - Overlap between each image capture. This can be configured separately for when flying along grid lines or across them. +- **Overlap** - Overlap between each image capture. + This can be configured separately for when flying along grid lines or across them. - Select one of: - **Altitude** - Survey altitude (ground resolution will be calculated/displayed for this altitude). - **Ground resolution** - Ground resolution for each image (altitude required to achieve this resolution calculated and shown). -#### Custom Camera {#custom_camera} +#### Custom Camera {#custom\_camera} Selecting the custom camera option allows you to specify the settings for a new camera in a similar way to a known camera. @@ -87,21 +95,24 @@ The _Transects_ section is used for grid settings that are independent of the ca The configurable options are: -- **Angle** - The angle of the grid lines, relative to North. ![Survey - Angle](../../../assets/plan/survey/survey_transects_angle.jpg) +- **Angle** - The angle of the grid lines, relative to North. + ![Survey - Angle](../../../assets/plan/survey/survey_transects_angle.jpg) - **Turnaround dist** - Amount of additional distance to add outside the survey area for vehicle turn around. - **Rotate Entry Point** - Press button to swap the start and end point of the survey. - **Hover and capture image** - Hover to capture images (multicopter only). -- **Refly at 90 degree offset** - Check to refly the whole mission at a 90 degree offset. ![Survey - Fly Offset](../../../assets/plan/survey/survey_transects_offset.jpg) +- **Refly at 90 degree offset** - Check to refly the whole mission at a 90 degree offset. + ![Survey - Fly Offset](../../../assets/plan/survey/survey_transects_offset.jpg) - **Images in turnarounds** - Check to take images when turning - **Relative altitude** - Check to make specified altitudes relative to home (if unchecked they are AMSL). ### Terrain -By default, a flying vehicle will follow the survey path at a fixed altitude. Enabling _Terrain Following_ makes the vehicle maintain a constant height relative to ground. +By default, a flying vehicle will follow the survey path at a fixed altitude. +Enabling _Terrain Following_ makes the vehicle maintain a constant height relative to ground. ![Survey - Terrain Following Settings](../../../assets/plan/survey/survey_terrain.jpg) -::: info +:::info Terrain following uses terrain heights queried from _AirMap_ servers. ::: diff --git a/docs/zh/qgc-user-guide/plan_view/plan_geofence.md b/docs/zh/qgc-user-guide/plan_view/plan_geofence.md index 3dd11db2d45..40e5180c7c3 100644 --- a/docs/zh/qgc-user-guide/plan_view/plan_geofence.md +++ b/docs/zh/qgc-user-guide/plan_view/plan_geofence.md @@ -1,11 +1,13 @@ # Plan View - GeoFence -GeoFences allow you to create virtual regions within which the vehicle can fly, or in which it is _not allowed_ to fly. You can also configure the action taken if you fly outside permitted areas. +GeoFences allow you to create virtual regions within which the vehicle can fly, or in which it is _not allowed_ to fly. +You can also configure the action taken if you fly outside permitted areas. ![Geofence overview](../../../assets/plan/geofence/geofence_overview.jpg) -::: info ArduPilot users -GeoFence support is only supported by Rover 3.6 and Copter 3.7 or higher. It also requires usage of a Daily build or Stable 3.6 (once available). _QGroundControl_ will not display the GeoFence options if they are not supported by the connected vehicle. +:::info +GeoFence support is only supported by Rover 3.6 and Copter 3.7 or higher. It also requires usage of a Daily build or Stable 3.6 (once available). +_QGroundControl_ will not display the GeoFence options if they are not supported by the connected vehicle. ::: ## Create a Geofence @@ -13,14 +15,18 @@ GeoFence support is only supported by Rover 3.6 and Copter 3.7 or higher. It als To create a GeoFence: 1. Navigate to the Plan View + 2. Select the _Geofence_ radio button above the Mission Command List ![Select geofence radio button](../../../assets/plan/geofence/geofence_select.jpg) -3. Insert a circular or polygon region by pressing the **Circular Fence** or **Polygon Fence** button, respectively. A new region will be added to the map and to the associated list of fences below the buttons. - ::: tip - You can create multiple regions by pressing the buttons multiple times, allowing complex geofence definitions to be created. - ::: +3. Insert a circular or polygon region by pressing the **Circular Fence** or **Polygon Fence** button, respectively. + A new region will be added to the map and to the associated list of fences below the buttons. + +:::tip +::: tip +You can create multiple regions by pressing the buttons multiple times, allowing complex geofence definitions to be created. +::: - Circular region: @@ -29,15 +35,21 @@ To create a GeoFence: - Move the region by dragging the central dot on the map - Resize the circle by dragging the dot on the edge of the circle (or you can change the radius value in the fence panel). -- Polygon region: +- ::: + + Polygon region: ![Polygon Geofence](../../../assets/plan/geofence/geofence_polygon.jpg) + - Move the vertices by dragging the filled dots - Create new vertices by clicking the "unfilled" dots on the lines between the filled vertices. - 1. By default new regions are created as _inclusion_ zones (vehicles must stay within the region). Change them to exclusion zones (where the vehicle can't travel) by unchecking the associated _Inclusion_ checkbox in the fence panel. + +1. By default new regions are created as _inclusion_ zones (vehicles must stay within the region). + Change them to exclusion zones (where the vehicle can't travel) by unchecking the associated _Inclusion_ checkbox in the fence panel. ## Edit/Delete a GeoFence -You can select a geofence region to edit by selecting its _Edit_ radio button in the GeoFence panel. You can then edit the region on the map as described in the previous section. +You can select a geofence region to edit by selecting its _Edit_ radio button in the GeoFence panel. +You can then edit the region on the map as described in the previous section. Regions can be deleted by pressing the associated **Del** button. diff --git a/docs/zh/qgc-user-guide/plan_view/plan_rally_points.md b/docs/zh/qgc-user-guide/plan_view/plan_rally_points.md index f156a2cfeac..7570266df30 100644 --- a/docs/zh/qgc-user-guide/plan_view/plan_rally_points.md +++ b/docs/zh/qgc-user-guide/plan_view/plan_rally_points.md @@ -1,9 +1,13 @@ # Plan View - Rally Points -Rally Points are alternative landing or loiter locations. They are typically used to provide a safer or more convenient (e.g. closer) destination than the home position in Return/RTL mode. - -::: info -Rally Points are only supported by ArduPilot on Rover 3.6 and Copter 3.7 (or higher). PX4 support is planned in PX4 v1.10 timeframes. It also requires usage of a Daily build or Stable 3.6 (once available). _QGroundControl_ will not display the Rally Point options if they are not supported by the connected vehicle. +Rally Points are alternative landing or loiter locations. +They are typically used to provide a safer or more convenient (e.g. closer) destination than the home position in Return/RTL mode. + +:::info +Rally Points are only supported by ArduPilot on Rover 3.6 and Copter 3.7 (or higher). +PX4 support is planned in PX4 v1.10 timeframes. +It also requires usage of a Daily build or Stable 3.6 (once available). +_QGroundControl_ will not display the Rally Point options if they are not supported by the connected vehicle. ::: ![Rally Points](../../../assets/plan/rally/rally_points_overview.jpg) diff --git a/docs/zh/qgc-user-guide/plan_view/plan_view.md b/docs/zh/qgc-user-guide/plan_view/plan_view.md index 92d233f2c7e..1cc667f3b7f 100644 --- a/docs/zh/qgc-user-guide/plan_view/plan_view.md +++ b/docs/zh/qgc-user-guide/plan_view/plan_view.md @@ -7,13 +7,14 @@ It is also use to configure the [GeoFence](plan_geofence.md) and [Rally Points]( ![Plan View](../../../assets/plan/plan_view_overview.jpg) -## UI Overview {#ui_overview} +## UI Overview {#ui\_overview} The [screenshot above](#plan_screenshot) shows a simple mission plan that starts with a takeoff at the [Planned Home](#planned_home) position (H), flies through three waypoints, and then lands on the last waypoint (i.e. waypoint 3). The main elements of the UI are: -- **Map:** Displays the numbered indicators for the current mission, including the [Planned Home](#planned_home). Click on the indicators to select them (for editing) or drag them around to reposition them. +- **Map:** Displays the numbered indicators for the current mission, including the [Planned Home](#planned_home). + Click on the indicators to select them (for editing) or drag them around to reposition them. - **Plan Toolbar:** Status information for the currently selected waypoint relative to the previous waypoint, as well as statistics for the entire mission (e.g. horizontal distance and time for mission). - `Max telem dist` is the distance between the [Planned Home](#planned_home) and the furthest waypoint. - When connected to a vehicle it also shows an **Upload** button, can be used to upload the plan to the vehicle. @@ -23,7 +24,7 @@ The main elements of the UI are: It shows you information related to the currently selected waypoint as well as statistics for the entire mission. -## Planning a Mission {#plan_mission} +## Planning a Mission {#plan\_mission} At very high level, the steps to create a mission are: @@ -34,37 +35,42 @@ At very high level, the steps to create a mission are: The following sections explain some of the details in the view. -## Planned Home Position {#planned_home} +## Planned Home Position {#planned\_home} -The _Planned Home_ shown in _Plan View_ is used to set the approximate start point when planning a mission (i.e. when a vehicle may not even be connected to QGC). It is used by QGC to estimate mission times and to draw waypoint lines. +The _Planned Home_ shown in _Plan View_ is used to set the approximate start point when planning a mission (i.e. when a vehicle may not even be connected to QGC). +It is used by QGC to estimate mission times and to draw waypoint lines. ![Planned Home Position](../../../assets/plan/mission/mission_settings_planned_home.jpg) -You should move/drag the planned home position to roughly the location where you plan to takeoff. The altitude for the planned home position is set in the [Mission Settings](#mission_settings) panel. +You should move/drag the planned home position to roughly the location where you plan to takeoff. +The altitude for the planned home position is set in the [Mission Settings](#mission_settings) panel. - + -::: tip +:::tip The Fly View displays the _actual_ home position set by the vehicle firmware when it arms (this is where the vehicle will return in Return/RTL mode). ::: -## Plan Tools {#plan_tools} +## Plan Tools {#plan\_tools} The plan tools are used for adding individual waypoints, easing mission creation for complicated geometries, uploading/downloading/saving/restoring missions, and for navigating the map. The main tools are described below. -::: info +:::info **Center map**, **Zoom In**, **Zoom Out** tools help users better view and navigate the _Plan view_ map (they don't affect the mission commands sent to the vehicle). ::: ### Add Waypoints -Click on the **Add Waypoint** tool to activate it. While active, clicking on the map will add new mission waypoint at the clicked location. The tool will stay active until you select it again. Once you have added a waypoint, you can select it and drag it around to change its position. +Click on the **Add Waypoint** tool to activate it. While active, clicking on the map will add new mission waypoint at the clicked location. +The tool will stay active until you select it again. +Once you have added a waypoint, you can select it and drag it around to change its position. ### File (Sync) {#file} -The _File tools_ are used to move missions between the ground station and vehicle, and to save/restore them from files. The tool displays an `!` to indicate that there are mission changes that you have not sent to the vehicle. +The _File tools_ are used to move missions between the ground station and vehicle, and to save/restore them from files. +The tool displays an `!` to indicate that there are mission changes that you have not sent to the vehicle. -::: info +:::info Before you fly a mission you must upload it to the vehicle. ::: @@ -80,29 +86,35 @@ The _File tools_ provide the following functionality: The [Pattern](Pattern.md) tool simplifies the creation of missions for flying complex geometries, including [surveys](../plan_view/pattern_survey.md) and [structure scans](../plan_view/pattern_structure_scan_v2.md). -## Mission Command List {#mission_command_list} +## Mission Command List {#mission\_command\_list} -Mission commands for the current mission are listed on the right side of the view. At the top are a set of options to switch between editing the mission, GeoFence and rally points. Within the list you can select individual mission items to edit their values. +Mission commands for the current mission are listed on the right side of the view. +At the top are a set of options to switch between editing the mission, GeoFence and rally points. +Within the list you can select individual mission items to edit their values. ![Mission Command List](../../../assets/plan/mission/mission_command_list.jpg) -### Mission Command Editors {#mission_command_editors} +### Mission Command Editors {#mission\_command\_editors} Click on a mission command in the list to display its editor (in which you can set/change the command attributes). -You can change the **type** of the command by clicking on the command name (for example: _Waypoint_). This will display the _Select Mission Command_ dialog shown below. By default this just displays the "Basic Commands", but you can use the **Category** drop down menu to display more (e.g. choose **All commands** to see all the options). +You can change the **type** of the command by clicking on the command name (for example: _Waypoint_). +This will display the _Select Mission Command_ dialog shown below. +By default this just displays the "Basic Commands", but you can use the **Category** drop down menu to display more (e.g. choose **All commands** to see all the options). - + To the right of each command name is a menu that you can click to access to additional options such as _Insert_ and _Delete_. -::: info -The list of available commands will depend on firmware and vehicle type. Examples may include: Waypoint, Start image capture, Jump to item (to repeat mission) and other commands. +:::info +The list of available commands will depend on firmware and vehicle type. +Examples may include: Waypoint, Start image capture, Jump to item (to repeat mission) and other commands. ::: -### Mission Settings {#mission_settings} +### Mission Settings {#mission\_settings} -The _Mission Start_ panel is the first item that appears in the [mission command list](#mission_command_list). It may be used to specify a number default settings that may affect the start or end of the mission. +The _Mission Start_ panel is the first item that appears in the [mission command list](#mission_command_list). +It may be used to specify a number default settings that may affect the start or end of the mission. ![Mission Command List - showing mission settings](../../../assets/plan/mission_start.png) @@ -112,7 +124,8 @@ The _Mission Start_ panel is the first item that appears in the [mission command ##### Waypoint alt -Set the default altitude for the first mission item added to a plan (subsequent items take an initial altitude from the previous item). This can also be used to change the altitude of all items in a plan to the same value; you will be prompted if you change the value when there are items in a plan. +Set the default altitude for the first mission item added to a plan (subsequent items take an initial altitude from the previous item). +This can also be used to change the altitude of all items in a plan to the same value; you will be prompted if you change the value when there are items in a plan. ##### Flight speed @@ -126,12 +139,15 @@ Check this if you want your vehicle to Return/RTL after the final mission item. #### Planned Home Position -The [Planned Home Position](#planned_home) section allows you to simulate the vehicle's home position while planning a mission. This allows you to view the waypoint trajectory for your vehicle from takeoff to mission completion. +The [Planned Home Position](#planned_home) section allows you to simulate the vehicle's home position while planning a mission. +This allows you to view the waypoint trajectory for your vehicle from takeoff to mission completion. ![MissionSettings Planned Home Position Section](../../../assets/plan/mission/mission_settings_planned_home_position_section.jpg) -::: info -This is only the _planned_ home position and you should place it where you plan to start the vehicle from. It has no actual impact on flying the mission. The actual home position of a vehicle is set by the vehicle itself when arming. +:::info +This is only the _planned_ home position and you should place it where you plan to start the vehicle from. +It has no actual impact on flying the mission. +The actual home position of a vehicle is set by the vehicle itself when arming. ::: This section allows you to set the **Altitude** and **Set Home to Map Centre** (you can move it to another position by dragging it on the map). @@ -155,26 +171,31 @@ The available camera actions are: The appropriate mission commands for the vehicle depend on the firmware and vehicle type. -If you are planning a mission while you are _connected to a vehicle_ the firmware and vehicle type will be determined from the vehicle. This section allows you to specify the vehicle firmware/type when not connected to a vehicle. +If you are planning a mission while you are _connected to a vehicle_ the firmware and vehicle type will be determined from the vehicle. +This section allows you to specify the vehicle firmware/type when not connected to a vehicle. ![MissionSettings VehicleInfoSection](../../../assets/plan/mission/mission_settings_vehicle_info_section.jpg) -The additional value that can be specified when planning a mission is the vehicle flight speed. By specifying this value, total mission or survey times can be approximated even when not connected to a vehicle. +The additional value that can be specified when planning a mission is the vehicle flight speed. +By specifying this value, total mission or survey times can be approximated even when not connected to a vehicle. ## Troubleshooting -### Mission (Plan) Upload/Download Failures {#plan_transfer_fail} +### Mission (Plan) Upload/Download Failures {#plan\_transfer\_fail} -Plan uploading and downloading can fail over a noisy communication link (affecting missions, GeoFence, and rally points). If a failure occurs you should see a status message in the QGC UI similar to: +Plan uploading and downloading can fail over a noisy communication link (affecting missions, GeoFence, and rally points). +If a failure occurs you should see a status message in the QGC UI similar to: > Mission transfer failed. Retry transfer. Error: Mission write mission count failed, maximum retries exceeded. -The loss rate for your link can be viewed in [Settings View > MAVLink](../settings_view/mavlink.md). The loss rate should be in the low single digits (i.e. maximum of 2 or 3): +The loss rate for your link can be viewed in [Settings View > MAVLink](../settings_view/mavlink.md). +The loss rate should be in the low single digits (i.e. maximum of 2 or 3): - A loss rate in the high single digits can lead to intermittent failures. - Higher loss rates often lead to 100% failure. -There is a much smaller possibility that issues are caused by bugs in either flight stack or QGC. To analyse this possibility you can turn on [Console Logging](../settings_view/console_logging.md) for Plan upload/download and review the protocol message traffic. +There is a much smaller possibility that issues are caused by bugs in either flight stack or QGC. +To analyse this possibility you can turn on [Console Logging](../settings_view/console_logging.md) for Plan upload/download and review the protocol message traffic. ## Further Info diff --git a/docs/zh/qgc-user-guide/releases/daily_build_new_features.md b/docs/zh/qgc-user-guide/releases/daily_build_new_features.md index 715aa6447cb..6b298f7f00e 100644 --- a/docs/zh/qgc-user-guide/releases/daily_build_new_features.md +++ b/docs/zh/qgc-user-guide/releases/daily_build_new_features.md @@ -1,5 +1,7 @@ # Daily Build Major Changes -This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ since the last [stable release](../releases/release_notes.md). These features are available in [daily builds](../releases/daily_builds.md). There is also a [Change Log](https://github.com/mavlink/qgroundcontrol/blob/master/ChangeLog.md) available for viewing. +This topic contains a high level and _non-exhaustive_ list of new features added to _QGroundControl_ since the last [stable release](../releases/release_notes.md). +These features are available in [daily builds](../releases/daily_builds.md). +There is also a [Change Log](https://github.com/mavlink/qgroundcontrol/blob/master/ChangeLog.md) available for viewing. - TBD diff --git a/docs/zh/qgc-user-guide/releases/daily_builds.md b/docs/zh/qgc-user-guide/releases/daily_builds.md index 5f1e4492664..0550549176e 100644 --- a/docs/zh/qgc-user-guide/releases/daily_builds.md +++ b/docs/zh/qgc-user-guide/releases/daily_builds.md @@ -2,13 +2,15 @@ Daily Builds of _QGroundControl_ have the absolute latest set of [new features](../releases/daily_build_new_features.md). -::: warning -Daily Builds are less tested than stable builds. Use at your own risk! +:::warning +Daily Builds are less tested than stable builds. +Use at your own risk! ::: These can be downloaded from the links below (install as described in [Download and Install](../getting_started/download_and_install.md)): - [Windows](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl-installer.exe) + - [OS X](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl.dmg) ::: info @@ -22,8 +24,9 @@ These can be downloaded from the links below (install as described in [Download - [Linux](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl.AppImage) - [Android](https://play.google.com/store/apps/details?id=org.mavlink.qgroundcontrolbeta) - Google Play: Listed as _QGroundControl (Daily Test Build)_. + - iOS currently unavailable -::: info +:::info The QGroundControl Continous Delivery pipeline from time to time might experience issues uploading to the Google Play store. You can find the daily build APK for Android devices for direct download here: [QGroundControl32.apk](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl32.apk), and [QGroundControl64.apk](https://d176tv9ibo4jno.cloudfront.net/builds/master/QGroundControl64.apk) ::: diff --git a/docs/zh/qgc-user-guide/releases/release_notes.md b/docs/zh/qgc-user-guide/releases/release_notes.md index d04c35fa730..54dfa2f76de 100644 --- a/docs/zh/qgc-user-guide/releases/release_notes.md +++ b/docs/zh/qgc-user-guide/releases/release_notes.md @@ -2,13 +2,14 @@ This topic contains the cumulative release notes for _QGroundControl_. -::: info -Stable build major/minor numbers are listed below. _Patch_ release numbers are not listed, but can be found on the [Github release page](https://github.com/mavlink/qgroundcontrol/releases). +:::info +Stable build major/minor numbers are listed below. +_Patch_ release numbers are not listed, but can be found on the [Github release page](https://github.com/mavlink/qgroundcontrol/releases). ::: ## Stable Version 4.0 (current) -::: info +:::info The format for Settings in QGC had to change in this release. Which means all QGC settings will be reset to defaults. ::: @@ -57,10 +58,12 @@ This section contains a high level and _non-exhaustive_ list of new features add - **Overall** - Added Airmap integration to QGC. OSX build only. - - Bumped settings version (now 8). This will cause all settings to be reset to defaults. + - Bumped settings version (now 8). + This will cause all settings to be reset to defaults. - Added Chinese and Turkish localization and partial German localization. - Added support for the Taisync 2.4GHz ViUlinx digital HD wireless link. - - Fix loading of parameters from multiple components. This especially affected WiFi connections. + - Fix loading of parameters from multiple components. + This especially affected WiFi connections. - **ArduPilot** Support for ChibiOS firmware connect and flash. - **Settings** - **RTK** Add support for specifying fixed RTK based station location in Settings/General. @@ -69,13 +72,16 @@ This section contains a high level and _non-exhaustive_ list of new features add - GCS heading shown if available - **Plan** - **Polygons** Support loading polygons from SHP files. - - **Fixed Wing Landing Pattern** Add stop photo/video support. Defaults to on such that doing an RTL will stop camera. + - **Fixed Wing Landing Pattern** Add stop photo/video support. + Defaults to on such that doing an RTL will stop camera. - **Edit Position dialog** Available on polygon vertices. - **Fly** - - **Camera Page** Updated support for new MAVLInk camera messages. Camera select, camera mode, start/stop photo/video, storage mangement... + - **Camera Page** Updated support for new MAVLInk camera messages. + Camera select, camera mode, start/stop photo/video, storage mangement... - **Orbit** Support for changing rotation direction. - **Instrument Panel** - - Added ESTIMATOR_STATUS values to new estimatorStatus Vehicle FactGroup. These are now available to display in instrument panel. + - Added ESTIMATOR\_STATUS values to new estimatorStatus Vehicle FactGroup. + These are now available to display in instrument panel. - Make Distance to GCS available for display from instrument panel. - Make Heading to Home available for display from instrument panel. @@ -88,6 +94,7 @@ This section contains a high level and _non-exhaustive_ list of new features add - Center Tool allows you to specify a map location in lat/lon or UTM coordinates. Making it easier to get to the location you want to create an offline map for. - Ability to pre-download terrain heights for offline use. - **Help** Provides links to QGC user guide and forums. + - **Setup** - **Firmware** Ability to flash either PX4 or ArduPilot Flow firmware. - PX4 Pro Firmware @@ -96,23 +103,29 @@ This section contains a high level and _non-exhaustive_ list of new features add - ArduPilot Firmware - **Power/Safety** Support for new multi-battery setup. - **Trad Heli** New setup page. + - **Plan** - **File Load/Save** New model for Plan file loading which matches a standard File Load/Save/Save As user model. + - **Load KML** Ability to load a KML file directly from the Sync menu. You will be prompted for what type of Pattern you want to create from the KML if needed. + - **Survey** Better support for irregular shaped polygons. + - **[Corridor Scan](../plan_view/pattern_corridor_scan.md)** - Create a flight pattern which follows a poly-line. For example can be used to survey a road. + - **[Fixed Wing Landing Pattern](../plan_view/pattern_fixed_wing_landing.md)** - Landing area visually represented in Plan. - Landing position/heading can be copied from Vehicle position/heading. + - **Terrain** - Height of mission items can be specified as height above terrain. - Survey and Corridor Scan can generate flight plans which follow terrain. - ::: info - This feature does not support [ArduPilot terrain following](http://ardupilot.org/copter/docs/common-terrain-following.html). - ::: + ::: info + This feature does not support [ArduPilot terrain following](http://ardupilot.org/copter/docs/common-terrain-following.html). + ::: - **Edit Position** Set item position from vehicle position. @@ -122,11 +135,14 @@ This section contains a high level and _non-exhaustive_ list of new features add - Many new values available for display. - New Camera page which provides full camera control. Requires a camera which support new MavLink camera specification. - **ArduPlane** Much better support for guided commands including QuadPlane support. - - **High Latency Links** Support for high latency links such as satellite connections. Limits the traffic from QGC up to Vehicle on these links to reduce cost. Supports HIGH_LATENCY MavLink message. Supports failover back/forth from high latency to normal link with dual link setup. + - **High Latency Links** Support for high latency links such as satellite connections. + Limits the traffic from QGC up to Vehicle on these links to reduce cost. + Supports HIGH\_LATENCY MavLink message. + Supports failover back/forth from high latency to normal link with dual link setup. ## Stable Version 3.3 -::: tip +:::tip More detailed release notes for version 3.3 can be found [here](../releases/stable_v3.3_long.md). ::: @@ -154,7 +170,7 @@ This section contains a high level and _non-exhaustive_ list of new features add ## Stable Version 3.2 -::: tip +:::tip More detailed release notes for version 3.2 can be found [here](../releases/stable_v3.2_long.md). ::: @@ -215,7 +231,6 @@ This section contains a high level and _non-exhaustive_ list of new features add - **Mavlink Console** - NSH shell access - **Support for third-party customized QGroundControl** - - Standard QGC supports multiple firmware types and multiple vehicle types. There is now support in QGC which allows a third-party to create their own custom version of QGC which is targeted specifically to their custom vehicle. They can then release their own version of QGC with their vehicle. ## Stable Version 3.1 diff --git a/docs/zh/qgc-user-guide/releases/stable_v3.2_long.md b/docs/zh/qgc-user-guide/releases/stable_v3.2_long.md index 09614b36d56..0056ad212fc 100644 --- a/docs/zh/qgc-user-guide/releases/stable_v3.2_long.md +++ b/docs/zh/qgc-user-guide/releases/stable_v3.2_long.md @@ -6,13 +6,16 @@ This topic contains a high level and _non-exhaustive_ list of new features added ### Telemetry log auto-save -If you have _Save telemetry log after each flight_ turned on you will no longer be prompted as to where to save the log each time the vehicle disarms. Logs will automatically be saved to the [Application Load/Save Path](../settings_view/general.md#load_save_path) +If you have _Save telemetry log after each flight_ turned on you will no longer be prompted as to where to save the log each time the vehicle disarms. +Logs will automatically be saved to the [Application Load/Save Path](../settings_view/general.md#load_save_path) For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#autosave_log). ### AutoLoad plans -If this setting is turned on, _QGroundControl_ will automatically upload a plan to the vehicle when it connects. The plan file must be named **AutoLoad#.plan** where the `#` is replaced with the vehicle id. The plan file must be located in the [Application Load/Save Path](../settings_view/general.md#load_save_path). +If this setting is turned on, _QGroundControl_ will automatically upload a plan to the vehicle when it connects. +The plan file must be named **AutoLoad#.plan** where the `#` is replaced with the vehicle id. +The plan file must be located in the [Application Load/Save Path](../settings_view/general.md#load_save_path). For more information see [Settings > General (Miscellaneous)](../settings_view/general.md#autoload_missions). @@ -38,7 +41,7 @@ This is now supported from the Sensors page. This is now supported from the Copy Trims button on the Radio setup page. -## Plan View {#plan_view} +## Plan View {#plan\_view} ### Plan Files @@ -50,21 +53,24 @@ Information about the format can be found in [Plan File Format](https://dev.qgro ![Plan Toolbar](../../../assets/plan/plan_toolbar.jpg) -The new _Plan Toolbar_ is displayed at the top of the [PlanView](../plan_view/plan_view.md). It shows you information related to the currently selected waypoint as well as statistics for the entire mission. +The new _Plan Toolbar_ is displayed at the top of the [PlanView](../plan_view/plan_view.md). +It shows you information related to the currently selected waypoint as well as statistics for the entire mission. When connected to a vehicle it also shows an **Upload** button, which can be used to upload the plan to the vehicle. ### Mission Settings -The [Mission Settings](../plan_view/plan_view.md#mission_settings) panel allows you to specify values which apply to the entire mission, or settings you want to control right at the beginning of a mission. This is the first item in the mission list on the right of the screen. +The [Mission Settings](../plan_view/plan_view.md#mission_settings) panel allows you to specify values which apply to the entire mission, or settings you want to control right at the beginning of a mission. +This is the first item in the mission list on the right of the screen. - + #### Mission Defaults ##### Waypoint alt -This specifies the default altitude for newly added mission items. If you update this value while you have a mission loaded it will prompt you to update all the the waypoints to this new altitude. +This specifies the default altitude for newly added mission items. +If you update this value while you have a mission loaded it will prompt you to update all the the waypoints to this new altitude. ##### Flight speed @@ -76,7 +82,7 @@ Check this if you want your vehicle to RTL after the final mission item. #### Camera section - + The camera section allows you to specify a camera action to take, control the gimbal and set your camera into photo or video mode. @@ -91,7 +97,7 @@ The camera actions available are: #### Vehicle Info section - + When planning a mission the firmware being run on the vehicle as well as the vehicle type must be known in order for QGroundControl to show you the mission commands which are appropriate for your vehicle. @@ -101,20 +107,20 @@ The additional value that can be specified when planning a mission is the vehicl #### Planned Home Position - + The planned home position allows you to simulate the vehicle's home position while planning a mission. This way you see the waypoint trajectory for your vehicle from takeoff to mission completion. Keep in mind that this is only the "planned" home position and you should place it where you plan to start the vehicle from. It has no actual impact on flying the mission. The actual home position of a vehicle is set by the vehicle itself when arming. ### New Waypoint features - + - You can now adjust heading and flight speed for each waypoint. - There is a camera section available for camera changes on each waypoint. Explanation of Camera Section can be read under Mission Settings above. ### Visual Gimbal direction - + If you specify gimbal yaw changes on waypoints, both the plan and fly views will show you a visual representation of the gimbal direction. @@ -129,9 +135,12 @@ There is a new _Pattern tool_. The following patterns are supported: ![Fixed Wing Landing Pattern](../../../assets/plan/pattern/fixed_wing_landing_pattern.jpg) -This adds a landing pattern for fixed wings to your mission. The first point of the pattern is the loiter point which commands to vehicle to loiter to a specific altitude. Once that altitude is reached, the vehicle will begin the landing sequence and fly down to the specified landing spot. +This adds a landing pattern for fixed wings to your mission. +The first point of the pattern is the loiter point which commands to vehicle to loiter to a specific altitude. +Once that altitude is reached, the vehicle will begin the landing sequence and fly down to the specified landing spot. -Both the loiter and land points can be dragged to adjust. Also all the various values associated with the pattern can be adjusted. +Both the loiter and land points can be dragged to adjust. +Also all the various values associated with the pattern can be adjusted. For more information see [Fixed Wing Landing Pattern](../plan_view/pattern_fixed_wing_landing.md). @@ -177,11 +186,22 @@ There is an armed/disarmed indicator in the toolbar. You can click it to arm/dis #### Resume Mission -The Resume Mission guided action is used to resume a mission after performing an RTL from within the mission to perform a battery change. After the vehicle lands from RTL and you have disconnected the battery **do not** disconnect QGC from the Vehicle. Put in your new battery and QGC will detect the vehicle again and automatically restore the connection. Once this happens you will be prompted with a Resume Mission confirmation slider. If you want to resume the mission, confirm this and the mission will be rebuilt from your last waypoint traveled through. Once the mission is rebuilt you will be presented with another Resume Mission slide which allows you to review the rebuilt mission before starting it again. Confirm this Resume Mission slider to continue on with the mission. +The Resume Mission guided action is used to resume a mission after performing an RTL from within the mission to perform a battery change. +After the vehicle lands from RTL and you have disconnected the battery **do not** disconnect QGC from the Vehicle. +Put in your new battery and QGC will detect the vehicle again and automatically restore the connection. +Once this happens you will be prompted with a Resume Mission confirmation slider. +If you want to resume the mission, confirm this and the mission will be rebuilt from your last waypoint traveled through. +Once the mission is rebuilt you will be presented with another Resume Mission slide which allows you to review the rebuilt mission before starting it again. +Confirm this Resume Mission slider to continue on with the mission. ###### How resume mission rebuilding works -In order to resume a mission you cannot simply continue it from the last mission item the vehicle ran. The reason is is that may skip over important change speed commands or camera control commands which are prior to that item in the mission. If you skipped over those the remainder of the mission will not run correctly. In order to make resume mission work correctly QGC rebuilds the mission looking backwards from the last mission item flown and automatically appends relevant commands to the front of the mission. By doing this the state of the mission prior to the resume point is restore. The following mission commands are the ones scanned for: +In order to resume a mission you cannot simply continue it from the last mission item the vehicle ran. +The reason is is that may skip over important change speed commands or camera control commands which are prior to that item in the mission. +If you skipped over those the remainder of the mission will not run correctly. +In order to make resume mission work correctly QGC rebuilds the mission looking backwards from the last mission item flown and automatically appends relevant commands to the front of the mission. +By doing this the state of the mission prior to the resume point is restore. +The following mission commands are the ones scanned for: - `MAV_CMD_DO_CONTROL_VIDEO` - `MAV_CMD_DO_SET_ROI` @@ -200,7 +220,8 @@ In order to resume a mission you cannot simply continue it from the last mission ### Remove mission after vehicle lands -You will be prompted to remove the mission from the vehicle after the mission completes and the vehicle lands and disarms. This is meant to prevent issues where stale missions are unknowingly left on a vehicle cause unexpected behavior. +You will be prompted to remove the mission from the vehicle after the mission completes and the vehicle lands and disarms. +This is meant to prevent issues where stale missions are unknowingly left on a vehicle cause unexpected behavior. ### Instrument panel @@ -208,7 +229,9 @@ You will be prompted to remove the mission from the vehicle after the mission co #### Flight Time -Flight time is now available for display in the instrument panel. For new users, flight time will be shown by default. For existing users who have already modified their instrument panel values you will have to add it yourself if you want to use it. +Flight time is now available for display in the instrument panel. +For new users, flight time will be shown by default. +For existing users who have already modified their instrument panel values you will have to add it yourself if you want to use it. ## [Analyze View](../analyze_view/index.md) @@ -220,11 +243,11 @@ Flight time is now available for display in the instrument panel. For new users, There is a new view available when you have multiple vehicles connected to QGC. It will only show up when more than one vehicle is connected. When that happens you will see an additional set of radio button at the top right of the Plan view. - + Click the **Multi-Vehicle** radio button to replace the instrument panel with the multi-vehicle list: - + The example above shows three vehicles. The numbers are the vehicle id. In the large font is the current flight mode. You can click the flight mode name to change to a different flight mode. To the right are small version of the instruments for each vehicle. You can command the vehicle to do the following actions from the control panel: diff --git a/docs/zh/qgc-user-guide/releases/stable_v3.3_long.md b/docs/zh/qgc-user-guide/releases/stable_v3.3_long.md index 97f5276c7df..4c2f86d680d 100644 --- a/docs/zh/qgc-user-guide/releases/stable_v3.3_long.md +++ b/docs/zh/qgc-user-guide/releases/stable_v3.3_long.md @@ -10,7 +10,8 @@ This topic contains a high level and _non-exhaustive_ list of new features added ![NMEA GPS Device support](../../../assets/settings/general/NMEADevice.jpg) -You can specify a connection to one of these devices on the General page. The GPS information will then be used for ground station location and in turn follow me support. +You can specify a connection to one of these devices on the General page. +The GPS information will then be used for ground station location and in turn follow me support. For more information see [Settings > General (AutoConnect to the following devices)](../settings_view/general.md#auto_connect). @@ -18,15 +19,19 @@ For more information see [Settings > General (AutoConnect to the following devic ![Video Recording](../../../assets/settings/video_recording.jpg) -Videos will be saved to the Video directory of your QGC file save path. You can also specify the maximum amount of space you want video files to consume. After that size if exceeded the oldest video files will be removed. Video Recording is turned on/off from the Video widget in the Fly View. +Videos will be saved to the Video directory of your QGC file save path. +You can also specify the maximum amount of space you want video files to consume. +After that size if exceeded the oldest video files will be removed. +Video Recording is turned on/off from the Video widget in the Fly View. For more information see [Settings > General (Video / Video Recording)](../settings_view/general.md#video). -### Plan View {#plan_view} +### Plan View {#plan\_view} #### Structure Scan -A Structure Scan allows you to create a grid flight pattern that captures images over vertical surfaces (polygonal or circular). These are typically used for the visual inspection or creation of 3d models of structures. +A Structure Scan allows you to create a grid flight pattern that captures images over vertical surfaces (polygonal or circular). +These are typically used for the visual inspection or creation of 3d models of structures. Details [here](../plan_view/pattern_structure_scan_v2.md). diff --git a/docs/zh/qgc-user-guide/releases/stable_v4.0_additional.md b/docs/zh/qgc-user-guide/releases/stable_v4.0_additional.md index 6091cf783a4..9399f0d3702 100644 --- a/docs/zh/qgc-user-guide/releases/stable_v4.0_additional.md +++ b/docs/zh/qgc-user-guide/releases/stable_v4.0_additional.md @@ -1,6 +1,7 @@ # QGroundControl v4.0 Release Notes (Additional) -This topic contains additional notes about QGroundControl 4.0. These should be integrated into main documentation in coming months (and this document deleted). +This topic contains additional notes about QGroundControl 4.0. +These should be integrated into main documentation in coming months (and this document deleted). - [Pattern Presets](../plan_view/pattern_presets.md) - Allows you to save settings for a Pattern item (Survey, Corridor Scan, ...) into a named preset. You can then use this preset over and over again as you create new Pattern. - ArduPilot: diff --git a/docs/zh/qgc-user-guide/settings_view/console_logging.md b/docs/zh/qgc-user-guide/settings_view/console_logging.md index f242fc56834..3cfd225cd15 100644 --- a/docs/zh/qgc-user-guide/settings_view/console_logging.md +++ b/docs/zh/qgc-user-guide/settings_view/console_logging.md @@ -27,23 +27,27 @@ An alternate mechanism for logging is using the `--logging` command line option. How you do this and where the traces are output vary by OS: - Windows - - You must open a command prompt, change directory to the **qgroundcontrol.exe** location, and run it from there: bash cd "\Program Files (x86)\qgroundcontrol" qgroundcontrol --logging:full + ```bash + cd "\Program Files (x86)\qgroundcontrol" + qgroundcontrol --logging:full + ``` - When _QGroundControl_ starts you should see a separate console window open which will have the log output - - OSX - - You must run _QGroundControl_ from Terminal. The Terminal app is located in Applications/Utilities. Once Terminal is open paste the following into it: - bash - cd /Applications/qgroundcontrol.app/Contents/MacOS/ - ./qgroundcontrol --logging:full + ```bash + Once Terminal is open paste the following into it: + bash + cd /Applications/qgroundcontrol.app/Contents/MacOS/ + ./qgroundcontrol --logging:full + ``` - Log traces will output to the Terminal window. - -- Linux - - - bash - ./qgroundcontrol-start.sh --logging:full +- ## Linux + ```bash + bash + ./qgroundcontrol-start.sh --logging:full + ``` - Log traces will output to the shell you are running from. diff --git a/docs/zh/qgc-user-guide/settings_view/csv.md b/docs/zh/qgc-user-guide/settings_view/csv.md index a6d1f909ef9..ae227ea9238 100644 --- a/docs/zh/qgc-user-guide/settings_view/csv.md +++ b/docs/zh/qgc-user-guide/settings_view/csv.md @@ -2,8 +2,10 @@ ![Csv checkbox](../../../assets/settings/general/csv.jpg) -When checked, a CSV (comma-separated value) telemetry file will be created along with the usual **.tlog** telemetry file. The file is only created if **Save log after each flight** is enabled, and is recorded for the same duration. +When checked, a CSV (comma-separated value) telemetry file will be created along with the usual **.tlog** telemetry file. +The file is only created if **Save log after each flight** is enabled, and is recorded for the same duration. -This CSV file contains the most relevant vehicle telemetry data available for quick analysis such as GPS position, attitude, battery status, and others. It is populated at 1 Hz and while it is not as detailed as the telemetry log, it is a lot easier to work with and quicker to extract data out of. +This CSV file contains the most relevant vehicle telemetry data available for quick analysis such as GPS position, attitude, battery status, and others. +It is populated at 1 Hz and while it is not as detailed as the telemetry log, it is a lot easier to work with and quicker to extract data out of. The file can be opened by common spreadsheet software, including: Microsoft Excel, Google Sheets, LibreOffice Calc or OpenOffice Calc. diff --git a/docs/zh/qgc-user-guide/settings_view/general.md b/docs/zh/qgc-user-guide/settings_view/general.md index 383c3b1177e..a092b9afd54 100644 --- a/docs/zh/qgc-user-guide/settings_view/general.md +++ b/docs/zh/qgc-user-guide/settings_view/general.md @@ -1,8 +1,9 @@ # General Settings (Settings View) -The general settings (**SettingsView > General Settings**) are the main place for application-level configuration. Settable values include: display units, autoconnection devices, video display and storage, RTK GPS, brand image, and other miscellaneous settings. +The general settings (**SettingsView > General Settings**) are the main place for application-level configuration. +Settable values include: display units, autoconnection devices, video display and storage, RTK GPS, brand image, and other miscellaneous settings. -::: info +:::info Values are settable even if no vehicle is connected. Settings that require a vehicle restart are indicated in the UI. ::: @@ -33,63 +34,90 @@ The settings are: ![Display languages](../../../assets/settings/general/languages.jpg) + Translations are generally built into the application and selected automatically based on the system language. + + Metadata downloaded from the vehicle (such as parameter descriptions) might have translations as well. + These are downloaded from the internet upon vehicle connection. The translations are then cached locally. + This means an internet connection during vehicle connection is required at least once. + - **Color Scheme**: Indoor (Dark) | Outdoor (Light) - **Map Provider**: Google | Mapbox | Bing | Airmap | VWorld | Eniro | Statkart + - **Map Type**: Road | Hybrid | Satellite + - **Stream GCS Position**: Never | Always | When in Follow Me Flight Mode. + - **UI Scaling**: UI scale percentage (affects fonts, icons, button sizes, layout etc.) + - **Mute all audio output**: Turns off all audio output. + - **Check for Internet Connection**: Uncheck to allow maps to be used in China/places where map tile downloads are likely to fail (stops the map-tile engine continually rechecking for an Internet connection). + - **Autoload Missions**: If enabled, automatically upload a plan to the vehicle on connection. - The plan file must be named **AutoLoad#.plan**, where the `#` is replaced with the vehicle id. - The plan file must be located in the [Application Load/Save Path](#load_save_path). + - **Clear all settings on next start**: Resets all settings to the default (including this one) when _QGroundControl_ restarts. + - **Announce battery lower than**: Battery level at which _QGroundControl_ will start low battery announcements. + - **Application Load/Save Path**: Default location for loading/saving application files, including: parameters, telemetry logs, and mission plans. -## Data Persistence {#data_persistence} +## Data Persistence {#data\_persistence} ![Data Persistence Settings](../../../assets/settings/general/data_persistence.jpg) The settings are: -- **Disable all data persistence**: Check to prevent any data being saved or cached: logs, map tiles etc. This setting disables the [telemetry logs section](#telemetry_logs). +- **Disable all data persistence**: Check to prevent any data being saved or cached: logs, map tiles etc. -## Telemetry Logs from Vehicle {#telemetry_logs} +## Telemetry Logs from Vehicle {#telemetry\_logs} ![Telemetry Logs from Vehicle Settings](../../../assets/settings/general/telemetry_logs.jpg) The settings are: - **Save log after each flight**: Telemetry logs (`.tlog`) automatically saved to the _Application Load/Save Path_ ([above](#load_save_path)) after flight. -- **Save logs even if vehicle was not armed**: Logs when a vehicle connects to _QGroundControl_. Stops logging when the last vehicle disconnects. +- **Save logs even if vehicle was not armed**: Logs when a vehicle connects to _QGroundControl_. + Stops logging when the last vehicle disconnects. - [**CSV Logging**](csv.md): Log subset of telemetry data to a CSV file. -## Fly View {#fly_view} +## Fly View {#fly\_view} ![Fly View Settings](../../../assets/settings/general/fly_view.jpg) The settings are: - **Use Preflight Checklist**: Enable pre-flight checklist in Fly toolbar. + - **Enforce Preflight Checklist**: Checklist completion is a pre-condition for arming. + - **Keep Map Centered on Vehicle**: Forces map to center on the currently selected vehicle. + - **Show Telemetry Log Replay Status Bar**: Display status bar for [Replaying Flight Data](../fly_view/replay_flight_data.md). + - **Virtual Joystick**: Enable [virtual joysticks](../settings_view/virtual_joystick.md) (PX4 only) + - **Use Vertical Instrument Panel**: Align instrument panel vertically rather than horizontally (default). + - **Show additional heading indicators on Compass**: Adds additional indicators to the compass rose: + - _Blue arrow_: course over ground. + - _White house_: direction back to home. + - _Green line_: Direction to next waypoint. - **Lock Compass Nose-Up**: Check to rotate the compass rose (default is to rotate the vehicle inside the compass indicateor). - **Guided Minimum Altitude**: Minimum value for guided actions altitude slider. + - **Guided Maximum Altitude**: Minimum value for guided actions altitude slider. + - **Go To Location Max Distance**: The maximum distance that a Go To location can be set from the current vehicle location (in guided mode). -## Plan View {#plan_view} +## Plan View {#plan\_view} ![Plan View Settings](../../../assets/settings/general/plan_view.jpg) @@ -97,7 +125,7 @@ The settings are: - **Default Mission Altitude**: The default altitude used for the Mission Start Panel, and hence for the first waypoint. -## AutoConnect to the following devices {#auto_connect} +## AutoConnect to the following devices {#auto\_connect} This section defines the set of devices to which _QGroundControl_ will auto-connect. @@ -113,13 +141,15 @@ Settings include: - **RTK GPS:** Autoconnect to RTK GPS device - **NMEA GPS Device:** Autoconnect to an external GPS device to get ground station position ([see below](#nmea_gps)) -### Ground Station Location (NMEA GPS Device) {#nmea_gps} +### Ground Station Location (NMEA GPS Device) {#nmea\_gps} -_QGroundControl_ will automatically use an internal GPS to display its own location on the map with a purple `Q` icon (if the GPS provides a heading, this will be also indicated by the icon). It may also use the GPS as a location source for _Follow Me Mode_ - currently supported on [PX4 Multicopters only](https://docs.px4.io/en/flight_modes/follow_me.html). +_QGroundControl_ will automatically use an internal GPS to display its own location on the map with a purple `Q` icon (if the GPS provides a heading, this will be also indicated by the icon). +It may also use the GPS as a location source for _Follow Me Mode_ - currently supported on [PX4 Multicopters only](https://docs.px4.io/en/flight_modes/follow_me.html). -You can also configure QGC to connect to an external GPS device via a serial or UDP port. The GPS device must support the ASCII NMEA format - this is normally the case. +You can also configure QGC to connect to an external GPS device via a serial or UDP port. +The GPS device must support the ASCII NMEA format - this is normally the case. -::: tip +:::tip A higher quality external GPS system may be useful even if the ground station has internal GPS support. ::: @@ -143,18 +173,22 @@ Use the _NMEA GPS Device_ drop-down selector to manually select the GPS device a - **NMEA GPS Device:** _UDP Port_. - **NMEA Stream UDP Port**: The UDP port on which QGC will listen for NMEA data (QGC binds the port as a server) -## RTK GPS {#rtk_gps} +## RTK GPS {#rtk\_gps} This section allows you to specify the RTK GPS "Survey-in" settings, to save and reuse the result of a Survey-In operation, or to directly enter any other known position for the base station. ![RTK GPS Settings](../../../assets/settings/general/rtk_gps.jpg) -::: info -The _Survey-In_ process is a startup procedure required by RTK GPS systems to get an accurate estimate of the base station position. The process takes measurements over time, leading to increasing position accuracy. Both of the setting conditions must met for the Survey-in process to complete. For more information see [RTK GPS](https://docs.px4.io/en/advanced_features/rtk-gps.html) (PX4 docs) and [GPS- How it works](http://ardupilot.org/copter/docs/common-gps-how-it-works.html#rtk-corrections) (ArduPilot docs). +:::info +The _Survey-In_ process is a startup procedure required by RTK GPS systems to get an accurate estimate of the base station position. +The process takes measurements over time, leading to increasing position accuracy. +Both of the setting conditions must met for the Survey-in process to complete. +For more information see [RTK GPS](https://docs.px4.io/en/advanced_features/rtk-gps.html) (PX4 docs) and [GPS- How it works](http://ardupilot.org/copter/docs/common-gps-how-it-works.html#rtk-corrections) (ArduPilot docs). ::: -::: tip -In order to save and reuse a base position (because Survey-In is time consuming!) perform Survey-In once, select _Use Specified Base Position_ and press **Save Current Base Position** to copy in the values for the last survey. The values will then persist across QGC reboots until they are changed. +:::tip +In order to save and reuse a base position (because Survey-In is time consuming!) perform Survey-In once, select _Use Specified Base Position_ and press **Save Current Base Position** to copy in the values for the last survey. +The values will then persist across QGC reboots until they are changed. ::: The settings are: @@ -169,9 +203,9 @@ The settings are: - **Base Position Accuracy:** Accuracy of base station position information. - **Save Current Base Position** (button): Press to copy settings from the last Survey-In operation to the _Use Specified Base Position_ fields above. -## ADSB Server {#adsb_server} +## ADSB Server {#adsb\_server} -![ADSB_Server Settings](../../../assets/settings/general/adbs_server.jpg) +![ADSB\_Server Settings](../../../assets/settings/general/adbs_server.jpg) The settings are: @@ -182,7 +216,16 @@ The settings are: QGC can consume ADSB messages in SBS format from a remote or local server (at the specified IP address/port) and display detected vehicles on the Fly View map. ::: tip -One way to get ADSB information from nearby vehicles is to use [dump1090](https://github.com/antirez/dump1090) to serve the data from a connected RTL-SDR dongle to QGC. The steps are: 1. Get an RTL-SDR dongle (and antenna) and attach it to your ground station computer (you may need to find compatible drivers for your OS). 1. Install _dump1090_ on your OS (either pre-built or build from source). 1. Run `dump1090 --net` to start broadcasting messages for detected vehicles on TCP localhost port 30003 (127.0.0.1:30003). 1. Enter the server (`127.0.0.1`) and port (`30003`) address in the QGC settings above. 1. Restart QGC to start seeing local vehicles on the map. +One way to get ADSB information from nearby vehicles is to use [dump1090](https://github.com/antirez/dump1090) to serve the data from a connected RTL-SDR dongle to QGC. + +The steps are: 1. + +1. Get an RTL-SDR dongle (and antenna) and attach it to your ground station computer (you may need to find compatible drivers for your OS). +2. Install _dump1090_ on your OS (either pre-built or build from source). +3. Run `dump1090 --net` to start broadcasting messages for detected vehicles on TCP localhost port 30003 (127.0.0.1:30003). +4. Enter the server (`127.0.0.1`) and port (`30003`) address in the QGC settings above. +5. Restart QGC to start seeing local vehicles on the map. + ::: ## Video {#video} @@ -200,13 +243,17 @@ The settings are: ::: - **URL/Port**: Connection type-specific stream address (may be port or URL). + - **Aspect Ratio**: Aspect ratio for scaling video in video widget (set to 0.0 to ignore scaling) + - **Disabled When Disarmed**: Disable video feed when vehicle is disarmed. + - **Low Latency Mode**: Enabling low latency mode reduces the video stream latency, but may cause frame loss and choppy video (especially with a poor network connection). ## Video Recording -The _Video Recording_ section is used to specify the file format and maximum allocated file storage for storing video. Videos are saved to a sub-directory ("Video") of the [Application Load/Save Path](#load_save_path). +The _Video Recording_ section is used to specify the file format and maximum allocated file storage for storing video. +Videos are saved to a sub-directory ("Video") of the [Application Load/Save Path](#load_save_path). ![Video - without auto deletion](../../../assets/settings/general/video_recording.jpg) @@ -222,7 +269,8 @@ The settings are: This setting specifies the _brand image_ used for indoor/outdoor colour schemes. -The brand image is displayed in place of the icon for the connected autopilot in the top right corner of the toolbar. It is provided so that users can easily create screen/video captures that include a company logo/branding. +The brand image is displayed in place of the icon for the connected autopilot in the top right corner of the toolbar. +It is provided so that users can easily create screen/video captures that include a company logo/branding. ![Brand Image](../../../assets/settings/general/brand_image.jpg) diff --git a/docs/zh/qgc-user-guide/settings_view/mavlink.md b/docs/zh/qgc-user-guide/settings_view/mavlink.md index 1abbc207ea3..05bf0cd5581 100644 --- a/docs/zh/qgc-user-guide/settings_view/mavlink.md +++ b/docs/zh/qgc-user-guide/settings_view/mavlink.md @@ -1,25 +1,32 @@ # MAVLink Settings -The MAVLink settings (**SettingsView > MAVLink**) allow you to configure options and view information specific to MAVLink communications. This includes setting the MAVLink system ID for _QGroundControl_ and viewing link quality. +The MAVLink settings (**SettingsView > MAVLink**) allow you to configure options and view information specific to MAVLink communications. +This includes setting the MAVLink system ID for _QGroundControl_ and viewing link quality. The screen also allows you to manage [MAVLink 2 Log Streaming](#logging) (PX4 only), including _automating log upload to Flight Review_! ![MAVLink settings screen](../../../assets/settings/mavlink/overview.png) -## Ground Station {#ground_station} +## Ground Station {#ground\_station} This section sets the MAVLink properties and behaviour of _QGroundControl_. ![Ground Station](../../../assets/settings/mavlink/ground_station.png) -- **MAVLink System ID:** System ID of _QGroundControl_ on the MAVLink network (Default: 255). Vehicles are typically allocated IDs from 1. You may have to specify another ID if there are multiple ground stations or MAVLink applications on the network. -- **Emit heartbeat:** Disable emission of regular MAVLink HEARTBEAT message (Default: True). Generally speaking, you should not turn this off. +- **MAVLink System ID:** System ID of _QGroundControl_ on the MAVLink network (Default: 255). + Vehicles are typically allocated IDs from 1. + You may have to specify another ID if there are multiple ground stations or MAVLink applications on the network. +- **Emit heartbeat:** Disable emission of regular MAVLink HEARTBEAT message (Default: True). + Generally speaking, you should not turn this off. - **Only accept MAVs with the same protocol version:** Set true to only connect to MAVLink 1 or to MAVLink 2 vehicles (Default: True). -- **Enable MAVLink forwarding:** Enable _QGroundControl_ to forward MAVLink messages from connected vehicles to another UDP endpoint (Default: False). Note that this forwarding is one-way: from QGC to the specified host. Any MAVLink messages that are received from the specified host will be ignored. +- **Enable MAVLink forwarding:** Enable _QGroundControl_ to forward MAVLink messages from connected vehicles to another UDP endpoint (Default: False). + Note that this forwarding is one-way: from QGC to the specified host. + Any MAVLink messages that are received from the specified host will be ignored. -## Link Status {#link_status} +## Link Status {#link\_status} -This shows the status of MAVLink message transfer over the communications link. A high **Loss rate** may lead to protocol errors for things like parameter download or mission upload/download. +This shows the status of MAVLink message transfer over the communications link. +A high **Loss rate** may lead to protocol errors for things like parameter download or mission upload/download. ![Link Status](../../../assets/settings/mavlink/link_status.jpg) @@ -27,12 +34,13 @@ This shows the status of MAVLink message transfer over the communications link. The _MAVLink 2 Logging_ settings (PX4 only) configure real-time log streaming from PX4 to _QGroundControl_ and upload of logs to [Flight Review](https://logs.px4.io). -::: warning +:::warning MAVLink 2 Logging cannot be used on "basic" setups because it requires a constant high-rate MAVLink connection to the vehicle (it _may_ work over WiFI but will _not_ work over a Telemetry link). ::: -::: tip -In theory log streaming allows real time analysis of data. At time of writing real-time analysis has not yet been implemented. +:::tip +In theory log streaming allows real time analysis of data. +At time of writing real-time analysis has not yet been implemented. ::: The log format is the same as for SD Card logs (downloaded using [Analyze View > Log Download](../analyze_view/log_download.md)), but actual data logged may be slightly different because log start/stop time is controlled by _QGroundControl_ and because some dropouts may occur when streaming over a lossy channel. @@ -41,26 +49,32 @@ The _MAVLink 2 Logging_ section allows you to manually start and stop logging, a ![MAVLink 2 Logging](../../../assets/settings/mavlink/mavlink2_logging.jpg) -The _MAVLink 2 Log Uploads_ section allows you configure uploading of MAVLink logs to [Flight Review](https://logs.px4.io). You can specify all the fields that you would otherwise have to directly enter in the site, and also choose whether logs are automatically or manually uploaded. +The _MAVLink 2 Log Uploads_ section allows you configure uploading of MAVLink logs to [Flight Review](https://logs.px4.io). +You can specify all the fields that you would otherwise have to directly enter in the site, and also choose whether logs are automatically or manually uploaded. ![MAVLink 2 Log Uploads](../../../assets/settings/mavlink/mavlink2_log_uploads.jpg) The fields are: -- **Email address for Log Uploads:** _Flight Review_ will email you a link to the upload at this address. This is important as otherwise you will have no way to access a non-public log after upload. +- **Email address for Log Uploads:** _Flight Review_ will email you a link to the upload at this address. + This is important as otherwise you will have no way to access a non-public log after upload. - **Default Description:** Description/name of flight used for log. -- **Default Upload URL:** URL for upload of the log/log metadata. This is set by default to the _Flight Review_ URL. -- **Video URL:** (Optional) URL for video of flight associated with log. This may be included on the Flight Review page to ease analysis. +- **Default Upload URL:** URL for upload of the log/log metadata. + This is set by default to the _Flight Review_ URL. +- **Video URL:** (Optional) URL for video of flight associated with log. + This may be included on the Flight Review page to ease analysis. - **Wind Speed:** Used to aid debugging and filtering (from multiple flights). Allowed values: _Calm_ | _Breeze_ | _Gale_ | _Storm_. - **Flight Rating:** Used to aid debugging and filtering (from multiple flights). Allowed values: _Crashed (Pilot Error)_ | _Crashed (Software or Hardware Issue)_ | _Unsatisfactory_ | _Good_ | _Great_. - **Additional Feedback:** (Optional). Enter a more detailed description of the flight or behaviour. -- **Make this log publically available:** If set, the log will be visible and searchable on _Flight Review_. If not set, it will only be available via the link emailed on upload. +- **Make this log publically available:** If set, the log will be visible and searchable on _Flight Review_. + If not set, it will only be available via the link emailed on upload. - **Enable automatic log uploads:** If set, the log will automatically be uploaded on completion. - **Delete log file after uploading:** If set, the log will automatically deleted after upload. -The _Saved Log Files_ section is used to manually manage log uploads. Use the checkboxes and buttons to select logs, and either delete or upload them. +The _Saved Log Files_ section is used to manually manage log uploads. +Use the checkboxes and buttons to select logs, and either delete or upload them. -::: tip +:::tip You can change the parameters in _MAVLink 2 Log Uploads_ above to specify separate descriptions for uploaded logs. ::: diff --git a/docs/zh/qgc-user-guide/settings_view/virtual_joystick.md b/docs/zh/qgc-user-guide/settings_view/virtual_joystick.md index d7d77cae529..33544050b15 100644 --- a/docs/zh/qgc-user-guide/settings_view/virtual_joystick.md +++ b/docs/zh/qgc-user-guide/settings_view/virtual_joystick.md @@ -4,7 +4,7 @@ _QGroundControl_ allows you to control a vehicle with on-screen virtual thumbsti ![QGroundControl Preferences > Enable Virtual Joystick](../../../assets/settings/joystick_virtual_joystick_displayed.jpg) -::: info +:::info Thumbstick control is not as responsive as using an RC Transmitter (because the information is sent over MAVLink). Another alternative is to use a [USB Joystick/Gamepad](../setup_view/joystick.md). ::: diff --git a/docs/zh/qgc-user-guide/setup_view/airframe.md b/docs/zh/qgc-user-guide/setup_view/airframe.md index eae682b11d8..475afe234ed 100644 --- a/docs/zh/qgc-user-guide/setup_view/airframe.md +++ b/docs/zh/qgc-user-guide/setup_view/airframe.md @@ -1,6 +1,7 @@ # Airframe Setup -This page allows you to configure the main airframe selection associated with your vehicle. The view/process differs slightly based on the flight controller firmware used. +This page allows you to configure the main airframe selection associated with your vehicle. +The view/process differs slightly based on the flight controller firmware used. - [Airframe (ArduPilot)](../setup_view/airframe_ardupilot.md) - [Airframe (PX4)](../setup_view/airframe_px4.md) diff --git a/docs/zh/qgc-user-guide/setup_view/airframe_ardupilot.md b/docs/zh/qgc-user-guide/setup_view/airframe_ardupilot.md index 2590f77e216..d0dd811a1be 100644 --- a/docs/zh/qgc-user-guide/setup_view/airframe_ardupilot.md +++ b/docs/zh/qgc-user-guide/setup_view/airframe_ardupilot.md @@ -2,7 +2,7 @@ Airframe Setup is used to select the frame class and type that matches your vehicle -::: info +:::info Airframe Setup is only available on _ArduCopter_ and _ArduSub_ vehicles (it is not shown for _ArduPilot_ Rover or Plane vehicles). ::: @@ -36,5 +36,6 @@ To select the frame type for Sub: ![Select airframe type](../../../assets/setup/airframe_ardusub.jpg) -- You can also click **Load Vehicle Default Parameters** to load default parameter set for ArduSub. - ![Load vehicle params](../../../assets/setup/airframe_ardusub_parameters.jpg) + - You can also click **Load Vehicle Default Parameters** to load default parameter set for ArduSub. + + ![Load vehicle params](../../../assets/setup/airframe_ardusub_parameters.jpg) diff --git a/docs/zh/qgc-user-guide/setup_view/airframe_px4.md b/docs/zh/qgc-user-guide/setup_view/airframe_px4.md index 04146971b1c..9a1dac51cb1 100644 --- a/docs/zh/qgc-user-guide/setup_view/airframe_px4.md +++ b/docs/zh/qgc-user-guide/setup_view/airframe_px4.md @@ -3,7 +3,9 @@ To select the airframe in PX4: 1. Start _QGroundControl_ and connect the vehicle. + 2. Select **QGroundControl icon > Vehicle Setup > Airframe** (sidebar) to open _Airframe Setup_. + 3. Select the broad vehicle group/type that matches your airframe and then use the dropdown within the group to choose the airframe that best matches your vehicle. ![Airframe options](../../../assets/setup/airframe_px4/airframe_px4.jpg) @@ -14,4 +16,4 @@ To select the airframe in PX4: 5. Click **Apply** in the following prompt to save the settings and restart the vehicle. - + diff --git a/docs/zh/qgc-user-guide/setup_view/camera.md b/docs/zh/qgc-user-guide/setup_view/camera.md index 2e036fa48af..0a63044c0a2 100644 --- a/docs/zh/qgc-user-guide/setup_view/camera.md +++ b/docs/zh/qgc-user-guide/setup_view/camera.md @@ -12,6 +12,7 @@ The details of the page differ if you are using PX4 firmware or ArduPilot firmwa For more information see [Camera](http://docs.px4.io/master/en/peripherals/camera.html) (PX4 User Guide). -::: info -The camera settings section is not available by default for FMUv2-based flight controllers (e.g. 3DR Pixhawk) because the camera module is not automatically included in firmware. For more information see [this topic](http://docs.px4.io/master/en/advanced_config/parameters.html#parameter-not-in-firmware). +:::info +The camera settings section is not available by default for FMUv2-based flight controllers (e.g. 3DR Pixhawk) because the camera module is not automatically included in firmware. +For more information see [this topic](http://docs.px4.io/master/en/advanced_config/parameters.html#parameter-not-in-firmware). ::: diff --git a/docs/zh/qgc-user-guide/setup_view/firmware.md b/docs/zh/qgc-user-guide/setup_view/firmware.md index aae22bfce17..0ca404450a4 100644 --- a/docs/zh/qgc-user-guide/setup_view/firmware.md +++ b/docs/zh/qgc-user-guide/setup_view/firmware.md @@ -12,9 +12,9 @@ _QGroundControl_ can also install the firmware for SiK Radios and PX4 Flow devic 1. First select the **Gear** icon (_Vehicle Setup_) in the top toolbar and then **Firmware** in the sidebar. - ![Firmware disconnected](../../../assets/setup/firmware/firmware_disconnected.jpg) +![Firmware disconnected](../../../assets/setup/firmware/firmware_disconnected.jpg) -2. Connect your device (Pixhawk, SiK Radio, PX4 Flow) directly to your computer via USB. +1. Connect your device (Pixhawk, SiK Radio, PX4 Flow) directly to your computer via USB. ::: info Connect directly to a powered USB port on your machine (do not connect through a USB hub). @@ -40,8 +40,10 @@ Once the device is connected you can choose which firmware to load (_QGroundCont 1. Click the **OK** button to start the update. - The firmware will then proceed through a number of upgrade steps (downloading new firmware, erasing old firmware etc.). Each step is printed to the screen and overall progress is displayed on a progress bar. + The firmware will then proceed through a number of upgrade steps (downloading new firmware, erasing old firmware etc.). + Each step is printed to the screen and overall progress is displayed on a progress bar. ![Firmware Upgrade Complete](../../../assets/setup/firmware/firmware_upgrade_complete.jpg) -Once the firmware has finished loading the device/vehicle will reboot and reconnect. Next you will need to configure the [airframe](../setup_view/airframe.md) (and then sensors, radio, etc.) +Once the firmware has finished loading the device/vehicle will reboot and reconnect. +Next you will need to configure the [airframe](../setup_view/airframe.md) (and then sensors, radio, etc.) diff --git a/docs/zh/qgc-user-guide/setup_view/flight_modes.md b/docs/zh/qgc-user-guide/setup_view/flight_modes.md index 0b3a8bc20c4..4b956cd201d 100644 --- a/docs/zh/qgc-user-guide/setup_view/flight_modes.md +++ b/docs/zh/qgc-user-guide/setup_view/flight_modes.md @@ -1,8 +1,9 @@ # Flight Modes Setup -The _Flight Modes_ section allows you to map flight modes to radio channel(s), and hence to the switches on your radio control transmitter. Both flight mode setup and the available flight modes are different in PX4 and ArduPilot (and there are some differences between ArduCopter and ArduPlane). +The _Flight Modes_ section allows you to map flight modes to radio channel(s), and hence to the switches on your radio control transmitter. +Both flight mode setup and the available flight modes are different in PX4 and ArduPilot (and there are some differences between ArduCopter and ArduPlane). -::: info +:::info In order to set up flight modes you must already have already [configured your radio](../setup_view/radio.md), and [setup the transmitter](#transmitter-setup) (as shown below). ::: @@ -17,13 +18,15 @@ For more flight stack specific setup see: In order setup flight modes you will first need to configure your _transmitter_ to encode the physical positions of your mode switch(es) into a single channel. -On both PX4 and ArduPilot you can assign up to 6 different flight modes to a single channel of your transmitter It is common to use the positions of a 2- and a 3-position switch on the transmitter to represent the 6 flight modes. Each combination of switches is then encoded as a particular PWM value that will be sent on a single channel. +On both PX4 and ArduPilot you can assign up to 6 different flight modes to a single channel of your transmitter It is common to use the positions of a 2- and a 3-position switch on the transmitter to represent the 6 flight modes. +Each combination of switches is then encoded as a particular PWM value that will be sent on a single channel. -::: info +:::info The single channel is selectable on PX4 and ArduPlane, but is fixed to channel 5 on Copter. ::: -The process for this varies depending on the transmitter. A number of setup examples are provided below. +The process for this varies depending on the transmitter. +A number of setup examples are provided below. ### Taranis @@ -31,7 +34,8 @@ These examples show several configurations for the _FrSky Taranis_ transmitter. #### Map 3-way Switch to a Single Channel -If you only need to support selecting between two or three modes then you can map the modes to the positions just one 3-way switch. Below we show how to map the Taranis 3-way "SD" switch to channel 5. +If you only need to support selecting between two or three modes then you can map the modes to the positions just one 3-way switch. +Below we show how to map the Taranis 3-way "SD" switch to channel 5. Open the Taranis UI **MIXER** page and scroll down to **CH5**, as shown below: @@ -41,14 +45,17 @@ Press **ENT(ER)** to edit the **CH5** configuration then change the **Source** t ![Taranis - Configure channel](../../../assets/setup/flight_modes/taranis_single_channel_mode_selection_2.png) -That's it! Channel 5 will now output 3 different PWM values for the three different **SD** switch positions. +That's it! +Channel 5 will now output 3 different PWM values for the three different **SD** switch positions. #### Map Multiple Switches to a Single Channel -Most transmitters do not have 6-way switches, so if you need to be able to support more modes than the number of switch positions available (up to 6) then you will have to represent them using multiple switches. Commonly this is done by encoding the positions of a 2- and a 3-position switch into a single channel, so that each switch position combination results in a different PWM value. +Most transmitters do not have 6-way switches, so if you need to be able to support more modes than the number of switch positions available (up to 6) then you will have to represent them using multiple switches. +Commonly this is done by encoding the positions of a 2- and a 3-position switch into a single channel, so that each switch position combination results in a different PWM value. -On the FrSky Taranis this process involves assigning a "logical switch" to each combination of positions of the two real switches. Each logical switch is then assigned to a different PWM value on the same channel. +On the FrSky Taranis this process involves assigning a "logical switch" to each combination of positions of the two real switches. +Each logical switch is then assigned to a different PWM value on the same channel. -This video shows how this is done with the _FrSky Taranis_ transmitter: https://youtu.be/TFEjEQZqdVA +This video shows how this is done with the _FrSky Taranis_ transmitter: https\://youtu.be/TFEjEQZqdVA diff --git a/docs/zh/qgc-user-guide/setup_view/flight_modes_ardupilot.md b/docs/zh/qgc-user-guide/setup_view/flight_modes_ardupilot.md index eba4987657c..9a5b46b8408 100644 --- a/docs/zh/qgc-user-guide/setup_view/flight_modes_ardupilot.md +++ b/docs/zh/qgc-user-guide/setup_view/flight_modes_ardupilot.md @@ -3,8 +3,10 @@ The _Flight Modes_ section allows you to configure which flight modes and other actions are triggered by particular switches/switch positions on your RC transmitter. ::: info -In order to set up flight modes you must already have - [Configured your radio](../setup_view/radio.md) in order to set flight modes. - [Setup the RC transmitter](../setup_view/FlightModes.md#transmitter-setup) (Flight Modes > Transmitter Setup) -::: +In order to set up flight modes you must already have + +> - In order to set up flight modes you must already have - [Configured your radio](../setup_view/radio.md) in order to set flight modes. +> - - [Setup the RC transmitter](../setup_view/FlightModes.md#transmitter-setup) (Flight Modes > Transmitter Setup) To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. @@ -12,12 +14,15 @@ To access this section, select the **Gear** icon (Vehicle Setup) in the top tool ## Flight Mode Settings -On ArduPilot you can assign up to 6 different flight modes to a single channel of your transmitter (the channel is selectable on Plane, but fixed to channel 5 on Copter). ArduCopter also allows you to specify additional _Channel Options_ for channels 7-12. These allow you to assign functions to these switches (for example, to turn on a camera, or return to launch). +On ArduPilot you can assign up to 6 different flight modes to a single channel of your transmitter (the channel is selectable on Plane, but fixed to channel 5 on Copter). +ArduCopter also allows you to specify additional _Channel Options_ for channels 7-12. +These allow you to assign functions to these switches (for example, to turn on a camera, or return to launch). To set the flight modes: 1. Turn on your RC transmitter. -1. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +2. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. ![Flight modes setup - ArduCopter](../../../assets/setup/flight_modes/ardupilot_copter.jpg) @@ -25,18 +30,20 @@ To set the flight modes: The above image is a screenshot of the flight mode setup for ArduCopter. ::: -1. Select up to 6 flight modes in the drop downs. -1. **ArduCopter only:** Select additional _Channel Options_ for channels 7-12. -1. **ArduPlane only:** Select the mode channel from the dropdown. +3. Select up to 6 flight modes in the drop downs. + +4. **ArduCopter only:** Select additional _Channel Options_ for channels 7-12. + +5. **ArduPlane only:** Select the mode channel from the dropdown. ![Flight modes setup - ArduPlane](../../../assets/setup/flight_modes/ardupilot_plane.jpg) -1. Test that the modes are mapped to the right transmitter switches by selecting each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode). +6. Test that the modes are mapped to the right transmitter switches by selecting each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode). All values are automatically saved as they are changed. -::: info -The ArduCopter screenshot above shows a typical setup for a three position flight mode switch with an additional option of RTL being on a channel 7 switch. You can also setup 6 flight modes using two switches plus mixing on your transmitter. Scroll down to the center section of this [page](http://ardupilot.org/copter/docs/common-rc-transmitter-flight-mode-configuration.html#common-rc-transmitter-flight-mode-configuration) for tutorials on how to do that. +The ArduCopter screenshot above shows a typical setup for a three position flight mode switch with an additional option of RTL being on a channel 7 switch. +You can also setup 6 flight modes using two switches plus mixing on your transmitter. Scroll down to the center section of this [page](http://ardupilot.org/copter/docs/common-rc-transmitter-flight-mode-configuration.html#common-rc-transmitter-flight-mode-configuration) for tutorials on how to do that. ::: ## See Also diff --git a/docs/zh/qgc-user-guide/setup_view/flight_modes_px4.md b/docs/zh/qgc-user-guide/setup_view/flight_modes_px4.md index 80acc079149..09bdeff4c67 100644 --- a/docs/zh/qgc-user-guide/setup_view/flight_modes_px4.md +++ b/docs/zh/qgc-user-guide/setup_view/flight_modes_px4.md @@ -3,8 +3,10 @@ The _Flight Modes_ section allows you to configure which [flight modes](http://docs.px4.io/master/en/getting_started/flight_modes.html) and other actions are triggered by particular switches/switch positions on your RC transmitter. ::: info -In order to set up flight modes you must already have - [Configured your radio](../setup_view/radio.md) in order to set flight modes. - [Setup the RC transmitter](../setup_view/FlightModes.md#transmitter-setup) (Flight Modes > Transmitter Setup) -::: +In order to set up flight modes you must already have + +- In order to set up flight modes you must already have - [Configured your radio](../setup_view/radio.md) in order to set flight modes. +- - [Setup the RC transmitter](../setup_view/FlightModes.md#transmitter-setup) (Flight Modes > Transmitter Setup) To access this section, select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. @@ -12,16 +14,18 @@ To access this section, select the **Gear** icon (Vehicle Setup) in the top tool ## Flight Mode Settings -The screen allows you to specify a "mode" channel and select up to 6 flight modes that will be activated based on the value sent on the channel. You can also assign a small number of channels to trigger particular actions, such as deploying landing gear, or emergency shutdown (kill switch). +The screen allows you to specify a "mode" channel and select up to 6 flight modes that will be activated based on the value sent on the channel. +You can also assign a small number of channels to trigger particular actions, such as deploying landing gear, or emergency shutdown (kill switch). The steps are: 1. Turn on your RC transmitter. -1. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. + +2. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Flight Modes** in the sidebar. ![Flight modes single-channel](../../../assets/setup/flight_modes/px4_single_channel.jpg) -1. Specify _Flight Mode Settings_: +3. Specify _Flight Mode Settings_: - Select the transmitter **Mode channel** (shown as Channel 5 above). - Select up to six **Flight Modes** for switch positions encoded in the channel. @@ -30,9 +34,11 @@ The steps are: Position mode, return mode and mission mode [are recommended](https://docs.px4.io/master/en/config/flight_mode.html#what-flight-modes-and-switches-should-i-set). ::: -1. Specify _Switch Settings_: +4. Specify _Switch Settings_: + - Select the channels that you want to map to specific actions - _Kill switch_, landing gear, etc. (if you have spare switches and channels on your transmitter). -1. Test that the modes are mapped to the right transmitter switches: + +5. Test that the modes are mapped to the right transmitter switches: - Check the _Channel Monitor_ to confirm that each switch moves the expected channel. - Select each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on _QGroundControl_ for the active mode). diff --git a/docs/zh/qgc-user-guide/setup_view/joystick.md b/docs/zh/qgc-user-guide/setup_view/joystick.md index 7563dab2a8f..141d6454169 100644 --- a/docs/zh/qgc-user-guide/setup_view/joystick.md +++ b/docs/zh/qgc-user-guide/setup_view/joystick.md @@ -2,21 +2,24 @@ _QGroundControl_ allows you to control a vehicle using a joystick or gamepad instead of an RC Transmitter. -::: info +:::info Flying with a Joystick (or [virtual thumb-sticks](../settings_view/virtual_joystick.md)) requires a reliable high bandwidth telemetry channel to ensure that the vehicle is responsive to joystick movements (because joystick information is sent over MAVLink). ::: -::: info -Joystick and Gamepad support is enabled using the cross-platform [SDL2](http://www.libsdl.org/index.php) library. Compatibility with a particular controller depends on SDL (all buttons that are exposed by that API are displayed through the _QGroundControl_ UI). A [number of common joysticks and gamepads](#supported-joysticks) are known to work. +:::info +Joystick and Gamepad support is enabled using the cross-platform [SDL2](http://www.libsdl.org/index.php) library. +Compatibility with a particular controller depends on SDL (all buttons that are exposed by that API are displayed through the _QGroundControl_ UI). +A [number of common joysticks and gamepads](#supported-joysticks) are known to work. ::: -::: info +:::info The joystick is _enabled_ as the last step of the calibration process. ::: ## Enabling PX4 Joystick Support -To enable Joystick support in PX4 you need to set the parameter [`COM_RC_IN_MODE`](h[ttp://localhost:8080/px4_user_guide/en](https://docs.px4.io/en/main/advanced_config/parameter_reference.html#COM_RC_IN_MODE) to `1` - _Joystick_. If this parameter is `0` then _Joystick_ will not be offered as a setup option. +To enable Joystick support in PX4 you need to set the parameter \[`COM_RC_IN_MODE`]\(h[ttp://localhost:8080/px4\_user\_guide/en](https://docs.px4.io/en/main/advanced_config/parameter_reference.html#COM_RC_IN_MODE) to `1` - _Joystick_. +If this parameter is `0` then _Joystick_ will not be offered as a setup option. This is enabled by default for PX4 SITL builds (see the [Parameters](../setup_view/parameters.md) topic for information on how to find and set a particular parameter). @@ -29,8 +32,11 @@ All ArduPilot vehicles are supported. No parameter configuration is necessary. To configure a joystick: 1. Start _QGroundControl_ and connect to a vehicle. + 2. Connect the Joystick or Gamepad to a USB port. -3. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Joystick** in the sidebar. The screen below will appear. + +3. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Joystick** in the sidebar. + The screen below will appear. ![Joystick setup - PlayStation](../../../assets/setup/joystick_sony_playstation.jpg) @@ -44,20 +50,25 @@ To configure a joystick: 6. Test the buttons and sticks work as intended by pressing them, and viewing the result in the Axis/Button monitor in the **General** tab. -7. Select the flight modes/vehicle functions activated by each joystick button. ![Joystick setup - Buttons](../../../assets/setup/joystick_buttons.jpg) +7. Select the flight modes/vehicle functions activated by each joystick button. + ![Joystick setup - Buttons](../../../assets/setup/joystick_buttons.jpg) ## Advanced Options -Some additional Options are available at the **Advanced** tab. These options may be useful for specific, unsual setups, for increasing sensibility, and for handling noisy joysticks. +Some additional Options are available at the **Advanced** tab. +These options may be useful for specific, unsual setups, for increasing sensibility, and for handling noisy joysticks. ### Throttle Options ![Joystick setup - Throttle Modes](../../../assets/setup/joystick_throttle_modes.jpg) -- **Center stick is zero throttle**: Centered or lowered stick sends 0 in [MANUAL_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), raised stick sends 1000. - - **Spring loaded throttle smoothing**: In this mode you control not the throttle itself, but the rate at which it increases/decreases. This is useful for setups where the throttle stick is spring loaded, as the user can hold the desired throttle while releasing the stick. -- **Full down stick is zero throttle**: In this mode, lowered stick sends 0 in [MANUAL_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), centered stick 500, and raised 1000. -- **Allow negative thrust**: When in **Center stick is zero throttle** mode, this allows the user to send negative values by lowering the stick. So that lowered stick sends -1000 in [MANUAL_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), centered sends zero, and raised stick sends 1000. This mode is only enabled for vehicles that support negative thrust, such as [Rover](http://ardupilot.org/rover/index.html). +- **Center stick is zero throttle**: Centered or lowered stick sends 0 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), raised stick sends 1000. + - **Spring loaded throttle smoothing**: In this mode you control not the throttle itself, but the rate at which it increases/decreases. + This is useful for setups where the throttle stick is spring loaded, as the user can hold the desired throttle while releasing the stick. +- **Full down stick is zero throttle**: In this mode, lowered stick sends 0 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), centered stick 500, and raised 1000. +- **Allow negative thrust**: When in **Center stick is zero throttle** mode, this allows the user to send negative values by lowering the stick. + So that lowered stick sends -1000 in [MANUAL\_CONTROL **z**](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL), centered sends zero, and raised stick sends 1000. + This mode is only enabled for vehicles that support negative thrust, such as [Rover](http://ardupilot.org/rover/index.html). ### Expo @@ -73,7 +84,8 @@ The higher the Expo value, the flatter the curve is at the center, and steeper i ### Advanced Settings -The advanced settings are not recommended for everyday users. They can cause unpredicted results if used incorrectly. +The advanced settings are not recommended for everyday users. +They can cause unpredicted results if used incorrectly. ![Joystick setup - Advanced Settings](../../../assets/setup/joystick_advanced.jpg) @@ -83,27 +95,34 @@ The following settings are available: - **Joystick Mode**: Changes what the joystick actually controls, and the MAVLink messages sent to the vehicle. - - **Normal**: User controls as if using a regular RC radio, MAVLink [MANUAL_CONTROL](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL) messages are used. - - **Attitude**: User controls the vehicle attitude, MAVLink [SET_ATTITUDE_TARGET](https://mavlink.io/en/messages/common.html#SET_ATTITUDE_TARGET) messages are used. - - **Position**: User controls the vehicle position, MAVLink [SET_POSITION_TARGET_LOCAL_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **position** only are used. - - **Force**: User controls the forces applied to the vehicle, MAVLink [SET_POSITION_TARGET_LOCAL_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **force** only are used. - - **Velocity**: User controls the forces applied to the vehicle, MAVLink [SET_POSITION_TARGET_LOCAL_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **velocity** only are used. + - **Normal**: User controls as if using a regular RC radio, MAVLink [MANUAL\_CONTROL](https://mavlink.io/en/messages/common.html#MANUAL_CONTROL) messages are used. + - **Attitude**: User controls the vehicle attitude, MAVLink [SET\_ATTITUDE\_TARGET](https://mavlink.io/en/messages/common.html#SET_ATTITUDE_TARGET) messages are used. + - **Position**: User controls the vehicle position, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **position** only are used. + - **Force**: User controls the forces applied to the vehicle, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **force** only are used. + - **Velocity**: User controls the forces applied to the vehicle, MAVLink [SET\_POSITION\_TARGET\_LOCAL\_NED](https://mavlink.io/en/messages/common.html#SET_POSITION_TARGET_LOCAL_NED) messages with bitmask for **velocity** only are used. - **Axis Frequency**: When the joystick is idle (inputs are not changing), the joystick commands are sent to the vehicle at 5Hz. When the joystick is in use (input values are changing), the joystick commands are sent to the vehicle at the (higher) frequency configured by this setting. The default is 25Hz. - **Button Frequency**: Controls the frequency at which repeated button actions are sent. -- **Enable Circle Correction**: RC controllers sticks describe a square, while joysticks usually describe a circle. When this option is enabled a square is inscribed inside the joystick movement area to make it more like an RC controller (so it is possible to reach all four corners). The cost is decreased resolution, as the effective stick travel is reduced. +- **Enable Circle Correction**: RC controllers sticks describe a square, while joysticks usually describe a circle. + When this option is enabled a square is inscribed inside the joystick movement area to make it more like an RC controller (so it is possible to reach all four corners). The cost is decreased resolution, as the effective stick travel is reduced. - - **Disabled:** When this is **disabled** the joystick position is sent to the vehicle unchanged (the way that it is read from the joystick device). On some joysticks, the (roll, pitch) values are confined to the space of a circle inscribed inside of a square. In this figure, point B would command full pitch forward and full roll right, but the joystick is not able to reach point B because the retainer is circular. This means that you will not be able to achieve full roll and pitch deflection simultaneously. + - **Disabled:** When this is **disabled** the joystick position is sent to the vehicle unchanged (the way that it is read from the joystick device). + On some joysticks, the (roll, pitch) values are confined to the space of a circle inscribed inside of a square. + In this figure, point B would command full pitch forward and full roll right, but the joystick is not able to reach point B because the retainer is circular. + This means that you will not be able to achieve full roll and pitch deflection simultaneously. - ![](../../../assets/setup/joystick_circle_correction.jpg) + ![](../../../assets/setup/joystick_circle_correction.jpg) - - **Enabled:** The joystick values are adjusted in software to ensure full range of commands. The usable area of travel and resolution is decreased, however, because the area highlighted grey in the figure is no longer used. + - **Enabled:** The joystick values are adjusted in software to ensure full range of commands. + The usable area of travel and resolution is decreased, however, because the area highlighted grey in the figure is no longer used. - ![Circle correction enabled](../../../assets/setup/joystick_circle_correction2.jpg) + ![Circle correction enabled](../../../assets/setup/joystick_circle_correction2.jpg) -- **Deadbands:** Deadbands allow input changes to be ignored when the sticks are near their neutral positions. This helps to avoid noise or small oscillations on sensitive sticks which may be interpreted as commands, or small offsets when sticks do not re-center well. They can be adjusted during the first step of the [calibration](#configure), or by dragging vertically on the corresponding axis monitor. +- **Deadbands:** Deadbands allow input changes to be ignored when the sticks are near their neutral positions. + This helps to avoid noise or small oscillations on sensitive sticks which may be interpreted as commands, or small offsets when sticks do not re-center well. + They can be adjusted during the first step of the [calibration](#configure), or by dragging vertically on the corresponding axis monitor. ## Supported Joysticks @@ -111,11 +130,14 @@ The following joysticks/controllers have been shown to work with relatively rece ### Sony Playstation 3/4 Controllers -Both these joysticks are highly recommended. They work well "out of the box" and have many buttons that you can map to flight modes. +Both these joysticks are highly recommended. +They work well "out of the box" and have many buttons that you can map to flight modes. #### Sony PS4 - DualShock 4 Controller V2 (Wireless setup) -This controller supports both USB and Bluetooth wireless connection. Wired USB connection usually works out of the box. The wireless connection needs some setup. +This controller supports both USB and Bluetooth wireless connection. +Wired USB connection usually works out of the box. +The wireless connection needs some setup. ##### Linux Ubuntu setup @@ -123,20 +145,32 @@ To make the controller work wirelessly under Linux the [jstest-gtk](https://jste The steps are: -1. Install _jstest-gtk_: `sudo apt install jstest-gtk` -2. Install _ds4drv_: `sudo pip install ds4drv` +1. Install _jstest-gtk_: + ``` + Install _jstest-gtk_: `sudo apt install jstest-gtk` + ``` +2. Install _ds4drv_: + ``` + Install _ds4drv_: `sudo pip install ds4drv` + ``` 3. Run ds4drv `sudo ds4drv` -4. Hold **Share** button and then **PS** button until controller LED starts blinking rapidly. The _ds4drv_ should then detect a new device. + ``` + sudo ds4drv + ``` +4. Hold **Share** button and then **PS** button until controller LED starts blinking rapidly. + The _ds4drv_ should then detect a new device. 5. Last of all, you should check the controller setup by running the _jstest-gtk_ utility. ### FrSky Taranis XD9 plus -The _FrSky Taranis XD9 plus_ remote control can also be connected as a joystick. You will need to connect it via the USB port on the back. +The _FrSky Taranis XD9 plus_ remote control can also be connected as a joystick. +You will need to connect it via the USB port on the back. The Taranis does not allow you to use button options (to be precise, you can set the options, but toggling the buttons on your transmitter does not cause them to be pressed). -::: info -The Taranis is an open system that is openly being worked on. It is possible that at time of writing there is a firmware or configuration that allows it to work effectively as a joystick. +:::info +The Taranis is an open system that is openly being worked on. +It is possible that at time of writing there is a firmware or configuration that allows it to work effectively as a joystick. ::: ### Logitech Gamepad F310 @@ -145,7 +179,8 @@ The Logitech Gamepad F310 has been tested via USB on MacOSX "Sierra". ### Logitech Extreme 3D Pro -The [Logitech Extreme 3D Pro](http://gaming.logitech.com/en-ch/product/extreme-3d-pro-joystick) Joystick has been tested on all platforms (Linux, Windows, Mac OSX). This is a single stick controller that can also be twisted. The main stick axes are used for pitch and roll, while the twist action is used for yaw. The throttle is mapped onto a separate wheel. +The [Logitech Extreme 3D Pro](http://gaming.logitech.com/en-ch/product/extreme-3d-pro-joystick) Joystick has been tested on all platforms (Linux, Windows, Mac OSX). +This is a single stick controller that can also be twisted. The main stick axes are used for pitch and roll, while the twist action is used for yaw. The throttle is mapped onto a separate wheel. ### Logitech F710 Gamepad @@ -155,9 +190,11 @@ This gamepad is great for flying a multirotor manually via QGroundControl. It wo #### Mac OS Leopard / Lion Setup -The F710 is detected under Leopard / Lion but is not automatically configured as an input device. In order to get a working configuration, the F710 has to be recognised as _Rumblepad2_. +The F710 is detected under Leopard / Lion but is not automatically configured as an input device. +In order to get a working configuration, the F710 has to be recognised as _Rumblepad2_. -First check how it is recognised: **Apple > About this Mac > Additional Information > System Report > USB**. It is detected as "Logitech Cordless RumblePad 2" then nothing further needs to be done. +First check how it is recognised: **Apple > About this Mac > Additional Information > System Report > USB**. +It is detected as "Logitech Cordless RumblePad 2" then nothing further needs to be done. If it is detected as a "Logitech Wireless 710", perform these steps: diff --git a/docs/zh/qgc-user-guide/setup_view/motors.md b/docs/zh/qgc-user-guide/setup_view/motors.md index 9df863e60b3..e190dca8b4e 100644 --- a/docs/zh/qgc-user-guide/setup_view/motors.md +++ b/docs/zh/qgc-user-guide/setup_view/motors.md @@ -2,8 +2,9 @@ Motor Setup is used to test individual motors/servos (for example, to verify that motors spin in the correct direction). -::: tip -These instructions apply to PX4 and to most vehicle types on ArduPilot. Vehicle-specific instructions are provided as sub-topics (e.g. [Motors Setup (ArduSub)](../setup_view/motors_ardusub.md)). +:::tip +These instructions apply to PX4 and to most vehicle types on ArduPilot. +Vehicle-specific instructions are provided as sub-topics (e.g. [Motors Setup (ArduSub)](../setup_view/motors_ardusub.md)). ::: ![Motors Test](../../../assets/setup/Motors.png) @@ -19,7 +20,9 @@ To test the motors: ::: 2. (_PX4-only_) Enable safety switch - if used. + 3. Slide the switch to enable motor sliders (labeled: _Propellers are removed - Enable motor sliders_). + 4. Adjust the individual sliders to spin the motors and confirm they spin in the correct direction. ::: info diff --git a/docs/zh/qgc-user-guide/setup_view/motors_ardusub.md b/docs/zh/qgc-user-guide/setup_view/motors_ardusub.md index 51099ebd957..469d8995821 100644 --- a/docs/zh/qgc-user-guide/setup_view/motors_ardusub.md +++ b/docs/zh/qgc-user-guide/setup_view/motors_ardusub.md @@ -2,7 +2,8 @@ In order for ArduSub to function properly, the motors must be correctly set up. -If you just assembled your ROV, first make sure that the thrusters are connected to the correct outputs in the **Manual Test** section. Drag each slider and make sure that the _correct motor_ spins accordingly to the frame displayed. +If you just assembled your ROV, first make sure that the thrusters are connected to the correct outputs in the **Manual Test** section. +Drag each slider and make sure that the _correct motor_ spins accordingly to the frame displayed. Once you know that the thrusters are connected to the proper outputs you can check for _correct direction_ (forward/reverse) using either [automatic direction detection](#automatic) (recommended from ArduSub 4.0) or the [manual test](#manual). @@ -12,13 +13,15 @@ Once you know that the thrusters are connected to the proper outputs you can che ## Manual Test {#manual} -The ArduSub motor setup allows you to test individual motors. The sliders allow spinning each motor in forward or reverse mode, and the checkboxes under the sliders allow reversing the operation of individual thrusters. +The ArduSub motor setup allows you to test individual motors. +The sliders allow spinning each motor in forward or reverse mode, and the checkboxes under the sliders allow reversing the operation of individual thrusters. -The image at the right shows the frame currently in use, along with the location and orientation of each thruster. If the frame selection does not match your vehicle, first select the correct frame in the [Frame](../setup_view/airframe_ardupilot.md#ardusub) tab. +The image at the right shows the frame currently in use, along with the location and orientation of each thruster. +If the frame selection does not match your vehicle, first select the correct frame in the [Frame](../setup_view/airframe_ardupilot.md#ardusub) tab. To manually set up and test the motors, read and follow the instructions on the page. -::: warning +:::warning Make sure the motors and propellers are clear from obstructions before sliding the switch to arm the vehicle and enable the test! ::: @@ -26,11 +29,14 @@ Make sure the motors and propellers are clear from obstructions before sliding t ## Automatic Direction Detection {#automatic} -Ardusub 4.0 and newer support automatic detection of the motor directions. This works by applying pulses to each motor, checking if the frame reacts as expected, and reversing the motor if necessary. The process takes around one minute. +Ardusub 4.0 and newer support automatic detection of the motor directions. +This works by applying pulses to each motor, checking if the frame reacts as expected, and reversing the motor if necessary. +The process takes around one minute. -To perform the automatic motor direction detection, navigate to **Vehicle Setup->Motors** tab, click the **Auto-Detect Directions** button and wait. Additional output about the process will be shown next to the button as it runs. +To perform the automatic motor direction detection, navigate to **Vehicle Setup->Motors** tab, click the **Auto-Detect Directions** button and wait. +Additional output about the process will be shown next to the button as it runs. -::: warning +:::warning This procedure still requires that the motors are connected to the _correct outputs_ as shown in the frame view! ::: diff --git a/docs/zh/qgc-user-guide/setup_view/parameters.md b/docs/zh/qgc-user-guide/setup_view/parameters.md index fc4f27d6d47..8bee143e3c8 100644 --- a/docs/zh/qgc-user-guide/setup_view/parameters.md +++ b/docs/zh/qgc-user-guide/setup_view/parameters.md @@ -4,7 +4,7 @@ The _Parameters_ screen allows you to find and modify any of the parameters asso ![Parameters Screen](../../../assets/setup/parameters_px4.jpg) -::: info +:::info PX4 Pro and ArduPilot use different parameter sets, but they are both managed as described in this section. ::: @@ -22,7 +22,7 @@ To change the value of a parameter click on the parameter row in a group or sear ![Changing a parameter value](../../../assets/setup/parameters_changing.png) -::: info +:::info When you click **Save** the parameter is automatically and silently uploaded to the connected vehicle. Depending on the parameter, you may then need to reboot the flight controller for the change to take effect. ::: diff --git a/docs/zh/qgc-user-guide/setup_view/power.md b/docs/zh/qgc-user-guide/setup_view/power.md index cfa2c9cb618..a87b436a697 100644 --- a/docs/zh/qgc-user-guide/setup_view/power.md +++ b/docs/zh/qgc-user-guide/setup_view/power.md @@ -12,14 +12,14 @@ _QGroundControl_ can be used to calculate appropriate voltage divider and amps-p 1. Measure the voltage from the battery using a multimeter. 2. Click **Calculate** next to the _Voltage divider_ field. On the prompt that appears: - 1. Enter the measured voltage. - 2. Click **Calculate** to generate a new voltage-divider value. - 3. Click **Close** to save the value into the main form. -3. Measure the current from the battery. -4. Click **Calculate** next to the _Amps per volt_ field. On the prompt that appears: - 1. Enter the measured current. - 2. Click **Calculate** to generate a new _amps per volt_ value. - 3. Click **Close** to save the value into the main form. +3. Enter the measured voltage. +4. Click **Calculate** to generate a new voltage-divider value. +5. Click **Close** to save the value into the main form. +6. Measure the current from the battery. +7. Click **Calculate** next to the _Amps per volt_ field. On the prompt that appears: +8. Enter the measured current. +9. Click **Calculate** to generate a new _amps per volt_ value. +10. Click **Close** to save the value into the main form. ## Advanced Power Settings @@ -29,7 +29,7 @@ Click the **Show Advanced Settings** checkbox to specify advanced power settings Batteries show less voltage at high throttle. Enter the difference in Volts between idle throttle and full throttle, divided by the number of battery cells. The default value should be used if unsure! -::: warning +:::warning If the value is too high the battery may be deep-discharged and damaged. ::: @@ -44,7 +44,8 @@ To calibrate the ESC max/min PWM values: ::: warning Never attempt ESC calibration with props on. -Motors should not spin during ESC calibration. However if an ESC doesn't properly support/detect the calibration sequence then it will respond to the PWM input by running the motor at maximum speed. +Motors should not spin during ESC calibration. +However if an ESC doesn't properly support/detect the calibration sequence then it will respond to the PWM input by running the motor at maximum speed. ::: ## Other Settings diff --git a/docs/zh/qgc-user-guide/setup_view/radio.md b/docs/zh/qgc-user-guide/setup_view/radio.md index 5e10c85104a..94c73c6ee7c 100644 --- a/docs/zh/qgc-user-guide/setup_view/radio.md +++ b/docs/zh/qgc-user-guide/setup_view/radio.md @@ -4,7 +4,7 @@ Radio Setup is used to configure the mapping of your main transmitter attitude c The main calibration process is identical for PX4 and ArduPilot (a number of additional flight-controller specific settings/tools are [detailed below](#additional-radio-setup)). -::: info +:::info Before you can calibrate the radio system the receiver and transmitter must be connected/bound. The process for binding a transmitter and receiver pair is hardware specific (see your manual for instructions). ::: @@ -15,7 +15,9 @@ The calibration process is straightforward - you will be asked to move the stick To calibrate the radio: 1. Select the **Gear** icon (Vehicle Setup) in the top toolbar and then **Radio** in the sidebar. + 2. Turn on your RC transmitter. + 3. Press **OK** to start the calibration. ![Radio setup - before starting](../../../assets/setup/radio_start_setup.jpg) @@ -51,7 +53,9 @@ Before you can calibrate the radio system the receiver and transmitter must be c To bind a Spektrum transmitter/receiver: 1. Select the **Spektrum Bind** button + 2. Select the radio button for your receiver + 3. Press **OK** ![Spektrum Bind](../../../assets/setup/radio_additional_setup_spectrum_bind_select_channels.jpg) @@ -65,7 +69,9 @@ This setting is used to copy the manual trim settings from your radio transmitte To copy the trims: 1. Select **Copy Trims**. + 2. Center your sticks and move throttle all the way down. + 3. Press **Ok**. ![Copy Trims](../../../assets/setup/radio_additional_radio_setup_copy_trims_px4.jpg) @@ -89,7 +95,7 @@ The flight controller will pass through the unmodified values from the specified Tuning channels allow you to map a transmitter tuning knob to a parameter (so that you can dynamically modify a parameter from your transmitter). -::: tip +:::tip This feature is provided to enable manual in-flight tuning. ::: @@ -105,8 +111,11 @@ To set up tuning channels: To map a PARAM tuning channel to a parameter: 1. Open the **Parameters** sidebar. + 2. Select the parameter to map to your transmitter (this will open the _Parameter Editor_). + 3. Check the **Advanced Settings** checkbox. + 4. Click the **Set RC to Param...** button (this will pop-up the foreground dialog displayed below) ![Map tuning channels to parameters](../../../assets/setup/parameters_radio_channel_mapping_px4.jpg) @@ -114,8 +123,9 @@ To map a PARAM tuning channel to a parameter: 5. Select the tuning channel to map (1, 2 or 3) from the _Parameter Tuning ID_ selection list. 6. Press **OK** to close the dialog. + 7. Press **Save** to save all changes and close the _Parameter Editor_. -::: tip +:::tip You can clear all parameter/tuning channel mappings by selecting menu **Tools > Clear RC to Param** at the top right of the _Parameters_ screen. ::: diff --git a/docs/zh/qgc-user-guide/setup_view/safety.md b/docs/zh/qgc-user-guide/setup_view/safety.md index 85d63733306..f58ec5e50e5 100644 --- a/docs/zh/qgc-user-guide/setup_view/safety.md +++ b/docs/zh/qgc-user-guide/setup_view/safety.md @@ -8,6 +8,6 @@ The PX4 page is shown below. ![Safety Setup - PX4](../../../assets/setup/px4_safety.jpg) -::: info +:::info For additional PX4 safety settings and information see: [Safety Configuration](https://docs.px4.io/en/config/safety.html). ::: diff --git a/docs/zh/qgc-user-guide/setup_view/safety_ardupilot.md b/docs/zh/qgc-user-guide/setup_view/safety_ardupilot.md index 050e8deaff7..a2b22754f13 100644 --- a/docs/zh/qgc-user-guide/setup_view/safety_ardupilot.md +++ b/docs/zh/qgc-user-guide/setup_view/safety_ardupilot.md @@ -2,11 +2,11 @@ The _Safety Setup_ page allows you to configure (vehicle specific) failsafe settings. -::: tip +:::tip The setup page covers the most important safety options; other failsafe settings can be set via the [parameters](../setup_view/parameters.md) described in the failsafe documentation for each vehicle type. ::: -::: info +:::tip _QGroundControl_ does not support polygon fences or rally points on ArduPilot. ::: @@ -16,15 +16,17 @@ The Copter safety page is shown below. ![Safety Setup - Copter (Ardupilot)](../../../assets/setup/safety/safety_arducopter.jpg) -::: info +:::info For additional safety settings and information see: [Failsafe](http://ardupilot.org/copter/docs/failsafe-landing-page.html). ::: -### Battery Failsafe {#battery_failsafe_copter} +### Battery Failsafe {#battery\_failsafe\_copter} -This panel sets the [Battery Failsafe](http://ardupilot.org/copter/docs/failsafe-battery.html) parameters. You can set low and critical thresholds for voltage and/or remaining capacity and define the action if the failsafe value is breached. The thresholds can be disabled by setting them to zero. +This panel sets the [Battery Failsafe](http://ardupilot.org/copter/docs/failsafe-battery.html) parameters. +You can set low and critical thresholds for voltage and/or remaining capacity and define the action if the failsafe value is breached. +The thresholds can be disabled by setting them to zero. -::: tip +:::tip If there is a second battery (enabled in the [Power Setup](../setup_view/power.md)) a second panel will be displayed with the same settings. ::: @@ -32,14 +34,14 @@ If there is a second battery (enabled in the [Power Setup](../setup_view/power.m The configuration options are: -- **Low action** ([BATT_FS_LOW_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-low-act-low-battery-failsafe-action)) - Select one of: None, Land, RTL, SmartRTL, SmartRTL or Land, Terminate. -- **Critical action** ([BATT_FS_CRT_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-crt-act-critical-battery-failsafe-action)) - Select one of: None, Land, RTL, SmartRTL, SmartRTL or Land, Terminate. -- **Low voltage threshold** ([BATT_LOW_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-low-volt-low-battery-voltage)) - Battery voltage that triggers the _low action_. -- **Critical voltage threshold** ([BATT_CRT_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-crt-volt-critical-battery-voltage))- Battery voltage that triggers the _critical action_. -- **Low mAh threshold** ([BATT_LOW_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-low-mah-low-battery-capacity)) - Battery capacity that triggers the _low action_. -- **Critical mAh threshold** ([BATT_CRT_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-crt-mah-battery-critical-capacity)) - Battery capacity that triggers the _critical action_. +- **Low action** ([BATT\_FS\_LOW\_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-low-act-low-battery-failsafe-action)) - Select one of: None, Land, RTL, SmartRTL, SmartRTL or Land, Terminate. +- **Critical action** ([BATT\_FS\_CRT\_ACT](http://ardupilot.org/copter/docs/parameters.html#batt-fs-crt-act-critical-battery-failsafe-action)) - Select one of: None, Land, RTL, SmartRTL, SmartRTL or Land, Terminate. +- **Low voltage threshold** ([BATT\_LOW\_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-low-volt-low-battery-voltage)) - Battery voltage that triggers the _low action_. +- **Critical voltage threshold** ([BATT\_CRT\_VOLT](http://ardupilot.org/copter/docs/parameters.html#batt-crt-volt-critical-battery-voltage))- Battery voltage that triggers the _critical action_. +- **Low mAh threshold** ([BATT\_LOW\_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-low-mah-low-battery-capacity)) - Battery capacity that triggers the _low action_. +- **Critical mAh threshold** ([BATT\_CRT\_MAH](http://ardupilot.org/copter/docs/parameters.html#batt-crt-mah-battery-critical-capacity)) - Battery capacity that triggers the _critical action_. -### General Failsafe Triggers {#failsafe_triggers_copter} +### General Failsafe Triggers {#failsafe\_triggers\_copter} This panel enables the [GCS Failsafe](http://ardupilot.org/copter/docs/gcs-failsafe.html) and enables/configures the throttle failsafe. @@ -49,25 +51,26 @@ The configuration options are: - **Ground Station failsafe** - Disabled, Enabled always RTL, Enabled Continue with Mission in Auto Mode, Enabled Always SmartRTL or RTL, Enabled Always SmartRTL or Land. - **Throttle failsafe** - Disabled, Always RTL, Continue with Mission in Auto Mode, Always land. -- **PWM Threshold** ([FS_THR_VALUE](http://ardupilot.org/copter/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. +- **PWM Threshold** ([FS\_THR\_VALUE](http://ardupilot.org/copter/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. -### Geofence {#geofence_copter} +### Geofence {#geofence\_copter} -This panel sets the parameters for the cylindrical [Simple Geofence](http://ardupilot.org/copter/docs/ac2_simple_geofence.html). You can set whether the fence radius or height are enabled, the maximum values for causing a breach, and the action in the event of a breach. +This panel sets the parameters for the cylindrical [Simple Geofence](http://ardupilot.org/copter/docs/ac2_simple_geofence.html). +You can set whether the fence radius or height are enabled, the maximum values for causing a breach, and the action in the event of a breach. ![Safety Setup - Geofence (Copter)](../../../assets/setup/safety/safety_arducopter_geofence.jpg) The configuration options are: -- **Circle GeoFence enabled** ([FENCE_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - Enable the circular geofence. -- **Altitude GeoFence enabled** ([FENCE_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - Enable altitude geofence. -- Fence action ([FENCE_ACTION](http://ardupilot.org/copter/docs/parameters.html#fence-action-fence-action)) One of: +- **Circle GeoFence enabled** ([FENCE\_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE\_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - Enable the circular geofence. +- **Altitude GeoFence enabled** ([FENCE\_TYPE](http://ardupilot.org/copter/docs/parameters.html#fence-type-fence-type), [FENCE\_ENABLE](http://ardupilot.org/copter/docs/parameters.html#fence-enable-fence-enable-disable)) - Enable altitude geofence. +- Fence action ([FENCE\_ACTION](http://ardupilot.org/copter/docs/parameters.html#fence-action-fence-action)) One of: - **Report only** - Report fence breach. - **RTL or Land** - RTL or land on fence breach. -- **Max radius** ([FENCE_RADIUS](http://ardupilot.org/copter/docs/parameters.html#fence-radius-circular-fence-radius)) - Circular fence radius that when broken causes RTL. -- **Max altitude** ([FENCE_ALT_MAX](http://ardupilot.org/copter/docs/parameters.html#fence-alt-max-fence-maximum-altitude))- Fence maximum altitude to trigger altitude geofence. +- **Max radius** ([FENCE\_RADIUS](http://ardupilot.org/copter/docs/parameters.html#fence-radius-circular-fence-radius)) - Circular fence radius that when broken causes RTL. +- **Max altitude** ([FENCE\_ALT\_MAX](http://ardupilot.org/copter/docs/parameters.html#fence-alt-max-fence-maximum-altitude))- Fence maximum altitude to trigger altitude geofence. -### Return to Launch {#rtl_copter} +### Return to Launch {#rtl\_copter} This panel sets the [RTL Mode](http://ardupilot.org/copter/docs/rtl-mode.html) behaviour. @@ -75,15 +78,15 @@ This panel sets the [RTL Mode](http://ardupilot.org/copter/docs/rtl-mode.html) b The configuration options are: -- Select RTL return altitude ([RTL_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): +- Select RTL return altitude ([RTL\_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): - **Return at current altitude** - Return at current altitude. - **Return at specified altitude** - Ascend to specified altitude to return if below current altitude. -- **Loiter above home for** ([RTL_LOIT_TIME](http://ardupilot.org/copter/docs/parameters.html#rtl-loit-time-rtl-loiter-time)) - Check to set a loiter time before landing. +- **Loiter above home for** ([RTL\_LOIT\_TIME](http://ardupilot.org/copter/docs/parameters.html#rtl-loit-time-rtl-loiter-time)) - Check to set a loiter time before landing. - One of - - **Land with descent speed** ([LAND_SPEED](http://ardupilot.org/copter/docs/parameters.html#land-speed-land-speed)) - Select final descent speed. - - **Final loiter altitude** ([RTL_ALT_FINAL](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-final-rtl-final-altitude)) - Select and set final altitude for landing after RTL or mission (set to 0 to land). + - **Land with descent speed** ([LAND\_SPEED](http://ardupilot.org/copter/docs/parameters.html#land-speed-land-speed)) - Select final descent speed. + - **Final loiter altitude** ([RTL\_ALT\_FINAL](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-final-rtl-final-altitude)) - Select and set final altitude for landing after RTL or mission (set to 0 to land). -### Arming Checks {#arming_checks_copter} +### Arming Checks {#arming\_checks\_copter} This panel sets which [Pre-ARM Safety Checks](http://ardupilot.org/copter/docs/prearm_safety_check.html) are enabled. @@ -91,7 +94,7 @@ This panel sets which [Pre-ARM Safety Checks](http://ardupilot.org/copter/docs/p The configuration options are: -- **Arming Checks to perform** ([ARMING_CHECK](http://ardupilot.org/copter/docs/parameters.html#arming-check-arm-checks-to-peform-bitmask)) - Check all appropriate: Barometer, Compass, GPS lock, INS, Parameters, RC Channels, Board voltage, Battery Level, Airspeed, Logging Available, Hardware safety switch, GPS Configuration, System. +- **Arming Checks to perform** ([ARMING\_CHECK](http://ardupilot.org/copter/docs/parameters.html#arming-check-arm-checks-to-peform-bitmask)) - Check all appropriate: Barometer, Compass, GPS lock, INS, Parameters, RC Channels, Board voltage, Battery Level, Airspeed, Logging Available, Hardware safety switch, GPS Configuration, System. ## Plane @@ -99,17 +102,17 @@ The Plane safety page is shown below. ![Safety Setup - Plane (Ardupilot)](../../../assets/setup/safety/safety_arduplane.jpg) -::: info +:::info For additional safety settings and information see: [Plane Failsafe Function](http://ardupilot.org/plane/docs/apms-failsafe-function.html) and [Advanced Failsafe Configuration](http://ardupilot.org/plane/docs/advanced-failsafe-configuration.html). ::: -### Battery Failsafe {#battery_failsafe_plane} +### Battery Failsafe {#battery\_failsafe\_plane} The plane battery failsafe is the same as for copter except there are different options for the [Low](http://ardupilot.org/plane/docs/parameters.html#batt-fs-low-act-low-battery-failsafe-action) and [Critical](http://ardupilot.org/plane/docs/parameters.html#batt-fs-crt-act-critical-battery-failsafe-action) actions: None, RTL, Land, Terminate. For more information see: [battery failsafe](#battery_failsafe_copter) (copter). -### Failsafe Triggers {#failsafe_triggers_plane} +### Failsafe Triggers {#failsafe\_triggers\_plane} This panel enables the [GCS Failsafe](http://ardupilot.org/plane/docs/advanced-failsafe-configuration.html#ground-station-communications-loss) and enables/configures the throttle failsafe. @@ -117,10 +120,10 @@ This panel enables the [GCS Failsafe](http://ardupilot.org/plane/docs/advanced-f The configuration options are: -- **Throttle PWM threshold** ([THR_FS_VALUE](http://ardupilot.org/plane/docs/parameters.html#thr-fs-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. -- **GCS failsafe** ([FS_GCS_ENABL](http://ardupilot.org/plane/docs/parameters.html#fs-gcs-enabl-gcs-failsafe-enable)) - Check to enable GCS failsafe. +- **Throttle PWM threshold** ([THR\_FS\_VALUE](http://ardupilot.org/plane/docs/parameters.html#thr-fs-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. +- **GCS failsafe** ([FS\_GCS\_ENABL](http://ardupilot.org/plane/docs/parameters.html#fs-gcs-enabl-gcs-failsafe-enable)) - Check to enable GCS failsafe. -### Return to Launch {#rtl_plane} +### Return to Launch {#rtl\_plane} This panel sets the [RTL Mode](http://ardupilot.org/copter/docs/rtl-mode.html) behaviour. @@ -128,11 +131,11 @@ This panel sets the [RTL Mode](http://ardupilot.org/copter/docs/rtl-mode.html) b The configuration options are: -- Select RTL return altitude ([RTL_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): +- Select RTL return altitude ([RTL\_ALT](http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude)): - **Return at current altitude** - Return at current altitude. - **Return at specified altitude** - Ascend to specified altitude to return if below current altitude. -### Arming Checks {#arming_checks_plane} +### Arming Checks {#arming\_checks\_plane} [Arming Checks](#arming_checks_copter) are the same as for copter. @@ -142,15 +145,15 @@ The Rover safety page is shown below. ![Safety Setup - Rover (Ardupilot)](../../../assets/setup/safety/safety_ardurover.jpg) -::: info +:::info For additional safety settings and information see: [Failsafes](http://ardupilot.org/rover/docs/rover-failsafes.html). ::: -### Battery Failsafe {#battery_failsafe_rover} +### Battery Failsafe {#battery\_failsafe\_rover} The rover battery failsafe is the same as for [copter](#battery_failsafe_copter). -### Failsafe Triggers {#failsafe_triggers_rover} +### Failsafe Triggers {#failsafe\_triggers\_rover} This panel enables the rover [Failsafes](http://ardupilot.org/rover/docs/rover-failsafes.html). @@ -158,12 +161,12 @@ This panel enables the rover [Failsafes](http://ardupilot.org/rover/docs/rover-f The configuration options are: -- **Ground Station failsafe** ([FS_GCS_ENABL](http://ardupilot.org/rover/docs/parameters.html#fs-gcs-enable-gcs-failsafe-enable)) - Check to enable GCS failsafe. -- **Throttle failsafe** ([FS_THR_ENABLE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-enable-throttle-failsafe-enable)) - Enable/disable throttle failsafe (value is _PWM threshold_ below). -- **PWM threshold** ([FS_THR_VALUE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. -- **Failsafe Crash Check** ([FS_CRASH_CHECK](http://ardupilot.org/rover/docs/parameters.html#fs-crash-check-crash-check-action)) - What to do in the event of a crash: Disabled, Hold, HoldAndDisarm +- **Ground Station failsafe** ([FS\_GCS\_ENABL](http://ardupilot.org/rover/docs/parameters.html#fs-gcs-enable-gcs-failsafe-enable)) - Check to enable GCS failsafe. +- **Throttle failsafe** ([FS\_THR\_ENABLE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-enable-throttle-failsafe-enable)) - Enable/disable throttle failsafe (value is _PWM threshold_ below). +- **PWM threshold** ([FS\_THR\_VALUE](http://ardupilot.org/rover/docs/parameters.html#fs-thr-value-throttle-failsafe-value)) - PWM value below which throttle failsafe triggers. +- **Failsafe Crash Check** ([FS\_CRASH\_CHECK](http://ardupilot.org/rover/docs/parameters.html#fs-crash-check-crash-check-action)) - What to do in the event of a crash: Disabled, Hold, HoldAndDisarm -### Arming Checks {#arming_checks_rover} +### Arming Checks {#arming\_checks\_rover} [Arming Checks](#arming_checks_copter) are the same as for copter. @@ -173,11 +176,11 @@ The Sub safety page is shown below. ![Safety Setup - Sub (Ardupilot)](../../../assets/setup/safety/safety_ardusub.jpg) -::: info +:::info For additional safety settings and information see: [Failsafes](https://www.ardusub.com/operators-manual/failsafes.html). ::: -### Failsafe Actions {#failsafe_actions_sub} +### Failsafe Actions {#failsafe\_actions\_sub} The configuration options are: @@ -191,6 +194,6 @@ The configuration options are: - **Internal Temperature** - Select one of: Disabled, Warn only. - **Internal Pressure** - Select one of: Disabled, Warn only. -### Arming Checks {#arming_checks_sub} +### Arming Checks {#arming\_checks\_sub} [Arming Checks](#arming_checks_copter) are the same as for copter. diff --git a/docs/zh/qgc-user-guide/setup_view/sensors.md b/docs/zh/qgc-user-guide/setup_view/sensors.md index b9415288908..818db9d101b 100644 --- a/docs/zh/qgc-user-guide/setup_view/sensors.md +++ b/docs/zh/qgc-user-guide/setup_view/sensors.md @@ -2,7 +2,9 @@ The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors (the available sensors will depend on the autopilot firmware and vehicle type). -Available sensors are displayed as a list of buttons beside the sidebar. Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. Sensors with no light are simple settings with default values that you may choose not to calibrate. +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. Click on the button for each sensor to start its calibration sequence. diff --git a/docs/zh/qgc-user-guide/setup_view/sensors_ardupilot.md b/docs/zh/qgc-user-guide/setup_view/sensors_ardupilot.md index 0d5e3955b76..6156cc5b668 100644 --- a/docs/zh/qgc-user-guide/setup_view/sensors_ardupilot.md +++ b/docs/zh/qgc-user-guide/setup_view/sensors_ardupilot.md @@ -2,7 +2,9 @@ The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors (the available sensors will depend on the vehicle type). -Available sensors are displayed as a list of buttons beside the sidebar. Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. Sensors with no light are simple settings with default values that you may choose not to calibrate. +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. Click on the button for each sensor to start its calibration sequence. @@ -14,20 +16,25 @@ To calibrate the flight controller accelerometers you will be asked to place and The calibration steps are: -1. Click the **Accelerometer** sensor button. ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_ardupilot.jpg) +1. Click the **Accelerometer** sensor button. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_ardupilot.jpg) ::: info - You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. If not, you can also set it here. + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. ::: 2. Click **OK** to start the calibration. -3. Position the vehicle based on text instructions in the center display. Click the **Next** button to capture each position. ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_positions_ardupilot.jpg) + +3. Position the vehicle based on text instructions in the center display. + Click the **Next** button to capture each position. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_positions_ardupilot.jpg) ## Compass {#compass} ArduPilot uses onboard calibration support that allows for more accurate calibration. -::: info +:::info Older ArduPilot firmware can be calibrated using the [same process as PX4](../setup_view/sensors_px4.md#compass). ::: @@ -37,20 +44,25 @@ You need to rotate the vehicle randomly around all axes until the progress bar f This shows you the quality of the calibration for each compass. Using these values you can determine whether you may want to turn off usage of poorly performing compasses. -## Level Horizon {#level_horizon} +## Level Horizon {#level\_horizon} -If the horizon (as shown in the HUD) is not level after completing accelerometer calibration you can calibrate the level horizon for your vehicle. You will be asked to place the vehicle in a level orientation while it captures the information. +If the horizon (as shown in the HUD) is not level after completing accelerometer calibration you can calibrate the level horizon for your vehicle. +You will be asked to place the vehicle in a level orientation while it captures the information. -1. Click the **Level Horizon** sensor button. ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) +1. Click the **Level Horizon** sensor button. + ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) ::: info - You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. If not, you can also set it here. + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. ::: 2. Place the vehicle in its level flight orientation on a level surface: - - For planes this is the position during level flight (planes tend to have their wings slightly pitched up!) - - For copters this is the hover position. -3. Click **OK** to start the calibration. + +- For planes this is the position during level flight (planes tend to have their wings slightly pitched up!) +- For copters this is the hover position. + +1. Click **OK** to start the calibration. ## Pressure/Barometer {#pressure} @@ -68,23 +80,24 @@ To perform **Pressure** calibration: ## CompassMot (Optional) -CompassMot calibration is optional! It is recommended for vehicles that only have an internal compass and when there is significant interference on the compass from the motors, power wires, etc. CompassMot only works well if you have a battery current monitor because the magnetic interference is linear with current drawn. +CompassMot calibration is optional! It is recommended for vehicles that only have an internal compass and when there is significant interference on the compass from the motors, power wires, etc. +CompassMot only works well if you have a battery current monitor because the magnetic interference is linear with current drawn. To perform **CompassMot** calibration: 1. Click the **CompassMot** sensor button. - + 2. Follow the onscreen prompts. ![CompassMot calibration](../../../assets/setup/sensor_compass_mot.jpg) -## Sensor Settings {#sensor_settings} +## Sensor Settings {#sensor\_settings} The _Sensor Settings_ section allows you to specify the compass orientation and which compasses are enabled. -::: tip +:::tip You can skip this section if the flight controller and compass are mounted upright on the vehicle and facing the front (this is the default orientation - `ROTATION_NONE`). ::: @@ -105,4 +118,5 @@ To set the orientation(s) and compasses used: 2. Select the **AutoPilot Orientation**. 3. Select the _orientation_ from **Compass 1 (primary/external) > Orientation** (or check **Compass2 (secondary, external) > Use Compass** to instead use the internal compass). + 4. Press **OK**. diff --git a/docs/zh/qgc-user-guide/setup_view/sensors_px4.md b/docs/zh/qgc-user-guide/setup_view/sensors_px4.md index 506e12ee3c1..32561ad03a4 100644 --- a/docs/zh/qgc-user-guide/setup_view/sensors_px4.md +++ b/docs/zh/qgc-user-guide/setup_view/sensors_px4.md @@ -2,14 +2,17 @@ The _Sensor Setup_ section allows you to configure and calibrate the vehicle's compass, gyroscope, accelerometer and any other sensors (the available sensors will depend on the vehicle type). -Available sensors are displayed as a list of buttons beside the sidebar. Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. Sensors with no light are simple settings with default values that you may choose not to calibrate. +Available sensors are displayed as a list of buttons beside the sidebar. +Sensors marked with green are already calibrated, while sensors marked with red require calibration prior to flight. +Sensors with no light are simple settings with default values that you may choose not to calibrate. Click on the button for each sensor to start its calibration sequence. ![Sensors Setup screen for VTOL vehicle](../../../assets/setup/sensors_px4_vtol.jpg) -::: info -The image shown is from a VTOL vehicle running PX4 firmware. Other autopilot firmware and vehicles will offer slightly different options. +:::info +The image shown is from a VTOL vehicle running PX4 firmware. +Other autopilot firmware and vehicles will offer slightly different options. ::: ## Compass {#compass} @@ -21,11 +24,17 @@ The calibration steps are: 1. Click the **Compass** sensor button ![Select Compass calibration PX4](../../../assets/setup/sensor_compass_select_px4.jpg) ::: info - The default flight controller orientation is `ROTATION_NONE` (flight controller and compass mounted upright on the vehicle and facing the front). You can set a different value here or in [Set Orientations](#flight_controller_orientation). + The default flight controller orientation is `ROTATION_NONE` (flight controller and compass mounted upright on the vehicle and facing the front). + You can set a different value here or in [Set Orientations](#flight_controller_orientation). ::: 2. Click **OK** to start the calibration. -3. Place the vehicle in any of the orientations shown in red (incomplete) and hold it still. Once prompted (the orientation-image turns yellow) rotate the vehicle around the specified axis in either/both directions. Once the calibration is complete in that orientation the associated image on the screen will turn green. ![Compass calibration steps on PX4](../../../assets/setup/sensor_compass_calibrate_px4.jpg) + +3. Place the vehicle in any of the orientations shown in red (incomplete) and hold it still. + Once prompted (the orientation-image turns yellow) rotate the vehicle around the specified axis in either/both directions. + Once the calibration is complete in that orientation the associated image on the screen will turn green. + ![Compass calibration steps on PX4](../../../assets/setup/sensor_compass_calibrate_px4.jpg) + 4. Repeat the calibration process for all vehicle orientations. Once you've rotated the vehicle in all the positions _QGroundControl_ will display _Calibration complete_ (all orientation images will be displayed in green and the progress bar will fill completely) You can then proceed to the next sensor. @@ -37,16 +46,19 @@ You will be guided to place the vehicle on a flat surface and keep it still. The calibration steps are: 1. Click the **Gyroscope** sensor button ![Select Gyroscope calibration PX4](../../../assets/setup/sensor/gyroscope_calibrate_px4.jpg) + 2. Place the vehicle on a surface and leave it still. + 3. Click **Ok** to start the calibration. The bar at the top shows the progress: ![Gyro calibration in progress on PX4](../../../assets/setup/sensor/gyroscope_calibrate_progress_px4.jpg) -4. When finished, _QGroundControl_ will display _Calibration complete_ and the progress bar will fill completely. ![Gyro calibration complete on PX4](../../../assets/setup/sensor/gyroscope_calibrate_complete_px4.jpg) +4. When finished, _QGroundControl_ will display _Calibration complete_ and the progress bar will fill completely. + ![Gyro calibration complete on PX4](../../../assets/setup/sensor/gyroscope_calibrate_complete_px4.jpg) -::: info +:::info If you move the vehicle during calibration, _QGroundControl_ will automatically restart the calibration. ::: @@ -58,14 +70,19 @@ To calibrate the flight controller accelerometers you will be asked to place and The calibration steps are: -1. Click the **Accelerometer** sensor button. ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_px4.jpg) +1. Click the **Accelerometer** sensor button. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_px4.jpg) ::: info - You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. If not, you can also set it here. + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. ::: 2. Click **OK** to start the calibration. -3. Position the vehicle as guided by the _images_ on the screen. This is very similar to compass calibration. ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_positions_px4.jpg) + +3. Position the vehicle as guided by the _images_ on the screen. This is very similar to compass calibration. + ![Accelerometer calibration](../../../assets/setup/sensor/accelerometer_positions_px4.jpg) + 4. Repeat the calibration process for all vehicle orientations. Once you've rotated the vehicle in all the positions _QGroundControl_ will display _Calibration complete_. @@ -74,24 +91,28 @@ You can then proceed to the next sensor. ## Level Horizon -If the horizon (as shown in the HUD) is not level after completing accelerometer calibration you can calibrate the level horizon for your vehicle. You will be asked to place the vehicle in a level orientation while it captures the information. +If the horizon (as shown in the HUD) is not level after completing accelerometer calibration you can calibrate the level horizon for your vehicle. +You will be asked to place the vehicle in a level orientation while it captures the information. -1. Click the **Level Horizon** sensor button. ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) +1. Click the **Level Horizon** sensor button. + ![Level Horizon calibration](../../../assets/setup/sensor_level_horizon.jpg) ::: info - You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. If not, you can also set it here. + You should already have set the [Flight Controller Orientation](#flight_controller_orientation) above. + If not, you can also set it here. ::: 2. Place the vehicle in its level flight orientation on a level surface: - - For planes this is the position during level flight (planes tend to have their wings slightly pitched up!) - - For copters this is the hover position. +- For planes this is the position during level flight (planes tend to have their wings slightly pitched up!) +- For copters this is the hover position. -3. Click **OK** to start the calibration. +1. Click **OK** to start the calibration. ## Airspeed {#airspeed} -The airspeed calibration needs to read a stable baseline with 0 airspeed in order to determine an offset. Cup your hands over the pitot to block any wind (if calibrating the sensor indoors this is not needed) and then blow into the tube using your mouth (to signal completion of the calibration). +The airspeed calibration needs to read a stable baseline with 0 airspeed in order to determine an offset. +Cup your hands over the pitot to block any wind (if calibrating the sensor indoors this is not needed) and then blow into the tube using your mouth (to signal completion of the calibration). To calibrate the airspeed sensor: @@ -106,30 +127,33 @@ To calibrate the airspeed sensor: ::: 3. Click **OK** to start the calibration. + 4. Blow into the sensor. + 5. Wait for 2-3 seconds before removing the covering (calibration completes silently after several seconds) -## Set Orientations {#flight_controller_orientation} +## Set Orientations {#flight\_controller\_orientation} -::: tip +:::tip You can skip this section if the flight controller and compass are mounted upright on the vehicle and facing the front (this is the default orientation - `ROTATION_NONE`). ::: If the autopilot/compass are mounted in any other way you will need to specify their orientations as YAW, PITCH and/or ROLL offsets relative to the forward-facing-upright orientation (clock-wise rotation around the Z, Y and X axis, respectively). - + For example, the image below are at orientations: `ROTATION_NONE`, `ROTATION_YAW_90`,`ROTATION_YAW_180`,`ROTATION_YAW_270`. - + To set the orientation(s) on PX4: 1. Select the **Set Orientations** button. - + 2. Select the **AutoPilot Orientation**. 3. Select the **External Compass Orientation** (this option will only be displayed if there is an external compass). + 4. Press **OK**. diff --git a/docs/zh/qgc-user-guide/setup_view/setup_view.md b/docs/zh/qgc-user-guide/setup_view/setup_view.md index 22c9276913e..c21b41d544e 100644 --- a/docs/zh/qgc-user-guide/setup_view/setup_view.md +++ b/docs/zh/qgc-user-guide/setup_view/setup_view.md @@ -8,7 +8,7 @@ The Setup View is used to configure a new vehicle prior to first flight and/or t To the left of the screen are the set of available setup options. A setup button is marked with a red icon if there are still settings needed to be adjusted/specified. You should not fly if any of these are red. In the above image the Radio setup is not yet complete. -::: info +:::info The set of options shown and the contents of each option may differ based on whether the vehicle is running PX4 Pro or ArduPilot firmware. The image above is from a vehicle which is running PX4 Pro firmware. ::: diff --git a/docs/zh/qgc-user-guide/setup_view/tuning.md b/docs/zh/qgc-user-guide/setup_view/tuning.md index 144019dc0e7..13032afc2c0 100644 --- a/docs/zh/qgc-user-guide/setup_view/tuning.md +++ b/docs/zh/qgc-user-guide/setup_view/tuning.md @@ -1,6 +1,7 @@ # Tuning Setup -The Tuning page allows you to configure settings on your vehicle which control basic flight characteristics. The details differ depending on flight stack: +The Tuning page allows you to configure settings on your vehicle which control basic flight characteristics. +The details differ depending on flight stack: - [Tuning (ArduPilot)](../setup_view/tuning_ardupilot.md) - [Tuning (PX4)](../setup_view/tuning_px4.md) diff --git a/docs/zh/qgc-user-guide/setup_view/tuning_arducopter.md b/docs/zh/qgc-user-guide/setup_view/tuning_arducopter.md index 8bedaac6f48..242f58b2417 100644 --- a/docs/zh/qgc-user-guide/setup_view/tuning_arducopter.md +++ b/docs/zh/qgc-user-guide/setup_view/tuning_arducopter.md @@ -15,23 +15,34 @@ Performing an AutoTune: - Select which axes you would like to tune. ::: tip - Tuning all axes at once can take a significant amount of time, which may cause you to run out of battery. To prevent this choose to tune only one axis at a time. + Tuning all axes at once can take a significant amount of time, which may cause you to run out of battery. + To prevent this choose to tune only one axis at a time. ::: -- Assign AutoTune to one of your transmitter switches. Ensure that switch is in low position before taking off. +- Assign AutoTune to one of your transmitter switches. + Ensure that switch is in low position before taking off. + - Take off and put the copter into AltHold. + - Turn on AutoTune with your transmitter switch. + - The copter will twitch around the specified axes for a few minutes. + - When AutoTune completes the copter will change back to the original settings. + - Move the AutoTune switch back to low position and then back to high to test the new settings. + - Move the AutoTune switch to low to test previous settings. + - To save new settings, land and disarm while AutoTune switch is in high position. Note: -- Since AutoTune is done in AltHold your copter must already have a tuning which is minimally flyable in AltHold. You can cancel AutoTune at any time by moving the AutoTune switch back to low position. +- Since AutoTune is done in AltHold your copter must already have a tuning which is minimally flyable in AltHold. + You can cancel AutoTune at any time by moving the AutoTune switch back to low position. - You can reposition the copter using your transmitter at any time during AutoTune. ### In-Flight Tuning -This is an advanced option which allows you to tune a flight control parameter using one of your transmitter dial channels. Select the control option from the dropdown and specify the min/max for the values to assign to the dial. +This is an advanced option which allows you to tune a flight control parameter using one of your transmitter dial channels. +Select the control option from the dropdown and specify the min/max for the values to assign to the dial. diff --git a/docs/zh/qgc-user-guide/setup_view/tuning_ardusub.md b/docs/zh/qgc-user-guide/setup_view/tuning_ardusub.md index 4bdf295cfbf..b4bacd640bd 100644 --- a/docs/zh/qgc-user-guide/setup_view/tuning_ardusub.md +++ b/docs/zh/qgc-user-guide/setup_view/tuning_ardusub.md @@ -11,6 +11,7 @@ This page allows changing the PID controller gains to better suit your vehicle a - **Position Controller Parameters** are the parameters for the controller responsible for positioning the vehicle at a point in 3D space. The **Z** parameters control how the depth control works (eg in [_Depth Hold_](https://www.ardusub.com/operators-manual/flight-modes.html#depth-hold) mode). The **XY** parameters affect how the vehicle controls the horizontal position in [_Position Enabled_](https://www.ardusub.com/operators-manual/flight-modes.html#position-enabled-modes) modes. - **Waypoint Navigation Parameters** are the parameters for the controller responsible for following waypoints in **Auto** and **Guided** mode. + ::: warning **Guided** and **Auto** modes are currently unsupported and some features are disabled in QGC. :: diff --git a/docs/zh/qgc-user-guide/setup_view/tuning_px4.md b/docs/zh/qgc-user-guide/setup_view/tuning_px4.md index 6da6d88eb3c..6be4cf09c36 100644 --- a/docs/zh/qgc-user-guide/setup_view/tuning_px4.md +++ b/docs/zh/qgc-user-guide/setup_view/tuning_px4.md @@ -2,25 +2,30 @@ Tuning only needs to be done once, and is recommended unless you're using vehicle that has already been tuned by the manufacturer (and not modified since). -[Auto-tuning](#autotune) should generally be used for frame types and controllers that support it (multicopter, fixed wing, and hybrid VTOL fixed wing vehicles). The tuning UI also supports manual tuning of all controllers. +[Auto-tuning](#autotune) should generally be used for frame types and controllers that support it (multicopter, fixed wing, and hybrid VTOL fixed wing vehicles). +The tuning UI also supports manual tuning of all controllers. ![Tuning Setup > Autotune](../../../assets/setup/tuning/px4_autotune_hero.png) -::: info -During [Airframe Setup](../config/airframe.md) you should have selected the frame that most closely matches your vehicle. This will usually be tuned well enough to fly, and it _may_ also be sufficiently well tuned to run autotuning. +:::info +During [Airframe Setup](../config/airframe.md) you should have selected the frame that most closely matches your vehicle. +This will usually be tuned well enough to fly, and it _may_ also be sufficiently well tuned to run autotuning. ::: ## Autotune Auto-tuning automates the process of tuning the PX4 rate and attitude controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional"). -::: info -This guide shows the default usage of this feature. Additional information and configuration can be found in the [PX4 Autotuning Guide](http://docs.px4.io/master/en/config/autotune.html) (PX4 User Guide). +:::info +This guide shows the default usage of this feature. +Additional information and configuration can be found in the [PX4 Autotuning Guide](http://docs.px4.io/master/en/config/autotune.html) (PX4 User Guide). ::: ### Pre-Autotuning Test -Auto-tuning is performed while flying. The vehicle must be able to fly and adequately stabilize itself before running auto-tune. This test ensures that the vehicle can fly safely in position controlled modes. +Auto-tuning is performed while flying. +The vehicle must be able to fly and adequately stabilize itself before running auto-tune. +This test ensures that the vehicle can fly safely in position controlled modes. To make sure the vehicle is stable enough for auto-tuning: @@ -28,9 +33,12 @@ To make sure the vehicle is stable enough for auto-tuning: 2. Takeoff and prepare for the test - **Multicopters:** Take off and hover at 1m above ground in **Altitude mode** or Stabilized mode. - **Fixed-wing mode:** Take off and fly at cruise speed in **Position mode** or **Altitude mode**. -3. Use the RC transmitter roll stick to perform the following maneuver, tilting the vehicle just a few degrees: _roll left > roll right > center_ (The whole maneuver should take about 3 seconds). The vehicle should stabilise itself within 2 oscillations. -4. Repeat the maneuver, tilting with larger amplitudes at each attempt. If the vehicle can stabilise itself within 2 oscillations at ~20 degrees move to the next step. -5. Repeat the same maneuvers but on the pitch axis. As above, start with small angles and confirm that the vehicle can itself within 2 oscillations before increasing the tilt. +3. Use the RC transmitter roll stick to perform the following maneuver, tilting the vehicle just a few degrees: _roll left > roll right > center_ (The whole maneuver should take about 3 seconds). + The vehicle should stabilise itself within 2 oscillations. +4. Repeat the maneuver, tilting with larger amplitudes at each attempt. + If the vehicle can stabilise itself within 2 oscillations at \~20 degrees move to the next step. +5. Repeat the same maneuvers but on the pitch axis. + As above, start with small angles and confirm that the vehicle can itself within 2 oscillations before increasing the tilt. If the drone can stabilize itself within 2 oscillations it is ready for the auto-tuning procedure. @@ -38,33 +46,47 @@ If not, see the [PX4 User Guide > Autotuning > Troubleshooting](http://docs.px4. ### Auto-tuning procedure -The auto-tuning sequence must be performed in a **safe flight zone, with enough space**. It takes about 40 seconds (between 19 and 68 seconds). For best results, we recommend running the test in calm weather conditions. +The auto-tuning sequence must be performed in a **safe flight zone, with enough space**. +It takes about 40 seconds (between 19 and 68 seconds). +For best results, we recommend running the test in calm weather conditions. -::: info +:::info Be ready to abort the autotuning process by moving the RC controller sticks. ::: The test steps are: 1. Perform the [pre-tuning test](#pre-tuning-test) above. -2. Takeoff using RC control and prepare for test: - - **Multicopters:** Takeoff using the remote controller in **Altitude mode**. Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m). - - **VTOL in Fixed-wing mode:** Once flying at cruise speed, activate **Hold Mode**. This will guide the plane to fly in circle at constant altitude and speed. +2. Takeoff using RC control and prepare for test: + - **Multicopters:** Takeoff using the remote controller in **Altitude mode**. + Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m). + - **VTOL in Fixed-wing mode:** Once flying at cruise speed, activate **Hold Mode**. + This will guide the plane to fly in circle at constant altitude and speed. 3. In QGroundControl, open the menu: **Vehicle setup > PID Tuning** ![Tuning Setup > Autotune Enabled](../../../assets/setup/tuning/px4_autotune.png) -4. Select either the _Rate Controller_ or _Attitude Controller_ tabs. Ensure that the **Autotune enabled** button is enabled (this will display the **Autotune** button and remove the manual tuning selectors). +4. Select either the _Rate Controller_ or _Attitude Controller_ tabs. + Ensure that the **Autotune enabled** button is enabled (this will display the **Autotune** button and remove the manual tuning selectors). + +5. Stop moving the joysticks and click on the **Autotune** button. + Read the warning popup and click on **OK** to start tuning. + +6. The drone will first start to perform quick roll motions followed by pitch and yaw motions. + The progress is shown in the progress bar, next to the _Autotune_ button. -5. Stop moving the joysticks and click on the **Autotune** button. Read the warning popup and click on **OK** to start tuning. -6. The drone will first start to perform quick roll motions followed by pitch and yaw motions. The progress is shown in the progress bar, next to the _Autotune_ button. 7. Apply the tuning: - - **Fixed Wing:** The tuning will be immediately/automatically be applied and tested in flight (by default). PX4 will then run a 4 second test and revert the new tuning if a problem is detected. - - **Multicopters:** Manually land and disarm to apply the new tuning parameters. Takeoff carefully and manually test that the vehicle is stable. + - **Fixed Wing:** The tuning will be immediately/automatically be applied and tested in flight (by default). + PX4 will then run a 4 second test and revert the new tuning if a problem is detected. + - **Multicopters:** Manually land and disarm to apply the new tuning parameters. + Takeoff carefully and manually test that the vehicle is stable. + 8. If any strong oscillations occur, land immediately and follow the instructions in [PX4 User Guide > Autotuning > Troubleshooting](http://docs.px4.io/master/en/config/autotune.html#troubleshooting). +
+