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

commonMain.com.divpundir.mavlink.definitions.common.IlluminatorErrorFlags.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.MavBitmask
import kotlin.UInt
import kotlin.collections.List

/**
 * Illuminator module error flags (bitmap, 0 means no error)
 */
@GeneratedMavEnum(bitmask = true)
public enum class IlluminatorErrorFlags(
  override val `value`: UInt,
) : MavBitmask {
  /**
   * Illuminator thermal throttling error.
   */
  @GeneratedMavEnumEntry
  THERMAL_THROTTLING(1u),
  /**
   * Illuminator over temperature shutdown error.
   */
  @GeneratedMavEnumEntry
  OVER_TEMPERATURE_SHUTDOWN(2u),
  /**
   * Illuminator thermistor failure.
   */
  @GeneratedMavEnumEntry
  THERMISTOR_FAILURE(4u),
  ;

  public companion object : MavBitmask.MavCompanion {
    override fun getEntryFromValueOrNull(v: UInt): IlluminatorErrorFlags? = when (v) {
      1u -> THERMAL_THROTTLING
      2u -> OVER_TEMPERATURE_SHUTDOWN
      4u -> THERMISTOR_FAILURE
      else -> null
    }

    override fun getFlagsFromValue(v: UInt): List = buildList {
      if (v and 1u == 1u) add(THERMAL_THROTTLING)
      if (v and 2u == 2u) add(OVER_TEMPERATURE_SHUTDOWN)
      if (v and 4u == 4u) add(THERMISTOR_FAILURE)
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy