Skip to content

PrecLandStatus (UORB message)

Precision-landing runtime status: a single state captures both whether precision landing is active and which phase it is in.

Published by: navigator (precland.cpp). Subscribed by: vision_target_estimator, flight_mode_manager (FlightTaskAuto).

STOPPED is published when the precision-landing task is not active (just inactivated, or never started). The phase values (START..FALLBACK) are only published while the task is running and not yet finished. DONE is published once on successful completion, then STOPPED on the subsequent inactivation.

TOPICS: prec_land_status

Fields

参数名类型Unit [Frame]Range/Enum描述
timestampuint64usTime since system start
stateuint8PREC_LAND_STATECurrent precision-landing state

Enums

PREC_LAND_STATE

Used in field(s): state

参数名类型描述
PREC_LAND_STATE_STOPPEDuint80Task not active (inactivated or never started)
PREC_LAND_STATE_STARTuint81Task just activated, initial setup
PREC_LAND_STATE_HORIZONTALuint82Positioning over landing target while maintaining altitude
PREC_LAND_STATE_DESCENDuint83Descending while staying over the target
PREC_LAND_STATE_FINALuint84Final landing approach (continues even without target in sight)
PREC_LAND_STATE_SEARCHuint85Searching for the landing target
PREC_LAND_STATE_FALLBACKuint86Fallback landing method (no precision)
PREC_LAND_STATE_DONEuint87Precision landing finished

Source Message

Source file (GitHub)

Details

Click here to see original file

c
# Precision-landing runtime status: a single state captures both whether precision landing is active and which phase it is in.
#
# Published by: navigator (precland.cpp).
# Subscribed by: vision_target_estimator, flight_mode_manager (FlightTaskAuto).
#
# STOPPED is published when the precision-landing task is not active (just inactivated, or never started).
# The phase values (START..FALLBACK) are only published while the task is running and not yet finished.
# DONE is published once on successful completion, then STOPPED on the subsequent inactivation.

uint64 timestamp # [us] Time since system start

uint8 state # [@enum PREC_LAND_STATE] Current precision-landing state
uint8 PREC_LAND_STATE_STOPPED = 0 # Task not active (inactivated or never started)
uint8 PREC_LAND_STATE_START = 1 # Task just activated, initial setup
uint8 PREC_LAND_STATE_HORIZONTAL = 2 # Positioning over landing target while maintaining altitude
uint8 PREC_LAND_STATE_DESCEND = 3 # Descending while staying over the target
uint8 PREC_LAND_STATE_FINAL = 4 # Final landing approach (continues even without target in sight)
uint8 PREC_LAND_STATE_SEARCH = 5 # Searching for the landing target
uint8 PREC_LAND_STATE_FALLBACK = 6   # Fallback landing method (no precision)
uint8 PREC_LAND_STATE_DONE = 7 # Precision landing finished