Pioneer 🔔 События метод

subscribe()

subscribe(callback: callable, event: Event = Event.ALL) -> None

Подписывает функцию на событие автопилота.

При наступлении события вызывается callback(event). По умолчанию Event.ALL — подписка на все события.

Параметры

ПараметрТипПо умолчаниюОписание
callbackcallableФункция, вызываемая при событии. Принимает объект Event.
eventEventEvent.ALLСобытие для подписки.

Возвращает

None — Метод ничего не возвращает.

Пример

subscribe_event.py
from pioneer_sdk2 import Pioneer, Event

def event_activate(event):                # функция вызывается при событии
    if event == Event.TAKEOFF_COMPLETE:   # завершение взлета
        drone.led_control(r=0, g=1, b=0)  # зеленый свет
    elif event == Event.COPTER_LANDED:    # завершение посадки
        drone.led_control(r=1, g=0, b=0)  # красный свет

drone = Pioneer()
drone.subscribe(event_activate, Event.TAKEOFF_COMPLETE)
drone.subscribe(event_activate, Event.COPTER_LANDED)

Примечания

  • Callback вызывается из потока обработки сообщений — избегайте тяжёлых операций.

См. также