Pioneer
🛫 Управление полётом
метод
arm()
arm(timeout: int = 5, retries: int = 0) -> boolЗапускает моторы дрона (арм) и при включённом wait_callback ждёт события ENGINES_STARTED.
Переводит автопилот в режим запуска моторов и ожидает подтверждения. Если подтверждение не пришло за timeout секунд, выполняется disarm() и попытка повторяется retries раз. Перед вызовом коптер должен находиться в состоянии ON_LAND.
Параметры
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
timeout | int | 5 | Время ожидания запуска моторов, секунды. |
retries | int | 0 | Количество повторных попыток при неудаче (0 — без повторов). |
Возвращает
bool — True, если моторы запущены, иначе False.
Исключения
- RuntimeError — если команда приведёт к некорректной последовательности состояний (при включённой проверке safety_command).
Пример
subscribe_event.py
from pioneer_sdk2 import Pioneer
import time
drone = Pioneer()
try:
drone.arm() # включаем двигатели
drone.takeoff() # взлетаем
time.sleep(3)
drone.land() # садимся, двигатели выключатся автоматически
finally:
drone.close_connection()
Примечания
- Команда игнорируется, если дрон уже в воздухе.
- При выключенном
wait_callbackметод отправляет команду и сразу возвращает True.