// generated from rosidl_adapter/resource/msg.idl.em
// with input from px4_msgs/msg/PositionControllerLandingStatus.msg
// generated code does not contain a copyright notice


module px4_msgs {
  module msg {
    module PositionControllerLandingStatus_Constants {
      @verbatim (language="comment", text=
        "abort reasons" "\n"        "after the manual operator abort, corresponds to individual bits of param FW_LND_ABORT")
      const uint8 NOT_ABORTED = 0;
      const uint8 ABORTED_BY_OPERATOR = 1;
      @verbatim (language="comment", text=
        "FW_LND_ABORT (1 << 0)")
      const uint8 TERRAIN_NOT_FOUND = 2;
      @verbatim (language="comment", text=
        "FW_LND_ABORT (1 << 1)")
      const uint8 TERRAIN_TIMEOUT = 3;
      const uint8 UNKNOWN_ABORT_CRITERION = 4;
    };
    struct PositionControllerLandingStatus {
      @verbatim (language="comment", text=
        "time since system start")
      @unit (value="us")
      uint64 timestamp;

      @verbatim (language="comment", text=
        "lateral touchdown position offset manually commanded during landing")
      @unit (value="m")
      float lateral_touchdown_offset;

      @verbatim (language="comment", text=
        "true if the aircraft is flaring")
      boolean flaring;

      @verbatim (language="comment", text=
        "abort status is:" "\n"
        "0 if not aborted" "\n"
        ">0 if aborted, with the singular abort criterion which triggered the landing abort enumerated by the following abort reasons")
      uint8 abort_status;
    };
  };
};
