{"id":46525954,"url":"https://github.com/alireza787b/px4xplane","last_synced_at":"2026-05-27T03:10:31.014Z","repository":{"id":197013273,"uuid":"697816112","full_name":"alireza787b/px4xplane","owner":"alireza787b","description":"Integrating advanced flight simulation with PX4 SITL, this plugin adds support for hybrid VTOLs, fixed-wing, and multirotor aircraft in X-Plane. Perfect for researchers and hobbyists interested in drone and flight dynamics simulation.","archived":false,"fork":false,"pushed_at":"2026-05-25T18:34:08.000Z","size":2962,"stargazers_count":91,"open_issues_count":13,"forks_count":25,"subscribers_count":10,"default_branch":"master","last_synced_at":"2026-05-25T20:28:39.427Z","etag":null,"topics":["drone","flight-simulator","mavlink","px4","xplane","xplane12"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alireza787b.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-09-28T14:32:12.000Z","updated_at":"2026-05-25T18:34:09.000Z","dependencies_parsed_at":"2023-11-12T09:21:43.356Z","dependency_job_id":"c5a5b8f7-2ce4-4ad8-b40d-40687763c7a4","html_url":"https://github.com/alireza787b/px4xplane","commit_stats":null,"previous_names":["alireza787b/px4sdk"],"tags_count":68,"template":false,"template_full_name":null,"purl":"pkg:github/alireza787b/px4xplane","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alireza787b%2Fpx4xplane","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alireza787b%2Fpx4xplane/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alireza787b%2Fpx4xplane/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alireza787b%2Fpx4xplane/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alireza787b","download_url":"https://codeload.github.com/alireza787b/px4xplane/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alireza787b%2Fpx4xplane/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33548522,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-27T02:00:06.184Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["drone","flight-simulator","mavlink","px4","xplane","xplane12"],"created_at":"2026-03-06T20:31:57.864Z","updated_at":"2026-05-27T03:10:31.008Z","avatar_url":"https://github.com/alireza787b.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PX4-XPlane - PX4 X-Plane Integration Plugin\n\n[![Build Status](https://github.com/alireza787b/px4xplane/actions/workflows/build.yml/badge.svg)](https://github.com/alireza787b/px4xplane/actions/workflows/build.yml)\n[![Release](https://img.shields.io/github/v/release/alireza787b/px4xplane)](https://github.com/alireza787b/px4xplane/releases)\n[![License](https://img.shields.io/github/license/alireza787b/px4xplane)](LICENSE)\n[![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20Linux%20%7C%20macOS-blue)](https://github.com/alireza787b/px4xplane)\n\nThis project establishes a robust connection between X-Plane and PX4 SITL (Software In The Loop) to simulate drone flight in the X-Plane environment. Our goal is to deliver a realistic simulation experience where PX4 can control various drones within X-Plane, and with our continuous improvements, it's getting better all the time.\n\n## Latest Release - Version 3.0.0 (January 2025)\n\n### 🎥 Video Tutorial\n\n**🆕 NEW VIDEO COMING SOON:** A comprehensive PX4-XPlane 3.0 tutorial showcasing the major improvements, enhanced EKF stability, multi-threaded communication architecture, and automated setup workflow will be available soon! Stay tuned for the updated demonstration.\n\n**Current Video:** Check out our [v2.0.0 demo video](https://youtu.be/oQTlBVXqR04) for installation guide and basic features.\n\n### 🎉 Major Release - Breaking Changes\n\n**⚠️ BREAKING CHANGES**: Version 3.0.0 introduces significant structural changes for X-Plane SDK compliance and professional CI/CD workflows. **Migration required from v2.x.**\n\n### What's New in Version 3.0.0\n\n#### 🚁 Core Simulation Improvements\n\n- **🎯 EKF2 Stability Fixes** (Critical):\n  - Resolved altitude drift and height estimate reset issues\n  - GPS altitude noise reduced from σ=0.5m to σ=0.15m (3.3× improvement)\n  - EKF2_GPS_P_NOISE properly tuned (0.01 → 0.15) across all aircraft\n  - Simulated barometer priority seeded with explicit PX4 device IDs\n  - Height estimate resets reduced from ~10/hour to rare occurrences\n  - Eliminated false climb/descent detections caused by GPS noise\n\n- **⚡ Multi-Threaded Communication Architecture**:\n  - Robust, stable PX4 ↔ X-Plane MAVLink communication\n  - Asynchronous sensor data processing with thread-safe queues\n  - Frame-rate-aware HIL_SENSOR timing diagnostics\n  - Barometer fusion noise tuned for frame-limited X-Plane SITL\n  - Synchronized GPS-Barometer altitude quantization (5mm resolution)\n  - Prevents sensor timeout/STALE errors\n\n- **📡 Improved State Estimators**:\n  - EKF2 innovation gates relaxed for SITL environment (BARO_GATE: 8.0, GPS_V_GATE: 8.0)\n  - COM_ARM_EKF_VEL tuned (0.8) to prevent false preflight velocity errors\n  - Better sensor fusion between GPS, barometer, IMU\n  - Stable attitude, position, and velocity estimation\n\n#### 🤖 Development \u0026 CI/CD\n\n- **🤖 Automated CI/CD System**: GitHub Actions workflows for cross-platform builds:\n  - Automatic builds on every push to master (Windows, Linux, macOS in parallel)\n  - Automated releases with pre-built binaries via version tags\n  - 90-day artifact retention for testing builds\n  - Real-time build status badges on README\n\n- **📁 Plugin Structure Reorganization** (X-Plane SDK Standards):\n  - **config.ini moved to 64/ folder** (WITH the binary, not parent folder)\n  - **PX4 parameters organized in px4_airframes/ subdirectory**\n  - Consistent structure across all build methods (CMake, Visual Studio, Make)\n  - Standard X-Plane fat plugin format (SDK 2.0)\n\n- **🔧 Critical Build Fixes**:\n  - Fixed Linux case-sensitive include errors\n  - Fixed macOS missing headers and linker errors\n  - Fixed Windows MSVC output path issues\n  - Proper Eigen library submodule integration\n\n- **🍎 macOS Improvements**:\n  - Fixed framework linking (using flat namespace with dynamic lookup)\n  - Universal Binary support (Intel x86_64 + Apple Silicon ARM64)\n  - Proper X-Plane plugin runtime symbol resolution\n\n- **📦 Build System Consistency**:\n  - CMakeLists.txt updated to v3.0.0 with file organization\n  - Visual Studio Debug/Release now produce identical structures\n  - All platforms build successfully via GitHub Actions\n\n#### 🖥️ User Interface\n\n- **Connection Status HUD**: Professional on-screen feedback for SITL connection\n  - Real-time progress indicator with elapsed time (0-60 seconds)\n  - Visual states: WAITING (yellow), CONNECTED (green), TIMEOUT (red), ERROR (orange)\n  - Auto-fade success notification after 3 seconds\n  - Configurable via `show_connection_status_hud` in config.ini\n\n### ⚠️ Migration from v2.x to v3.0.0\n\n**Old Structure (v2.x)**:\n```\npx4xplane/\n├── config.ini                    ← Root folder\n├── 64/win.xpl\n└── 5001_xplane_cessna172         ← Scattered params\n```\n\n**New Structure (v3.0.0)**:\n```\npx4xplane/\n├── 64/\n│   ├── win.xpl\n│   └── config.ini                ← WITH binary\n├── ALIA_XPLANE12_TEST.md\n├── EHANG184_XPLANE12_TEST.md\n├── QUADTAILSITTER_XPLANE12_TEST.md\n├── px4_airframes/                ← Reference/install copies, not read by plugin\n│   ├── 5001_xplane_cessna172\n│   ├── 5002_xplane_tb2\n│   ├── 5010_xplane_ehang184\n│   ├── 5020_xplane_alia250\n│   └── 5021_xplane_qtailsitter\n├── docs/\n│   └── config-editor.html        ← Local schema-backed config editor\n└── README.md\n```\n\nConfig tooling:\n- Runtime remains `64/config.ini`.\n- PX4 SITL reads airframes from the PX4 repository, not from the plugin folder;\n  packaged `px4_airframes` files are reference copies for manual install/sync.\n- `64/config_schema.json` documents valid fields, ranges, and reload policy.\n- `docs/config-editor.html` can import/review/edit/export `config.ini` without\n  writing directly into X-Plane or PX4.\n- The packaged Alia, Ehang, and QuadTailsitter test cards describe the\n  expected PX4 airframe, plugin config, sanity values, and log bundle for\n  validation runs.\n\n**To upgrade**: Remove old v2.x installation and download v3.0.0 from [Releases](https://github.com/alireza787b/px4xplane/releases/tag/v3.0.0). See [CHANGELOG.md](CHANGELOG.md) for complete migration guide.\n\n### 🚀 PX4 Official Integration Status\n\n**Coming Soon**: px4xplane is being prepared for official integration into the main PX4-Autopilot repository. Until the pull request is merged:\n\n- **Use the automated setup script** (recommended): Installs PX4 SITL with px4xplane support automatically\n  ```bash\n  cd ~ \u0026\u0026 curl -O https://raw.githubusercontent.com/alireza787b/px4xplane/master/setup/setup_px4_sitl.sh \u0026\u0026 bash setup_px4_sitl.sh\n  ```\n- **Or use the forked PX4 repo**: [PX4-Autopilot-Me](https://github.com/alireza787b/PX4-Autopilot-Me) (branch: `px4xplane-sitl`)\n- **Full installation guides**: See [Usage Guide](#usage-guide) below for detailed instructions\n\nOnce merged with official PX4, you'll be able to use the standard PX4-Autopilot repository directly.\n\n---\n\n## Previous Release - Version 2.5.2 (January 2025)\n\n### 🎥 Video Tutorials\n\n[![PX4 X-Plane Plugin v2.0.0 Demo](https://github.com/user-attachments/assets/3fb6d042-20d9-4589-8a79-44f434d5870d)](https://youtu.be/oQTlBVXqR04)\n\n**Current Video:** Check out our v2.0.0 demo video where we walk you through the simplified setup process, showcase the multi-airframe support, and test various drones like the Ehang 184, Alia 250, Cessna 172, and Bayraktar TB2.\n\n👉 [Watch the current demo and installation guide here!](https://youtu.be/oQTlBVXqR04)\n\n**🆕 NEW VIDEO COMING SOON:** A comprehensive PX4-XPlane 2.5 tutorial showcasing the latest improvements, enhanced UI, and cross-platform support will be available soon! Stay tuned for the updated demonstration.\n\n### What's New in Version 2.5.2\n\n- **🔨 Unified Cross-Platform Build System**: Complete build system overhaul with CMake support:\n  - **CMakeLists.txt**: Modern cross-platform build configuration (Windows, Linux, macOS)\n  - **Makefile.linux**: Native Linux builds with GCC/Clang\n  - **Makefile.macos**: Native macOS builds with Universal Binary support (Intel + Apple Silicon)\n  - Single unified build process across all platforms\n  - Easy for contributors and developers\n- **📖 Comprehensive Build Documentation**: New detailed [Build Guide](docs/BUILD.md) with:\n  - Step-by-step build instructions for all platforms\n  - Prerequisites and troubleshooting\n  - IDE integration guides (VS Code, CLion, Xcode)\n  - Advanced build options\n- **🧹 Project Organization**: Clean separation of build artifacts with proper .gitignore patterns\n\n### Previous Release - Version 2.5.1 (January 2025)\n\n- **🎯 Height Estimate Stability Fix**: Resolved altitude drift and EKF2 reset issues:\n  - Reduced GPS altitude noise from 0.5m to 0.15m (matches high-quality GPS vertical accuracy)\n  - Updated EKF2_GPS_P_NOISE parameter from 0.01 to 0.15 across all aircraft configurations\n  - Eliminated ±1m GPS altitude jumps that caused EKF2 to incorrectly detect climbing/descending\n  - Height estimate tuned with explicit simulated barometer device priorities\n- **🖥️ Connection Status HUD**: Professional HUD-style overlay for connection feedback:\n  - Real-time connection progress indicator with elapsed time display\n  - 60-second timeout with clear warning messages\n  - Auto-fade success notification after 3 seconds\n  - Clean, minimal design following X-Plane standards (top-center positioning)\n  - Configurable via `show_connection_status_hud` in config.ini\n- **🔧 Parameter Cleanup**: Removed non-existent PX4 parameters causing errors:\n  - Cleaned up VT_F_TRANS_RAMP, VT_DWN_PITCH_MAX, FW_T_SPD_OMEGA, FW_T_I_GAIN_THR from Alia250 config\n  - Added explanatory comments for all removed parameters\n- **⚡ Performance Optimization**: Debug logging disabled by default for production use\n\n### Previous Release - Version 2.5.0 (January 2025)\n\n- **🎯 Critical Sensor Stability Fix**: Resolved BARO STALE errors and vertical velocity oscillation issues:\n  - Increased HIL_SENSOR update rate from 100Hz to 250Hz (matches PX4 Gazebo SITL standard)\n  - Barometer fusion noise tuned for frame-limited X-Plane SITL\n  - Synchronized GPS-Barometer altitude quantization (5mm resolution) to eliminate EKF2 innovation conflicts\n  - Relaxed EKF2 innovation gates (BARO_GATE, GPS_V_GATE: 8.0) for SITL environment\n  - Tuned COM_ARM_EKF_VEL parameter (0.8) to prevent false preflight velocity errors\n- **🖥️ Enhanced User Interface**: Professional high-contrast UI system with centralized version management and color-coded status indicators\n- **🐧🍎 Cross-Platform Support**: Native Linux and macOS makefile support for seamless compilation across all major platforms\n- **📦 Portability Improvements**: Project uses relative paths and external dependencies properly excluded from version control\n- **🔧 Stability Enhancements**: Multiple under-the-hood improvements for reliable SITL simulation performance\n\n### Previous Features (v2.0.0)\n- **Sensor Improvements**: Fixed many sensor problems and inconsistencies.\n- **Multi-Airframe Support**: Native support for multiple airframes including:\n  - **Ehang 184**\n  - **Alia 250**\n  - **Cessna 172**\n  - **Bayraktar TB2**\n- **In-Menu Airframe Selection**: Change airframes directly from the X-Plane menu.\n- **Automated Setup Script**: A full automation script that sets everything up for you in WSL or Linux environments.\n- **Detailed Configuration Instructions**: The `config.ini` file includes instructions for building custom airframes.\n- **Pre-Loaded Parameters**: Parameters are automatically loaded in PX4 build commands.\n\nCheck out the latest features in the [v2.5.0 release](https://github.com/alireza787b/px4xplane/releases/tag/v2.5.0).\n\n## Video Tutorials\n\nFor setup guidance and demonstrations, visit our [YouTube playlist](https://www.youtube.com/watch?v=eZJpRHFgx6g\u0026list=PLVZvZdBQdm_4RepbwUZaccwH0iQvHtMBh\u0026pp=gAQBiAQB), which includes detailed tutorials and showcases the plugin in action!\n\n[![PX4 X-Plane Plugin Video Thumbnail](https://img.youtube.com/vi/eZJpRHFgx6g/0.jpg)](https://www.youtube.com/watch?v=eZJpRHFgx6g\u0026list=PLVZvZdBQdm_4RepbwUZaccwH0iQvHtMBh\u0026pp=gAQBiAQB \"Click to Watch!\")\n\n## Introduction\n\nWe bridge X-Plane and PX4 using the Simulator MAVLink API, which facilitates the exchange of sensor and actuator data, providing a rich and accurate simulation environment.\n\nThe following table illustrates the message flow:\n\n| Message | Direction | Description |\n|---------|-----------|-------------|\n| [MAV_MODE:MAV_MODE_FLAG_HIL_ENABLED](https://mavlink.io/en/messages/common.html#MAV_MODE_FLAG_HIL_ENABLED) | NA | Mode flag when using simulation. All motors/actuators are blocked, but internal software is fully operational. |\n| [HIL_ACTUATOR_CONTROLS](https://mavlink.io/en/messages/common.html#HIL_ACTUATOR_CONTROLS) | PX4 to Sim | PX4 control outputs (to motors, actuators). |\n| [HIL_SENSOR](https://mavlink.io/en/messages/common.html#HIL_SENSOR) | Sim to PX4 | Simulated IMU readings in SI units in NED body frame. |\n| [HIL_GPS](https://mavlink.io/en/messages/common.html#HIL_GPS) | Sim to PX4 | The simulated GPS RAW sensor value. |\n| [HIL_OPTICAL_FLOW](https://mavlink.io/en/messages/common.html#HIL_OPTICAL_FLOW) | Sim to PX4 | Simulated optical flow from a flow sensor (e.g., PX4FLOW or optical mouse sensor). |\n| [HIL_STATE_QUATERNION](https://mavlink.io/en/messages/common.html#HIL_STATE_QUATERNION) | Sim to PX4 | Contains the actual \"simulated\" vehicle position, attitude, speed, etc. This can be logged and compared to PX4's estimates for analysis and debugging. |\n| [HIL_RC_INPUTS_RAW](https://mavlink.io/en/messages/common.html#HIL_RC_INPUTS_RAW) | Sim to PX4 | The RAW values of the RC channels received. |\n\n## Building from Source\n\nThe px4xplane plugin supports **true cross-platform development** on Windows, Linux, and macOS.\n\n### Quick Build Guide\n\n**CMake (Recommended - All Platforms):**\n```bash\ngit clone --recursive https://github.com/alireza787b/px4xplane.git\ncd px4xplane\nmkdir build \u0026\u0026 cd build\ncmake .. -DCMAKE_BUILD_TYPE=Release\ncmake --build .\n```\n\n**Windows (Visual Studio):**\n1. Open `px4-xplane.sln` in Visual Studio 2019/2022\n2. Select **Release | x64**\n3. Build → Build Solution\n\n**Linux:**\n```bash\nmake -f Makefile.linux\n```\n\n**macOS:**\n```bash\nmake -f Makefile.macos\n```\n\n📖 **For detailed build instructions, prerequisites, and troubleshooting**, see the comprehensive **[Build Documentation](docs/BUILD.md)**.\n\n### Pre-Built Binaries (Recommended for Users)\n\nDon't want to build from source? **Download pre-built binaries** from the [Releases page](https://github.com/alireza787b/px4xplane/releases):\n\n- 🪟 **Windows** (x64)\n- 🐧 **Linux** (x64)\n- 🍎 **macOS** (Universal: Intel + Apple Silicon)\n\nAll platforms are automatically built and tested via GitHub Actions CI/CD on every release.\n\n### Development Workflow\n\n**For Contributors:**\n- Work on `master` branch for regular development\n- Push to `master` triggers builds (artifacts kept 90 days)\n- Create version tag (`v3.1.0`) to trigger automatic release with binaries\n\n📖 **For complete developer workflow, versioning, and CI/CD**, see **[Developer Guide](docs/DEVELOPER.md)**.\n\n---\n\n## Known Issues\n\n- **Performance**: Ensure X-Plane runs at high FPS for optimal EKF performance.\n- **Temporary Fix**: This plugin is a temporary fix until merged with the official PX4 repository. For now, we use a forked version of PX4 with custom airframes and modifications.\n- **Bug Reports**: If you find any bug, please report it on the GitHub issues page.\n\n## Usage Guide\n\nFor full step-by-step instructions, follow the [Version 2 Documentation](https://github.com/alireza787b/px4xplane/blob/master/docs/v2.md).\n\n### Automated Setup Script\n\nThis automated script is optimized for **WSL** (Windows Subsystem for Linux), where X-Plane runs on Windows and PX4 SITL runs on Linux (WSL). It also works natively on Ubuntu, Linux, and macOS distributions.\n\nTo quickly set up PX4 with X-Plane using WSL (Ubuntu 22.04 or newer), follow this simple step:\n\n1. **Run the setup script directly from your terminal:**\n\n   First, make sure you are in your WSL Ubuntu terminal (launch it from PowerShell), then enter the following command:\n\n   ```bash\n   cd ~ \u0026\u0026 curl -O https://raw.githubusercontent.com/alireza787b/px4xplane/master/setup/setup_px4_sitl.sh \u0026\u0026 bash setup_px4_sitl.sh\n   ```\n\n### Script Features\n\n- **Auto-Update Detection**: Automatically checks for updates on subsequent runs\n- **Self-Updating**: Script updates itself when new versions are available\n- **Quick Skip**: Press 's' during update check for instant start (perfect for quick iterations)\n- **Smart Defaults**: Auto-proceeds with sensible defaults if no input provided\n- **Robust Error Handling**: Graceful fallbacks if network is unavailable\n- **Repair Mode**: Use `--repair` flag to force full re-setup if needed\n\n### Important Notes\n\n- **First-Time Setup**: The installation may take 10-20 minutes, depending on your system, especially the first time\n- **Subsequent Runs**: Script automatically detects existing installation and offers to check for updates\n- **Interactive Prompts**: You can customize the setup or use defaults (auto-proceeds after timeout)\n- **Cross-Platform**: Supports WSL, native Linux, and macOS\n- **Update Check**: Press 's' to skip update check for quick start, or wait 5 seconds to check for updates\n\n### Typical Usage after first setup\n\n\n**Subsequent runs (with update check):**\n```bash\npx4xplane\n# Wait 5 seconds or press any key to check for updates\n# Select airframe and run\n```\n\n**Quick start (skip updates):**\n```bash\npx4xplane\n# Press 's' immediately to skip update check\n# Instant start\n```\n\n**Force update/repair:**\n```bash\npx4xplane --repair\n# Forces full setup and update\n```\n\n### Available Airframes\n\nThe script supports 5 pre-configured X-Plane airframes:\n\n- **xplane_cessna172** - Cessna 172 (fixed-wing trainer)\n- **xplane_tb2** - TB2 UAV (fixed-wing)\n- **xplane_ehang184** - Ehang 184 (quadcopter airtaxi)\n- **xplane_alia250** - Alia-250 (eVTOL quadplane)\n- **xplane_qtailsitter** - QuadTailsitter (small VTOL tailsitter)\n\n### Uninstall\n\nTo remove the global paths and the `px4xplane` command:\n\n```bash\npx4xplane --uninstall\n```\n\nThis will remove:\n- The global `px4xplane` command\n- The PX4-Autopilot-Me repository\n- Configuration files\n\n### Troubleshooting\n\n**Update check fails:**\n- Script continues with local version\n- Or use repair mode: `px4xplane --repair`\n\n**Build errors:**\n- Try clean build: `px4xplane`\n- When prompted, type 'c' for clean or 'd' for distclean\n\n**Script outdated:**\n- Script auto-updates itself\n- Or manually download latest:\n```bash\ncd ~ \u0026\u0026 curl -O https://raw.githubusercontent.com/alireza787b/px4xplane/master/setup/setup_px4_sitl.sh \u0026\u0026 bash setup_px4_sitl.sh\n```\n\n### Manual Advanced Setup\n\nFor advanced users who prefer manual control, you can clone and set up the environment using the forked PX4 repository:\n\n1. **Clone the repository:**\n   ```bash\n   git clone https://github.com/alireza787b/PX4-Autopilot-Me.git --recursive\n   cd PX4-Autopilot-Me\n   git checkout px4xplane-sitl\n   ```\n\n2. **Set up the environment:**\n   ```bash\n   bash ./Tools/setup/ubuntu.sh\n   ```\n\n3. **Configure PX4 SITL (WSL users only):**\n   - In Windows Terminal, check your IP address (e.g., `172.21.144.1`):\n     ```bash\n     ipconfig\n     ```\n   - In the WSL Terminal, inside the PX4-Autopilot-Me directory, set the PX4 simulation hostname with your IP:\n     ```bash\n     export PX4_SIM_HOSTNAME=172.21.144.1\n     ```\n\n4. **Build the desired airframe:**\n   ```bash\n   make px4_sitl_default xplane_ehang184\n   ```\n\n   Replace `xplane_ehang184` with your desired airframe from the list above.\n\n**Note for Native Linux Users:** If both X-Plane and PX4 run on the same Linux machine, the IP configuration step (step 3) may not be needed. You can use localhost or `127.0.0.1`.\n\nRefer to the [PX4 official documentation](https://docs.px4.io/main/en/simulation/) for more details, but use the forked repository (PX4-Autopilot-Me branch `px4xplane-sitl`) instead of the official PX4 repo.\n\n### Temporary Notice\n\n⚠️ **Testing Phase**: This setup currently uses a forked PX4 repository while X-Plane SITL support is being prepared for submission to the official PX4 repository. Once the pull request is merged into [https://github.com/PX4/PX4-Autopilot](https://github.com/PX4/PX4-Autopilot), you will be able to use the official PX4 repository directly, and this fork will no longer be needed. The setup script will be updated accordingly.\n\n**Track progress:** [https://github.com/alireza787b/PX4-Autopilot-Me/tree/feature/xplane-sitl-integration](https://github.com/alireza787b/PX4-Autopilot-Me/tree/feature/xplane-sitl-integration)\n\n## Defining Custom Airframes\n\nIf you need to define new airframes for your simulation, follow the detailed guide here:\n\n👉 [How to Define Custom Airframes in PX4-XPlane](https://github.com/alireza787b/px4xplane/blob/master/docs/custom-airframe-config.md)\n\nThis guide will walk you through the process of setting up custom configurations, mapping PX4 channels to X-Plane datarefs, and integrating new airframes into your simulations. Whether you're using existing X-Plane models or creating new ones in Plane Maker, this guide has you covered.\n\n---\n\n## Technical Improvements in Version 2.5.0\n\n### Sensor Stability and EKF2 Performance\nVersion 2.5.0 addresses critical sensor timing and fusion issues that previously caused BARO STALE errors and vertical velocity instability:\n\n**HIL_SENSOR Update Rate Optimization**\n- Increased from 100Hz to 250Hz to match PX4's lockstep timing expectations\n- Prevents sensor timeout/STALE errors by ensuring consistent high-frequency updates\n- Aligns with PX4 Gazebo SITL standard for optimal sensor fusion\n\n**Barometer Modeling**\n- Enhanced noise model (3cm standard deviation) ensures PX4 properly detects sensor liveness\n- Synchronized altitude quantization (5mm) with GPS to eliminate innovation conflicts\n- Prevents temporal misalignment between different height sources in EKF2\n\n**EKF2 Parameter Tuning**\n- Relaxed innovation gates (EKF2_BARO_GATE: 8.0, EKF2_GPS_V_GATE: 8.0) for SITL environment\n- Adjusted COM_ARM_EKF_VEL (0.8) to prevent false velocity limit exceeded errors\n- Optimized for simulation timing characteristics while maintaining accuracy\n\n### User Interface Enhancements\nProfessional high-contrast UI system with:\n- Centralized version management (VersionInfo.h)\n- Color-coded connection status indicators\n- Improved readability and real-time debugging information\n\n### Cross-Platform Compatibility\nWith native Linux and macOS makefile support, PX4-XPlane 2.5.0 ensures seamless compilation and operation across all major platforms, making it accessible to a broader range of developers and researchers.\n\n---\n\n## Contribution and Support\n\nFeel free to reach out to me in the issue section if you need help. Having experienced contributors is greatly appreciated!\n\n## License\n\nThis project is licensed under the MIT License. See the `LICENSE` file for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falireza787b%2Fpx4xplane","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falireza787b%2Fpx4xplane","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falireza787b%2Fpx4xplane/lists"}