View Source APM (xmavlink_util v0.1.0)

APM 3.2 generated by MAVLink mix task from config/ardupilotmega.xml on 2021-05-03 00:17:27.114515Z

Link to this section Summary

Functions

Return the atom representation of a MAVLink enumeration value from the enumeration type and encoded integer

Return a String description of a MAVLink enumeration

Return keyword list of mav_cmd parameters

Return encoded integer value used in a MAVLink message for an enumeration value

MAVLink dialect

MAVLink version

Return the message checksum and size in bytes for a message with a specified id

Helper function for messages to pack bitmask fields

Unpack a MAVLink message given a MAVLink frame's message id and payload

Helper function for decode() to unpack bitmask fields

Link to this section Functions

@spec decode(1 | 2 | 3 | 4 | 5 | 6 | 16_777_215 | 16_777_216, :accelcal_vehicle_pos) ::
  APM.Types.accelcal_vehicle_pos()
@spec decode(0 | 1, :adsb_altitude_type) :: APM.Types.adsb_altitude_type()
@spec decode(
  0
  | 1
  | 2
  | 3
  | 4
  | 5
  | 6
  | 7
  | 8
  | 9
  | 10
  | 11
  | 12
  | 13
  | 14
  | 15
  | 16
  | 17
  | 18
  | 19,
  :adsb_emitter_type
) :: APM.Types.adsb_emitter_type()
@spec decode(1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 32768, :adsb_flags) ::
  APM.Types.adsb_flags()
@spec decode(
  1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096,
  :ais_flags
) ::
  APM.Types.ais_flags()
@spec decode(
  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15,
  :ais_nav_status
) ::
  APM.Types.ais_nav_status()
@spec decode(
  0
  | 1
  | 2
  | 3
  | 4
  | 5
  | 6
  | 7
  | 8
  | 9
  | 10
  | 11
  | 12
  | 13
  | 14
  | 15
  | 16
  | 17
  | 18
  | 19
  | 20
  | 21
  | 22
  | 23
  | 24
  | 25
  | 26
  | 27
  | 28
  | 29
  | 30
  | 31
  | 32
  | 33
  | 34
  | 35
  | 36
  | 37
  | 38
  | 39
  | 40
  | 41
  | 42
  | 43
  | 44
  | 45
  | 46
  | 47
  | 48
  | 49
  | 50
  | 51
  | 52
  | 53
  | 54
  | 55
  | 56
  | 57
  | 58
  | 59
  | 60
  | 61
  | 62
  | 63
  | 64
  | 65
  | 66
  | 67
  | 68
  | 69
  | 70
  | 71
  | 72
  | 73
  | 74
  | 75
  | 76
  | 77
  | 78
  | 79
  | 80
  | 81
  | 82
  | 83
  | 84
  | 85
  | 86
  | 87
  | 88
  | 89
  | 90
  | 91
  | 92
  | 93
  | 94
  | 95
  | 96
  | 97
  | 98
  | 99,
  :ais_type
) :: APM.Types.ais_type()
@spec decode(1 | 2 | 4 | 64 | 128, :attitude_target_typemask) ::
  APM.Types.attitude_target_typemask()
@spec decode(
  1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048,
  :camera_cap_flags
) ::
  APM.Types.camera_cap_flags()
@spec decode(0 | 1 | 2 | 3 | 4, :camera_feedback_flags) ::
  APM.Types.camera_feedback_flags()
@spec decode(0 | 1 | 2, :camera_mode) :: APM.Types.camera_mode()
@spec decode(0 | 1 | 2 | 3 | 4 | 5 | 6, :camera_status_types) ::
  APM.Types.camera_status_types()
@spec decode(
  0
  | 1
  | 2
  | 3
  | 4
  | 5
  | 6
  | 7
  | 9
  | 11
  | 13
  | 14
  | 15
  | 16
  | 17
  | 18
  | 19
  | 20
  | 21
  | 22
  | 23
  | 24
  | 25
  | 26,
  :copter_mode
) :: APM.Types.copter_mode()
@spec decode(0 | 1 | 2 | 3 | 4 | 5 | 6, :deepstall_stage) ::
  APM.Types.deepstall_stage()
@spec decode(0 | 1, :device_op_bustype) :: APM.Types.device_op_bustype()
@spec decode(1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024, :ekf_status_flags) ::
  APM.Types.ekf_status_flags()
@spec decode(
  1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048,
  :estimator_status_flags
) ::
  APM.Types.estimator_status_flags()
@spec decode(0 | 1 | 2 | 3 | 4, :fence_action) :: APM.Types.fence_action()
@spec decode(0 | 1 | 2 | 3, :fence_breach) :: APM.Types.fence_breach()
@spec decode(0 | 1 | 2, :fence_mitigate) :: APM.Types.fence_mitigate()
@spec decode(0 | 64 | 128 | 192 | 255, :firmware_version_type) ::
  APM.Types.firmware_version_type()
@spec decode(0 | 1 | 2, :gimbal_axis) :: APM.Types.gimbal_axis()
@spec decode(0 | 1 | 2, :gimbal_axis_calibration_required) ::
  APM.Types.gimbal_axis_calibration_required()
@spec decode(0 | 1 | 2, :gimbal_axis_calibration_status) ::
  APM.Types.gimbal_axis_calibration_status()
@spec decode(0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8, :gopro_burst_rate) ::
  APM.Types.gopro_burst_rate()
@spec decode(0 | 1 | 2 | 3 | 4 | 5 | 6 | 255, :gopro_capture_mode) ::
  APM.Types.gopro_capture_mode()
@spec decode(0 | 1, :gopro_charging) :: APM.Types.gopro_charging()
@spec decode(
  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16,
  :gopro_command
) ::
  APM.Types.gopro_command()
@spec decode(0 | 1 | 2, :gopro_field_of_view) :: APM.Types.gopro_field_of_view()
@spec decode(
  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13,
  :gopro_frame_rate
) ::
  APM.Types.gopro_frame_rate()
@spec decode(1, :gopro_heartbeat_flags) :: APM.Types.gopro_heartbeat_flags()
@spec decode(0 | 1 | 2 | 3, :gopro_heartbeat_status) ::
  APM.Types.gopro_heartbeat_status()
@spec decode(0 | 1 | 2 | 3 | 4, :gopro_model) :: APM.Types.gopro_model()
@spec decode(0 | 1 | 2 | 3 | 4, :gopro_photo_resolution) ::
  APM.Types.gopro_photo_resolution()
@spec decode(0 | 1, :gopro_protune_colour) :: APM.Types.gopro_protune_colour()
@spec decode(
  0
  | 1
  | 2
  | 3
  | 4
  | 5
  | 6
  | 7
  | 8
  | 9
  | 10
  | 11
  | 12
  | 13
  | 14
  | 15
  | 16
  | 17
  | 18
  | 19
  | 20,
  :gopro_protune_exposure
) :: APM.Types.gopro_protune_exposure()
@spec decode(0 | 1 | 2 | 3 | 4, :gopro_protune_gain) :: APM.Types.gopro_protune_gain()
@spec decode(0 | 1 | 2, :gopro_protune_sharpness) ::
  APM.Types.gopro_protune_sharpness()
@spec decode(0 | 1 | 2 | 3 | 4, :gopro_protune_white_balance) ::
  APM.Types.gopro_protune_white_balance()
@spec decode(0 | 1, :gopro_request_status) :: APM.Types.gopro_request_status()
@spec decode(
  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13,
  :gopro_resolution
) ::
  APM.Types.gopro_resolution()
@spec decode(1, :gopro_video_settings_flags) :: APM.Types.gopro_video_settings_flags()
@spec decode(0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8, :gps_fix_type) ::
  APM.Types.gps_fix_type()
@spec decode(1 | 2 | 4 | 8 | 16 | 32 | 64 | 128, :gps_input_ignore_flags) ::
  APM.Types.gps_input_ignore_flags()
@spec decode(0 | 1, :gripper_actions) :: APM.Types.gripper_actions()
@spec decode(0 | 1, :heading_type) :: APM.Types.heading_type()
@spec decode(
  1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 | 8192,
  :hl_failure_flag
) :: APM.Types.hl_failure_flag()
@spec decode(0 | 1 | 2 | 3 | 4 | 5, :icarous_fms_state) ::
  APM.Types.icarous_fms_state()
@spec decode(0 | 1 | 2, :icarous_track_band_types) ::
  APM.Types.icarous_track_band_types()
@spec decode(0 | 1 | 2 | 3, :landing_target_type) :: APM.Types.landing_target_type()
@spec decode(0 | 1 | 255, :led_control_pattern) :: APM.Types.led_control_pattern()
@spec decode(1 | 2 | 4, :limit_module) :: APM.Types.limit_module()
@spec decode(0 | 1 | 2 | 3 | 4 | 5, :limits_state) :: APM.Types.limits_state()
@spec decode(0 | 1 | 2 | 3 | 4 | 5 | 6 | 7, :mag_cal_status) ::
  APM.Types.mag_cal_status()
@spec decode(0 | 1 | 2 | 3 | 4 | 5, :mav_arm_auth_denied_reason) ::
  APM.Types.mav_arm_auth_denied_reason()
@spec decode(
  0
  | 1
  | 2
  | 3
  | 4
  | 5
  | 6
  | 7
  | 8
  | 9
  | 10
  | 11
  | 12
  | 13
  | 14
  | 15
  | 16
  | 17
  | 18
  | 19,
  :mav_autopilot
) :: APM.Types.mav_autopilot()
@spec decode(0 | 1 | 2 | 3 | 4 | 5 | 6 | 7, :mav_battery_charge_state) ::
  APM.Types.mav_battery_charge_state()
@spec decode(0 | 1 | 2 | 3 | 4, :mav_battery_function) ::
  APM.Types.mav_battery_function()
@spec decode(0 | 1 | 2 | 3 | 4, :mav_battery_type) :: APM.Types.mav_battery_type()
@spec decode(
  16
  | 17
  | 18
  | 19
  | 20
  | 21
  | 22
  | 23
  | 24
  | 25
  | 30
  | 31
  | 32
  | 33
  | 80
  | 81
  | 82
  | 83
  | 84
  | 85
  | 92
  | 93
  | 94
  | 95
  | 112
  | 113
  | 114
  | 115
  | 159
  | 176
  | 177
  | 178
  | 179
  | 180
  | 181
  | 182
  | 183
  | 184
  | 185
  | 186
  | 189
  | 190
  | 191
  | 192
  | 193
  | 194
  | 195
  | 196
  | 197
  | 198
  | 200
  | 201
  | 202
  | 203
  | 204
  | 205
  | 206
  | 207
  | 208
  | 209
  | 210
  | 211
  | 212
  | 213
  | 214
  | 215
  | 216
  | 217
  | 218
  | 220
  | 221
  | 222
  | 223
  | 224
  | 240
  | 241
  | 242
  | 243
  | 245
  | 246
  | 252
  | 260
  | 300
  | 400
  | 410
  | 500
  | 510
  | 511
  | 512
  | 519
  | 520
  | 521
  | 522
  | 525
  | 526
  | 527
  | 528
  | 529
  | 530
  | 600
  | 601
  | 2000
  | 2001
  | 2003
  | 2500
  | 2501
  | 2502
  | 2503
  | 2504
  | 2505
  | 2510
  | 2511
  | 2520
  | 2600
  | 2800
  | 3000
  | 3001
  | 4000
  | 4001
  | 5000
  | 5001
  | 5002
  | 5003
  | 5004
  | 5100
  | 5200
  | 30001
  | 30002
  | 31000
  | 31001
  | 31002
  | 31003
  | 31004
  | 31005
  | 31006
  | 31007
  | 31008
  | 31009
  | 31010
  | 31011
  | 31012
  | 31013
  | 31014
  | 42000
  | 42001
  | 42002
  | 42003
  | 42004
  | 42005
  | 42006
  | 42424
  | 42425
  | 42426
  | 42427
  | 42428
  | 42429
  | 42501
  | 42502
  | 42503
  | 42505
  | 42600
  | 42650
  | 42651
  | 42700
  | 42701
  | 43000
  | 43001
  | 43002,
  :mav_cmd
) :: APM.Types.mav_cmd()
@spec decode(0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8, :mav_cmd_ack) ::
  APM.Types.mav_cmd_ack()
@spec decode(0 | 1 | 2, :mav_cmd_do_aux_function_switch_level) ::
  APM.Types.mav_cmd_do_aux_function_switch_level()
@spec decode(0 | 1 | 2 | 3 | 4 | 5 | 6, :mav_collision_action) ::
  APM.Types.mav_collision_action()
@spec decode(0 | 1, :mav_collision_src) :: APM.Types.mav_collision_src()
@spec decode(0 | 1 | 2, :mav_collision_threat_level) ::
  APM.Types.mav_collision_threat_level()
@spec decode(
  0
  | 1
  | 25
  | 26
  | 27
  | 28
  | 29
  | 30
  | 31
  | 32
  | 33
  | 34
  | 35
  | 36
  | 37
  | 38
  | 39
  | 40
  | 41
  | 42
  | 43
  | 44
  | 45
  | 46
  | 47
  | 48
  | 49
  | 50
  | 51
  | 52
  | 53
  | 54
  | 55
  | 56
  | 57
  | 58
  | 59
  | 60
  | 61
  | 62
  | 63
  | 64
  | 65
  | 66
  | 67
  | 68
  | 69
  | 70
  | 71
  | 72
  | 73
  | 74
  | 75
  | 76
  | 77
  | 78
  | 79
  | 80
  | 81
  | 82
  | 83
  | 84
  | 85
  | 86
  | 87
  | 88
  | 89
  | 90
  | 91
  | 92
  | 93
  | 94
  | 95
  | 96
  | 97
  | 98
  | 99
  | 100
  | 101
  | 102
  | 103
  | 104
  | 105
  | 140
  | 141
  | 142
  | 143
  | 144
  | 145
  | 146
  | 147
  | 148
  | 149
  | 150
  | 151
  | 152
  | 153
  | 154
  | 155
  | 156
  | 157
  | 158
  | 159
  | 160
  | 171
  | 172
  | 173
  | 174
  | 175
  | 190
  | 191
  | 195
  | 196
  | 197
  | 198
  | 200
  | 201
  | 202
  | 220
  | 221
  | 236
  | 237
  | 238
  | 240
  | 241
  | 242
  | 250,
  :mav_component
) :: APM.Types.mav_component()
@spec decode(0 | 1 | 2 | 3 | 4 | 6 | 10 | 11 | 12, :mav_data_stream) ::
  APM.Types.mav_data_stream()
@spec decode(0 | 1 | 2 | 3 | 4, :mav_distance_sensor) ::
  APM.Types.mav_distance_sensor()
@spec decode(1, :mav_do_reposition_flags) :: APM.Types.mav_do_reposition_flags()
@spec decode(0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8, :mav_estimator_type) ::
  APM.Types.mav_estimator_type()
@spec decode(
  0
  | 1
  | 2
  | 3
  | 4
  | 5
  | 6
  | 7
  | 8
  | 9
  | 10
  | 11
  | 12
  | 13
  | 14
  | 15
  | 16
  | 17
  | 18
  | 19
  | 20
  | 21,
  :mav_frame
) :: APM.Types.mav_frame()
@spec decode(
  1
  | 2
  | 4
  | 8
  | 16
  | 32
  | 64
  | 128
  | 256
  | 512
  | 1024
  | 2048
  | 4096
  | 8192
  | 16384
  | 32768
  | 65536
  | 131_072
  | 262_144
  | 524_288
  | 1_048_576
  | 2_097_152
  | 4_194_304,
  :mav_generator_status_flag
) :: APM.Types.mav_generator_status_flag()
@spec decode(0 | 1 | 2 | 3, :mav_goto) :: APM.Types.mav_goto()
@spec decode(0 | 1 | 2 | 3 | 4, :mav_landed_state) :: APM.Types.mav_landed_state()
@spec decode(
  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15,
  :mav_mission_result
) ::
  APM.Types.mav_mission_result()
@spec decode(0 | 1 | 2 | 255, :mav_mission_type) :: APM.Types.mav_mission_type()
@spec decode(0 | 80 | 208 | 64 | 192 | 88 | 216 | 92 | 220 | 66 | 194, :mav_mode) ::
  APM.Types.mav_mode()
@spec decode(128 | 64 | 32 | 16 | 8 | 4 | 2 | 1, :mav_mode_flag) ::
  APM.Types.mav_mode_flag()
@spec decode(128 | 64 | 32 | 16 | 8 | 4 | 2 | 1, :mav_mode_flag_decode_position) ::
  APM.Types.mav_mode_flag_decode_position()
@spec decode(0 | 1 | 2 | 3 | 4 | 5 | 6, :mav_mode_gimbal) ::
  APM.Types.mav_mode_gimbal()
@spec decode(0 | 1 | 2 | 3 | 4 | 5 | 6, :mav_mount_mode) :: APM.Types.mav_mount_mode()
@spec decode(1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10, :mav_param_type) ::
  APM.Types.mav_param_type()
@spec decode(1 | 2 | 4 | 8 | 16 | 32, :mav_power_status) ::
  APM.Types.mav_power_status()
@spec decode(
  1
  | 2
  | 4
  | 8
  | 16
  | 32
  | 64
  | 128
  | 256
  | 512
  | 1024
  | 2048
  | 4096
  | 8192
  | 16384
  | 32768
  | 65536,
  :mav_protocol_capability
) :: APM.Types.mav_protocol_capability()
@spec decode(2_147_483_645 | 2_147_483_646, :mav_remote_log_data_block_commands) ::
  APM.Types.mav_remote_log_data_block_commands()
@spec decode(0 | 1, :mav_remote_log_data_block_statuses) ::
  APM.Types.mav_remote_log_data_block_statuses()
@spec decode(0 | 1 | 2 | 3 | 4 | 5, :mav_result) :: APM.Types.mav_result()
@spec decode(0 | 1 | 2 | 3 | 4, :mav_roi) :: APM.Types.mav_roi()
@spec decode(
  0
  | 1
  | 2
  | 3
  | 4
  | 5
  | 6
  | 7
  | 8
  | 9
  | 10
  | 11
  | 12
  | 13
  | 14
  | 15
  | 16
  | 17
  | 18
  | 19
  | 20
  | 21
  | 22
  | 23
  | 24
  | 25
  | 26
  | 27
  | 28
  | 29
  | 30
  | 31
  | 32
  | 33
  | 34
  | 35
  | 36
  | 37
  | 38
  | 39
  | 40
  | 100,
  :mav_sensor_orientation
) :: APM.Types.mav_sensor_orientation()
@spec decode(0 | 1 | 2 | 3 | 4 | 5 | 6 | 7, :mav_severity) :: APM.Types.mav_severity()
@spec decode(0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8, :mav_state) :: APM.Types.mav_state()
@spec decode(
  1
  | 2
  | 4
  | 8
  | 16
  | 32
  | 64
  | 128
  | 256
  | 512
  | 1024
  | 2048
  | 4096
  | 8192
  | 16384
  | 32768
  | 65536
  | 131_072
  | 262_144
  | 524_288
  | 1_048_576
  | 2_097_152
  | 4_194_304
  | 8_388_608
  | 16_777_216
  | 33_554_432
  | 67_108_864
  | 134_217_728
  | 268_435_456
  | 536_870_912
  | 1_073_741_824,
  :mav_sys_status_sensor
) :: APM.Types.mav_sys_status_sensor()
@spec decode(
  0
  | 1
  | 2
  | 3
  | 4
  | 5
  | 6
  | 7
  | 8
  | 9
  | 10
  | 11
  | 12
  | 13
  | 14
  | 15
  | 16
  | 17
  | 18
  | 19
  | 20
  | 21
  | 22
  | 23
  | 24
  | 25
  | 26
  | 27
  | 28
  | 29
  | 30
  | 31
  | 32
  | 33
  | 34
  | 35,
  :mav_type
) :: APM.Types.mav_type()
@spec decode(0 | 1 | 2 | 3 | 4, :mav_vtol_state) :: APM.Types.mav_vtol_state()
@spec decode(1 | 2 | 4 | 8, :mav_winch_status_flag) ::
  APM.Types.mav_winch_status_flag()
@spec decode(0 | 1 | 2 | 3 | 4 | 5, :mavlink_data_stream_type) ::
  APM.Types.mavlink_data_stream_type()
@spec decode(0 | 1 | 2, :motor_test_order) :: APM.Types.motor_test_order()
@spec decode(0 | 1 | 2 | 3, :motor_test_throttle_type) ::
  APM.Types.motor_test_throttle_type()
@spec decode(0 | 1 | 2 | 3, :osd_param_config_error) ::
  APM.Types.osd_param_config_error()
@spec decode(0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8, :osd_param_config_type) ::
  APM.Types.osd_param_config_type()
@spec decode(0 | 1 | 2, :parachute_action) :: APM.Types.parachute_action()
@spec decode(1 | 2 | 3 | 4 | 5 | 6, :pid_tuning_axis) :: APM.Types.pid_tuning_axis()
@spec decode(
  0
  | 1
  | 2
  | 3
  | 4
  | 5
  | 6
  | 7
  | 8
  | 10
  | 11
  | 12
  | 13
  | 14
  | 15
  | 16
  | 17
  | 18
  | 19
  | 20
  | 21
  | 22
  | 23
  | 24,
  :plane_mode
) :: APM.Types.plane_mode()
@spec decode(
  1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048,
  :position_target_typemask
) ::
  APM.Types.position_target_typemask()
@spec decode(0 | 1 | 2, :precision_land_mode) :: APM.Types.precision_land_mode()
@spec decode(1 | 2, :rally_flags) :: APM.Types.rally_flags()
@spec decode(0 | 1, :rc_type) :: APM.Types.rc_type()
@spec decode(0 | 1 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 15 | 16, :rover_mode) ::
  APM.Types.rover_mode()
@spec decode(0 | 1, :rtk_baseline_coordinate_system) ::
  APM.Types.rtk_baseline_coordinate_system()
@spec decode(0 | 1, :scripting_cmd) :: APM.Types.scripting_cmd()
@spec decode(
  0
  | 1
  | 2
  | 3
  | 10
  | 100
  | 101
  | 102
  | 103
  | 104
  | 105
  | 106
  | 107
  | 108
  | 109,
  :serial_control_dev
) :: APM.Types.serial_control_dev()
@spec decode(1 | 2 | 4 | 8 | 16, :serial_control_flag) ::
  APM.Types.serial_control_flag()
@spec decode(0 | 1, :speed_type) :: APM.Types.speed_type()
@spec decode(0 | 1 | 2 | 3, :storage_status) :: APM.Types.storage_status()
@spec decode(0 | 1 | 2 | 3 | 4 | 7 | 9 | 16 | 19, :sub_mode) :: APM.Types.sub_mode()
@spec decode(0 | 1 | 2 | 3 | 10 | 16, :tracker_mode) :: APM.Types.tracker_mode()
@spec decode(0 | 1 | 2 | 3, :uavcan_node_health) :: APM.Types.uavcan_node_health()
@spec decode(0 | 1 | 2 | 3 | 7, :uavcan_node_mode) :: APM.Types.uavcan_node_mode()
@spec decode(0 | 1 | 2 | 3 | 4 | 5 | 6 | 7, :uavionix_adsb_emergency_status) ::
  APM.Types.uavionix_adsb_emergency_status()
@spec decode(
  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15,
  :uavionix_adsb_out_cfg_aircraft_size
) :: APM.Types.uavionix_adsb_out_cfg_aircraft_size()
@spec decode(0 | 1 | 2 | 3 | 4 | 5 | 6 | 7, :uavionix_adsb_out_cfg_gps_offset_lat) ::
  APM.Types.uavionix_adsb_out_cfg_gps_offset_lat()
@spec decode(0 | 1, :uavionix_adsb_out_cfg_gps_offset_lon) ::
  APM.Types.uavionix_adsb_out_cfg_gps_offset_lon()
@spec decode(0 | 1 | 2 | 3 | 4 | 5, :uavionix_adsb_out_dynamic_gps_fix) ::
  APM.Types.uavionix_adsb_out_dynamic_gps_fix()
@spec decode(1 | 2 | 4 | 8 | 16, :uavionix_adsb_out_dynamic_state) ::
  APM.Types.uavionix_adsb_out_dynamic_state()
@spec decode(0 | 1 | 2, :uavionix_adsb_out_rf_select) ::
  APM.Types.uavionix_adsb_out_rf_select()
@spec decode(0 | 1 | 2 | 16, :uavionix_adsb_rf_health) ::
  APM.Types.uavionix_adsb_rf_health()
@spec decode(1 | 2 | 4 | 8 | 16 | 32 | 64 | 128, :utm_data_avail_flags) ::
  APM.Types.utm_data_avail_flags()
@spec decode(1 | 2 | 3 | 16 | 32, :utm_flight_state) :: APM.Types.utm_flight_state()
@spec decode(1 | 2, :video_stream_status_flags) ::
  APM.Types.video_stream_status_flags()
@spec decode(0 | 1 | 2 | 3, :video_stream_type) :: APM.Types.video_stream_type()
@spec decode(0 | 1 | 2 | 3 | 4, :vtol_transition_heading) ::
  APM.Types.vtol_transition_heading()
@spec decode(0 | 1 | 2, :winch_actions) :: APM.Types.winch_actions()

Return the atom representation of a MAVLink enumeration value from the enumeration type and encoded integer

Return a String description of a MAVLink enumeration

Return keyword list of mav_cmd parameters

@spec encode(APM.Types.accelcal_vehicle_pos(), :accelcal_vehicle_pos) ::
  1 | 2 | 3 | 4 | 5 | 6 | 16_777_215 | 16_777_216
@spec encode(APM.Types.adsb_altitude_type(), :adsb_altitude_type) :: 0 | 1
@spec encode(APM.Types.adsb_emitter_type(), :adsb_emitter_type) ::
  0
  | 1
  | 2
  | 3
  | 4
  | 5
  | 6
  | 7
  | 8
  | 9
  | 10
  | 11
  | 12
  | 13
  | 14
  | 15
  | 16
  | 17
  | 18
  | 19
@spec encode(APM.Types.adsb_flags(), :adsb_flags) ::
  1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 32768
@spec encode(APM.Types.ais_flags(), :ais_flags) ::
  1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096
@spec encode(APM.Types.ais_nav_status(), :ais_nav_status) ::
  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15
@spec encode(APM.Types.ais_type(), :ais_type) ::
  0
  | 1
  | 2
  | 3
  | 4
  | 5
  | 6
  | 7
  | 8
  | 9
  | 10
  | 11
  | 12
  | 13
  | 14
  | 15
  | 16
  | 17
  | 18
  | 19
  | 20
  | 21
  | 22
  | 23
  | 24
  | 25
  | 26
  | 27
  | 28
  | 29
  | 30
  | 31
  | 32
  | 33
  | 34
  | 35
  | 36
  | 37
  | 38
  | 39
  | 40
  | 41
  | 42
  | 43
  | 44
  | 45
  | 46
  | 47
  | 48
  | 49
  | 50
  | 51
  | 52
  | 53
  | 54
  | 55
  | 56
  | 57
  | 58
  | 59
  | 60
  | 61
  | 62
  | 63
  | 64
  | 65
  | 66
  | 67
  | 68
  | 69
  | 70
  | 71
  | 72
  | 73
  | 74
  | 75
  | 76
  | 77
  | 78
  | 79
  | 80
  | 81
  | 82
  | 83
  | 84
  | 85
  | 86
  | 87
  | 88
  | 89
  | 90
  | 91
  | 92
  | 93
  | 94
  | 95
  | 96
  | 97
  | 98
  | 99
@spec encode(APM.Types.attitude_target_typemask(), :attitude_target_typemask) ::
  1 | 2 | 4 | 64 | 128
@spec encode(APM.Types.camera_cap_flags(), :camera_cap_flags) ::
  1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048
@spec encode(APM.Types.camera_feedback_flags(), :camera_feedback_flags) ::
  0 | 1 | 2 | 3 | 4
@spec encode(APM.Types.camera_mode(), :camera_mode) :: 0 | 1 | 2
@spec encode(APM.Types.camera_status_types(), :camera_status_types) ::
  0 | 1 | 2 | 3 | 4 | 5 | 6
@spec encode(APM.Types.copter_mode(), :copter_mode) ::
  0
  | 1
  | 2
  | 3
  | 4
  | 5
  | 6
  | 7
  | 9
  | 11
  | 13
  | 14
  | 15
  | 16
  | 17
  | 18
  | 19
  | 20
  | 21
  | 22
  | 23
  | 24
  | 25
  | 26
@spec encode(APM.Types.deepstall_stage(), :deepstall_stage) ::
  0 | 1 | 2 | 3 | 4 | 5 | 6
@spec encode(APM.Types.device_op_bustype(), :device_op_bustype) :: 0 | 1
@spec encode(APM.Types.ekf_status_flags(), :ekf_status_flags) ::
  1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024
@spec encode(APM.Types.estimator_status_flags(), :estimator_status_flags) ::
  1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048
@spec encode(APM.Types.fence_action(), :fence_action) :: 0 | 1 | 2 | 3 | 4
@spec encode(APM.Types.fence_breach(), :fence_breach) :: 0 | 1 | 2 | 3
@spec encode(APM.Types.fence_mitigate(), :fence_mitigate) :: 0 | 1 | 2
@spec encode(APM.Types.firmware_version_type(), :firmware_version_type) ::
  0 | 64 | 128 | 192 | 255
@spec encode(APM.Types.gimbal_axis(), :gimbal_axis) :: 0 | 1 | 2
@spec encode(
  APM.Types.gimbal_axis_calibration_required(),
  :gimbal_axis_calibration_required
) ::
  0 | 1 | 2
@spec encode(
  APM.Types.gimbal_axis_calibration_status(),
  :gimbal_axis_calibration_status
) :: 0 | 1 | 2
@spec encode(APM.Types.gopro_burst_rate(), :gopro_burst_rate) ::
  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
@spec encode(APM.Types.gopro_capture_mode(), :gopro_capture_mode) ::
  0 | 1 | 2 | 3 | 4 | 5 | 6 | 255
@spec encode(APM.Types.gopro_charging(), :gopro_charging) :: 0 | 1
@spec encode(APM.Types.gopro_command(), :gopro_command) ::
  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16
@spec encode(APM.Types.gopro_field_of_view(), :gopro_field_of_view) :: 0 | 1 | 2
@spec encode(APM.Types.gopro_frame_rate(), :gopro_frame_rate) ::
  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13
@spec encode(APM.Types.gopro_heartbeat_flags(), :gopro_heartbeat_flags) :: 1
@spec encode(APM.Types.gopro_heartbeat_status(), :gopro_heartbeat_status) ::
  0 | 1 | 2 | 3
@spec encode(APM.Types.gopro_model(), :gopro_model) :: 0 | 1 | 2 | 3 | 4
@spec encode(APM.Types.gopro_photo_resolution(), :gopro_photo_resolution) ::
  0 | 1 | 2 | 3 | 4
@spec encode(APM.Types.gopro_protune_colour(), :gopro_protune_colour) :: 0 | 1
@spec encode(APM.Types.gopro_protune_exposure(), :gopro_protune_exposure) ::
  0
  | 1
  | 2
  | 3
  | 4
  | 5
  | 6
  | 7
  | 8
  | 9
  | 10
  | 11
  | 12
  | 13
  | 14
  | 15
  | 16
  | 17
  | 18
  | 19
  | 20
@spec encode(APM.Types.gopro_protune_gain(), :gopro_protune_gain) :: 0 | 1 | 2 | 3 | 4
@spec encode(APM.Types.gopro_protune_sharpness(), :gopro_protune_sharpness) ::
  0 | 1 | 2
@spec encode(APM.Types.gopro_protune_white_balance(), :gopro_protune_white_balance) ::
  0 | 1 | 2 | 3 | 4
@spec encode(APM.Types.gopro_request_status(), :gopro_request_status) :: 0 | 1
@spec encode(APM.Types.gopro_resolution(), :gopro_resolution) ::
  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13
@spec encode(APM.Types.gopro_video_settings_flags(), :gopro_video_settings_flags) :: 1
@spec encode(APM.Types.gps_fix_type(), :gps_fix_type) ::
  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
@spec encode(APM.Types.gps_input_ignore_flags(), :gps_input_ignore_flags) ::
  1 | 2 | 4 | 8 | 16 | 32 | 64 | 128
@spec encode(APM.Types.gripper_actions(), :gripper_actions) :: 0 | 1
@spec encode(APM.Types.heading_type(), :heading_type) :: 0 | 1
@spec encode(APM.Types.hl_failure_flag(), :hl_failure_flag) ::
  1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 | 8192
@spec encode(APM.Types.icarous_fms_state(), :icarous_fms_state) ::
  0 | 1 | 2 | 3 | 4 | 5
@spec encode(APM.Types.icarous_track_band_types(), :icarous_track_band_types) ::
  0 | 1 | 2
@spec encode(APM.Types.landing_target_type(), :landing_target_type) :: 0 | 1 | 2 | 3
@spec encode(APM.Types.led_control_pattern(), :led_control_pattern) :: 0 | 1 | 255
@spec encode(APM.Types.limit_module(), :limit_module) :: 1 | 2 | 4
@spec encode(APM.Types.limits_state(), :limits_state) :: 0 | 1 | 2 | 3 | 4 | 5
@spec encode(APM.Types.mag_cal_status(), :mag_cal_status) ::
  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7
@spec encode(APM.Types.mav_arm_auth_denied_reason(), :mav_arm_auth_denied_reason) ::
  0 | 1 | 2 | 3 | 4 | 5
@spec encode(APM.Types.mav_autopilot(), :mav_autopilot) ::
  0
  | 1
  | 2
  | 3
  | 4
  | 5
  | 6
  | 7
  | 8
  | 9
  | 10
  | 11
  | 12
  | 13
  | 14
  | 15
  | 16
  | 17
  | 18
  | 19
@spec encode(APM.Types.mav_battery_charge_state(), :mav_battery_charge_state) ::
  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7
@spec encode(APM.Types.mav_battery_function(), :mav_battery_function) ::
  0 | 1 | 2 | 3 | 4
@spec encode(APM.Types.mav_battery_type(), :mav_battery_type) :: 0 | 1 | 2 | 3 | 4
@spec encode(APM.Types.mav_cmd(), :mav_cmd) ::
  16
  | 17
  | 18
  | 19
  | 20
  | 21
  | 22
  | 23
  | 24
  | 25
  | 30
  | 31
  | 32
  | 33
  | 80
  | 81
  | 82
  | 83
  | 84
  | 85
  | 92
  | 93
  | 94
  | 95
  | 112
  | 113
  | 114
  | 115
  | 159
  | 176
  | 177
  | 178
  | 179
  | 180
  | 181
  | 182
  | 183
  | 184
  | 185
  | 186
  | 189
  | 190
  | 191
  | 192
  | 193
  | 194
  | 195
  | 196
  | 197
  | 198
  | 200
  | 201
  | 202
  | 203
  | 204
  | 205
  | 206
  | 207
  | 208
  | 209
  | 210
  | 211
  | 212
  | 213
  | 214
  | 215
  | 216
  | 217
  | 218
  | 220
  | 221
  | 222
  | 223
  | 224
  | 240
  | 241
  | 242
  | 243
  | 245
  | 246
  | 252
  | 260
  | 300
  | 400
  | 410
  | 500
  | 510
  | 511
  | 512
  | 519
  | 520
  | 521
  | 522
  | 525
  | 526
  | 527
  | 528
  | 529
  | 530
  | 600
  | 601
  | 2000
  | 2001
  | 2003
  | 2500
  | 2501
  | 2502
  | 2503
  | 2504
  | 2505
  | 2510
  | 2511
  | 2520
  | 2600
  | 2800
  | 3000
  | 3001
  | 4000
  | 4001
  | 5000
  | 5001
  | 5002
  | 5003
  | 5004
  | 5100
  | 5200
  | 30001
  | 30002
  | 31000
  | 31001
  | 31002
  | 31003
  | 31004
  | 31005
  | 31006
  | 31007
  | 31008
  | 31009
  | 31010
  | 31011
  | 31012
  | 31013
  | 31014
  | 42000
  | 42001
  | 42002
  | 42003
  | 42004
  | 42005
  | 42006
  | 42424
  | 42425
  | 42426
  | 42427
  | 42428
  | 42429
  | 42501
  | 42502
  | 42503
  | 42505
  | 42600
  | 42650
  | 42651
  | 42700
  | 42701
  | 43000
  | 43001
  | 43002
@spec encode(APM.Types.mav_cmd_ack(), :mav_cmd_ack) ::
  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
@spec encode(
  APM.Types.mav_cmd_do_aux_function_switch_level(),
  :mav_cmd_do_aux_function_switch_level
) ::
  0 | 1 | 2
@spec encode(APM.Types.mav_collision_action(), :mav_collision_action) ::
  0 | 1 | 2 | 3 | 4 | 5 | 6
@spec encode(APM.Types.mav_collision_src(), :mav_collision_src) :: 0 | 1
@spec encode(APM.Types.mav_collision_threat_level(), :mav_collision_threat_level) ::
  0 | 1 | 2
@spec encode(APM.Types.mav_component(), :mav_component) ::
  0
  | 1
  | 25
  | 26
  | 27
  | 28
  | 29
  | 30
  | 31
  | 32
  | 33
  | 34
  | 35
  | 36
  | 37
  | 38
  | 39
  | 40
  | 41
  | 42
  | 43
  | 44
  | 45
  | 46
  | 47
  | 48
  | 49
  | 50
  | 51
  | 52
  | 53
  | 54
  | 55
  | 56
  | 57
  | 58
  | 59
  | 60
  | 61
  | 62
  | 63
  | 64
  | 65
  | 66
  | 67
  | 68
  | 69
  | 70
  | 71
  | 72
  | 73
  | 74
  | 75
  | 76
  | 77
  | 78
  | 79
  | 80
  | 81
  | 82
  | 83
  | 84
  | 85
  | 86
  | 87
  | 88
  | 89
  | 90
  | 91
  | 92
  | 93
  | 94
  | 95
  | 96
  | 97
  | 98
  | 99
  | 100
  | 101
  | 102
  | 103
  | 104
  | 105
  | 140
  | 141
  | 142
  | 143
  | 144
  | 145
  | 146
  | 147
  | 148
  | 149
  | 150
  | 151
  | 152
  | 153
  | 154
  | 155
  | 156
  | 157
  | 158
  | 159
  | 160
  | 171
  | 172
  | 173
  | 174
  | 175
  | 190
  | 191
  | 195
  | 196
  | 197
  | 198
  | 200
  | 201
  | 202
  | 220
  | 221
  | 236
  | 237
  | 238
  | 240
  | 241
  | 242
  | 250
@spec encode(APM.Types.mav_data_stream(), :mav_data_stream) ::
  0 | 1 | 2 | 3 | 4 | 6 | 10 | 11 | 12
@spec encode(APM.Types.mav_distance_sensor(), :mav_distance_sensor) ::
  0 | 1 | 2 | 3 | 4
@spec encode(APM.Types.mav_do_reposition_flags(), :mav_do_reposition_flags) :: 1
@spec encode(APM.Types.mav_estimator_type(), :mav_estimator_type) ::
  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
@spec encode(APM.Types.mav_frame(), :mav_frame) ::
  0
  | 1
  | 2
  | 3
  | 4
  | 5
  | 6
  | 7
  | 8
  | 9
  | 10
  | 11
  | 12
  | 13
  | 14
  | 15
  | 16
  | 17
  | 18
  | 19
  | 20
  | 21
@spec encode(APM.Types.mav_generator_status_flag(), :mav_generator_status_flag) ::
  1
  | 2
  | 4
  | 8
  | 16
  | 32
  | 64
  | 128
  | 256
  | 512
  | 1024
  | 2048
  | 4096
  | 8192
  | 16384
  | 32768
  | 65536
  | 131_072
  | 262_144
  | 524_288
  | 1_048_576
  | 2_097_152
  | 4_194_304
@spec encode(APM.Types.mav_goto(), :mav_goto) :: 0 | 1 | 2 | 3
@spec encode(APM.Types.mav_landed_state(), :mav_landed_state) :: 0 | 1 | 2 | 3 | 4
@spec encode(APM.Types.mav_mission_result(), :mav_mission_result) ::
  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15
@spec encode(APM.Types.mav_mission_type(), :mav_mission_type) :: 0 | 1 | 2 | 255
@spec encode(APM.Types.mav_mode(), :mav_mode) ::
  0 | 80 | 208 | 64 | 192 | 88 | 216 | 92 | 220 | 66 | 194
@spec encode(APM.Types.mav_mode_flag(), :mav_mode_flag) ::
  128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
@spec encode(
  APM.Types.mav_mode_flag_decode_position(),
  :mav_mode_flag_decode_position
) ::
  128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
@spec encode(APM.Types.mav_mode_gimbal(), :mav_mode_gimbal) ::
  0 | 1 | 2 | 3 | 4 | 5 | 6
@spec encode(APM.Types.mav_mount_mode(), :mav_mount_mode) :: 0 | 1 | 2 | 3 | 4 | 5 | 6
@spec encode(APM.Types.mav_param_type(), :mav_param_type) ::
  1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10
@spec encode(APM.Types.mav_power_status(), :mav_power_status) ::
  1 | 2 | 4 | 8 | 16 | 32
@spec encode(APM.Types.mav_protocol_capability(), :mav_protocol_capability) ::
  1
  | 2
  | 4
  | 8
  | 16
  | 32
  | 64
  | 128
  | 256
  | 512
  | 1024
  | 2048
  | 4096
  | 8192
  | 16384
  | 32768
  | 65536
@spec encode(
  APM.Types.mav_remote_log_data_block_commands(),
  :mav_remote_log_data_block_commands
) ::
  2_147_483_645 | 2_147_483_646
@spec encode(
  APM.Types.mav_remote_log_data_block_statuses(),
  :mav_remote_log_data_block_statuses
) ::
  0 | 1
@spec encode(APM.Types.mav_result(), :mav_result) :: 0 | 1 | 2 | 3 | 4 | 5
@spec encode(APM.Types.mav_roi(), :mav_roi) :: 0 | 1 | 2 | 3 | 4
@spec encode(APM.Types.mav_sensor_orientation(), :mav_sensor_orientation) ::
  0
  | 1
  | 2
  | 3
  | 4
  | 5
  | 6
  | 7
  | 8
  | 9
  | 10
  | 11
  | 12
  | 13
  | 14
  | 15
  | 16
  | 17
  | 18
  | 19
  | 20
  | 21
  | 22
  | 23
  | 24
  | 25
  | 26
  | 27
  | 28
  | 29
  | 30
  | 31
  | 32
  | 33
  | 34
  | 35
  | 36
  | 37
  | 38
  | 39
  | 40
  | 100
@spec encode(APM.Types.mav_severity(), :mav_severity) :: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7
@spec encode(APM.Types.mav_state(), :mav_state) :: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
@spec encode(APM.Types.mav_sys_status_sensor(), :mav_sys_status_sensor) ::
  1
  | 2
  | 4
  | 8
  | 16
  | 32
  | 64
  | 128
  | 256
  | 512
  | 1024
  | 2048
  | 4096
  | 8192
  | 16384
  | 32768
  | 65536
  | 131_072
  | 262_144
  | 524_288
  | 1_048_576
  | 2_097_152
  | 4_194_304
  | 8_388_608
  | 16_777_216
  | 33_554_432
  | 67_108_864
  | 134_217_728
  | 268_435_456
  | 536_870_912
  | 1_073_741_824
@spec encode(APM.Types.mav_type(), :mav_type) ::
  0
  | 1
  | 2
  | 3
  | 4
  | 5
  | 6
  | 7
  | 8
  | 9
  | 10
  | 11
  | 12
  | 13
  | 14
  | 15
  | 16
  | 17
  | 18
  | 19
  | 20
  | 21
  | 22
  | 23
  | 24
  | 25
  | 26
  | 27
  | 28
  | 29
  | 30
  | 31
  | 32
  | 33
  | 34
  | 35
@spec encode(APM.Types.mav_vtol_state(), :mav_vtol_state) :: 0 | 1 | 2 | 3 | 4
@spec encode(APM.Types.mav_winch_status_flag(), :mav_winch_status_flag) ::
  1 | 2 | 4 | 8
@spec encode(APM.Types.mavlink_data_stream_type(), :mavlink_data_stream_type) ::
  0 | 1 | 2 | 3 | 4 | 5
@spec encode(APM.Types.motor_test_order(), :motor_test_order) :: 0 | 1 | 2
@spec encode(APM.Types.motor_test_throttle_type(), :motor_test_throttle_type) ::
  0 | 1 | 2 | 3
@spec encode(APM.Types.osd_param_config_error(), :osd_param_config_error) ::
  0 | 1 | 2 | 3
@spec encode(APM.Types.osd_param_config_type(), :osd_param_config_type) ::
  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
@spec encode(APM.Types.parachute_action(), :parachute_action) :: 0 | 1 | 2
@spec encode(APM.Types.pid_tuning_axis(), :pid_tuning_axis) :: 1 | 2 | 3 | 4 | 5 | 6
@spec encode(APM.Types.plane_mode(), :plane_mode) ::
  0
  | 1
  | 2
  | 3
  | 4
  | 5
  | 6
  | 7
  | 8
  | 10
  | 11
  | 12
  | 13
  | 14
  | 15
  | 16
  | 17
  | 18
  | 19
  | 20
  | 21
  | 22
  | 23
  | 24
@spec encode(APM.Types.position_target_typemask(), :position_target_typemask) ::
  1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048
@spec encode(APM.Types.precision_land_mode(), :precision_land_mode) :: 0 | 1 | 2
@spec encode(APM.Types.rally_flags(), :rally_flags) :: 1 | 2
@spec encode(APM.Types.rc_type(), :rc_type) :: 0 | 1
@spec encode(APM.Types.rover_mode(), :rover_mode) ::
  0 | 1 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 15 | 16
@spec encode(
  APM.Types.rtk_baseline_coordinate_system(),
  :rtk_baseline_coordinate_system
) :: 0 | 1
@spec encode(APM.Types.scripting_cmd(), :scripting_cmd) :: 0 | 1
@spec encode(APM.Types.serial_control_dev(), :serial_control_dev) ::
  0 | 1 | 2 | 3 | 10 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109
@spec encode(APM.Types.serial_control_flag(), :serial_control_flag) ::
  1 | 2 | 4 | 8 | 16
@spec encode(APM.Types.speed_type(), :speed_type) :: 0 | 1
@spec encode(APM.Types.storage_status(), :storage_status) :: 0 | 1 | 2 | 3
@spec encode(APM.Types.sub_mode(), :sub_mode) :: 0 | 1 | 2 | 3 | 4 | 7 | 9 | 16 | 19
@spec encode(APM.Types.tracker_mode(), :tracker_mode) :: 0 | 1 | 2 | 3 | 10 | 16
@spec encode(APM.Types.uavcan_node_health(), :uavcan_node_health) :: 0 | 1 | 2 | 3
@spec encode(APM.Types.uavcan_node_mode(), :uavcan_node_mode) :: 0 | 1 | 2 | 3 | 7
@spec encode(
  APM.Types.uavionix_adsb_emergency_status(),
  :uavionix_adsb_emergency_status
) ::
  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7
@spec encode(
  APM.Types.uavionix_adsb_out_cfg_aircraft_size(),
  :uavionix_adsb_out_cfg_aircraft_size
) ::
  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15
@spec encode(
  APM.Types.uavionix_adsb_out_cfg_gps_offset_lat(),
  :uavionix_adsb_out_cfg_gps_offset_lat
) ::
  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7
@spec encode(
  APM.Types.uavionix_adsb_out_cfg_gps_offset_lon(),
  :uavionix_adsb_out_cfg_gps_offset_lon
) ::
  0 | 1
@spec encode(
  APM.Types.uavionix_adsb_out_dynamic_gps_fix(),
  :uavionix_adsb_out_dynamic_gps_fix
) ::
  0 | 1 | 2 | 3 | 4 | 5
@spec encode(
  APM.Types.uavionix_adsb_out_dynamic_state(),
  :uavionix_adsb_out_dynamic_state
) ::
  1 | 2 | 4 | 8 | 16
@spec encode(APM.Types.uavionix_adsb_out_rf_select(), :uavionix_adsb_out_rf_select) ::
  0 | 1 | 2
@spec encode(APM.Types.uavionix_adsb_rf_health(), :uavionix_adsb_rf_health) ::
  0 | 1 | 2 | 16
@spec encode(APM.Types.utm_data_avail_flags(), :utm_data_avail_flags) ::
  1 | 2 | 4 | 8 | 16 | 32 | 64 | 128
@spec encode(APM.Types.utm_flight_state(), :utm_flight_state) :: 1 | 2 | 3 | 16 | 32
@spec encode(APM.Types.video_stream_status_flags(), :video_stream_status_flags) ::
  1 | 2
@spec encode(APM.Types.video_stream_type(), :video_stream_type) :: 0 | 1 | 2 | 3
@spec encode(APM.Types.vtol_transition_heading(), :vtol_transition_heading) ::
  0 | 1 | 2 | 3 | 4
@spec encode(APM.Types.winch_actions(), :winch_actions) :: 0 | 1 | 2

Return encoded integer value used in a MAVLink message for an enumeration value

@spec msg_attributes(MAVLink.Types.message_id()) ::
  {:ok, MAVLink.Types.crc_extra(), pos_integer(), target_type()}
  | {:error, :unknown_message_id}

Return the message checksum and size in bytes for a message with a specified id

Link to this function

pack_bitmask(flag_set, enum, encode)

View Source

Helper function for messages to pack bitmask fields

@spec unpack(MAVLink.Types.message_id(), binary()) ::
  APM.Types.message() | {:error, :unknown_message}

Unpack a MAVLink message given a MAVLink frame's message id and payload

Link to this function

unpack_bitmask(value, enum, decode, acc \\ MapSet.new(), pos \\ 1)

View Source

Helper function for decode() to unpack bitmask fields