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

commonMain.com.divpundir.mavlink.definitions.common.MavBatteryChargeState.kt Maven / Gradle / Ivy

package com.divpundir.mavlink.definitions.common

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

/**
 * Enumeration for battery charge states.
 */
@GeneratedMavEnum
public enum class MavBatteryChargeState(
  override val `value`: UInt,
) : MavEnum {
  /**
   * Low battery state is not provided
   */
  @GeneratedMavEnumEntry
  UNDEFINED(0u),
  /**
   * Battery is not in low state. Normal operation.
   */
  @GeneratedMavEnumEntry
  OK(1u),
  /**
   * Battery state is low, warn and monitor close.
   */
  @GeneratedMavEnumEntry
  LOW(2u),
  /**
   * Battery state is critical, return or abort immediately.
   */
  @GeneratedMavEnumEntry
  CRITICAL(3u),
  /**
   * Battery state is too low for ordinary abort sequence. Perform fastest possible emergency stop
   * to prevent damage.
   */
  @GeneratedMavEnumEntry
  EMERGENCY(4u),
  /**
   * Battery failed, damage unavoidable. Possible causes (faults) are listed in MAV_BATTERY_FAULT.
   */
  @GeneratedMavEnumEntry
  FAILED(5u),
  /**
   * Battery is diagnosed to be defective or an error occurred, usage is discouraged / prohibited.
   * Possible causes (faults) are listed in MAV_BATTERY_FAULT.
   */
  @GeneratedMavEnumEntry
  UNHEALTHY(6u),
  /**
   * Battery is charging.
   */
  @GeneratedMavEnumEntry
  CHARGING(7u),
  ;

  public companion object : MavEnum.MavCompanion {
    override fun getEntryFromValueOrNull(v: UInt): MavBatteryChargeState? = when (v) {
      0u -> UNDEFINED
      1u -> OK
      2u -> LOW
      3u -> CRITICAL
      4u -> EMERGENCY
      5u -> FAILED
      6u -> UNHEALTHY
      7u -> CHARGING
      else -> null
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy