All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.com.divpundir.mavlink.definitions.ardupilotmega.MavModeGimbal.kt Maven / Gradle / Ivy

package com.divpundir.mavlink.definitions.ardupilotmega

import com.divpundir.mavlink.api.GeneratedMavEnum
import com.divpundir.mavlink.api.GeneratedMavEnumEntry
import com.divpundir.mavlink.api.MavEnum
import kotlin.UInt

@GeneratedMavEnum
public enum class MavModeGimbal(
  override val `value`: UInt,
) : MavEnum {
  /**
   * Gimbal is powered on but has not started initializing yet.
   */
  @GeneratedMavEnumEntry
  UNINITIALIZED(0u),
  /**
   * Gimbal is currently running calibration on the pitch axis.
   */
  @GeneratedMavEnumEntry
  CALIBRATING_PITCH(1u),
  /**
   * Gimbal is currently running calibration on the roll axis.
   */
  @GeneratedMavEnumEntry
  CALIBRATING_ROLL(2u),
  /**
   * Gimbal is currently running calibration on the yaw axis.
   */
  @GeneratedMavEnumEntry
  CALIBRATING_YAW(3u),
  /**
   * Gimbal has finished calibrating and initializing, but is relaxed pending reception of first
   * rate command from copter.
   */
  @GeneratedMavEnumEntry
  INITIALIZED(4u),
  /**
   * Gimbal is actively stabilizing.
   */
  @GeneratedMavEnumEntry
  ACTIVE(5u),
  /**
   * Gimbal is relaxed because it missed more than 10 expected rate command messages in a row.
   * Gimbal will move back to active mode when it receives a new rate command.
   */
  @GeneratedMavEnumEntry
  RATE_CMD_TIMEOUT(6u),
  ;

  public companion object : MavEnum.MavCompanion {
    override fun getEntryFromValueOrNull(v: UInt): MavModeGimbal? = when (v) {
      0u -> UNINITIALIZED
      1u -> CALIBRATING_PITCH
      2u -> CALIBRATING_ROLL
      3u -> CALIBRATING_YAW
      4u -> INITIALIZED
      5u -> ACTIVE
      6u -> RATE_CMD_TIMEOUT
      else -> null
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy