github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/common/enum_adsb_emitter_type.go (about)

     1  //autogenerated:yes
     2  //nolint:revive,misspell,govet,lll,dupl,gocritic
     3  package common
     4  
     5  import (
     6  	"fmt"
     7  	"strconv"
     8  )
     9  
    10  // ADSB classification for the type of vehicle emitting the transponder signal
    11  type ADSB_EMITTER_TYPE uint64
    12  
    13  const (
    14  	ADSB_EMITTER_TYPE_NO_INFO           ADSB_EMITTER_TYPE = 0
    15  	ADSB_EMITTER_TYPE_LIGHT             ADSB_EMITTER_TYPE = 1
    16  	ADSB_EMITTER_TYPE_SMALL             ADSB_EMITTER_TYPE = 2
    17  	ADSB_EMITTER_TYPE_LARGE             ADSB_EMITTER_TYPE = 3
    18  	ADSB_EMITTER_TYPE_HIGH_VORTEX_LARGE ADSB_EMITTER_TYPE = 4
    19  	ADSB_EMITTER_TYPE_HEAVY             ADSB_EMITTER_TYPE = 5
    20  	ADSB_EMITTER_TYPE_HIGHLY_MANUV      ADSB_EMITTER_TYPE = 6
    21  	ADSB_EMITTER_TYPE_ROTOCRAFT         ADSB_EMITTER_TYPE = 7
    22  	ADSB_EMITTER_TYPE_UNASSIGNED        ADSB_EMITTER_TYPE = 8
    23  	ADSB_EMITTER_TYPE_GLIDER            ADSB_EMITTER_TYPE = 9
    24  	ADSB_EMITTER_TYPE_LIGHTER_AIR       ADSB_EMITTER_TYPE = 10
    25  	ADSB_EMITTER_TYPE_PARACHUTE         ADSB_EMITTER_TYPE = 11
    26  	ADSB_EMITTER_TYPE_ULTRA_LIGHT       ADSB_EMITTER_TYPE = 12
    27  	ADSB_EMITTER_TYPE_UNASSIGNED2       ADSB_EMITTER_TYPE = 13
    28  	ADSB_EMITTER_TYPE_UAV               ADSB_EMITTER_TYPE = 14
    29  	ADSB_EMITTER_TYPE_SPACE             ADSB_EMITTER_TYPE = 15
    30  	ADSB_EMITTER_TYPE_UNASSGINED3       ADSB_EMITTER_TYPE = 16
    31  	ADSB_EMITTER_TYPE_EMERGENCY_SURFACE ADSB_EMITTER_TYPE = 17
    32  	ADSB_EMITTER_TYPE_SERVICE_SURFACE   ADSB_EMITTER_TYPE = 18
    33  	ADSB_EMITTER_TYPE_POINT_OBSTACLE    ADSB_EMITTER_TYPE = 19
    34  )
    35  
    36  var labels_ADSB_EMITTER_TYPE = map[ADSB_EMITTER_TYPE]string{
    37  	ADSB_EMITTER_TYPE_NO_INFO:           "ADSB_EMITTER_TYPE_NO_INFO",
    38  	ADSB_EMITTER_TYPE_LIGHT:             "ADSB_EMITTER_TYPE_LIGHT",
    39  	ADSB_EMITTER_TYPE_SMALL:             "ADSB_EMITTER_TYPE_SMALL",
    40  	ADSB_EMITTER_TYPE_LARGE:             "ADSB_EMITTER_TYPE_LARGE",
    41  	ADSB_EMITTER_TYPE_HIGH_VORTEX_LARGE: "ADSB_EMITTER_TYPE_HIGH_VORTEX_LARGE",
    42  	ADSB_EMITTER_TYPE_HEAVY:             "ADSB_EMITTER_TYPE_HEAVY",
    43  	ADSB_EMITTER_TYPE_HIGHLY_MANUV:      "ADSB_EMITTER_TYPE_HIGHLY_MANUV",
    44  	ADSB_EMITTER_TYPE_ROTOCRAFT:         "ADSB_EMITTER_TYPE_ROTOCRAFT",
    45  	ADSB_EMITTER_TYPE_UNASSIGNED:        "ADSB_EMITTER_TYPE_UNASSIGNED",
    46  	ADSB_EMITTER_TYPE_GLIDER:            "ADSB_EMITTER_TYPE_GLIDER",
    47  	ADSB_EMITTER_TYPE_LIGHTER_AIR:       "ADSB_EMITTER_TYPE_LIGHTER_AIR",
    48  	ADSB_EMITTER_TYPE_PARACHUTE:         "ADSB_EMITTER_TYPE_PARACHUTE",
    49  	ADSB_EMITTER_TYPE_ULTRA_LIGHT:       "ADSB_EMITTER_TYPE_ULTRA_LIGHT",
    50  	ADSB_EMITTER_TYPE_UNASSIGNED2:       "ADSB_EMITTER_TYPE_UNASSIGNED2",
    51  	ADSB_EMITTER_TYPE_UAV:               "ADSB_EMITTER_TYPE_UAV",
    52  	ADSB_EMITTER_TYPE_SPACE:             "ADSB_EMITTER_TYPE_SPACE",
    53  	ADSB_EMITTER_TYPE_UNASSGINED3:       "ADSB_EMITTER_TYPE_UNASSGINED3",
    54  	ADSB_EMITTER_TYPE_EMERGENCY_SURFACE: "ADSB_EMITTER_TYPE_EMERGENCY_SURFACE",
    55  	ADSB_EMITTER_TYPE_SERVICE_SURFACE:   "ADSB_EMITTER_TYPE_SERVICE_SURFACE",
    56  	ADSB_EMITTER_TYPE_POINT_OBSTACLE:    "ADSB_EMITTER_TYPE_POINT_OBSTACLE",
    57  }
    58  
    59  var values_ADSB_EMITTER_TYPE = map[string]ADSB_EMITTER_TYPE{
    60  	"ADSB_EMITTER_TYPE_NO_INFO":           ADSB_EMITTER_TYPE_NO_INFO,
    61  	"ADSB_EMITTER_TYPE_LIGHT":             ADSB_EMITTER_TYPE_LIGHT,
    62  	"ADSB_EMITTER_TYPE_SMALL":             ADSB_EMITTER_TYPE_SMALL,
    63  	"ADSB_EMITTER_TYPE_LARGE":             ADSB_EMITTER_TYPE_LARGE,
    64  	"ADSB_EMITTER_TYPE_HIGH_VORTEX_LARGE": ADSB_EMITTER_TYPE_HIGH_VORTEX_LARGE,
    65  	"ADSB_EMITTER_TYPE_HEAVY":             ADSB_EMITTER_TYPE_HEAVY,
    66  	"ADSB_EMITTER_TYPE_HIGHLY_MANUV":      ADSB_EMITTER_TYPE_HIGHLY_MANUV,
    67  	"ADSB_EMITTER_TYPE_ROTOCRAFT":         ADSB_EMITTER_TYPE_ROTOCRAFT,
    68  	"ADSB_EMITTER_TYPE_UNASSIGNED":        ADSB_EMITTER_TYPE_UNASSIGNED,
    69  	"ADSB_EMITTER_TYPE_GLIDER":            ADSB_EMITTER_TYPE_GLIDER,
    70  	"ADSB_EMITTER_TYPE_LIGHTER_AIR":       ADSB_EMITTER_TYPE_LIGHTER_AIR,
    71  	"ADSB_EMITTER_TYPE_PARACHUTE":         ADSB_EMITTER_TYPE_PARACHUTE,
    72  	"ADSB_EMITTER_TYPE_ULTRA_LIGHT":       ADSB_EMITTER_TYPE_ULTRA_LIGHT,
    73  	"ADSB_EMITTER_TYPE_UNASSIGNED2":       ADSB_EMITTER_TYPE_UNASSIGNED2,
    74  	"ADSB_EMITTER_TYPE_UAV":               ADSB_EMITTER_TYPE_UAV,
    75  	"ADSB_EMITTER_TYPE_SPACE":             ADSB_EMITTER_TYPE_SPACE,
    76  	"ADSB_EMITTER_TYPE_UNASSGINED3":       ADSB_EMITTER_TYPE_UNASSGINED3,
    77  	"ADSB_EMITTER_TYPE_EMERGENCY_SURFACE": ADSB_EMITTER_TYPE_EMERGENCY_SURFACE,
    78  	"ADSB_EMITTER_TYPE_SERVICE_SURFACE":   ADSB_EMITTER_TYPE_SERVICE_SURFACE,
    79  	"ADSB_EMITTER_TYPE_POINT_OBSTACLE":    ADSB_EMITTER_TYPE_POINT_OBSTACLE,
    80  }
    81  
    82  // MarshalText implements the encoding.TextMarshaler interface.
    83  func (e ADSB_EMITTER_TYPE) MarshalText() ([]byte, error) {
    84  	if name, ok := labels_ADSB_EMITTER_TYPE[e]; ok {
    85  		return []byte(name), nil
    86  	}
    87  	return []byte(strconv.Itoa(int(e))), nil
    88  }
    89  
    90  // UnmarshalText implements the encoding.TextUnmarshaler interface.
    91  func (e *ADSB_EMITTER_TYPE) UnmarshalText(text []byte) error {
    92  	if value, ok := values_ADSB_EMITTER_TYPE[string(text)]; ok {
    93  		*e = value
    94  	} else if value, err := strconv.Atoi(string(text)); err == nil {
    95  		*e = ADSB_EMITTER_TYPE(value)
    96  	} else {
    97  		return fmt.Errorf("invalid label '%s'", text)
    98  	}
    99  	return nil
   100  }
   101  
   102  // String implements the fmt.Stringer interface.
   103  func (e ADSB_EMITTER_TYPE) String() string {
   104  	val, _ := e.MarshalText()
   105  	return string(val)
   106  }