Середовище розробки Windows (засноване на Cygwin)
WARNING
This development environment is community supported and maintained. Це може працювати або не працювати з поточними версіями PX4.
Цей інструментарій був рекомендований раніше, але наразі не працює з PX4 v1.12 і новіше через проблеми з пакетами. The Windows WSL2-Based Development Environment should be used by preference.
Дивіться Встановлення інструментарію для інформації про середовища та інструменти, що підтримуються основною командою розробників.
Наступні інструкції пояснюють як налаштувати (на базі Cygwin) середовище розробки на Windows 10 для PX4. Це середовище може бути використане для збірки PX4 для:
- Pixhawk та іншого апаратного забезпечення на основі NuttX
- jMAVSim Simulation
Інструкції з установки
Download the latest version of the ready-to-use MSI installer from: Github releases or Amazon S3 (fast download).
Запустіть, оберіть потрібне місце установки, дочекайтесь встановлення:
Tick the box at the end of the installation to clone the PX4 repository, build and run simulation with jMAVSim (this simplifies the process to get you started).
INFO
If you missed this step you will need to clone the PX4-Autopilot repository manually.
:::
WARNING
At time of writing the installer is missing some dependencies (and cannot yet be rebuilt to add them - see PX4-windows-toolchain#31).
Щоб додати їх самостійно:
Перейдіть в директорію встановлення інструментів (за замовчуванням C:\PX4\)
Run run-console.bat (double click) to start the linux-like Cygwin bash console
Введіть в консолі наступну команду:
shpip3 install --user kconfiglib jsonschema future
Початок роботи
The toolchain uses a specially configured console window (started by running the run-console.bat script) from which you can call the normal PX4 build commands:
Перейдіть в директорію встановлення інструментів (за замовчуванням C:\PX4\)
Run run-console.bat (double click) to start the linux-like Cygwin bash console (you must use this console to build PX4).
Клонуйте репозиторій PX4 PX4-Autopilot з цієї консолі:
INFO
Skip this step if you ticked the installer option to clone the PX4 repository, build and run simulation with jMAVSim. Клонування потрібно зробити тільки один раз!
:::
sh
# Clone the PX4-Autopilot repository into the home folder & loads submodules in parallel
git clone --recursive -j8 https://github.com/PX4/PX4-Autopilot.git
Тепер можна використовувати консоль/PX4-Autopilot репозиторій для збірки PX4.
Наприклад, для запуску JMAVSim:
sh# Navigate to PX4-Autopilot repo cd Firmware # Build and runs SITL simulation with jMAVSim to test the setup make px4_sitl jmavsim
Після цього консоль покаже:
Наступні кроки
Після того, як ви закінчите налаштування інструментів командного рядка:
- Install the QGroundControl Daily Build
- Continue to the build instructions.
Усунення проблем
Інструменти моніторингу файлів проти швидкості інструментарію
Антивірус та інші інструменти моніторингу файлів у фоні можуть суттєво сповільнити встановлення інструментів та збірки PX4.
Можливо знадобиться тимчасово зупинити їх під час збірки (на власний розсуд).
Windows & Git Special Cases
Символи закінчення рядків Windows CR+LF проти Unix LF
Ми рекомендуємо примусити використання закінчення рядків Unix LF для кожного репозиторію, з яким ви працюєте з цим інструментарієм (також використовуйте редактор, який залишає їх незмінними під час збереження змін, тобто Eclipse або VSCode). Compilation of source files also works with CR+LF endings checked out locally, but there are cases in Cygwin (e.g. execution of shell scripts) that require Unix line endings (otherwise you get errors like $'\r': Command not found.
). На щастя, git може це зробити для вас, якщо виконаєте дві команди в кореневому каталозі вашого репозиторію:
sh
git config core.autocrlf false
git config core.eol lf
Якщо ви працюєте з цим інструментарієм в декількох репозиторіях, ви також можете встановити ці дві конфігурації глобально для вашого комп'ютера:
sh
git config --global ...
Це не рекомендується, оскільки це може вплинути на будь-які інші (непов'язані) випадки використання git на вашій Windows машині.
Біт виконання прав доступу Unix
Під Unix є прапорець в правах доступу кожного файлу, який вказує на те, чи дозволено файлу виконуватись. git under Cygwin supports and cares about that bit (even though the Windows NTFS file system does not use it). This often results in git finding "false-positive" differences in permissions. Вивід diff в результаті може виглядати так:
sh
diff --git ...
old mode 100644
new mode 100755
Ми рекомендуємо відключити глобально перевірку прав доступу у Windows, щоб уникнути проблем:
sh
# глобально відключити перевірку біту виконання для комп'ютера
git config --global core.fileMode false
Для наявних репозиторіїв, що мають цю проблему викликану локальною конфігурацією, додатково виконайте:
sh
# прибрати локальну конфігурацію, щоб застосувати глобальну
git config --unset core.filemode
# прибрати локальну конфігурацію для всіх підмодулів
git submodule foreach --recursive git config --unset core.filemode