diff --git a/generate.sh b/generate.sh
index 307092bdfd4d4b15a2284056fb0fe181be55c26e..171f0aa659199b8601f885e21cc2a6f74732dd07 100755
--- a/generate.sh
+++ b/generate.sh
@@ -1,3 +1,3 @@
 cd  mavlink
-python3 -m pymavlink.tools.mavgen --lang=C --wire-protocol=1.0 --output=../mavlink_lib ../message_definitions/lyra.xml
-python3 -m pymavlink.tools.mavgen --lang=Python --wire-protocol=1.0 --output=../mavlink_lib ../message_definitions/lyra.xml
\ No newline at end of file
+mavgen.py --lang=C --wire-protocol=1.0 --output=../mavlink_lib ../message_definitions/lyra.xml
+mavgen.py --lang=Python --wire-protocol=1.0 --output=../mavlink_lib ../message_definitions/lyra.xml
diff --git a/mavlink_lib.py b/mavlink_lib.py
index ec376da70577e23a70d13b34558bdd3becb0ad52..21cdd15fefac57d4a8c657668e12122d4855c42a 100644
--- a/mavlink_lib.py
+++ b/mavlink_lib.py
@@ -1,20 +1,22 @@
-'''
+"""
 MAVLink protocol implementation (auto-generated by mavgen.py)
 
-Generated from: lyra.xml
+Generated from: ('lyra.xml',)
 
 Note: this file has been auto-generated. DO NOT EDIT
-'''
-from __future__ import print_function
-from builtins import range
-from builtins import object
-import struct, array, time, json, os, sys, platform
-
-from pymavlink.generator.mavcrc import x25crc
+"""
 import hashlib
-
-WIRE_PROTOCOL_VERSION = '1.0'
-DIALECT = 'mavlink_lib'
+import json
+import logging
+import os
+import struct
+import sys
+import time
+from builtins import object, range
+from typing import Any, Callable, Dict, Iterable, List, Mapping, Optional, Sequence, Tuple, Type, Union, cast
+
+WIRE_PROTOCOL_VERSION = "1.0"
+DIALECT = "mavlink_lib"
 
 PROTOCOL_MARKER_V1 = 0xFE
 PROTOCOL_MARKER_V2 = 0xFD
@@ -25,67 +27,54 @@ MAVLINK_SIGNATURE_BLOCK_LEN = 13
 
 MAVLINK_IFLAG_SIGNED = 0x01
 
-native_supported = platform.system() != 'Windows' # Not yet supported on other dialects
-native_force = 'MAVNATIVE_FORCE' in os.environ # Will force use of native code regardless of what client app wants
-native_testing = 'MAVNATIVE_TESTING' in os.environ # Will force both native and legacy code to be used and their results compared
+if sys.version_info[0] == 2:
+    logging.basicConfig()
 
-if native_supported and float(WIRE_PROTOCOL_VERSION) <= 1:
-    try:
-        import mavnative
-    except ImportError:
-        print('ERROR LOADING MAVNATIVE - falling back to python implementation')
-        native_supported = False
-else:
-    # mavnative isn't supported for MAVLink2 yet
-    native_supported = False
+logger = logging.getLogger(__name__)
 
 # allow MAV_IGNORE_CRC=1 to ignore CRC, allowing some
 # corrupted msgs to be seen
-MAVLINK_IGNORE_CRC = os.environ.get("MAV_IGNORE_CRC",0)
+MAVLINK_IGNORE_CRC = os.environ.get("MAV_IGNORE_CRC", 0)
 
 # some base types from mavlink_types.h
-MAVLINK_TYPE_CHAR     = 0
-MAVLINK_TYPE_UINT8_T  = 1
-MAVLINK_TYPE_INT8_T   = 2
+MAVLINK_TYPE_CHAR = 0
+MAVLINK_TYPE_UINT8_T = 1
+MAVLINK_TYPE_INT8_T = 2
 MAVLINK_TYPE_UINT16_T = 3
-MAVLINK_TYPE_INT16_T  = 4
+MAVLINK_TYPE_INT16_T = 4
 MAVLINK_TYPE_UINT32_T = 5
-MAVLINK_TYPE_INT32_T  = 6
+MAVLINK_TYPE_INT32_T = 6
 MAVLINK_TYPE_UINT64_T = 7
-MAVLINK_TYPE_INT64_T  = 8
-MAVLINK_TYPE_FLOAT    = 9
-MAVLINK_TYPE_DOUBLE   = 10
-
-
-# swiped from DFReader.py
-def to_string(s):
-    '''desperate attempt to convert a string regardless of what garbage we get'''
-    try:
-        return s.decode("utf-8")
-    except Exception as e:
-        pass
-    try:
-        s2 = s.encode('utf-8', 'ignore')
-        x = u"%s" % s2
-        return s2
-    except Exception:
-        pass
-    # so it's a nasty one. Let's grab as many characters as we can
-    r = ''
-    try:
-        for c in s:
-            r2 = r + c
-            r2 = r2.encode('ascii', 'ignore')
-            x = u"%s" % r2
-            r = r2
-    except Exception:
-        pass
-    return r + '_XXX'
+MAVLINK_TYPE_INT64_T = 8
+MAVLINK_TYPE_FLOAT = 9
+MAVLINK_TYPE_DOUBLE = 10
+
+
+class x25crc(object):
+    """CRC-16/MCRF4XX - based on checksum.h from mavlink library"""
+
+    def __init__(self, buf: Optional[Sequence[int]] = None) -> None:
+        self.crc = 0xFFFF
+        if buf is not None:
+            self.accumulate(buf)
+
+    def accumulate(self, buf: Sequence[int]) -> None:
+        """add in some more bytes (it also accepts python2 strings)"""
+        if sys.version_info[0] == 2 and type(buf) is str:
+            buf = bytearray(buf)
+
+        accum = self.crc
+        for b in buf:
+            tmp = b ^ (accum & 0xFF)
+            tmp = (tmp ^ (tmp << 4)) & 0xFF
+            accum = (accum >> 8) ^ (tmp << 8) ^ (tmp << 3) ^ (tmp >> 4)
+        self.crc = accum
 
 
 class MAVLink_header(object):
-    '''MAVLink message header'''
-    def __init__(self, msgId, incompat_flags=0, compat_flags=0, mlen=0, seq=0, srcSystem=0, srcComponent=0):
+    """MAVLink message header"""
+
+    def __init__(self, msgId: int, incompat_flags: int = 0, compat_flags: int = 0, mlen: int = 0, seq: int = 0, srcSystem: int = 0, srcComponent: int = 0) -> None:
         self.mlen = mlen
         self.seq = seq
         self.srcSystem = srcSystem
@@ -94,95 +83,131 @@ class MAVLink_header(object):
         self.incompat_flags = incompat_flags
         self.compat_flags = compat_flags
 
-    def pack(self, force_mavlink1=False):
-        if WIRE_PROTOCOL_VERSION == '2.0' and not force_mavlink1:
-            return struct.pack('<BBBBBBBHB', 254, self.mlen,
-                               self.incompat_flags, self.compat_flags,
-                               self.seq, self.srcSystem, self.srcComponent,
-                               self.msgId&0xFFFF, self.msgId>>16)
-        return struct.pack('<BBBBBB', PROTOCOL_MARKER_V1, self.mlen, self.seq,
-                           self.srcSystem, self.srcComponent, self.msgId)
+    def pack(self, force_mavlink1: bool = False) -> bytes:
+        if float(WIRE_PROTOCOL_VERSION) == 2.0 and not force_mavlink1:
+            return struct.pack(
+                "<BBBBBBBHB",
+                254,
+                self.mlen,
+                self.incompat_flags,
+                self.compat_flags,
+                self.seq,
+                self.srcSystem,
+                self.srcComponent,
+                self.msgId & 0xFFFF,
+                self.msgId >> 16,
+            )
+        return struct.pack(
+            "<BBBBBB",
+            PROTOCOL_MARKER_V1,
+            self.mlen,
+            self.seq,
+            self.srcSystem,
+            self.srcComponent,
+            self.msgId,
+        )
 
-class MAVLink_message(object):
-    '''base MAVLink message class'''
-    def __init__(self, msgId, name):
-        self._header     = MAVLink_header(msgId)
-        self._payload    = None
-        self._msgbuf     = None
-        self._crc        = None
-        self._fieldnames = []
-        self._type       = name
-        self._signed     = False
-        self._link_id    = None
-        self._instances  = None
-        self._instance_field = None
 
-    def format_attr(self, field):
-        '''override field getter'''
-        raw_attr = getattr(self,field)
+class MAVLink_message(object):
+    """base MAVLink message class"""
+
+    id = 0
+    msgname = ""
+    fieldnames: List[str] = []
+    ordered_fieldnames: List[str] = []
+    fieldtypes: List[str] = []
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {}
+    native_format = bytearray(b"")
+    orders: List[int] = []
+    lengths: List[int] = []
+    array_lengths: List[int] = []
+    crc_extra = 0
+    unpacker = struct.Struct("")
+    instance_field: Optional[str] = None
+    instance_offset = -1
+
+    def __init__(self, msgId: int, name: str) -> None:
+        self._header = MAVLink_header(msgId)
+        self._payload: Optional[bytes] = None
+        self._msgbuf = bytearray(b"")
+        self._crc: Optional[int] = None
+        self._fieldnames: List[str] = []
+        self._type = name
+        self._signed = False
+        self._link_id: Optional[int] = None
+        self._instances: Optional[Dict[str, str]] = None
+        self._instance_field: Optional[str] = None
+
+    def format_attr(self, field: str) -> Union[str, float, int]:
+        """override field getter"""
+        raw_attr = cast(Union[bytes, float, int], getattr(self, field))
         if isinstance(raw_attr, bytes):
-            raw_attr = to_string(raw_attr).rstrip("\00")
+            if sys.version_info[0] == 2:
+                return raw_attr.rstrip(b"\x00")
+            return raw_attr.decode(errors="backslashreplace").rstrip("\x00")
         return raw_attr
 
-    def get_msgbuf(self):
-        if isinstance(self._msgbuf, bytearray):
-            return self._msgbuf
-        return bytearray(self._msgbuf)
+    def get_msgbuf(self) -> bytearray:
+        return self._msgbuf
 
-    def get_header(self):
+    def get_header(self) -> MAVLink_header:
         return self._header
 
-    def get_payload(self):
+    def get_payload(self) -> Optional[bytes]:
         return self._payload
 
-    def get_crc(self):
+    def get_crc(self) -> Optional[int]:
         return self._crc
 
-    def get_fieldnames(self):
+    def get_fieldnames(self) -> List[str]:
         return self._fieldnames
 
-    def get_type(self):
+    def get_type(self) -> str:
         return self._type
 
-    def get_msgId(self):
+    def get_msgId(self) -> int:
         return self._header.msgId
 
-    def get_srcSystem(self):
+    def get_srcSystem(self) -> int:
         return self._header.srcSystem
 
-    def get_srcComponent(self):
+    def get_srcComponent(self) -> int:
         return self._header.srcComponent
 
-    def get_seq(self):
+    def get_seq(self) -> int:
         return self._header.seq
 
-    def get_signed(self):
+    def get_signed(self) -> bool:
         return self._signed
 
-    def get_link_id(self):
+    def get_link_id(self) -> Optional[int]:
         return self._link_id
 
-    def __str__(self):
-        ret = '%s {' % self._type
+    def __str__(self) -> str:
+        ret = "%s {" % self._type
         for a in self._fieldnames:
             v = self.format_attr(a)
-            ret += '%s : %s, ' % (a, v)
-        ret = ret[0:-2] + '}'
+            ret += "%s : %s, " % (a, v)
+        ret = ret[0:-2] + "}"
         return ret
 
-    def __ne__(self, other):
+    def __ne__(self, other: object) -> bool:
         return not self.__eq__(other)
 
-    def __eq__(self, other):
+    def __eq__(self, other: object) -> bool:
         if other is None:
             return False
 
+        if not isinstance(other, MAVLink_message):
+            return False
+
         if self.get_type() != other.get_type():
             return False
 
-        # We do not compare CRC because native code doesn't provide it
-        #if self.get_crc() != other.get_crc():
-        #    return False
+        if self.get_crc() != other.get_crc():
+            return False
 
         if self.get_seq() != other.get_seq():
             return False
@@ -199,276 +224,337 @@ class MAVLink_message(object):
 
         return True
 
-    def to_dict(self):
-        d = dict({})
-        d['mavpackettype'] = self._type
+    def to_dict(self) -> Dict[str, Union[str, float, int]]:
+        d: Dict[str, Union[str, float, int]] = {}
+        d["mavpackettype"] = self._type
         for a in self._fieldnames:
-          d[a] = self.format_attr(a)
+            d[a] = self.format_attr(a)
         return d
 
-    def to_json(self):
+    def to_json(self) -> str:
         return json.dumps(self.to_dict())
 
-    def sign_packet(self, mav):
-        h = hashlib.new('sha256')
-        self._msgbuf += struct.pack('<BQ', mav.signing.link_id, mav.signing.timestamp)[:7]
+    def sign_packet(self, mav: "MAVLink") -> None:
+        assert mav.signing.secret_key is not None
+
+        h = hashlib.new("sha256")
+        self._msgbuf += struct.pack("<BQ", mav.signing.link_id, mav.signing.timestamp)[:7]
         h.update(mav.signing.secret_key)
         h.update(self._msgbuf)
         sig = h.digest()[:6]
         self._msgbuf += sig
         mav.signing.timestamp += 1
 
-    def pack(self, mav, crc_extra, payload, force_mavlink1=False):
+    def _pack(self, mav: "MAVLink", crc_extra: int, payload: bytes, force_mavlink1: bool = False) -> bytes:
         plen = len(payload)
-        if WIRE_PROTOCOL_VERSION != '1.0' and not force_mavlink1:
+        if float(WIRE_PROTOCOL_VERSION) == 2.0 and not force_mavlink1:
             # in MAVLink2 we can strip trailing zeros off payloads. This allows for simple
             # variable length arrays and smaller packets
-            nullbyte = chr(0)
-            # in Python2, type("fred') is str but also type("fred")==bytes
-            if str(type(payload)) == "<class 'bytes'>":
+            if sys.version_info[0] == 2:
+                nullbyte = chr(0)
+            else:
                 nullbyte = 0
-            while plen > 1 and payload[plen-1] == nullbyte:
+            while plen > 1 and payload[plen - 1] == nullbyte:
                 plen -= 1
         self._payload = payload[:plen]
         incompat_flags = 0
         if mav.signing.sign_outgoing:
             incompat_flags |= MAVLINK_IFLAG_SIGNED
-        self._header  = MAVLink_header(self._header.msgId,
-                                       incompat_flags=incompat_flags, compat_flags=0,
-                                       mlen=len(self._payload), seq=mav.seq,
-                                       srcSystem=mav.srcSystem, srcComponent=mav.srcComponent)
-        self._msgbuf = self._header.pack(force_mavlink1=force_mavlink1) + self._payload
+        self._header = MAVLink_header(
+            self._header.msgId,
+            incompat_flags=incompat_flags,
+            compat_flags=0,
+            mlen=len(self._payload),
+            seq=mav.seq,
+            srcSystem=mav.srcSystem,
+            srcComponent=mav.srcComponent,
+        )
+        self._msgbuf = bytearray(self._header.pack(force_mavlink1=force_mavlink1))
+        self._msgbuf += self._payload
         crc = x25crc(self._msgbuf[1:])
-        if True: # using CRC extra
-            crc.accumulate_str(struct.pack('B', crc_extra))
+        if True:
+            # we are using CRC extra
+            crc.accumulate(struct.pack("B", crc_extra))
         self._crc = crc.crc
-        self._msgbuf += struct.pack('<H', self._crc)
+        self._msgbuf += struct.pack("<H", self._crc)
         if mav.signing.sign_outgoing and not force_mavlink1:
             self.sign_packet(mav)
-        return self._msgbuf
+        return bytes(self._msgbuf)
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        raise NotImplementedError("MAVLink_message cannot be serialized directly")
 
-    def __getitem__(self, key):
-        '''support indexing, allowing for multi-instance sensors in one message'''
+    def __getitem__(self, key: str) -> str:
+        """support indexing, allowing for multi-instance sensors in one message"""
         if self._instances is None:
             raise IndexError()
-        if not key in self._instances:
+        if key not in self._instances:
             raise IndexError()
         return self._instances[key]
 
 
+class mavlink_msg_deprecated_name_property(object):
+    """
+    This handles the class variable name change from name to msgname for
+    subclasses of MAVLink_message during a transition period.
+
+    This is used by setting the class variable to
+    `mavlink_msg_deprecated_name_property()`.
+    """
+
+    def __get__(self, instance: Optional[MAVLink_message], owner: Type[MAVLink_message]) -> str:
+        if instance is not None:
+            logger.error("Using .name on a MAVLink_message is not supported, use .get_type() instead.")
+            raise AttributeError("Class {} has no attribute 'name'".format(owner.__name__))
+        logger.warning(
+            """Using .name on a MAVLink_message class is deprecated, consider using .msgname instead.
+Note that if compatibility with pymavlink 2.4.30 and earlier is desired, use something like this:
+
+msg_name =  msg.msgname if hasattr(msg, "msgname") else msg.name"""
+        )
+        return owner.msgname
+
+
 # enums
 
+
 class EnumEntry(object):
-    def __init__(self, name, description):
+    def __init__(self, name: str, description: str) -> None:
         self.name = name
         self.description = description
-        self.param = {}
+        self.param: Dict[int, str] = {}
+        self.has_location = False
+
 
-enums = {}
+enums: Dict[str, Dict[int, EnumEntry]] = {}
 
 # SysIDs
-enums['SysIDs'] = {}
-MAV_SYSID_MAIN = 1 # 
-enums['SysIDs'][1] = EnumEntry('MAV_SYSID_MAIN', '''''')
-MAV_SYSID_PAYLOAD = 2 # 
-enums['SysIDs'][2] = EnumEntry('MAV_SYSID_PAYLOAD', '''''')
-MAV_SYSID_RIG = 3 # 
-enums['SysIDs'][3] = EnumEntry('MAV_SYSID_RIG', '''''')
-MAV_SYSID_GS = 4 # 
-enums['SysIDs'][4] = EnumEntry('MAV_SYSID_GS', '''''')
-SysIDs_ENUM_END = 5 # 
-enums['SysIDs'][5] = EnumEntry('SysIDs_ENUM_END', '''''')
+enums["SysIDs"] = {}
+MAV_SYSID_MAIN = 1
+enums["SysIDs"][1] = EnumEntry("MAV_SYSID_MAIN", """""")
+MAV_SYSID_PAYLOAD = 2
+enums["SysIDs"][2] = EnumEntry("MAV_SYSID_PAYLOAD", """""")
+MAV_SYSID_RIG = 3
+enums["SysIDs"][3] = EnumEntry("MAV_SYSID_RIG", """""")
+MAV_SYSID_GS = 4
+enums["SysIDs"][4] = EnumEntry("MAV_SYSID_GS", """""")
+MAV_SYSID_ARP = 5
+enums["SysIDs"][5] = EnumEntry("MAV_SYSID_ARP", """""")
+SysIDs_ENUM_END = 6
+enums["SysIDs"][6] = EnumEntry("SysIDs_ENUM_END", """""")
 
 # SystemTMList
-enums['SystemTMList'] = {}
-MAV_SYS_ID = 1 # State of init results about system hardware/software components
-enums['SystemTMList'][1] = EnumEntry('MAV_SYS_ID', '''State of init results about system hardware/software components''')
-MAV_FSM_ID = 2 # States of all On-Board FSMs
-enums['SystemTMList'][2] = EnumEntry('MAV_FSM_ID', '''States of all On-Board FSMs''')
-MAV_PIN_OBS_ID = 3 # Pin observer data
-enums['SystemTMList'][3] = EnumEntry('MAV_PIN_OBS_ID', '''Pin observer data''')
-MAV_LOGGER_ID = 4 # SD Logger stats
-enums['SystemTMList'][4] = EnumEntry('MAV_LOGGER_ID', '''SD Logger stats''')
-MAV_MAVLINK_STATS = 5 # Mavlink driver stats
-enums['SystemTMList'][5] = EnumEntry('MAV_MAVLINK_STATS', '''Mavlink driver stats''')
-MAV_TASK_STATS_ID = 6 # Task scheduler statistics answer: n mavlink messages where n is the
-                        # number of tasks
-enums['SystemTMList'][6] = EnumEntry('MAV_TASK_STATS_ID', '''Task scheduler statistics answer: n mavlink messages where n is the number of tasks''')
-MAV_ADA_ID = 7 # ADA Status
-enums['SystemTMList'][7] = EnumEntry('MAV_ADA_ID', '''ADA Status''')
-MAV_NAS_ID = 8 # NavigationSystem data
-enums['SystemTMList'][8] = EnumEntry('MAV_NAS_ID', '''NavigationSystem data''')
-MAV_MEA_ID = 9 # MEA Status
-enums['SystemTMList'][9] = EnumEntry('MAV_MEA_ID', '''MEA Status''')
-MAV_CAN_ID = 10 # Canbus stats
-enums['SystemTMList'][10] = EnumEntry('MAV_CAN_ID', '''Canbus stats''')
-MAV_FLIGHT_ID = 11 # Flight telemetry
-enums['SystemTMList'][11] = EnumEntry('MAV_FLIGHT_ID', '''Flight telemetry''')
-MAV_STATS_ID = 12 # Satistics telemetry
-enums['SystemTMList'][12] = EnumEntry('MAV_STATS_ID', '''Satistics telemetry''')
-MAV_SENSORS_STATE_ID = 13 # Sensors init state telemetry
-enums['SystemTMList'][13] = EnumEntry('MAV_SENSORS_STATE_ID', '''Sensors init state telemetry''')
-MAV_GSE_ID = 14 # Ground Segnement Equipment
-enums['SystemTMList'][14] = EnumEntry('MAV_GSE_ID', '''Ground Segnement Equipment''')
-MAV_MOTOR_ID = 15 # Rocket Motor data
-enums['SystemTMList'][15] = EnumEntry('MAV_MOTOR_ID', '''Rocket Motor data''')
-MAV_REGISTRY_ID = 22 # Command to fetch all registry keys
-enums['SystemTMList'][22] = EnumEntry('MAV_REGISTRY_ID', '''Command to fetch all registry keys''')
-SystemTMList_ENUM_END = 23 # 
-enums['SystemTMList'][23] = EnumEntry('SystemTMList_ENUM_END', '''''')
+enums["SystemTMList"] = {}
+MAV_SYS_ID = 1
+enums["SystemTMList"][1] = EnumEntry("MAV_SYS_ID", """State of init results about system hardware/software components""")
+MAV_FSM_ID = 2
+enums["SystemTMList"][2] = EnumEntry("MAV_FSM_ID", """States of all On-Board FSMs""")
+MAV_PIN_OBS_ID = 3
+enums["SystemTMList"][3] = EnumEntry("MAV_PIN_OBS_ID", """Pin observer data""")
+MAV_LOGGER_ID = 4
+enums["SystemTMList"][4] = EnumEntry("MAV_LOGGER_ID", """SD Logger stats""")
+MAV_MAVLINK_STATS = 5
+enums["SystemTMList"][5] = EnumEntry("MAV_MAVLINK_STATS", """Mavlink driver stats""")
+MAV_TASK_STATS_ID = 6
+enums["SystemTMList"][6] = EnumEntry("MAV_TASK_STATS_ID", """Task scheduler statistics answer: n mavlink messages where n is the number of tasks""")
+MAV_ADA_ID = 7
+enums["SystemTMList"][7] = EnumEntry("MAV_ADA_ID", """ADA Status""")
+MAV_NAS_ID = 8
+enums["SystemTMList"][8] = EnumEntry("MAV_NAS_ID", """NavigationSystem data""")
+MAV_MEA_ID = 9
+enums["SystemTMList"][9] = EnumEntry("MAV_MEA_ID", """MEA Status""")
+MAV_CAN_ID = 10
+enums["SystemTMList"][10] = EnumEntry("MAV_CAN_ID", """Canbus stats""")
+MAV_FLIGHT_ID = 11
+enums["SystemTMList"][11] = EnumEntry("MAV_FLIGHT_ID", """Flight telemetry""")
+MAV_STATS_ID = 12
+enums["SystemTMList"][12] = EnumEntry("MAV_STATS_ID", """Satistics telemetry""")
+MAV_SENSORS_STATE_ID = 13
+enums["SystemTMList"][13] = EnumEntry("MAV_SENSORS_STATE_ID", """Sensors init state telemetry""")
+MAV_GSE_ID = 14
+enums["SystemTMList"][14] = EnumEntry("MAV_GSE_ID", """Ground Segnement Equipment""")
+MAV_MOTOR_ID = 15
+enums["SystemTMList"][15] = EnumEntry("MAV_MOTOR_ID", """Rocket Motor data""")
+MAV_REGISTRY_ID = 16
+enums["SystemTMList"][16] = EnumEntry("MAV_REGISTRY_ID", """Command to fetch all registry keys""")
+SystemTMList_ENUM_END = 17
+enums["SystemTMList"][17] = EnumEntry("SystemTMList_ENUM_END", """""")
 
 # SensorsTMList
-enums['SensorsTMList'] = {}
-MAV_GPS_ID = 1 # GPS data
-enums['SensorsTMList'][1] = EnumEntry('MAV_GPS_ID', '''GPS data''')
-MAV_BMX160_ID = 2 # BMX160 IMU data
-enums['SensorsTMList'][2] = EnumEntry('MAV_BMX160_ID', '''BMX160 IMU data''')
-MAV_VN100_ID = 3 # VN100 IMU data
-enums['SensorsTMList'][3] = EnumEntry('MAV_VN100_ID', '''VN100 IMU data''')
-MAV_MPU9250_ID = 4 # MPU9250 IMU data
-enums['SensorsTMList'][4] = EnumEntry('MAV_MPU9250_ID', '''MPU9250 IMU data''')
-MAV_ADS_ID = 5 # ADS 8 channel ADC data
-enums['SensorsTMList'][5] = EnumEntry('MAV_ADS_ID', '''ADS 8 channel ADC data''')
-MAV_MS5803_ID = 6 # MS5803 barometer data
-enums['SensorsTMList'][6] = EnumEntry('MAV_MS5803_ID', '''MS5803 barometer data''')
-MAV_BME280_ID = 7 # BME280 barometer data
-enums['SensorsTMList'][7] = EnumEntry('MAV_BME280_ID', '''BME280 barometer data''')
-MAV_CURRENT_SENSE_ID = 8 # Electrical current sensors data
-enums['SensorsTMList'][8] = EnumEntry('MAV_CURRENT_SENSE_ID', '''Electrical current sensors data''')
-MAV_LIS3MDL_ID = 9 # LIS3MDL compass data
-enums['SensorsTMList'][9] = EnumEntry('MAV_LIS3MDL_ID', '''LIS3MDL compass data''')
-MAV_DPL_PRESS_ID = 10 # Deployment pressure data
-enums['SensorsTMList'][10] = EnumEntry('MAV_DPL_PRESS_ID', '''Deployment pressure data''')
-MAV_STATIC_PRESS_ID = 11 # Static pressure data
-enums['SensorsTMList'][11] = EnumEntry('MAV_STATIC_PRESS_ID', '''Static pressure data''')
-MAV_PITOT_PRESS_ID = 12 # Pitot pressure data
-enums['SensorsTMList'][12] = EnumEntry('MAV_PITOT_PRESS_ID', '''Pitot pressure data''')
-MAV_BATTERY_VOLTAGE_ID = 13 # Battery voltage data
-enums['SensorsTMList'][13] = EnumEntry('MAV_BATTERY_VOLTAGE_ID', '''Battery voltage data''')
-MAV_LOAD_CELL_ID = 14 # Load cell data
-enums['SensorsTMList'][14] = EnumEntry('MAV_LOAD_CELL_ID', '''Load cell data''')
-MAV_FILLING_PRESS_ID = 15 # Filling line pressure
-enums['SensorsTMList'][15] = EnumEntry('MAV_FILLING_PRESS_ID', '''Filling line pressure''')
-MAV_TANK_TOP_PRESS_ID = 16 # Top tank pressure
-enums['SensorsTMList'][16] = EnumEntry('MAV_TANK_TOP_PRESS_ID', '''Top tank pressure''')
-MAV_TANK_BOTTOM_PRESS_ID = 17 # Bottom tank pressure
-enums['SensorsTMList'][17] = EnumEntry('MAV_TANK_BOTTOM_PRESS_ID', '''Bottom tank pressure''')
-MAV_TANK_TEMP_ID = 18 # Tank temperature
-enums['SensorsTMList'][18] = EnumEntry('MAV_TANK_TEMP_ID', '''Tank temperature''')
-MAV_COMBUSTION_PRESS_ID = 19 # Combustion chamber pressure
-enums['SensorsTMList'][19] = EnumEntry('MAV_COMBUSTION_PRESS_ID', '''Combustion chamber pressure''')
-MAV_VESSEL_PRESS_ID = 20 # Vessel pressure
-enums['SensorsTMList'][20] = EnumEntry('MAV_VESSEL_PRESS_ID', '''Vessel pressure''')
-MAV_LOAD_CELL_VESSEL_ID = 21 # Vessel tank weight
-enums['SensorsTMList'][21] = EnumEntry('MAV_LOAD_CELL_VESSEL_ID', '''Vessel tank weight''')
-MAV_LOAD_CELL_TANK_ID = 22 # Tank weight
-enums['SensorsTMList'][22] = EnumEntry('MAV_LOAD_CELL_TANK_ID', '''Tank weight''')
-MAV_LIS2MDL_ID = 23 # Magnetometer data
-enums['SensorsTMList'][23] = EnumEntry('MAV_LIS2MDL_ID', '''Magnetometer data''')
-MAV_LPS28DFW_ID = 24 # Pressure sensor data
-enums['SensorsTMList'][24] = EnumEntry('MAV_LPS28DFW_ID', '''Pressure sensor data''')
-MAV_LSM6DSRX_ID = 25 # IMU data
-enums['SensorsTMList'][25] = EnumEntry('MAV_LSM6DSRX_ID', '''IMU data''')
-MAV_H3LIS331DL_ID = 26 # 400G accelerometer
-enums['SensorsTMList'][26] = EnumEntry('MAV_H3LIS331DL_ID', '''400G accelerometer''')
-MAV_LPS22DF_ID = 27 # Pressure sensor data
-enums['SensorsTMList'][27] = EnumEntry('MAV_LPS22DF_ID', '''Pressure sensor data''')
-SensorsTMList_ENUM_END = 28 # 
-enums['SensorsTMList'][28] = EnumEntry('SensorsTMList_ENUM_END', '''''')
+enums["SensorsTMList"] = {}
+MAV_GPS_ID = 1
+enums["SensorsTMList"][1] = EnumEntry("MAV_GPS_ID", """GPS data""")
+MAV_BMX160_ID = 2
+enums["SensorsTMList"][2] = EnumEntry("MAV_BMX160_ID", """BMX160 IMU data""")
+MAV_VN100_ID = 3
+enums["SensorsTMList"][3] = EnumEntry("MAV_VN100_ID", """VN100 IMU data""")
+MAV_MPU9250_ID = 4
+enums["SensorsTMList"][4] = EnumEntry("MAV_MPU9250_ID", """MPU9250 IMU data""")
+MAV_ADS_ID = 5
+enums["SensorsTMList"][5] = EnumEntry("MAV_ADS_ID", """ADS 8 channel ADC data""")
+MAV_MS5803_ID = 6
+enums["SensorsTMList"][6] = EnumEntry("MAV_MS5803_ID", """MS5803 barometer data""")
+MAV_BME280_ID = 7
+enums["SensorsTMList"][7] = EnumEntry("MAV_BME280_ID", """BME280 barometer data""")
+MAV_CURRENT_SENSE_ID = 8
+enums["SensorsTMList"][8] = EnumEntry("MAV_CURRENT_SENSE_ID", """Electrical current sensors data""")
+MAV_LIS3MDL_ID = 9
+enums["SensorsTMList"][9] = EnumEntry("MAV_LIS3MDL_ID", """LIS3MDL compass data""")
+MAV_DPL_PRESS_ID = 10
+enums["SensorsTMList"][10] = EnumEntry("MAV_DPL_PRESS_ID", """Deployment pressure data""")
+MAV_STATIC_PRESS_ID = 11
+enums["SensorsTMList"][11] = EnumEntry("MAV_STATIC_PRESS_ID", """Static pressure data""")
+MAV_PITOT_PRESS_ID = 12
+enums["SensorsTMList"][12] = EnumEntry("MAV_PITOT_PRESS_ID", """Pitot pressure data""")
+MAV_BATTERY_VOLTAGE_ID = 13
+enums["SensorsTMList"][13] = EnumEntry("MAV_BATTERY_VOLTAGE_ID", """Battery voltage data""")
+MAV_LOAD_CELL_ID = 14
+enums["SensorsTMList"][14] = EnumEntry("MAV_LOAD_CELL_ID", """Load cell data""")
+MAV_FILLING_PRESS_ID = 15
+enums["SensorsTMList"][15] = EnumEntry("MAV_FILLING_PRESS_ID", """Filling line pressure""")
+MAV_TANK_TOP_PRESS_ID = 16
+enums["SensorsTMList"][16] = EnumEntry("MAV_TANK_TOP_PRESS_ID", """Top tank pressure""")
+MAV_TANK_BOTTOM_PRESS_ID = 17
+enums["SensorsTMList"][17] = EnumEntry("MAV_TANK_BOTTOM_PRESS_ID", """Bottom tank pressure""")
+MAV_TANK_TEMP_ID = 18
+enums["SensorsTMList"][18] = EnumEntry("MAV_TANK_TEMP_ID", """Tank temperature""")
+MAV_COMBUSTION_PRESS_ID = 19
+enums["SensorsTMList"][19] = EnumEntry("MAV_COMBUSTION_PRESS_ID", """Combustion chamber pressure""")
+MAV_VESSEL_PRESS_ID = 20
+enums["SensorsTMList"][20] = EnumEntry("MAV_VESSEL_PRESS_ID", """Vessel pressure""")
+MAV_LOAD_CELL_VESSEL_ID = 21
+enums["SensorsTMList"][21] = EnumEntry("MAV_LOAD_CELL_VESSEL_ID", """Vessel tank weight""")
+MAV_LOAD_CELL_TANK_ID = 22
+enums["SensorsTMList"][22] = EnumEntry("MAV_LOAD_CELL_TANK_ID", """Tank weight""")
+MAV_LIS2MDL_ID = 23
+enums["SensorsTMList"][23] = EnumEntry("MAV_LIS2MDL_ID", """Magnetometer data""")
+MAV_LPS28DFW_ID = 24
+enums["SensorsTMList"][24] = EnumEntry("MAV_LPS28DFW_ID", """Pressure sensor data""")
+MAV_LSM6DSRX_ID = 25
+enums["SensorsTMList"][25] = EnumEntry("MAV_LSM6DSRX_ID", """IMU data""")
+MAV_H3LIS331DL_ID = 26
+enums["SensorsTMList"][26] = EnumEntry("MAV_H3LIS331DL_ID", """400G accelerometer""")
+MAV_LPS22DF_ID = 27
+enums["SensorsTMList"][27] = EnumEntry("MAV_LPS22DF_ID", """Pressure sensor data""")
+SensorsTMList_ENUM_END = 28
+enums["SensorsTMList"][28] = EnumEntry("SensorsTMList_ENUM_END", """""")
 
 # MavCommandList
-enums['MavCommandList'] = {}
-MAV_CMD_ARM = 1 # Command to arm the rocket
-enums['MavCommandList'][1] = EnumEntry('MAV_CMD_ARM', '''Command to arm the rocket''')
-MAV_CMD_DISARM = 2 # Command to disarm the rocket
-enums['MavCommandList'][2] = EnumEntry('MAV_CMD_DISARM', '''Command to disarm the rocket''')
-MAV_CMD_CALIBRATE = 3 # Command to trigger the calibration
-enums['MavCommandList'][3] = EnumEntry('MAV_CMD_CALIBRATE', '''Command to trigger the calibration''')
-MAV_CMD_SAVE_CALIBRATION = 4 # Command to save the current calibration into a file
-enums['MavCommandList'][4] = EnumEntry('MAV_CMD_SAVE_CALIBRATION', '''Command to save the current calibration into a file''')
-MAV_CMD_FORCE_INIT = 5 # Command to init the rocket
-enums['MavCommandList'][5] = EnumEntry('MAV_CMD_FORCE_INIT', '''Command to init the rocket''')
-MAV_CMD_FORCE_LAUNCH = 6 # Command to force the launch state on the rocket
-enums['MavCommandList'][6] = EnumEntry('MAV_CMD_FORCE_LAUNCH', '''Command to force the launch state on the rocket''')
-MAV_CMD_FORCE_LANDING = 7 # Command to communicate the end of the mission and close the file
-                        # descriptors in the SD card
-enums['MavCommandList'][7] = EnumEntry('MAV_CMD_FORCE_LANDING', '''Command to communicate the end of the mission and close the file descriptors in the SD card''')
-MAV_CMD_FORCE_APOGEE = 8 # Command to trigger the apogee event
-enums['MavCommandList'][8] = EnumEntry('MAV_CMD_FORCE_APOGEE', '''Command to trigger the apogee event''')
-MAV_CMD_FORCE_EXPULSION = 9 # Command to open the nosecone
-enums['MavCommandList'][9] = EnumEntry('MAV_CMD_FORCE_EXPULSION', '''Command to open the nosecone''')
-MAV_CMD_FORCE_DEPLOYMENT = 10 # Command to activate the thermal cutters and cut the drogue, activating
-                        # both thermal cutters sequentially
-enums['MavCommandList'][10] = EnumEntry('MAV_CMD_FORCE_DEPLOYMENT', '''Command to activate the thermal cutters and cut the drogue, activating both thermal cutters sequentially''')
-MAV_CMD_START_LOGGING = 11 # Command to enable sensor logging
-enums['MavCommandList'][11] = EnumEntry('MAV_CMD_START_LOGGING', '''Command to enable sensor logging''')
-MAV_CMD_STOP_LOGGING = 12 # Command to permanently close the log file
-enums['MavCommandList'][12] = EnumEntry('MAV_CMD_STOP_LOGGING', '''Command to permanently close the log file''')
-MAV_CMD_FORCE_REBOOT = 13 # Command to reset the board from test status
-enums['MavCommandList'][13] = EnumEntry('MAV_CMD_FORCE_REBOOT', '''Command to reset the board from test status''')
-MAV_CMD_ENTER_TEST_MODE = 14 # Command to enter the test mode
-enums['MavCommandList'][14] = EnumEntry('MAV_CMD_ENTER_TEST_MODE', '''Command to enter the test mode''')
-MAV_CMD_EXIT_TEST_MODE = 15 # Command to exit the test mode
-enums['MavCommandList'][15] = EnumEntry('MAV_CMD_EXIT_TEST_MODE', '''Command to exit the test mode''')
-MAV_CMD_START_RECORDING = 16 # Command to start the internal cameras recordings
-enums['MavCommandList'][16] = EnumEntry('MAV_CMD_START_RECORDING', '''Command to start the internal cameras recordings''')
-MAV_CMD_STOP_RECORDING = 17 # Command to stop the internal cameras recordings
-enums['MavCommandList'][17] = EnumEntry('MAV_CMD_STOP_RECORDING', '''Command to stop the internal cameras recordings''')
-MAV_CMD_OPEN_NITROGEN = 18 # Command to open the nitrogen valve
-enums['MavCommandList'][18] = EnumEntry('MAV_CMD_OPEN_NITROGEN', '''Command to open the nitrogen valve''')
-MAV_CMD_REGISTRY_LOAD = 19 # Command to reload the registry from memory
-enums['MavCommandList'][19] = EnumEntry('MAV_CMD_REGISTRY_LOAD', '''Command to reload the registry from memory''')
-MAV_CMD_REGISTRY_SAVE = 20 # Command to commit the registry to memory
-enums['MavCommandList'][20] = EnumEntry('MAV_CMD_REGISTRY_SAVE', '''Command to commit the registry to memory''')
-MAV_CMD_REGISTRY_CLEAR = 21 # Command to clear the registry
-enums['MavCommandList'][21] = EnumEntry('MAV_CMD_REGISTRY_CLEAR', '''Command to clear the registry''')
-MavCommandList_ENUM_END = 22 # 
-enums['MavCommandList'][22] = EnumEntry('MavCommandList_ENUM_END', '''''')
+enums["MavCommandList"] = {}
+MAV_CMD_ARM = 1
+enums["MavCommandList"][1] = EnumEntry("MAV_CMD_ARM", """Command to arm the rocket""")
+MAV_CMD_DISARM = 2
+enums["MavCommandList"][2] = EnumEntry("MAV_CMD_DISARM", """Command to disarm the rocket""")
+MAV_CMD_CALIBRATE = 3
+enums["MavCommandList"][3] = EnumEntry("MAV_CMD_CALIBRATE", """Command to trigger the calibration""")
+MAV_CMD_SAVE_CALIBRATION = 4
+enums["MavCommandList"][4] = EnumEntry("MAV_CMD_SAVE_CALIBRATION", """Command to save the current calibration into a file""")
+MAV_CMD_FORCE_INIT = 5
+enums["MavCommandList"][5] = EnumEntry("MAV_CMD_FORCE_INIT", """Command to init the rocket""")
+MAV_CMD_FORCE_LAUNCH = 6
+enums["MavCommandList"][6] = EnumEntry("MAV_CMD_FORCE_LAUNCH", """Command to force the launch state on the rocket""")
+MAV_CMD_FORCE_LANDING = 7
+enums["MavCommandList"][7] = EnumEntry("MAV_CMD_FORCE_LANDING", """Command to communicate the end of the mission and close the file descriptors in the SD card""")
+MAV_CMD_FORCE_APOGEE = 8
+enums["MavCommandList"][8] = EnumEntry("MAV_CMD_FORCE_APOGEE", """Command to trigger the apogee event""")
+MAV_CMD_FORCE_EXPULSION = 9
+enums["MavCommandList"][9] = EnumEntry("MAV_CMD_FORCE_EXPULSION", """Command to open the nosecone""")
+MAV_CMD_FORCE_DEPLOYMENT = 10
+enums["MavCommandList"][10] = EnumEntry("MAV_CMD_FORCE_DEPLOYMENT", """Command to activate the thermal cutters and cut the drogue, activating both thermal cutters sequentially""")
+MAV_CMD_START_LOGGING = 11
+enums["MavCommandList"][11] = EnumEntry("MAV_CMD_START_LOGGING", """Command to enable sensor logging""")
+MAV_CMD_STOP_LOGGING = 12
+enums["MavCommandList"][12] = EnumEntry("MAV_CMD_STOP_LOGGING", """Command to permanently close the log file""")
+MAV_CMD_FORCE_REBOOT = 13
+enums["MavCommandList"][13] = EnumEntry("MAV_CMD_FORCE_REBOOT", """Command to reset the board from test status""")
+MAV_CMD_ENTER_TEST_MODE = 14
+enums["MavCommandList"][14] = EnumEntry("MAV_CMD_ENTER_TEST_MODE", """Command to enter the test mode""")
+MAV_CMD_EXIT_TEST_MODE = 15
+enums["MavCommandList"][15] = EnumEntry("MAV_CMD_EXIT_TEST_MODE", """Command to exit the test mode""")
+MAV_CMD_START_RECORDING = 16
+enums["MavCommandList"][16] = EnumEntry("MAV_CMD_START_RECORDING", """Command to start the internal cameras recordings""")
+MAV_CMD_STOP_RECORDING = 17
+enums["MavCommandList"][17] = EnumEntry("MAV_CMD_STOP_RECORDING", """Command to stop the internal cameras recordings""")
+MAV_CMD_OPEN_NITROGEN = 18
+enums["MavCommandList"][18] = EnumEntry("MAV_CMD_OPEN_NITROGEN", """Command to open the nitrogen valve""")
+MAV_CMD_REGISTRY_LOAD = 19
+enums["MavCommandList"][19] = EnumEntry("MAV_CMD_REGISTRY_LOAD", """Command to reload the registry from memory""")
+MAV_CMD_REGISTRY_SAVE = 20
+enums["MavCommandList"][20] = EnumEntry("MAV_CMD_REGISTRY_SAVE", """Command to commit the registry to memory""")
+MAV_CMD_REGISTRY_CLEAR = 21
+enums["MavCommandList"][21] = EnumEntry("MAV_CMD_REGISTRY_CLEAR", """Command to clear the registry""")
+MavCommandList_ENUM_END = 22
+enums["MavCommandList"][22] = EnumEntry("MavCommandList_ENUM_END", """""")
+
+# MavArpCommandList
+enums["MavArpCommandList"] = {}
+MAV_ARP_CMD_FORCE_INIT = 1
+enums["MavArpCommandList"][1] = EnumEntry("MAV_ARP_CMD_FORCE_INIT", """Command to force the initialization of ARP""")
+MAV_ARP_CMD_RESET_ALGORITHM = 2
+enums["MavArpCommandList"][2] = EnumEntry("MAV_ARP_CMD_RESET_ALGORITHM", """Command to reset the algorithm""")
+MAV_ARP_CMD_RESET_BOARD = 3
+enums["MavArpCommandList"][3] = EnumEntry("MAV_ARP_CMD_RESET_BOARD", """Command to force a reboot""")
+MAV_ARP_CMD_FORCE_NO_FEEDBACK = 4
+enums["MavArpCommandList"][4] = EnumEntry("MAV_ARP_CMD_FORCE_NO_FEEDBACK", """Command to move ARP to the not-feedback mode""")
+MAV_ARP_CMD_ARM = 5
+enums["MavArpCommandList"][5] = EnumEntry("MAV_ARP_CMD_ARM", """Command to arm ARP""")
+MAV_ARP_CMD_DISARM = 6
+enums["MavArpCommandList"][6] = EnumEntry("MAV_ARP_CMD_DISARM", """Command to disarm ARP""")
+MAV_ARP_CMD_FOLLOW = 7
+enums["MavArpCommandList"][7] = EnumEntry("MAV_ARP_CMD_FOLLOW", """Command to start Follow loop of ARP""")
+MAV_ARP_CMD_CALIBRATE = 8
+enums["MavArpCommandList"][8] = EnumEntry("MAV_ARP_CMD_CALIBRATE", """Command to calibrate ARP""")
+MAV_ARP_CMD_ENTER_TEST_MODE = 9
+enums["MavArpCommandList"][9] = EnumEntry("MAV_ARP_CMD_ENTER_TEST_MODE", """Command to enter the test mode""")
+MAV_ARP_CMD_EXIT_TEST_MODE = 10
+enums["MavArpCommandList"][10] = EnumEntry("MAV_ARP_CMD_EXIT_TEST_MODE", """Command to exit the test mode""")
+MavArpCommandList_ENUM_END = 11
+enums["MavArpCommandList"][11] = EnumEntry("MavArpCommandList_ENUM_END", """""")
 
 # ServosList
-enums['ServosList'] = {}
-AIR_BRAKES_SERVO = 1 # 
-enums['ServosList'][1] = EnumEntry('AIR_BRAKES_SERVO', '''''')
-EXPULSION_SERVO = 2 # 
-enums['ServosList'][2] = EnumEntry('EXPULSION_SERVO', '''''')
-PARAFOIL_LEFT_SERVO = 3 # 
-enums['ServosList'][3] = EnumEntry('PARAFOIL_LEFT_SERVO', '''''')
-PARAFOIL_RIGHT_SERVO = 4 # 
-enums['ServosList'][4] = EnumEntry('PARAFOIL_RIGHT_SERVO', '''''')
-MAIN_VALVE = 5 # 
-enums['ServosList'][5] = EnumEntry('MAIN_VALVE', '''''')
-VENTING_VALVE = 6 # 
-enums['ServosList'][6] = EnumEntry('VENTING_VALVE', '''''')
-RELEASE_VALVE = 7 # 
-enums['ServosList'][7] = EnumEntry('RELEASE_VALVE', '''''')
-FILLING_VALVE = 8 # 
-enums['ServosList'][8] = EnumEntry('FILLING_VALVE', '''''')
-DISCONNECT_SERVO = 9 # 
-enums['ServosList'][9] = EnumEntry('DISCONNECT_SERVO', '''''')
-ServosList_ENUM_END = 10 # 
-enums['ServosList'][10] = EnumEntry('ServosList_ENUM_END', '''''')
+enums["ServosList"] = {}
+AIR_BRAKES_SERVO = 1
+enums["ServosList"][1] = EnumEntry("AIR_BRAKES_SERVO", """""")
+EXPULSION_SERVO = 2
+enums["ServosList"][2] = EnumEntry("EXPULSION_SERVO", """""")
+PARAFOIL_LEFT_SERVO = 3
+enums["ServosList"][3] = EnumEntry("PARAFOIL_LEFT_SERVO", """""")
+PARAFOIL_RIGHT_SERVO = 4
+enums["ServosList"][4] = EnumEntry("PARAFOIL_RIGHT_SERVO", """""")
+MAIN_VALVE = 5
+enums["ServosList"][5] = EnumEntry("MAIN_VALVE", """""")
+VENTING_VALVE = 6
+enums["ServosList"][6] = EnumEntry("VENTING_VALVE", """""")
+RELEASE_VALVE = 7
+enums["ServosList"][7] = EnumEntry("RELEASE_VALVE", """""")
+FILLING_VALVE = 8
+enums["ServosList"][8] = EnumEntry("FILLING_VALVE", """""")
+DISCONNECT_SERVO = 9
+enums["ServosList"][9] = EnumEntry("DISCONNECT_SERVO", """""")
+ServosList_ENUM_END = 10
+enums["ServosList"][10] = EnumEntry("ServosList_ENUM_END", """""")
 
 # StepperList
-enums['StepperList'] = {}
-STEPPER_X = 1 # 
-enums['StepperList'][1] = EnumEntry('STEPPER_X', '''''')
-STEPPER_Y = 2 # 
-enums['StepperList'][2] = EnumEntry('STEPPER_Y', '''''')
-StepperList_ENUM_END = 3 # 
-enums['StepperList'][3] = EnumEntry('StepperList_ENUM_END', '''''')
+enums["StepperList"] = {}
+STEPPER_X = 1
+enums["StepperList"][1] = EnumEntry("STEPPER_X", """""")
+STEPPER_Y = 2
+enums["StepperList"][2] = EnumEntry("STEPPER_Y", """""")
+StepperList_ENUM_END = 3
+enums["StepperList"][3] = EnumEntry("StepperList_ENUM_END", """""")
 
 # PinsList
-enums['PinsList'] = {}
-LAUNCH_PIN = 1 # 
-enums['PinsList'][1] = EnumEntry('LAUNCH_PIN', '''''')
-NOSECONE_PIN = 2 # 
-enums['PinsList'][2] = EnumEntry('NOSECONE_PIN', '''''')
-DEPLOYMENT_PIN = 3 # 
-enums['PinsList'][3] = EnumEntry('DEPLOYMENT_PIN', '''''')
-QUICK_CONNECTOR_PIN = 4 # 
-enums['PinsList'][4] = EnumEntry('QUICK_CONNECTOR_PIN', '''''')
-PinsList_ENUM_END = 5 # 
-enums['PinsList'][5] = EnumEntry('PinsList_ENUM_END', '''''')
+enums["PinsList"] = {}
+LAUNCH_PIN = 1
+enums["PinsList"][1] = EnumEntry("LAUNCH_PIN", """""")
+NOSECONE_PIN = 2
+enums["PinsList"][2] = EnumEntry("NOSECONE_PIN", """""")
+DEPLOYMENT_PIN = 3
+enums["PinsList"][3] = EnumEntry("DEPLOYMENT_PIN", """""")
+QUICK_CONNECTOR_PIN = 4
+enums["PinsList"][4] = EnumEntry("QUICK_CONNECTOR_PIN", """""")
+PinsList_ENUM_END = 5
+enums["PinsList"][5] = EnumEntry("PinsList_ENUM_END", """""")
 
 # message IDs
 MAVLINK_MSG_ID_BAD_DATA = -1
@@ -497,6 +583,10 @@ MAVLINK_MSG_ID_SET_STEPPER_ANGLE_TC = 21
 MAVLINK_MSG_ID_SET_STEPPER_STEPS_TC = 22
 MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC = 23
 MAVLINK_MSG_ID_SET_COOLING_TIME_TC = 24
+MAVLINK_MSG_ID_SET_STEPPER_MULTIPLIER_TC = 25
+MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC = 26
+MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC = 27
+MAVLINK_MSG_ID_ARP_COMMAND_TC = 28
 MAVLINK_MSG_ID_ACK_TM = 100
 MAVLINK_MSG_ID_NACK_TM = 101
 MAVLINK_MSG_ID_GPS_TM = 102
@@ -516,8 +606,6 @@ MAVLINK_MSG_ID_REGISTRY_INT_TM = 115
 MAVLINK_MSG_ID_REGISTRY_COORD_TM = 116
 MAVLINK_MSG_ID_RECEIVER_TM = 150
 MAVLINK_MSG_ID_ARP_TM = 169
-MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC = 170
-MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC = 171
 MAVLINK_MSG_ID_SYS_TM = 200
 MAVLINK_MSG_ID_FSM_TM = 201
 MAVLINK_MSG_ID_LOGGER_TM = 202
@@ -533,4519 +621,5005 @@ MAVLINK_MSG_ID_PAYLOAD_STATS_TM = 211
 MAVLINK_MSG_ID_GSE_TM = 212
 MAVLINK_MSG_ID_MOTOR_TM = 213
 
+
 class MAVLink_ping_tc_message(MAVLink_message):
-        '''
-        TC to ping the rocket (expects an ACK message as a response)
-        '''
-        id = MAVLINK_MSG_ID_PING_TC
-        name = 'PING_TC'
-        fieldnames = ['timestamp']
-        ordered_fieldnames = ['timestamp']
-        fieldtypes = ['uint64_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {}
-        format = '<Q'
-        native_format = bytearray('<Q', 'ascii')
-        orders = [0]
-        lengths = [1]
-        array_lengths = [0]
-        crc_extra = 136
-        unpacker = struct.Struct('<Q')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp):
-                MAVLink_message.__init__(self, MAVLink_ping_tc_message.id, MAVLink_ping_tc_message.name)
-                self._fieldnames = MAVLink_ping_tc_message.fieldnames
-                self._instance_field = MAVLink_ping_tc_message.instance_field
-                self._instance_offset = MAVLink_ping_tc_message.instance_offset
-                self.timestamp = timestamp
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 136, struct.pack('<Q', self.timestamp), force_mavlink1=force_mavlink1)
+    """
+    TC to ping the rocket (expects an ACK message as a response)
+    """
+
+    id = MAVLINK_MSG_ID_PING_TC
+    msgname = "PING_TC"
+    fieldnames = ["timestamp"]
+    ordered_fieldnames = ["timestamp"]
+    fieldtypes = ["uint64_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {}
+    native_format = bytearray(b"<Q")
+    orders = [0]
+    lengths = [1]
+    array_lengths = [0]
+    crc_extra = 136
+    unpacker = struct.Struct("<Q")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int):
+        MAVLink_message.__init__(self, MAVLink_ping_tc_message.id, MAVLink_ping_tc_message.msgname)
+        self._fieldnames = MAVLink_ping_tc_message.fieldnames
+        self._instance_field = MAVLink_ping_tc_message.instance_field
+        self._instance_offset = MAVLink_ping_tc_message.instance_offset
+        self.timestamp = timestamp
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_ping_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_command_tc_message(MAVLink_message):
-        '''
-        TC containing a command with no parameters that trigger some
-        action
-        '''
-        id = MAVLINK_MSG_ID_COMMAND_TC
-        name = 'COMMAND_TC'
-        fieldnames = ['command_id']
-        ordered_fieldnames = ['command_id']
-        fieldtypes = ['uint8_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {}
-        format = '<B'
-        native_format = bytearray('<B', 'ascii')
-        orders = [0]
-        lengths = [1]
-        array_lengths = [0]
-        crc_extra = 198
-        unpacker = struct.Struct('<B')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, command_id):
-                MAVLink_message.__init__(self, MAVLink_command_tc_message.id, MAVLink_command_tc_message.name)
-                self._fieldnames = MAVLink_command_tc_message.fieldnames
-                self._instance_field = MAVLink_command_tc_message.instance_field
-                self._instance_offset = MAVLink_command_tc_message.instance_offset
-                self.command_id = command_id
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 198, struct.pack('<B', self.command_id), force_mavlink1=force_mavlink1)
+    """
+    TC containing a command with no parameters that trigger some
+    action
+    """
+
+    id = MAVLINK_MSG_ID_COMMAND_TC
+    msgname = "COMMAND_TC"
+    fieldnames = ["command_id"]
+    ordered_fieldnames = ["command_id"]
+    fieldtypes = ["uint8_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {}
+    native_format = bytearray(b"<B")
+    orders = [0]
+    lengths = [1]
+    array_lengths = [0]
+    crc_extra = 198
+    unpacker = struct.Struct("<B")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, command_id: int):
+        MAVLink_message.__init__(self, MAVLink_command_tc_message.id, MAVLink_command_tc_message.msgname)
+        self._fieldnames = MAVLink_command_tc_message.fieldnames
+        self._instance_field = MAVLink_command_tc_message.instance_field
+        self._instance_offset = MAVLink_command_tc_message.instance_offset
+        self.command_id = command_id
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.command_id), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_command_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_system_tm_request_tc_message(MAVLink_message):
-        '''
-        TC containing a request for the status of a board
-        '''
-        id = MAVLINK_MSG_ID_SYSTEM_TM_REQUEST_TC
-        name = 'SYSTEM_TM_REQUEST_TC'
-        fieldnames = ['tm_id']
-        ordered_fieldnames = ['tm_id']
-        fieldtypes = ['uint8_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {}
-        format = '<B'
-        native_format = bytearray('<B', 'ascii')
-        orders = [0]
-        lengths = [1]
-        array_lengths = [0]
-        crc_extra = 165
-        unpacker = struct.Struct('<B')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, tm_id):
-                MAVLink_message.__init__(self, MAVLink_system_tm_request_tc_message.id, MAVLink_system_tm_request_tc_message.name)
-                self._fieldnames = MAVLink_system_tm_request_tc_message.fieldnames
-                self._instance_field = MAVLink_system_tm_request_tc_message.instance_field
-                self._instance_offset = MAVLink_system_tm_request_tc_message.instance_offset
-                self.tm_id = tm_id
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 165, struct.pack('<B', self.tm_id), force_mavlink1=force_mavlink1)
+    """
+    TC containing a request for the status of a board
+    """
+
+    id = MAVLINK_MSG_ID_SYSTEM_TM_REQUEST_TC
+    msgname = "SYSTEM_TM_REQUEST_TC"
+    fieldnames = ["tm_id"]
+    ordered_fieldnames = ["tm_id"]
+    fieldtypes = ["uint8_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {}
+    native_format = bytearray(b"<B")
+    orders = [0]
+    lengths = [1]
+    array_lengths = [0]
+    crc_extra = 165
+    unpacker = struct.Struct("<B")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, tm_id: int):
+        MAVLink_message.__init__(self, MAVLink_system_tm_request_tc_message.id, MAVLink_system_tm_request_tc_message.msgname)
+        self._fieldnames = MAVLink_system_tm_request_tc_message.fieldnames
+        self._instance_field = MAVLink_system_tm_request_tc_message.instance_field
+        self._instance_offset = MAVLink_system_tm_request_tc_message.instance_offset
+        self.tm_id = tm_id
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.tm_id), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_system_tm_request_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_sensor_tm_request_tc_message(MAVLink_message):
-        '''
-        TC containing a request for sensors telemetry
-        '''
-        id = MAVLINK_MSG_ID_SENSOR_TM_REQUEST_TC
-        name = 'SENSOR_TM_REQUEST_TC'
-        fieldnames = ['sensor_name']
-        ordered_fieldnames = ['sensor_name']
-        fieldtypes = ['uint8_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {}
-        format = '<B'
-        native_format = bytearray('<B', 'ascii')
-        orders = [0]
-        lengths = [1]
-        array_lengths = [0]
-        crc_extra = 248
-        unpacker = struct.Struct('<B')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, sensor_name):
-                MAVLink_message.__init__(self, MAVLink_sensor_tm_request_tc_message.id, MAVLink_sensor_tm_request_tc_message.name)
-                self._fieldnames = MAVLink_sensor_tm_request_tc_message.fieldnames
-                self._instance_field = MAVLink_sensor_tm_request_tc_message.instance_field
-                self._instance_offset = MAVLink_sensor_tm_request_tc_message.instance_offset
-                self.sensor_name = sensor_name
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 248, struct.pack('<B', self.sensor_name), force_mavlink1=force_mavlink1)
+    """
+    TC containing a request for sensors telemetry
+    """
+
+    id = MAVLINK_MSG_ID_SENSOR_TM_REQUEST_TC
+    msgname = "SENSOR_TM_REQUEST_TC"
+    fieldnames = ["sensor_name"]
+    ordered_fieldnames = ["sensor_name"]
+    fieldtypes = ["uint8_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {}
+    native_format = bytearray(b"<B")
+    orders = [0]
+    lengths = [1]
+    array_lengths = [0]
+    crc_extra = 248
+    unpacker = struct.Struct("<B")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, sensor_name: int):
+        MAVLink_message.__init__(self, MAVLink_sensor_tm_request_tc_message.id, MAVLink_sensor_tm_request_tc_message.msgname)
+        self._fieldnames = MAVLink_sensor_tm_request_tc_message.fieldnames
+        self._instance_field = MAVLink_sensor_tm_request_tc_message.instance_field
+        self._instance_offset = MAVLink_sensor_tm_request_tc_message.instance_offset
+        self.sensor_name = sensor_name
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.sensor_name), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_sensor_tm_request_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_servo_tm_request_tc_message(MAVLink_message):
-        '''
-        TC containing a request for servo telemetry
-        '''
-        id = MAVLINK_MSG_ID_SERVO_TM_REQUEST_TC
-        name = 'SERVO_TM_REQUEST_TC'
-        fieldnames = ['servo_id']
-        ordered_fieldnames = ['servo_id']
-        fieldtypes = ['uint8_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {}
-        format = '<B'
-        native_format = bytearray('<B', 'ascii')
-        orders = [0]
-        lengths = [1]
-        array_lengths = [0]
-        crc_extra = 184
-        unpacker = struct.Struct('<B')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, servo_id):
-                MAVLink_message.__init__(self, MAVLink_servo_tm_request_tc_message.id, MAVLink_servo_tm_request_tc_message.name)
-                self._fieldnames = MAVLink_servo_tm_request_tc_message.fieldnames
-                self._instance_field = MAVLink_servo_tm_request_tc_message.instance_field
-                self._instance_offset = MAVLink_servo_tm_request_tc_message.instance_offset
-                self.servo_id = servo_id
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 184, struct.pack('<B', self.servo_id), force_mavlink1=force_mavlink1)
+    """
+    TC containing a request for servo telemetry
+    """
+
+    id = MAVLINK_MSG_ID_SERVO_TM_REQUEST_TC
+    msgname = "SERVO_TM_REQUEST_TC"
+    fieldnames = ["servo_id"]
+    ordered_fieldnames = ["servo_id"]
+    fieldtypes = ["uint8_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {}
+    native_format = bytearray(b"<B")
+    orders = [0]
+    lengths = [1]
+    array_lengths = [0]
+    crc_extra = 184
+    unpacker = struct.Struct("<B")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, servo_id: int):
+        MAVLink_message.__init__(self, MAVLink_servo_tm_request_tc_message.id, MAVLink_servo_tm_request_tc_message.msgname)
+        self._fieldnames = MAVLink_servo_tm_request_tc_message.fieldnames
+        self._instance_field = MAVLink_servo_tm_request_tc_message.instance_field
+        self._instance_offset = MAVLink_servo_tm_request_tc_message.instance_offset
+        self.servo_id = servo_id
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.servo_id), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_servo_tm_request_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_set_servo_angle_tc_message(MAVLink_message):
-        '''
-        Sets the angle of a certain servo
-        '''
-        id = MAVLINK_MSG_ID_SET_SERVO_ANGLE_TC
-        name = 'SET_SERVO_ANGLE_TC'
-        fieldnames = ['servo_id', 'angle']
-        ordered_fieldnames = ['angle', 'servo_id']
-        fieldtypes = ['uint8_t', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {}
-        format = '<fB'
-        native_format = bytearray('<fB', 'ascii')
-        orders = [1, 0]
-        lengths = [1, 1]
-        array_lengths = [0, 0]
-        crc_extra = 215
-        unpacker = struct.Struct('<fB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, servo_id, angle):
-                MAVLink_message.__init__(self, MAVLink_set_servo_angle_tc_message.id, MAVLink_set_servo_angle_tc_message.name)
-                self._fieldnames = MAVLink_set_servo_angle_tc_message.fieldnames
-                self._instance_field = MAVLink_set_servo_angle_tc_message.instance_field
-                self._instance_offset = MAVLink_set_servo_angle_tc_message.instance_offset
-                self.servo_id = servo_id
-                self.angle = angle
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 215, struct.pack('<fB', self.angle, self.servo_id), force_mavlink1=force_mavlink1)
+    """
+    Sets the angle of a certain servo
+    """
+
+    id = MAVLINK_MSG_ID_SET_SERVO_ANGLE_TC
+    msgname = "SET_SERVO_ANGLE_TC"
+    fieldnames = ["servo_id", "angle"]
+    ordered_fieldnames = ["angle", "servo_id"]
+    fieldtypes = ["uint8_t", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {}
+    native_format = bytearray(b"<fB")
+    orders = [1, 0]
+    lengths = [1, 1]
+    array_lengths = [0, 0]
+    crc_extra = 215
+    unpacker = struct.Struct("<fB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, servo_id: int, angle: float):
+        MAVLink_message.__init__(self, MAVLink_set_servo_angle_tc_message.id, MAVLink_set_servo_angle_tc_message.msgname)
+        self._fieldnames = MAVLink_set_servo_angle_tc_message.fieldnames
+        self._instance_field = MAVLink_set_servo_angle_tc_message.instance_field
+        self._instance_offset = MAVLink_set_servo_angle_tc_message.instance_offset
+        self.servo_id = servo_id
+        self.angle = angle
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.angle, self.servo_id), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_set_servo_angle_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_wiggle_servo_tc_message(MAVLink_message):
-        '''
-        Wiggles the specified servo
-        '''
-        id = MAVLINK_MSG_ID_WIGGLE_SERVO_TC
-        name = 'WIGGLE_SERVO_TC'
-        fieldnames = ['servo_id']
-        ordered_fieldnames = ['servo_id']
-        fieldtypes = ['uint8_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {}
-        format = '<B'
-        native_format = bytearray('<B', 'ascii')
-        orders = [0]
-        lengths = [1]
-        array_lengths = [0]
-        crc_extra = 160
-        unpacker = struct.Struct('<B')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, servo_id):
-                MAVLink_message.__init__(self, MAVLink_wiggle_servo_tc_message.id, MAVLink_wiggle_servo_tc_message.name)
-                self._fieldnames = MAVLink_wiggle_servo_tc_message.fieldnames
-                self._instance_field = MAVLink_wiggle_servo_tc_message.instance_field
-                self._instance_offset = MAVLink_wiggle_servo_tc_message.instance_offset
-                self.servo_id = servo_id
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 160, struct.pack('<B', self.servo_id), force_mavlink1=force_mavlink1)
+    """
+    Wiggles the specified servo
+    """
+
+    id = MAVLINK_MSG_ID_WIGGLE_SERVO_TC
+    msgname = "WIGGLE_SERVO_TC"
+    fieldnames = ["servo_id"]
+    ordered_fieldnames = ["servo_id"]
+    fieldtypes = ["uint8_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {}
+    native_format = bytearray(b"<B")
+    orders = [0]
+    lengths = [1]
+    array_lengths = [0]
+    crc_extra = 160
+    unpacker = struct.Struct("<B")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, servo_id: int):
+        MAVLink_message.__init__(self, MAVLink_wiggle_servo_tc_message.id, MAVLink_wiggle_servo_tc_message.msgname)
+        self._fieldnames = MAVLink_wiggle_servo_tc_message.fieldnames
+        self._instance_field = MAVLink_wiggle_servo_tc_message.instance_field
+        self._instance_offset = MAVLink_wiggle_servo_tc_message.instance_offset
+        self.servo_id = servo_id
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.servo_id), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_wiggle_servo_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_reset_servo_tc_message(MAVLink_message):
-        '''
-        Resets the specified servo
-        '''
-        id = MAVLINK_MSG_ID_RESET_SERVO_TC
-        name = 'RESET_SERVO_TC'
-        fieldnames = ['servo_id']
-        ordered_fieldnames = ['servo_id']
-        fieldtypes = ['uint8_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {}
-        format = '<B'
-        native_format = bytearray('<B', 'ascii')
-        orders = [0]
-        lengths = [1]
-        array_lengths = [0]
-        crc_extra = 226
-        unpacker = struct.Struct('<B')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, servo_id):
-                MAVLink_message.__init__(self, MAVLink_reset_servo_tc_message.id, MAVLink_reset_servo_tc_message.name)
-                self._fieldnames = MAVLink_reset_servo_tc_message.fieldnames
-                self._instance_field = MAVLink_reset_servo_tc_message.instance_field
-                self._instance_offset = MAVLink_reset_servo_tc_message.instance_offset
-                self.servo_id = servo_id
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 226, struct.pack('<B', self.servo_id), force_mavlink1=force_mavlink1)
+    """
+    Resets the specified servo
+    """
+
+    id = MAVLINK_MSG_ID_RESET_SERVO_TC
+    msgname = "RESET_SERVO_TC"
+    fieldnames = ["servo_id"]
+    ordered_fieldnames = ["servo_id"]
+    fieldtypes = ["uint8_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {}
+    native_format = bytearray(b"<B")
+    orders = [0]
+    lengths = [1]
+    array_lengths = [0]
+    crc_extra = 226
+    unpacker = struct.Struct("<B")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, servo_id: int):
+        MAVLink_message.__init__(self, MAVLink_reset_servo_tc_message.id, MAVLink_reset_servo_tc_message.msgname)
+        self._fieldnames = MAVLink_reset_servo_tc_message.fieldnames
+        self._instance_field = MAVLink_reset_servo_tc_message.instance_field
+        self._instance_offset = MAVLink_reset_servo_tc_message.instance_offset
+        self.servo_id = servo_id
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.servo_id), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_reset_servo_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_set_reference_altitude_tc_message(MAVLink_message):
-        '''
-        Sets the reference altitude for the altimeter
-        '''
-        id = MAVLINK_MSG_ID_SET_REFERENCE_ALTITUDE_TC
-        name = 'SET_REFERENCE_ALTITUDE_TC'
-        fieldnames = ['ref_altitude']
-        ordered_fieldnames = ['ref_altitude']
-        fieldtypes = ['float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"ref_altitude": "m"}
-        format = '<f'
-        native_format = bytearray('<f', 'ascii')
-        orders = [0]
-        lengths = [1]
-        array_lengths = [0]
-        crc_extra = 113
-        unpacker = struct.Struct('<f')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, ref_altitude):
-                MAVLink_message.__init__(self, MAVLink_set_reference_altitude_tc_message.id, MAVLink_set_reference_altitude_tc_message.name)
-                self._fieldnames = MAVLink_set_reference_altitude_tc_message.fieldnames
-                self._instance_field = MAVLink_set_reference_altitude_tc_message.instance_field
-                self._instance_offset = MAVLink_set_reference_altitude_tc_message.instance_offset
-                self.ref_altitude = ref_altitude
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 113, struct.pack('<f', self.ref_altitude), force_mavlink1=force_mavlink1)
+    """
+    Sets the reference altitude for the altimeter
+    """
+
+    id = MAVLINK_MSG_ID_SET_REFERENCE_ALTITUDE_TC
+    msgname = "SET_REFERENCE_ALTITUDE_TC"
+    fieldnames = ["ref_altitude"]
+    ordered_fieldnames = ["ref_altitude"]
+    fieldtypes = ["float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"ref_altitude": "m"}
+    native_format = bytearray(b"<f")
+    orders = [0]
+    lengths = [1]
+    array_lengths = [0]
+    crc_extra = 113
+    unpacker = struct.Struct("<f")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, ref_altitude: float):
+        MAVLink_message.__init__(self, MAVLink_set_reference_altitude_tc_message.id, MAVLink_set_reference_altitude_tc_message.msgname)
+        self._fieldnames = MAVLink_set_reference_altitude_tc_message.fieldnames
+        self._instance_field = MAVLink_set_reference_altitude_tc_message.instance_field
+        self._instance_offset = MAVLink_set_reference_altitude_tc_message.instance_offset
+        self.ref_altitude = ref_altitude
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.ref_altitude), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_set_reference_altitude_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_set_reference_temperature_tc_message(MAVLink_message):
-        '''
-        Sets the reference temperature for the altimeter
-        '''
-        id = MAVLINK_MSG_ID_SET_REFERENCE_TEMPERATURE_TC
-        name = 'SET_REFERENCE_TEMPERATURE_TC'
-        fieldnames = ['ref_temp']
-        ordered_fieldnames = ['ref_temp']
-        fieldtypes = ['float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"ref_temp": "degC"}
-        format = '<f'
-        native_format = bytearray('<f', 'ascii')
-        orders = [0]
-        lengths = [1]
-        array_lengths = [0]
-        crc_extra = 38
-        unpacker = struct.Struct('<f')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, ref_temp):
-                MAVLink_message.__init__(self, MAVLink_set_reference_temperature_tc_message.id, MAVLink_set_reference_temperature_tc_message.name)
-                self._fieldnames = MAVLink_set_reference_temperature_tc_message.fieldnames
-                self._instance_field = MAVLink_set_reference_temperature_tc_message.instance_field
-                self._instance_offset = MAVLink_set_reference_temperature_tc_message.instance_offset
-                self.ref_temp = ref_temp
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 38, struct.pack('<f', self.ref_temp), force_mavlink1=force_mavlink1)
+    """
+    Sets the reference temperature for the altimeter
+    """
+
+    id = MAVLINK_MSG_ID_SET_REFERENCE_TEMPERATURE_TC
+    msgname = "SET_REFERENCE_TEMPERATURE_TC"
+    fieldnames = ["ref_temp"]
+    ordered_fieldnames = ["ref_temp"]
+    fieldtypes = ["float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"ref_temp": "degC"}
+    native_format = bytearray(b"<f")
+    orders = [0]
+    lengths = [1]
+    array_lengths = [0]
+    crc_extra = 38
+    unpacker = struct.Struct("<f")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, ref_temp: float):
+        MAVLink_message.__init__(self, MAVLink_set_reference_temperature_tc_message.id, MAVLink_set_reference_temperature_tc_message.msgname)
+        self._fieldnames = MAVLink_set_reference_temperature_tc_message.fieldnames
+        self._instance_field = MAVLink_set_reference_temperature_tc_message.instance_field
+        self._instance_offset = MAVLink_set_reference_temperature_tc_message.instance_offset
+        self.ref_temp = ref_temp
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.ref_temp), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_set_reference_temperature_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_set_orientation_tc_message(MAVLink_message):
-        '''
-        Sets current orientation for the navigation system
-        '''
-        id = MAVLINK_MSG_ID_SET_ORIENTATION_TC
-        name = 'SET_ORIENTATION_TC'
-        fieldnames = ['yaw', 'pitch', 'roll']
-        ordered_fieldnames = ['yaw', 'pitch', 'roll']
-        fieldtypes = ['float', 'float', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"yaw": "deg", "pitch": "deg", "roll": "deg"}
-        format = '<fff'
-        native_format = bytearray('<fff', 'ascii')
-        orders = [0, 1, 2]
-        lengths = [1, 1, 1]
-        array_lengths = [0, 0, 0]
-        crc_extra = 71
-        unpacker = struct.Struct('<fff')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, yaw, pitch, roll):
-                MAVLink_message.__init__(self, MAVLink_set_orientation_tc_message.id, MAVLink_set_orientation_tc_message.name)
-                self._fieldnames = MAVLink_set_orientation_tc_message.fieldnames
-                self._instance_field = MAVLink_set_orientation_tc_message.instance_field
-                self._instance_offset = MAVLink_set_orientation_tc_message.instance_offset
-                self.yaw = yaw
-                self.pitch = pitch
-                self.roll = roll
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 71, struct.pack('<fff', self.yaw, self.pitch, self.roll), force_mavlink1=force_mavlink1)
+    """
+    Sets current orientation for the navigation system
+    """
+
+    id = MAVLINK_MSG_ID_SET_ORIENTATION_TC
+    msgname = "SET_ORIENTATION_TC"
+    fieldnames = ["yaw", "pitch", "roll"]
+    ordered_fieldnames = ["yaw", "pitch", "roll"]
+    fieldtypes = ["float", "float", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"yaw": "deg", "pitch": "deg", "roll": "deg"}
+    native_format = bytearray(b"<fff")
+    orders = [0, 1, 2]
+    lengths = [1, 1, 1]
+    array_lengths = [0, 0, 0]
+    crc_extra = 71
+    unpacker = struct.Struct("<fff")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, yaw: float, pitch: float, roll: float):
+        MAVLink_message.__init__(self, MAVLink_set_orientation_tc_message.id, MAVLink_set_orientation_tc_message.msgname)
+        self._fieldnames = MAVLink_set_orientation_tc_message.fieldnames
+        self._instance_field = MAVLink_set_orientation_tc_message.instance_field
+        self._instance_offset = MAVLink_set_orientation_tc_message.instance_offset
+        self.yaw = yaw
+        self.pitch = pitch
+        self.roll = roll
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.yaw, self.pitch, self.roll), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_set_orientation_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_set_coordinates_tc_message(MAVLink_message):
-        '''
-        Sets current coordinates
-        '''
-        id = MAVLINK_MSG_ID_SET_COORDINATES_TC
-        name = 'SET_COORDINATES_TC'
-        fieldnames = ['latitude', 'longitude']
-        ordered_fieldnames = ['latitude', 'longitude']
-        fieldtypes = ['float', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"latitude": "deg", "longitude": "deg"}
-        format = '<ff'
-        native_format = bytearray('<ff', 'ascii')
-        orders = [0, 1]
-        lengths = [1, 1]
-        array_lengths = [0, 0]
-        crc_extra = 67
-        unpacker = struct.Struct('<ff')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, latitude, longitude):
-                MAVLink_message.__init__(self, MAVLink_set_coordinates_tc_message.id, MAVLink_set_coordinates_tc_message.name)
-                self._fieldnames = MAVLink_set_coordinates_tc_message.fieldnames
-                self._instance_field = MAVLink_set_coordinates_tc_message.instance_field
-                self._instance_offset = MAVLink_set_coordinates_tc_message.instance_offset
-                self.latitude = latitude
-                self.longitude = longitude
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 67, struct.pack('<ff', self.latitude, self.longitude), force_mavlink1=force_mavlink1)
+    """
+    Sets current coordinates
+    """
+
+    id = MAVLINK_MSG_ID_SET_COORDINATES_TC
+    msgname = "SET_COORDINATES_TC"
+    fieldnames = ["latitude", "longitude"]
+    ordered_fieldnames = ["latitude", "longitude"]
+    fieldtypes = ["float", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"latitude": "deg", "longitude": "deg"}
+    native_format = bytearray(b"<ff")
+    orders = [0, 1]
+    lengths = [1, 1]
+    array_lengths = [0, 0]
+    crc_extra = 67
+    unpacker = struct.Struct("<ff")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, latitude: float, longitude: float):
+        MAVLink_message.__init__(self, MAVLink_set_coordinates_tc_message.id, MAVLink_set_coordinates_tc_message.msgname)
+        self._fieldnames = MAVLink_set_coordinates_tc_message.fieldnames
+        self._instance_field = MAVLink_set_coordinates_tc_message.instance_field
+        self._instance_offset = MAVLink_set_coordinates_tc_message.instance_offset
+        self.latitude = latitude
+        self.longitude = longitude
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.latitude, self.longitude), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_set_coordinates_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_raw_event_tc_message(MAVLink_message):
-        '''
-        TC containing a raw event to be posted directly in the
-        EventBroker
-        '''
-        id = MAVLINK_MSG_ID_RAW_EVENT_TC
-        name = 'RAW_EVENT_TC'
-        fieldnames = ['topic_id', 'event_id']
-        ordered_fieldnames = ['topic_id', 'event_id']
-        fieldtypes = ['uint8_t', 'uint8_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {}
-        format = '<BB'
-        native_format = bytearray('<BB', 'ascii')
-        orders = [0, 1]
-        lengths = [1, 1]
-        array_lengths = [0, 0]
-        crc_extra = 218
-        unpacker = struct.Struct('<BB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, topic_id, event_id):
-                MAVLink_message.__init__(self, MAVLink_raw_event_tc_message.id, MAVLink_raw_event_tc_message.name)
-                self._fieldnames = MAVLink_raw_event_tc_message.fieldnames
-                self._instance_field = MAVLink_raw_event_tc_message.instance_field
-                self._instance_offset = MAVLink_raw_event_tc_message.instance_offset
-                self.topic_id = topic_id
-                self.event_id = event_id
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 218, struct.pack('<BB', self.topic_id, self.event_id), force_mavlink1=force_mavlink1)
+    """
+    TC containing a raw event to be posted directly in the EventBroker
+    """
+
+    id = MAVLINK_MSG_ID_RAW_EVENT_TC
+    msgname = "RAW_EVENT_TC"
+    fieldnames = ["topic_id", "event_id"]
+    ordered_fieldnames = ["topic_id", "event_id"]
+    fieldtypes = ["uint8_t", "uint8_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {}
+    native_format = bytearray(b"<BB")
+    orders = [0, 1]
+    lengths = [1, 1]
+    array_lengths = [0, 0]
+    crc_extra = 218
+    unpacker = struct.Struct("<BB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, topic_id: int, event_id: int):
+        MAVLink_message.__init__(self, MAVLink_raw_event_tc_message.id, MAVLink_raw_event_tc_message.msgname)
+        self._fieldnames = MAVLink_raw_event_tc_message.fieldnames
+        self._instance_field = MAVLink_raw_event_tc_message.instance_field
+        self._instance_offset = MAVLink_raw_event_tc_message.instance_offset
+        self.topic_id = topic_id
+        self.event_id = event_id
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.topic_id, self.event_id), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_raw_event_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_set_deployment_altitude_tc_message(MAVLink_message):
-        '''
-        Sets the deployment altitude for the main parachute
-        '''
-        id = MAVLINK_MSG_ID_SET_DEPLOYMENT_ALTITUDE_TC
-        name = 'SET_DEPLOYMENT_ALTITUDE_TC'
-        fieldnames = ['dpl_altitude']
-        ordered_fieldnames = ['dpl_altitude']
-        fieldtypes = ['float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"dpl_altitude": "m"}
-        format = '<f'
-        native_format = bytearray('<f', 'ascii')
-        orders = [0]
-        lengths = [1]
-        array_lengths = [0]
-        crc_extra = 44
-        unpacker = struct.Struct('<f')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, dpl_altitude):
-                MAVLink_message.__init__(self, MAVLink_set_deployment_altitude_tc_message.id, MAVLink_set_deployment_altitude_tc_message.name)
-                self._fieldnames = MAVLink_set_deployment_altitude_tc_message.fieldnames
-                self._instance_field = MAVLink_set_deployment_altitude_tc_message.instance_field
-                self._instance_offset = MAVLink_set_deployment_altitude_tc_message.instance_offset
-                self.dpl_altitude = dpl_altitude
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 44, struct.pack('<f', self.dpl_altitude), force_mavlink1=force_mavlink1)
+    """
+    Sets the deployment altitude for the main parachute
+    """
+
+    id = MAVLINK_MSG_ID_SET_DEPLOYMENT_ALTITUDE_TC
+    msgname = "SET_DEPLOYMENT_ALTITUDE_TC"
+    fieldnames = ["dpl_altitude"]
+    ordered_fieldnames = ["dpl_altitude"]
+    fieldtypes = ["float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"dpl_altitude": "m"}
+    native_format = bytearray(b"<f")
+    orders = [0]
+    lengths = [1]
+    array_lengths = [0]
+    crc_extra = 44
+    unpacker = struct.Struct("<f")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, dpl_altitude: float):
+        MAVLink_message.__init__(self, MAVLink_set_deployment_altitude_tc_message.id, MAVLink_set_deployment_altitude_tc_message.msgname)
+        self._fieldnames = MAVLink_set_deployment_altitude_tc_message.fieldnames
+        self._instance_field = MAVLink_set_deployment_altitude_tc_message.instance_field
+        self._instance_offset = MAVLink_set_deployment_altitude_tc_message.instance_offset
+        self.dpl_altitude = dpl_altitude
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.dpl_altitude), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_set_deployment_altitude_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_set_target_coordinates_tc_message(MAVLink_message):
-        '''
-        Sets the target coordinates
-        '''
-        id = MAVLINK_MSG_ID_SET_TARGET_COORDINATES_TC
-        name = 'SET_TARGET_COORDINATES_TC'
-        fieldnames = ['latitude', 'longitude']
-        ordered_fieldnames = ['latitude', 'longitude']
-        fieldtypes = ['float', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"latitude": "deg", "longitude": "deg"}
-        format = '<ff'
-        native_format = bytearray('<ff', 'ascii')
-        orders = [0, 1]
-        lengths = [1, 1]
-        array_lengths = [0, 0]
-        crc_extra = 81
-        unpacker = struct.Struct('<ff')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, latitude, longitude):
-                MAVLink_message.__init__(self, MAVLink_set_target_coordinates_tc_message.id, MAVLink_set_target_coordinates_tc_message.name)
-                self._fieldnames = MAVLink_set_target_coordinates_tc_message.fieldnames
-                self._instance_field = MAVLink_set_target_coordinates_tc_message.instance_field
-                self._instance_offset = MAVLink_set_target_coordinates_tc_message.instance_offset
-                self.latitude = latitude
-                self.longitude = longitude
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 81, struct.pack('<ff', self.latitude, self.longitude), force_mavlink1=force_mavlink1)
+    """
+    Sets the target coordinates
+    """
+
+    id = MAVLINK_MSG_ID_SET_TARGET_COORDINATES_TC
+    msgname = "SET_TARGET_COORDINATES_TC"
+    fieldnames = ["latitude", "longitude"]
+    ordered_fieldnames = ["latitude", "longitude"]
+    fieldtypes = ["float", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"latitude": "deg", "longitude": "deg"}
+    native_format = bytearray(b"<ff")
+    orders = [0, 1]
+    lengths = [1, 1]
+    array_lengths = [0, 0]
+    crc_extra = 81
+    unpacker = struct.Struct("<ff")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, latitude: float, longitude: float):
+        MAVLink_message.__init__(self, MAVLink_set_target_coordinates_tc_message.id, MAVLink_set_target_coordinates_tc_message.msgname)
+        self._fieldnames = MAVLink_set_target_coordinates_tc_message.fieldnames
+        self._instance_field = MAVLink_set_target_coordinates_tc_message.instance_field
+        self._instance_offset = MAVLink_set_target_coordinates_tc_message.instance_offset
+        self.latitude = latitude
+        self.longitude = longitude
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.latitude, self.longitude), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_set_target_coordinates_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_set_algorithm_tc_message(MAVLink_message):
-        '''
-        Sets the algorithm number (for parafoil guidance and GSE tars)
-        '''
-        id = MAVLINK_MSG_ID_SET_ALGORITHM_TC
-        name = 'SET_ALGORITHM_TC'
-        fieldnames = ['algorithm_number']
-        ordered_fieldnames = ['algorithm_number']
-        fieldtypes = ['uint8_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {}
-        format = '<B'
-        native_format = bytearray('<B', 'ascii')
-        orders = [0]
-        lengths = [1]
-        array_lengths = [0]
-        crc_extra = 181
-        unpacker = struct.Struct('<B')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, algorithm_number):
-                MAVLink_message.__init__(self, MAVLink_set_algorithm_tc_message.id, MAVLink_set_algorithm_tc_message.name)
-                self._fieldnames = MAVLink_set_algorithm_tc_message.fieldnames
-                self._instance_field = MAVLink_set_algorithm_tc_message.instance_field
-                self._instance_offset = MAVLink_set_algorithm_tc_message.instance_offset
-                self.algorithm_number = algorithm_number
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 181, struct.pack('<B', self.algorithm_number), force_mavlink1=force_mavlink1)
+    """
+    Sets the algorithm number (for parafoil guidance and GSE tars)
+    """
+
+    id = MAVLINK_MSG_ID_SET_ALGORITHM_TC
+    msgname = "SET_ALGORITHM_TC"
+    fieldnames = ["algorithm_number"]
+    ordered_fieldnames = ["algorithm_number"]
+    fieldtypes = ["uint8_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {}
+    native_format = bytearray(b"<B")
+    orders = [0]
+    lengths = [1]
+    array_lengths = [0]
+    crc_extra = 181
+    unpacker = struct.Struct("<B")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, algorithm_number: int):
+        MAVLink_message.__init__(self, MAVLink_set_algorithm_tc_message.id, MAVLink_set_algorithm_tc_message.msgname)
+        self._fieldnames = MAVLink_set_algorithm_tc_message.fieldnames
+        self._instance_field = MAVLink_set_algorithm_tc_message.instance_field
+        self._instance_offset = MAVLink_set_algorithm_tc_message.instance_offset
+        self.algorithm_number = algorithm_number
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.algorithm_number), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_set_algorithm_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_set_atomic_valve_timing_tc_message(MAVLink_message):
-        '''
-        Sets the maximum time that the valves can be open atomically
-        '''
-        id = MAVLINK_MSG_ID_SET_ATOMIC_VALVE_TIMING_TC
-        name = 'SET_ATOMIC_VALVE_TIMING_TC'
-        fieldnames = ['servo_id', 'maximum_timing']
-        ordered_fieldnames = ['maximum_timing', 'servo_id']
-        fieldtypes = ['uint8_t', 'uint32_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"maximum_timing": "ms"}
-        format = '<IB'
-        native_format = bytearray('<IB', 'ascii')
-        orders = [1, 0]
-        lengths = [1, 1]
-        array_lengths = [0, 0]
-        crc_extra = 110
-        unpacker = struct.Struct('<IB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, servo_id, maximum_timing):
-                MAVLink_message.__init__(self, MAVLink_set_atomic_valve_timing_tc_message.id, MAVLink_set_atomic_valve_timing_tc_message.name)
-                self._fieldnames = MAVLink_set_atomic_valve_timing_tc_message.fieldnames
-                self._instance_field = MAVLink_set_atomic_valve_timing_tc_message.instance_field
-                self._instance_offset = MAVLink_set_atomic_valve_timing_tc_message.instance_offset
-                self.servo_id = servo_id
-                self.maximum_timing = maximum_timing
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 110, struct.pack('<IB', self.maximum_timing, self.servo_id), force_mavlink1=force_mavlink1)
+    """
+    Sets the maximum time that the valves can be open atomically
+    """
+
+    id = MAVLINK_MSG_ID_SET_ATOMIC_VALVE_TIMING_TC
+    msgname = "SET_ATOMIC_VALVE_TIMING_TC"
+    fieldnames = ["servo_id", "maximum_timing"]
+    ordered_fieldnames = ["maximum_timing", "servo_id"]
+    fieldtypes = ["uint8_t", "uint32_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"maximum_timing": "ms"}
+    native_format = bytearray(b"<IB")
+    orders = [1, 0]
+    lengths = [1, 1]
+    array_lengths = [0, 0]
+    crc_extra = 110
+    unpacker = struct.Struct("<IB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, servo_id: int, maximum_timing: int):
+        MAVLink_message.__init__(self, MAVLink_set_atomic_valve_timing_tc_message.id, MAVLink_set_atomic_valve_timing_tc_message.msgname)
+        self._fieldnames = MAVLink_set_atomic_valve_timing_tc_message.fieldnames
+        self._instance_field = MAVLink_set_atomic_valve_timing_tc_message.instance_field
+        self._instance_offset = MAVLink_set_atomic_valve_timing_tc_message.instance_offset
+        self.servo_id = servo_id
+        self.maximum_timing = maximum_timing
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.maximum_timing, self.servo_id), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_set_atomic_valve_timing_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_set_valve_maximum_aperture_tc_message(MAVLink_message):
-        '''
-        Sets the maximum aperture of the specified valve. Set as value
-        from 0 to 1
-        '''
-        id = MAVLINK_MSG_ID_SET_VALVE_MAXIMUM_APERTURE_TC
-        name = 'SET_VALVE_MAXIMUM_APERTURE_TC'
-        fieldnames = ['servo_id', 'maximum_aperture']
-        ordered_fieldnames = ['maximum_aperture', 'servo_id']
-        fieldtypes = ['uint8_t', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {}
-        format = '<fB'
-        native_format = bytearray('<fB', 'ascii')
-        orders = [1, 0]
-        lengths = [1, 1]
-        array_lengths = [0, 0]
-        crc_extra = 22
-        unpacker = struct.Struct('<fB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, servo_id, maximum_aperture):
-                MAVLink_message.__init__(self, MAVLink_set_valve_maximum_aperture_tc_message.id, MAVLink_set_valve_maximum_aperture_tc_message.name)
-                self._fieldnames = MAVLink_set_valve_maximum_aperture_tc_message.fieldnames
-                self._instance_field = MAVLink_set_valve_maximum_aperture_tc_message.instance_field
-                self._instance_offset = MAVLink_set_valve_maximum_aperture_tc_message.instance_offset
-                self.servo_id = servo_id
-                self.maximum_aperture = maximum_aperture
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 22, struct.pack('<fB', self.maximum_aperture, self.servo_id), force_mavlink1=force_mavlink1)
+    """
+    Sets the maximum aperture of the specified valve. Set as value
+    from 0 to 1
+    """
+
+    id = MAVLINK_MSG_ID_SET_VALVE_MAXIMUM_APERTURE_TC
+    msgname = "SET_VALVE_MAXIMUM_APERTURE_TC"
+    fieldnames = ["servo_id", "maximum_aperture"]
+    ordered_fieldnames = ["maximum_aperture", "servo_id"]
+    fieldtypes = ["uint8_t", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {}
+    native_format = bytearray(b"<fB")
+    orders = [1, 0]
+    lengths = [1, 1]
+    array_lengths = [0, 0]
+    crc_extra = 22
+    unpacker = struct.Struct("<fB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, servo_id: int, maximum_aperture: float):
+        MAVLink_message.__init__(self, MAVLink_set_valve_maximum_aperture_tc_message.id, MAVLink_set_valve_maximum_aperture_tc_message.msgname)
+        self._fieldnames = MAVLink_set_valve_maximum_aperture_tc_message.fieldnames
+        self._instance_field = MAVLink_set_valve_maximum_aperture_tc_message.instance_field
+        self._instance_offset = MAVLink_set_valve_maximum_aperture_tc_message.instance_offset
+        self.servo_id = servo_id
+        self.maximum_aperture = maximum_aperture
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.maximum_aperture, self.servo_id), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_set_valve_maximum_aperture_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_conrig_state_tc_message(MAVLink_message):
-        '''
-        Send the state of the conrig buttons
-        '''
-        id = MAVLINK_MSG_ID_CONRIG_STATE_TC
-        name = 'CONRIG_STATE_TC'
-        fieldnames = ['ignition_btn', 'filling_valve_btn', 'venting_valve_btn', 'release_pressure_btn', 'quick_connector_btn', 'start_tars_btn', 'arm_switch']
-        ordered_fieldnames = ['ignition_btn', 'filling_valve_btn', 'venting_valve_btn', 'release_pressure_btn', 'quick_connector_btn', 'start_tars_btn', 'arm_switch']
-        fieldtypes = ['uint8_t', 'uint8_t', 'uint8_t', 'uint8_t', 'uint8_t', 'uint8_t', 'uint8_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {}
-        format = '<BBBBBBB'
-        native_format = bytearray('<BBBBBBB', 'ascii')
-        orders = [0, 1, 2, 3, 4, 5, 6]
-        lengths = [1, 1, 1, 1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 0, 0, 0, 0]
-        crc_extra = 65
-        unpacker = struct.Struct('<BBBBBBB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, ignition_btn, filling_valve_btn, venting_valve_btn, release_pressure_btn, quick_connector_btn, start_tars_btn, arm_switch):
-                MAVLink_message.__init__(self, MAVLink_conrig_state_tc_message.id, MAVLink_conrig_state_tc_message.name)
-                self._fieldnames = MAVLink_conrig_state_tc_message.fieldnames
-                self._instance_field = MAVLink_conrig_state_tc_message.instance_field
-                self._instance_offset = MAVLink_conrig_state_tc_message.instance_offset
-                self.ignition_btn = ignition_btn
-                self.filling_valve_btn = filling_valve_btn
-                self.venting_valve_btn = venting_valve_btn
-                self.release_pressure_btn = release_pressure_btn
-                self.quick_connector_btn = quick_connector_btn
-                self.start_tars_btn = start_tars_btn
-                self.arm_switch = arm_switch
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 65, struct.pack('<BBBBBBB', self.ignition_btn, self.filling_valve_btn, self.venting_valve_btn, self.release_pressure_btn, self.quick_connector_btn, self.start_tars_btn, self.arm_switch), force_mavlink1=force_mavlink1)
+    """
+    Send the state of the conrig buttons
+    """
+
+    id = MAVLINK_MSG_ID_CONRIG_STATE_TC
+    msgname = "CONRIG_STATE_TC"
+    fieldnames = ["ignition_btn", "filling_valve_btn", "venting_valve_btn", "release_pressure_btn", "quick_connector_btn", "start_tars_btn", "arm_switch"]
+    ordered_fieldnames = ["ignition_btn", "filling_valve_btn", "venting_valve_btn", "release_pressure_btn", "quick_connector_btn", "start_tars_btn", "arm_switch"]
+    fieldtypes = ["uint8_t", "uint8_t", "uint8_t", "uint8_t", "uint8_t", "uint8_t", "uint8_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {}
+    native_format = bytearray(b"<BBBBBBB")
+    orders = [0, 1, 2, 3, 4, 5, 6]
+    lengths = [1, 1, 1, 1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 0, 0, 0, 0]
+    crc_extra = 65
+    unpacker = struct.Struct("<BBBBBBB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, ignition_btn: int, filling_valve_btn: int, venting_valve_btn: int, release_pressure_btn: int, quick_connector_btn: int, start_tars_btn: int, arm_switch: int):
+        MAVLink_message.__init__(self, MAVLink_conrig_state_tc_message.id, MAVLink_conrig_state_tc_message.msgname)
+        self._fieldnames = MAVLink_conrig_state_tc_message.fieldnames
+        self._instance_field = MAVLink_conrig_state_tc_message.instance_field
+        self._instance_offset = MAVLink_conrig_state_tc_message.instance_offset
+        self.ignition_btn = ignition_btn
+        self.filling_valve_btn = filling_valve_btn
+        self.venting_valve_btn = venting_valve_btn
+        self.release_pressure_btn = release_pressure_btn
+        self.quick_connector_btn = quick_connector_btn
+        self.start_tars_btn = start_tars_btn
+        self.arm_switch = arm_switch
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.ignition_btn, self.filling_valve_btn, self.venting_valve_btn, self.release_pressure_btn, self.quick_connector_btn, self.start_tars_btn, self.arm_switch), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_conrig_state_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_set_ignition_time_tc_message(MAVLink_message):
-        '''
-        Sets the time in ms that the igniter stays on before the
-        oxidant valve is opened
-        '''
-        id = MAVLINK_MSG_ID_SET_IGNITION_TIME_TC
-        name = 'SET_IGNITION_TIME_TC'
-        fieldnames = ['timing']
-        ordered_fieldnames = ['timing']
-        fieldtypes = ['uint32_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timing": "ms"}
-        format = '<I'
-        native_format = bytearray('<I', 'ascii')
-        orders = [0]
-        lengths = [1]
-        array_lengths = [0]
-        crc_extra = 79
-        unpacker = struct.Struct('<I')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timing):
-                MAVLink_message.__init__(self, MAVLink_set_ignition_time_tc_message.id, MAVLink_set_ignition_time_tc_message.name)
-                self._fieldnames = MAVLink_set_ignition_time_tc_message.fieldnames
-                self._instance_field = MAVLink_set_ignition_time_tc_message.instance_field
-                self._instance_offset = MAVLink_set_ignition_time_tc_message.instance_offset
-                self.timing = timing
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 79, struct.pack('<I', self.timing), force_mavlink1=force_mavlink1)
+    """
+    Sets the time in ms that the igniter stays on before the oxidant
+    valve is opened
+    """
+
+    id = MAVLINK_MSG_ID_SET_IGNITION_TIME_TC
+    msgname = "SET_IGNITION_TIME_TC"
+    fieldnames = ["timing"]
+    ordered_fieldnames = ["timing"]
+    fieldtypes = ["uint32_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timing": "ms"}
+    native_format = bytearray(b"<I")
+    orders = [0]
+    lengths = [1]
+    array_lengths = [0]
+    crc_extra = 79
+    unpacker = struct.Struct("<I")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timing: int):
+        MAVLink_message.__init__(self, MAVLink_set_ignition_time_tc_message.id, MAVLink_set_ignition_time_tc_message.msgname)
+        self._fieldnames = MAVLink_set_ignition_time_tc_message.fieldnames
+        self._instance_field = MAVLink_set_ignition_time_tc_message.instance_field
+        self._instance_offset = MAVLink_set_ignition_time_tc_message.instance_offset
+        self.timing = timing
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timing), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_set_ignition_time_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_set_stepper_angle_tc_message(MAVLink_message):
-        '''
-        Move the stepper of a certain angle
-        '''
-        id = MAVLINK_MSG_ID_SET_STEPPER_ANGLE_TC
-        name = 'SET_STEPPER_ANGLE_TC'
-        fieldnames = ['stepper_id', 'angle']
-        ordered_fieldnames = ['angle', 'stepper_id']
-        fieldtypes = ['uint8_t', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {}
-        format = '<fB'
-        native_format = bytearray('<fB', 'ascii')
-        orders = [1, 0]
-        lengths = [1, 1]
-        array_lengths = [0, 0]
-        crc_extra = 180
-        unpacker = struct.Struct('<fB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, stepper_id, angle):
-                MAVLink_message.__init__(self, MAVLink_set_stepper_angle_tc_message.id, MAVLink_set_stepper_angle_tc_message.name)
-                self._fieldnames = MAVLink_set_stepper_angle_tc_message.fieldnames
-                self._instance_field = MAVLink_set_stepper_angle_tc_message.instance_field
-                self._instance_offset = MAVLink_set_stepper_angle_tc_message.instance_offset
-                self.stepper_id = stepper_id
-                self.angle = angle
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 180, struct.pack('<fB', self.angle, self.stepper_id), force_mavlink1=force_mavlink1)
+    """
+    Move the stepper of a certain angle
+    """
+
+    id = MAVLINK_MSG_ID_SET_STEPPER_ANGLE_TC
+    msgname = "SET_STEPPER_ANGLE_TC"
+    fieldnames = ["stepper_id", "angle"]
+    ordered_fieldnames = ["angle", "stepper_id"]
+    fieldtypes = ["uint8_t", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {}
+    native_format = bytearray(b"<fB")
+    orders = [1, 0]
+    lengths = [1, 1]
+    array_lengths = [0, 0]
+    crc_extra = 180
+    unpacker = struct.Struct("<fB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, stepper_id: int, angle: float):
+        MAVLink_message.__init__(self, MAVLink_set_stepper_angle_tc_message.id, MAVLink_set_stepper_angle_tc_message.msgname)
+        self._fieldnames = MAVLink_set_stepper_angle_tc_message.fieldnames
+        self._instance_field = MAVLink_set_stepper_angle_tc_message.instance_field
+        self._instance_offset = MAVLink_set_stepper_angle_tc_message.instance_offset
+        self.stepper_id = stepper_id
+        self.angle = angle
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.angle, self.stepper_id), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_set_stepper_angle_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_set_stepper_steps_tc_message(MAVLink_message):
-        '''
-        Move the stepper of a certain amount of steps
-        '''
-        id = MAVLINK_MSG_ID_SET_STEPPER_STEPS_TC
-        name = 'SET_STEPPER_STEPS_TC'
-        fieldnames = ['stepper_id', 'steps']
-        ordered_fieldnames = ['steps', 'stepper_id']
-        fieldtypes = ['uint8_t', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {}
-        format = '<fB'
-        native_format = bytearray('<fB', 'ascii')
-        orders = [1, 0]
-        lengths = [1, 1]
-        array_lengths = [0, 0]
-        crc_extra = 246
-        unpacker = struct.Struct('<fB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, stepper_id, steps):
-                MAVLink_message.__init__(self, MAVLink_set_stepper_steps_tc_message.id, MAVLink_set_stepper_steps_tc_message.name)
-                self._fieldnames = MAVLink_set_stepper_steps_tc_message.fieldnames
-                self._instance_field = MAVLink_set_stepper_steps_tc_message.instance_field
-                self._instance_offset = MAVLink_set_stepper_steps_tc_message.instance_offset
-                self.stepper_id = stepper_id
-                self.steps = steps
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 246, struct.pack('<fB', self.steps, self.stepper_id), force_mavlink1=force_mavlink1)
+    """
+    Move the stepper of a certain amount of steps
+    """
+
+    id = MAVLINK_MSG_ID_SET_STEPPER_STEPS_TC
+    msgname = "SET_STEPPER_STEPS_TC"
+    fieldnames = ["stepper_id", "steps"]
+    ordered_fieldnames = ["steps", "stepper_id"]
+    fieldtypes = ["uint8_t", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {}
+    native_format = bytearray(b"<fB")
+    orders = [1, 0]
+    lengths = [1, 1]
+    array_lengths = [0, 0]
+    crc_extra = 246
+    unpacker = struct.Struct("<fB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, stepper_id: int, steps: float):
+        MAVLink_message.__init__(self, MAVLink_set_stepper_steps_tc_message.id, MAVLink_set_stepper_steps_tc_message.msgname)
+        self._fieldnames = MAVLink_set_stepper_steps_tc_message.fieldnames
+        self._instance_field = MAVLink_set_stepper_steps_tc_message.instance_field
+        self._instance_offset = MAVLink_set_stepper_steps_tc_message.instance_offset
+        self.stepper_id = stepper_id
+        self.steps = steps
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.steps, self.stepper_id), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_set_stepper_steps_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_set_nitrogen_time_tc_message(MAVLink_message):
-        '''
-        Sets the time in ms that the nitrogen will stay open
-        '''
-        id = MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC
-        name = 'SET_NITROGEN_TIME_TC'
-        fieldnames = ['timing']
-        ordered_fieldnames = ['timing']
-        fieldtypes = ['uint32_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timing": "ms"}
-        format = '<I'
-        native_format = bytearray('<I', 'ascii')
-        orders = [0]
-        lengths = [1]
-        array_lengths = [0]
-        crc_extra = 167
-        unpacker = struct.Struct('<I')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timing):
-                MAVLink_message.__init__(self, MAVLink_set_nitrogen_time_tc_message.id, MAVLink_set_nitrogen_time_tc_message.name)
-                self._fieldnames = MAVLink_set_nitrogen_time_tc_message.fieldnames
-                self._instance_field = MAVLink_set_nitrogen_time_tc_message.instance_field
-                self._instance_offset = MAVLink_set_nitrogen_time_tc_message.instance_offset
-                self.timing = timing
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 167, struct.pack('<I', self.timing), force_mavlink1=force_mavlink1)
+    """
+    Sets the time in ms that the nitrogen will stay open
+    """
+
+    id = MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC
+    msgname = "SET_NITROGEN_TIME_TC"
+    fieldnames = ["timing"]
+    ordered_fieldnames = ["timing"]
+    fieldtypes = ["uint32_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timing": "ms"}
+    native_format = bytearray(b"<I")
+    orders = [0]
+    lengths = [1]
+    array_lengths = [0]
+    crc_extra = 167
+    unpacker = struct.Struct("<I")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timing: int):
+        MAVLink_message.__init__(self, MAVLink_set_nitrogen_time_tc_message.id, MAVLink_set_nitrogen_time_tc_message.msgname)
+        self._fieldnames = MAVLink_set_nitrogen_time_tc_message.fieldnames
+        self._instance_field = MAVLink_set_nitrogen_time_tc_message.instance_field
+        self._instance_offset = MAVLink_set_nitrogen_time_tc_message.instance_offset
+        self.timing = timing
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timing), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_set_nitrogen_time_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_set_cooling_time_tc_message(MAVLink_message):
-        '''
-        Sets the time in ms that the system will wait before disarming
-        after firing
-        '''
-        id = MAVLINK_MSG_ID_SET_COOLING_TIME_TC
-        name = 'SET_COOLING_TIME_TC'
-        fieldnames = ['timing']
-        ordered_fieldnames = ['timing']
-        fieldtypes = ['uint32_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timing": "ms"}
-        format = '<I'
-        native_format = bytearray('<I', 'ascii')
-        orders = [0]
-        lengths = [1]
-        array_lengths = [0]
-        crc_extra = 84
-        unpacker = struct.Struct('<I')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timing):
-                MAVLink_message.__init__(self, MAVLink_set_cooling_time_tc_message.id, MAVLink_set_cooling_time_tc_message.name)
-                self._fieldnames = MAVLink_set_cooling_time_tc_message.fieldnames
-                self._instance_field = MAVLink_set_cooling_time_tc_message.instance_field
-                self._instance_offset = MAVLink_set_cooling_time_tc_message.instance_offset
-                self.timing = timing
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 84, struct.pack('<I', self.timing), force_mavlink1=force_mavlink1)
+    """
+    Sets the time in ms that the system will wait before disarming
+    after firing
+    """
+
+    id = MAVLINK_MSG_ID_SET_COOLING_TIME_TC
+    msgname = "SET_COOLING_TIME_TC"
+    fieldnames = ["timing"]
+    ordered_fieldnames = ["timing"]
+    fieldtypes = ["uint32_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timing": "ms"}
+    native_format = bytearray(b"<I")
+    orders = [0]
+    lengths = [1]
+    array_lengths = [0]
+    crc_extra = 84
+    unpacker = struct.Struct("<I")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timing: int):
+        MAVLink_message.__init__(self, MAVLink_set_cooling_time_tc_message.id, MAVLink_set_cooling_time_tc_message.msgname)
+        self._fieldnames = MAVLink_set_cooling_time_tc_message.fieldnames
+        self._instance_field = MAVLink_set_cooling_time_tc_message.instance_field
+        self._instance_offset = MAVLink_set_cooling_time_tc_message.instance_offset
+        self.timing = timing
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timing), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_set_cooling_time_tc_message, "name", mavlink_msg_deprecated_name_property())
+
+
+class MAVLink_set_stepper_multiplier_tc_message(MAVLink_message):
+    """
+    Set the multiplier of the stepper
+    """
+
+    id = MAVLINK_MSG_ID_SET_STEPPER_MULTIPLIER_TC
+    msgname = "SET_STEPPER_MULTIPLIER_TC"
+    fieldnames = ["stepper_id", "multiplier"]
+    ordered_fieldnames = ["multiplier", "stepper_id"]
+    fieldtypes = ["uint8_t", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {}
+    native_format = bytearray(b"<fB")
+    orders = [1, 0]
+    lengths = [1, 1]
+    array_lengths = [0, 0]
+    crc_extra = 173
+    unpacker = struct.Struct("<fB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, stepper_id: int, multiplier: float):
+        MAVLink_message.__init__(self, MAVLink_set_stepper_multiplier_tc_message.id, MAVLink_set_stepper_multiplier_tc_message.msgname)
+        self._fieldnames = MAVLink_set_stepper_multiplier_tc_message.fieldnames
+        self._instance_field = MAVLink_set_stepper_multiplier_tc_message.instance_field
+        self._instance_offset = MAVLink_set_stepper_multiplier_tc_message.instance_offset
+        self.stepper_id = stepper_id
+        self.multiplier = multiplier
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.multiplier, self.stepper_id), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_set_stepper_multiplier_tc_message, "name", mavlink_msg_deprecated_name_property())
+
+
+class MAVLink_set_antenna_coordinates_arp_tc_message(MAVLink_message):
+    """
+    Sets current antennas coordinates
+    """
+
+    id = MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC
+    msgname = "SET_ANTENNA_COORDINATES_ARP_TC"
+    fieldnames = ["latitude", "longitude", "height"]
+    ordered_fieldnames = ["latitude", "longitude", "height"]
+    fieldtypes = ["float", "float", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"latitude": "deg", "longitude": "deg", "height": "m"}
+    native_format = bytearray(b"<fff")
+    orders = [0, 1, 2]
+    lengths = [1, 1, 1]
+    array_lengths = [0, 0, 0]
+    crc_extra = 183
+    unpacker = struct.Struct("<fff")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, latitude: float, longitude: float, height: float):
+        MAVLink_message.__init__(self, MAVLink_set_antenna_coordinates_arp_tc_message.id, MAVLink_set_antenna_coordinates_arp_tc_message.msgname)
+        self._fieldnames = MAVLink_set_antenna_coordinates_arp_tc_message.fieldnames
+        self._instance_field = MAVLink_set_antenna_coordinates_arp_tc_message.instance_field
+        self._instance_offset = MAVLink_set_antenna_coordinates_arp_tc_message.instance_offset
+        self.latitude = latitude
+        self.longitude = longitude
+        self.height = height
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.latitude, self.longitude, self.height), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_set_antenna_coordinates_arp_tc_message, "name", mavlink_msg_deprecated_name_property())
+
+
+class MAVLink_set_rocket_coordinates_arp_tc_message(MAVLink_message):
+    """
+    Sets current rocket coordinates
+    """
+
+    id = MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC
+    msgname = "SET_ROCKET_COORDINATES_ARP_TC"
+    fieldnames = ["latitude", "longitude", "height"]
+    ordered_fieldnames = ["latitude", "longitude", "height"]
+    fieldtypes = ["float", "float", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"latitude": "deg", "longitude": "deg", "height": "m"}
+    native_format = bytearray(b"<fff")
+    orders = [0, 1, 2]
+    lengths = [1, 1, 1]
+    array_lengths = [0, 0, 0]
+    crc_extra = 220
+    unpacker = struct.Struct("<fff")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, latitude: float, longitude: float, height: float):
+        MAVLink_message.__init__(self, MAVLink_set_rocket_coordinates_arp_tc_message.id, MAVLink_set_rocket_coordinates_arp_tc_message.msgname)
+        self._fieldnames = MAVLink_set_rocket_coordinates_arp_tc_message.fieldnames
+        self._instance_field = MAVLink_set_rocket_coordinates_arp_tc_message.instance_field
+        self._instance_offset = MAVLink_set_rocket_coordinates_arp_tc_message.instance_offset
+        self.latitude = latitude
+        self.longitude = longitude
+        self.height = height
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.latitude, self.longitude, self.height), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_set_rocket_coordinates_arp_tc_message, "name", mavlink_msg_deprecated_name_property())
+
+
+class MAVLink_arp_command_tc_message(MAVLink_message):
+    """
+    TC containing a command with no parameters that trigger some
+    action
+    """
+
+    id = MAVLINK_MSG_ID_ARP_COMMAND_TC
+    msgname = "ARP_COMMAND_TC"
+    fieldnames = ["command_id"]
+    ordered_fieldnames = ["command_id"]
+    fieldtypes = ["uint8_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {}
+    native_format = bytearray(b"<B")
+    orders = [0]
+    lengths = [1]
+    array_lengths = [0]
+    crc_extra = 181
+    unpacker = struct.Struct("<B")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, command_id: int):
+        MAVLink_message.__init__(self, MAVLink_arp_command_tc_message.id, MAVLink_arp_command_tc_message.msgname)
+        self._fieldnames = MAVLink_arp_command_tc_message.fieldnames
+        self._instance_field = MAVLink_arp_command_tc_message.instance_field
+        self._instance_offset = MAVLink_arp_command_tc_message.instance_offset
+        self.command_id = command_id
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.command_id), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_arp_command_tc_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_ack_tm_message(MAVLink_message):
-        '''
-        TM containing an ACK message to notify that the message has
-        been received
-        '''
-        id = MAVLINK_MSG_ID_ACK_TM
-        name = 'ACK_TM'
-        fieldnames = ['recv_msgid', 'seq_ack']
-        ordered_fieldnames = ['recv_msgid', 'seq_ack']
-        fieldtypes = ['uint8_t', 'uint8_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {}
-        format = '<BB'
-        native_format = bytearray('<BB', 'ascii')
-        orders = [0, 1]
-        lengths = [1, 1]
-        array_lengths = [0, 0]
-        crc_extra = 50
-        unpacker = struct.Struct('<BB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, recv_msgid, seq_ack):
-                MAVLink_message.__init__(self, MAVLink_ack_tm_message.id, MAVLink_ack_tm_message.name)
-                self._fieldnames = MAVLink_ack_tm_message.fieldnames
-                self._instance_field = MAVLink_ack_tm_message.instance_field
-                self._instance_offset = MAVLink_ack_tm_message.instance_offset
-                self.recv_msgid = recv_msgid
-                self.seq_ack = seq_ack
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 50, struct.pack('<BB', self.recv_msgid, self.seq_ack), force_mavlink1=force_mavlink1)
+    """
+    TM containing an ACK message to notify that the message has been
+    received
+    """
+
+    id = MAVLINK_MSG_ID_ACK_TM
+    msgname = "ACK_TM"
+    fieldnames = ["recv_msgid", "seq_ack"]
+    ordered_fieldnames = ["recv_msgid", "seq_ack"]
+    fieldtypes = ["uint8_t", "uint8_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {}
+    native_format = bytearray(b"<BB")
+    orders = [0, 1]
+    lengths = [1, 1]
+    array_lengths = [0, 0]
+    crc_extra = 50
+    unpacker = struct.Struct("<BB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, recv_msgid: int, seq_ack: int):
+        MAVLink_message.__init__(self, MAVLink_ack_tm_message.id, MAVLink_ack_tm_message.msgname)
+        self._fieldnames = MAVLink_ack_tm_message.fieldnames
+        self._instance_field = MAVLink_ack_tm_message.instance_field
+        self._instance_offset = MAVLink_ack_tm_message.instance_offset
+        self.recv_msgid = recv_msgid
+        self.seq_ack = seq_ack
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.recv_msgid, self.seq_ack), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_ack_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_nack_tm_message(MAVLink_message):
-        '''
-        TM containing a NACK message to notify that the received
-        message was invalid
-        '''
-        id = MAVLINK_MSG_ID_NACK_TM
-        name = 'NACK_TM'
-        fieldnames = ['recv_msgid', 'seq_ack']
-        ordered_fieldnames = ['recv_msgid', 'seq_ack']
-        fieldtypes = ['uint8_t', 'uint8_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {}
-        format = '<BB'
-        native_format = bytearray('<BB', 'ascii')
-        orders = [0, 1]
-        lengths = [1, 1]
-        array_lengths = [0, 0]
-        crc_extra = 146
-        unpacker = struct.Struct('<BB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, recv_msgid, seq_ack):
-                MAVLink_message.__init__(self, MAVLink_nack_tm_message.id, MAVLink_nack_tm_message.name)
-                self._fieldnames = MAVLink_nack_tm_message.fieldnames
-                self._instance_field = MAVLink_nack_tm_message.instance_field
-                self._instance_offset = MAVLink_nack_tm_message.instance_offset
-                self.recv_msgid = recv_msgid
-                self.seq_ack = seq_ack
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 146, struct.pack('<BB', self.recv_msgid, self.seq_ack), force_mavlink1=force_mavlink1)
+    """
+    TM containing a NACK message to notify that the received message
+    was invalid
+    """
+
+    id = MAVLINK_MSG_ID_NACK_TM
+    msgname = "NACK_TM"
+    fieldnames = ["recv_msgid", "seq_ack"]
+    ordered_fieldnames = ["recv_msgid", "seq_ack"]
+    fieldtypes = ["uint8_t", "uint8_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {}
+    native_format = bytearray(b"<BB")
+    orders = [0, 1]
+    lengths = [1, 1]
+    array_lengths = [0, 0]
+    crc_extra = 146
+    unpacker = struct.Struct("<BB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, recv_msgid: int, seq_ack: int):
+        MAVLink_message.__init__(self, MAVLink_nack_tm_message.id, MAVLink_nack_tm_message.msgname)
+        self._fieldnames = MAVLink_nack_tm_message.fieldnames
+        self._instance_field = MAVLink_nack_tm_message.instance_field
+        self._instance_offset = MAVLink_nack_tm_message.instance_offset
+        self.recv_msgid = recv_msgid
+        self.seq_ack = seq_ack
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.recv_msgid, self.seq_ack), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_nack_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_gps_tm_message(MAVLink_message):
-        '''
-
-        '''
-        id = MAVLINK_MSG_ID_GPS_TM
-        name = 'GPS_TM'
-        fieldnames = ['timestamp', 'sensor_name', 'fix', 'latitude', 'longitude', 'height', 'vel_north', 'vel_east', 'vel_down', 'speed', 'track', 'n_satellites']
-        ordered_fieldnames = ['timestamp', 'latitude', 'longitude', 'height', 'vel_north', 'vel_east', 'vel_down', 'speed', 'track', 'sensor_name', 'fix', 'n_satellites']
-        fieldtypes = ['uint64_t', 'char', 'uint8_t', 'double', 'double', 'double', 'float', 'float', 'float', 'float', 'float', 'uint8_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us", "latitude": "deg", "longitude": "deg", "height": "m", "vel_north": "m/s", "vel_east": "m/s", "vel_down": "m/s", "speed": "m/s", "track": "deg"}
-        format = '<Qdddfffff20sBB'
-        native_format = bytearray('<QdddfffffcBB', 'ascii')
-        orders = [0, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 11]
-        lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0]
-        crc_extra = 57
-        unpacker = struct.Struct('<Qdddfffff20sBB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, sensor_name, fix, latitude, longitude, height, vel_north, vel_east, vel_down, speed, track, n_satellites):
-                MAVLink_message.__init__(self, MAVLink_gps_tm_message.id, MAVLink_gps_tm_message.name)
-                self._fieldnames = MAVLink_gps_tm_message.fieldnames
-                self._instance_field = MAVLink_gps_tm_message.instance_field
-                self._instance_offset = MAVLink_gps_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.sensor_name = sensor_name
-                self.fix = fix
-                self.latitude = latitude
-                self.longitude = longitude
-                self.height = height
-                self.vel_north = vel_north
-                self.vel_east = vel_east
-                self.vel_down = vel_down
-                self.speed = speed
-                self.track = track
-                self.n_satellites = n_satellites
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 57, struct.pack('<Qdddfffff20sBB', self.timestamp, self.latitude, self.longitude, self.height, self.vel_north, self.vel_east, self.vel_down, self.speed, self.track, self.sensor_name, self.fix, self.n_satellites), force_mavlink1=force_mavlink1)
+    """
+
+    """
+
+    id = MAVLINK_MSG_ID_GPS_TM
+    msgname = "GPS_TM"
+    fieldnames = ["timestamp", "sensor_name", "fix", "latitude", "longitude", "height", "vel_north", "vel_east", "vel_down", "speed", "track", "n_satellites"]
+    ordered_fieldnames = ["timestamp", "latitude", "longitude", "height", "vel_north", "vel_east", "vel_down", "speed", "track", "sensor_name", "fix", "n_satellites"]
+    fieldtypes = ["uint64_t", "char", "uint8_t", "double", "double", "double", "float", "float", "float", "float", "float", "uint8_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us", "latitude": "deg", "longitude": "deg", "height": "m", "vel_north": "m/s", "vel_east": "m/s", "vel_down": "m/s", "speed": "m/s", "track": "deg"}
+    native_format = bytearray(b"<QdddfffffcBB")
+    orders = [0, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 11]
+    lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0]
+    crc_extra = 57
+    unpacker = struct.Struct("<Qdddfffff20sBB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, sensor_name: bytes, fix: int, latitude: float, longitude: float, height: float, vel_north: float, vel_east: float, vel_down: float, speed: float, track: float, n_satellites: int):
+        MAVLink_message.__init__(self, MAVLink_gps_tm_message.id, MAVLink_gps_tm_message.msgname)
+        self._fieldnames = MAVLink_gps_tm_message.fieldnames
+        self._instance_field = MAVLink_gps_tm_message.instance_field
+        self._instance_offset = MAVLink_gps_tm_message.instance_offset
+        self.timestamp = timestamp
+        self._sensor_name_raw = sensor_name
+        self.sensor_name = sensor_name.split(b"\x00", 1)[0].decode("ascii", errors="replace")
+        self.fix = fix
+        self.latitude = latitude
+        self.longitude = longitude
+        self.height = height
+        self.vel_north = vel_north
+        self.vel_east = vel_east
+        self.vel_down = vel_down
+        self.speed = speed
+        self.track = track
+        self.n_satellites = n_satellites
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.latitude, self.longitude, self.height, self.vel_north, self.vel_east, self.vel_down, self.speed, self.track, self._sensor_name_raw, self.fix, self.n_satellites), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_gps_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_imu_tm_message(MAVLink_message):
-        '''
-
-        '''
-        id = MAVLINK_MSG_ID_IMU_TM
-        name = 'IMU_TM'
-        fieldnames = ['timestamp', 'sensor_name', 'acc_x', 'acc_y', 'acc_z', 'gyro_x', 'gyro_y', 'gyro_z', 'mag_x', 'mag_y', 'mag_z']
-        ordered_fieldnames = ['timestamp', 'acc_x', 'acc_y', 'acc_z', 'gyro_x', 'gyro_y', 'gyro_z', 'mag_x', 'mag_y', 'mag_z', 'sensor_name']
-        fieldtypes = ['uint64_t', 'char', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us", "acc_x": "m/s2", "acc_y": "m/s2", "acc_z": "m/s2", "gyro_x": "rad/s", "gyro_y": "rad/s", "gyro_z": "rad/s", "mag_x": "uT", "mag_y": "uT", "mag_z": "uT"}
-        format = '<Qfffffffff20s'
-        native_format = bytearray('<Qfffffffffc', 'ascii')
-        orders = [0, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9]
-        lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20]
-        crc_extra = 72
-        unpacker = struct.Struct('<Qfffffffff20s')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, sensor_name, acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z, mag_x, mag_y, mag_z):
-                MAVLink_message.__init__(self, MAVLink_imu_tm_message.id, MAVLink_imu_tm_message.name)
-                self._fieldnames = MAVLink_imu_tm_message.fieldnames
-                self._instance_field = MAVLink_imu_tm_message.instance_field
-                self._instance_offset = MAVLink_imu_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.sensor_name = sensor_name
-                self.acc_x = acc_x
-                self.acc_y = acc_y
-                self.acc_z = acc_z
-                self.gyro_x = gyro_x
-                self.gyro_y = gyro_y
-                self.gyro_z = gyro_z
-                self.mag_x = mag_x
-                self.mag_y = mag_y
-                self.mag_z = mag_z
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 72, struct.pack('<Qfffffffff20s', self.timestamp, self.acc_x, self.acc_y, self.acc_z, self.gyro_x, self.gyro_y, self.gyro_z, self.mag_x, self.mag_y, self.mag_z, self.sensor_name), force_mavlink1=force_mavlink1)
+    """
+
+    """
+
+    id = MAVLINK_MSG_ID_IMU_TM
+    msgname = "IMU_TM"
+    fieldnames = ["timestamp", "sensor_name", "acc_x", "acc_y", "acc_z", "gyro_x", "gyro_y", "gyro_z", "mag_x", "mag_y", "mag_z"]
+    ordered_fieldnames = ["timestamp", "acc_x", "acc_y", "acc_z", "gyro_x", "gyro_y", "gyro_z", "mag_x", "mag_y", "mag_z", "sensor_name"]
+    fieldtypes = ["uint64_t", "char", "float", "float", "float", "float", "float", "float", "float", "float", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us", "acc_x": "m/s2", "acc_y": "m/s2", "acc_z": "m/s2", "gyro_x": "rad/s", "gyro_y": "rad/s", "gyro_z": "rad/s", "mag_x": "uT", "mag_y": "uT", "mag_z": "uT"}
+    native_format = bytearray(b"<Qfffffffffc")
+    orders = [0, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+    lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20]
+    crc_extra = 72
+    unpacker = struct.Struct("<Qfffffffff20s")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, sensor_name: bytes, acc_x: float, acc_y: float, acc_z: float, gyro_x: float, gyro_y: float, gyro_z: float, mag_x: float, mag_y: float, mag_z: float):
+        MAVLink_message.__init__(self, MAVLink_imu_tm_message.id, MAVLink_imu_tm_message.msgname)
+        self._fieldnames = MAVLink_imu_tm_message.fieldnames
+        self._instance_field = MAVLink_imu_tm_message.instance_field
+        self._instance_offset = MAVLink_imu_tm_message.instance_offset
+        self.timestamp = timestamp
+        self._sensor_name_raw = sensor_name
+        self.sensor_name = sensor_name.split(b"\x00", 1)[0].decode("ascii", errors="replace")
+        self.acc_x = acc_x
+        self.acc_y = acc_y
+        self.acc_z = acc_z
+        self.gyro_x = gyro_x
+        self.gyro_y = gyro_y
+        self.gyro_z = gyro_z
+        self.mag_x = mag_x
+        self.mag_y = mag_y
+        self.mag_z = mag_z
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.acc_x, self.acc_y, self.acc_z, self.gyro_x, self.gyro_y, self.gyro_z, self.mag_x, self.mag_y, self.mag_z, self._sensor_name_raw), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_imu_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_pressure_tm_message(MAVLink_message):
-        '''
-
-        '''
-        id = MAVLINK_MSG_ID_PRESSURE_TM
-        name = 'PRESSURE_TM'
-        fieldnames = ['timestamp', 'sensor_name', 'pressure']
-        ordered_fieldnames = ['timestamp', 'pressure', 'sensor_name']
-        fieldtypes = ['uint64_t', 'char', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us", "pressure": "Pa"}
-        format = '<Qf20s'
-        native_format = bytearray('<Qfc', 'ascii')
-        orders = [0, 2, 1]
-        lengths = [1, 1, 1]
-        array_lengths = [0, 0, 20]
-        crc_extra = 87
-        unpacker = struct.Struct('<Qf20s')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, sensor_name, pressure):
-                MAVLink_message.__init__(self, MAVLink_pressure_tm_message.id, MAVLink_pressure_tm_message.name)
-                self._fieldnames = MAVLink_pressure_tm_message.fieldnames
-                self._instance_field = MAVLink_pressure_tm_message.instance_field
-                self._instance_offset = MAVLink_pressure_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.sensor_name = sensor_name
-                self.pressure = pressure
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 87, struct.pack('<Qf20s', self.timestamp, self.pressure, self.sensor_name), force_mavlink1=force_mavlink1)
+    """
+
+    """
+
+    id = MAVLINK_MSG_ID_PRESSURE_TM
+    msgname = "PRESSURE_TM"
+    fieldnames = ["timestamp", "sensor_name", "pressure"]
+    ordered_fieldnames = ["timestamp", "pressure", "sensor_name"]
+    fieldtypes = ["uint64_t", "char", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us", "pressure": "Pa"}
+    native_format = bytearray(b"<Qfc")
+    orders = [0, 2, 1]
+    lengths = [1, 1, 1]
+    array_lengths = [0, 0, 20]
+    crc_extra = 87
+    unpacker = struct.Struct("<Qf20s")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, sensor_name: bytes, pressure: float):
+        MAVLink_message.__init__(self, MAVLink_pressure_tm_message.id, MAVLink_pressure_tm_message.msgname)
+        self._fieldnames = MAVLink_pressure_tm_message.fieldnames
+        self._instance_field = MAVLink_pressure_tm_message.instance_field
+        self._instance_offset = MAVLink_pressure_tm_message.instance_offset
+        self.timestamp = timestamp
+        self._sensor_name_raw = sensor_name
+        self.sensor_name = sensor_name.split(b"\x00", 1)[0].decode("ascii", errors="replace")
+        self.pressure = pressure
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.pressure, self._sensor_name_raw), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_pressure_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_adc_tm_message(MAVLink_message):
-        '''
-
-        '''
-        id = MAVLINK_MSG_ID_ADC_TM
-        name = 'ADC_TM'
-        fieldnames = ['timestamp', 'sensor_name', 'channel_0', 'channel_1', 'channel_2', 'channel_3', 'channel_4', 'channel_5', 'channel_6', 'channel_7']
-        ordered_fieldnames = ['timestamp', 'channel_0', 'channel_1', 'channel_2', 'channel_3', 'channel_4', 'channel_5', 'channel_6', 'channel_7', 'sensor_name']
-        fieldtypes = ['uint64_t', 'char', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us", "channel_0": "V", "channel_1": "V", "channel_2": "V", "channel_3": "V", "channel_4": "V", "channel_5": "V", "channel_6": "V", "channel_7": "V"}
-        format = '<Qffffffff20s'
-        native_format = bytearray('<Qffffffffc', 'ascii')
-        orders = [0, 9, 1, 2, 3, 4, 5, 6, 7, 8]
-        lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 20]
-        crc_extra = 229
-        unpacker = struct.Struct('<Qffffffff20s')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, sensor_name, channel_0, channel_1, channel_2, channel_3, channel_4, channel_5, channel_6, channel_7):
-                MAVLink_message.__init__(self, MAVLink_adc_tm_message.id, MAVLink_adc_tm_message.name)
-                self._fieldnames = MAVLink_adc_tm_message.fieldnames
-                self._instance_field = MAVLink_adc_tm_message.instance_field
-                self._instance_offset = MAVLink_adc_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.sensor_name = sensor_name
-                self.channel_0 = channel_0
-                self.channel_1 = channel_1
-                self.channel_2 = channel_2
-                self.channel_3 = channel_3
-                self.channel_4 = channel_4
-                self.channel_5 = channel_5
-                self.channel_6 = channel_6
-                self.channel_7 = channel_7
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 229, struct.pack('<Qffffffff20s', self.timestamp, self.channel_0, self.channel_1, self.channel_2, self.channel_3, self.channel_4, self.channel_5, self.channel_6, self.channel_7, self.sensor_name), force_mavlink1=force_mavlink1)
+    """
+
+    """
+
+    id = MAVLINK_MSG_ID_ADC_TM
+    msgname = "ADC_TM"
+    fieldnames = ["timestamp", "sensor_name", "channel_0", "channel_1", "channel_2", "channel_3", "channel_4", "channel_5", "channel_6", "channel_7"]
+    ordered_fieldnames = ["timestamp", "channel_0", "channel_1", "channel_2", "channel_3", "channel_4", "channel_5", "channel_6", "channel_7", "sensor_name"]
+    fieldtypes = ["uint64_t", "char", "float", "float", "float", "float", "float", "float", "float", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us", "channel_0": "V", "channel_1": "V", "channel_2": "V", "channel_3": "V", "channel_4": "V", "channel_5": "V", "channel_6": "V", "channel_7": "V"}
+    native_format = bytearray(b"<Qffffffffc")
+    orders = [0, 9, 1, 2, 3, 4, 5, 6, 7, 8]
+    lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 20]
+    crc_extra = 229
+    unpacker = struct.Struct("<Qffffffff20s")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, sensor_name: bytes, channel_0: float, channel_1: float, channel_2: float, channel_3: float, channel_4: float, channel_5: float, channel_6: float, channel_7: float):
+        MAVLink_message.__init__(self, MAVLink_adc_tm_message.id, MAVLink_adc_tm_message.msgname)
+        self._fieldnames = MAVLink_adc_tm_message.fieldnames
+        self._instance_field = MAVLink_adc_tm_message.instance_field
+        self._instance_offset = MAVLink_adc_tm_message.instance_offset
+        self.timestamp = timestamp
+        self._sensor_name_raw = sensor_name
+        self.sensor_name = sensor_name.split(b"\x00", 1)[0].decode("ascii", errors="replace")
+        self.channel_0 = channel_0
+        self.channel_1 = channel_1
+        self.channel_2 = channel_2
+        self.channel_3 = channel_3
+        self.channel_4 = channel_4
+        self.channel_5 = channel_5
+        self.channel_6 = channel_6
+        self.channel_7 = channel_7
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.channel_0, self.channel_1, self.channel_2, self.channel_3, self.channel_4, self.channel_5, self.channel_6, self.channel_7, self._sensor_name_raw), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_adc_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_voltage_tm_message(MAVLink_message):
-        '''
-
-        '''
-        id = MAVLINK_MSG_ID_VOLTAGE_TM
-        name = 'VOLTAGE_TM'
-        fieldnames = ['timestamp', 'sensor_name', 'voltage']
-        ordered_fieldnames = ['timestamp', 'voltage', 'sensor_name']
-        fieldtypes = ['uint64_t', 'char', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us", "voltage": "V"}
-        format = '<Qf20s'
-        native_format = bytearray('<Qfc', 'ascii')
-        orders = [0, 2, 1]
-        lengths = [1, 1, 1]
-        array_lengths = [0, 0, 20]
-        crc_extra = 245
-        unpacker = struct.Struct('<Qf20s')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, sensor_name, voltage):
-                MAVLink_message.__init__(self, MAVLink_voltage_tm_message.id, MAVLink_voltage_tm_message.name)
-                self._fieldnames = MAVLink_voltage_tm_message.fieldnames
-                self._instance_field = MAVLink_voltage_tm_message.instance_field
-                self._instance_offset = MAVLink_voltage_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.sensor_name = sensor_name
-                self.voltage = voltage
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 245, struct.pack('<Qf20s', self.timestamp, self.voltage, self.sensor_name), force_mavlink1=force_mavlink1)
+    """
+
+    """
+
+    id = MAVLINK_MSG_ID_VOLTAGE_TM
+    msgname = "VOLTAGE_TM"
+    fieldnames = ["timestamp", "sensor_name", "voltage"]
+    ordered_fieldnames = ["timestamp", "voltage", "sensor_name"]
+    fieldtypes = ["uint64_t", "char", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us", "voltage": "V"}
+    native_format = bytearray(b"<Qfc")
+    orders = [0, 2, 1]
+    lengths = [1, 1, 1]
+    array_lengths = [0, 0, 20]
+    crc_extra = 245
+    unpacker = struct.Struct("<Qf20s")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, sensor_name: bytes, voltage: float):
+        MAVLink_message.__init__(self, MAVLink_voltage_tm_message.id, MAVLink_voltage_tm_message.msgname)
+        self._fieldnames = MAVLink_voltage_tm_message.fieldnames
+        self._instance_field = MAVLink_voltage_tm_message.instance_field
+        self._instance_offset = MAVLink_voltage_tm_message.instance_offset
+        self.timestamp = timestamp
+        self._sensor_name_raw = sensor_name
+        self.sensor_name = sensor_name.split(b"\x00", 1)[0].decode("ascii", errors="replace")
+        self.voltage = voltage
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.voltage, self._sensor_name_raw), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_voltage_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_current_tm_message(MAVLink_message):
-        '''
-
-        '''
-        id = MAVLINK_MSG_ID_CURRENT_TM
-        name = 'CURRENT_TM'
-        fieldnames = ['timestamp', 'sensor_name', 'current']
-        ordered_fieldnames = ['timestamp', 'current', 'sensor_name']
-        fieldtypes = ['uint64_t', 'char', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us", "current": "A"}
-        format = '<Qf20s'
-        native_format = bytearray('<Qfc', 'ascii')
-        orders = [0, 2, 1]
-        lengths = [1, 1, 1]
-        array_lengths = [0, 0, 20]
-        crc_extra = 212
-        unpacker = struct.Struct('<Qf20s')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, sensor_name, current):
-                MAVLink_message.__init__(self, MAVLink_current_tm_message.id, MAVLink_current_tm_message.name)
-                self._fieldnames = MAVLink_current_tm_message.fieldnames
-                self._instance_field = MAVLink_current_tm_message.instance_field
-                self._instance_offset = MAVLink_current_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.sensor_name = sensor_name
-                self.current = current
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 212, struct.pack('<Qf20s', self.timestamp, self.current, self.sensor_name), force_mavlink1=force_mavlink1)
+    """
+
+    """
+
+    id = MAVLINK_MSG_ID_CURRENT_TM
+    msgname = "CURRENT_TM"
+    fieldnames = ["timestamp", "sensor_name", "current"]
+    ordered_fieldnames = ["timestamp", "current", "sensor_name"]
+    fieldtypes = ["uint64_t", "char", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us", "current": "A"}
+    native_format = bytearray(b"<Qfc")
+    orders = [0, 2, 1]
+    lengths = [1, 1, 1]
+    array_lengths = [0, 0, 20]
+    crc_extra = 212
+    unpacker = struct.Struct("<Qf20s")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, sensor_name: bytes, current: float):
+        MAVLink_message.__init__(self, MAVLink_current_tm_message.id, MAVLink_current_tm_message.msgname)
+        self._fieldnames = MAVLink_current_tm_message.fieldnames
+        self._instance_field = MAVLink_current_tm_message.instance_field
+        self._instance_offset = MAVLink_current_tm_message.instance_offset
+        self.timestamp = timestamp
+        self._sensor_name_raw = sensor_name
+        self.sensor_name = sensor_name.split(b"\x00", 1)[0].decode("ascii", errors="replace")
+        self.current = current
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.current, self._sensor_name_raw), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_current_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_temp_tm_message(MAVLink_message):
-        '''
-
-        '''
-        id = MAVLINK_MSG_ID_TEMP_TM
-        name = 'TEMP_TM'
-        fieldnames = ['timestamp', 'sensor_name', 'temperature']
-        ordered_fieldnames = ['timestamp', 'temperature', 'sensor_name']
-        fieldtypes = ['uint64_t', 'char', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us", "temperature": "deg"}
-        format = '<Qf20s'
-        native_format = bytearray('<Qfc', 'ascii')
-        orders = [0, 2, 1]
-        lengths = [1, 1, 1]
-        array_lengths = [0, 0, 20]
-        crc_extra = 140
-        unpacker = struct.Struct('<Qf20s')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, sensor_name, temperature):
-                MAVLink_message.__init__(self, MAVLink_temp_tm_message.id, MAVLink_temp_tm_message.name)
-                self._fieldnames = MAVLink_temp_tm_message.fieldnames
-                self._instance_field = MAVLink_temp_tm_message.instance_field
-                self._instance_offset = MAVLink_temp_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.sensor_name = sensor_name
-                self.temperature = temperature
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 140, struct.pack('<Qf20s', self.timestamp, self.temperature, self.sensor_name), force_mavlink1=force_mavlink1)
+    """
+
+    """
+
+    id = MAVLINK_MSG_ID_TEMP_TM
+    msgname = "TEMP_TM"
+    fieldnames = ["timestamp", "sensor_name", "temperature"]
+    ordered_fieldnames = ["timestamp", "temperature", "sensor_name"]
+    fieldtypes = ["uint64_t", "char", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us", "temperature": "deg"}
+    native_format = bytearray(b"<Qfc")
+    orders = [0, 2, 1]
+    lengths = [1, 1, 1]
+    array_lengths = [0, 0, 20]
+    crc_extra = 140
+    unpacker = struct.Struct("<Qf20s")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, sensor_name: bytes, temperature: float):
+        MAVLink_message.__init__(self, MAVLink_temp_tm_message.id, MAVLink_temp_tm_message.msgname)
+        self._fieldnames = MAVLink_temp_tm_message.fieldnames
+        self._instance_field = MAVLink_temp_tm_message.instance_field
+        self._instance_offset = MAVLink_temp_tm_message.instance_offset
+        self.timestamp = timestamp
+        self._sensor_name_raw = sensor_name
+        self.sensor_name = sensor_name.split(b"\x00", 1)[0].decode("ascii", errors="replace")
+        self.temperature = temperature
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.temperature, self._sensor_name_raw), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_temp_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_load_tm_message(MAVLink_message):
-        '''
-
-        '''
-        id = MAVLINK_MSG_ID_LOAD_TM
-        name = 'LOAD_TM'
-        fieldnames = ['timestamp', 'sensor_name', 'load']
-        ordered_fieldnames = ['timestamp', 'load', 'sensor_name']
-        fieldtypes = ['uint64_t', 'char', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us", "load": "kg"}
-        format = '<Qf20s'
-        native_format = bytearray('<Qfc', 'ascii')
-        orders = [0, 2, 1]
-        lengths = [1, 1, 1]
-        array_lengths = [0, 0, 20]
-        crc_extra = 148
-        unpacker = struct.Struct('<Qf20s')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, sensor_name, load):
-                MAVLink_message.__init__(self, MAVLink_load_tm_message.id, MAVLink_load_tm_message.name)
-                self._fieldnames = MAVLink_load_tm_message.fieldnames
-                self._instance_field = MAVLink_load_tm_message.instance_field
-                self._instance_offset = MAVLink_load_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.sensor_name = sensor_name
-                self.load = load
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 148, struct.pack('<Qf20s', self.timestamp, self.load, self.sensor_name), force_mavlink1=force_mavlink1)
+    """
+
+    """
+
+    id = MAVLINK_MSG_ID_LOAD_TM
+    msgname = "LOAD_TM"
+    fieldnames = ["timestamp", "sensor_name", "load"]
+    ordered_fieldnames = ["timestamp", "load", "sensor_name"]
+    fieldtypes = ["uint64_t", "char", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us", "load": "kg"}
+    native_format = bytearray(b"<Qfc")
+    orders = [0, 2, 1]
+    lengths = [1, 1, 1]
+    array_lengths = [0, 0, 20]
+    crc_extra = 148
+    unpacker = struct.Struct("<Qf20s")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, sensor_name: bytes, load: float):
+        MAVLink_message.__init__(self, MAVLink_load_tm_message.id, MAVLink_load_tm_message.msgname)
+        self._fieldnames = MAVLink_load_tm_message.fieldnames
+        self._instance_field = MAVLink_load_tm_message.instance_field
+        self._instance_offset = MAVLink_load_tm_message.instance_offset
+        self.timestamp = timestamp
+        self._sensor_name_raw = sensor_name
+        self.sensor_name = sensor_name.split(b"\x00", 1)[0].decode("ascii", errors="replace")
+        self.load = load
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.load, self._sensor_name_raw), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_load_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_attitude_tm_message(MAVLink_message):
-        '''
-
-        '''
-        id = MAVLINK_MSG_ID_ATTITUDE_TM
-        name = 'ATTITUDE_TM'
-        fieldnames = ['timestamp', 'sensor_name', 'roll', 'pitch', 'yaw', 'quat_x', 'quat_y', 'quat_z', 'quat_w']
-        ordered_fieldnames = ['timestamp', 'roll', 'pitch', 'yaw', 'quat_x', 'quat_y', 'quat_z', 'quat_w', 'sensor_name']
-        fieldtypes = ['uint64_t', 'char', 'float', 'float', 'float', 'float', 'float', 'float', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us", "roll": "deg", "pitch": "deg", "yaw": "deg"}
-        format = '<Qfffffff20s'
-        native_format = bytearray('<Qfffffffc', 'ascii')
-        orders = [0, 8, 1, 2, 3, 4, 5, 6, 7]
-        lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 20]
-        crc_extra = 6
-        unpacker = struct.Struct('<Qfffffff20s')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, sensor_name, roll, pitch, yaw, quat_x, quat_y, quat_z, quat_w):
-                MAVLink_message.__init__(self, MAVLink_attitude_tm_message.id, MAVLink_attitude_tm_message.name)
-                self._fieldnames = MAVLink_attitude_tm_message.fieldnames
-                self._instance_field = MAVLink_attitude_tm_message.instance_field
-                self._instance_offset = MAVLink_attitude_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.sensor_name = sensor_name
-                self.roll = roll
-                self.pitch = pitch
-                self.yaw = yaw
-                self.quat_x = quat_x
-                self.quat_y = quat_y
-                self.quat_z = quat_z
-                self.quat_w = quat_w
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 6, struct.pack('<Qfffffff20s', self.timestamp, self.roll, self.pitch, self.yaw, self.quat_x, self.quat_y, self.quat_z, self.quat_w, self.sensor_name), force_mavlink1=force_mavlink1)
+    """
+
+    """
+
+    id = MAVLINK_MSG_ID_ATTITUDE_TM
+    msgname = "ATTITUDE_TM"
+    fieldnames = ["timestamp", "sensor_name", "roll", "pitch", "yaw", "quat_x", "quat_y", "quat_z", "quat_w"]
+    ordered_fieldnames = ["timestamp", "roll", "pitch", "yaw", "quat_x", "quat_y", "quat_z", "quat_w", "sensor_name"]
+    fieldtypes = ["uint64_t", "char", "float", "float", "float", "float", "float", "float", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us", "roll": "deg", "pitch": "deg", "yaw": "deg"}
+    native_format = bytearray(b"<Qfffffffc")
+    orders = [0, 8, 1, 2, 3, 4, 5, 6, 7]
+    lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 20]
+    crc_extra = 6
+    unpacker = struct.Struct("<Qfffffff20s")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, sensor_name: bytes, roll: float, pitch: float, yaw: float, quat_x: float, quat_y: float, quat_z: float, quat_w: float):
+        MAVLink_message.__init__(self, MAVLink_attitude_tm_message.id, MAVLink_attitude_tm_message.msgname)
+        self._fieldnames = MAVLink_attitude_tm_message.fieldnames
+        self._instance_field = MAVLink_attitude_tm_message.instance_field
+        self._instance_offset = MAVLink_attitude_tm_message.instance_offset
+        self.timestamp = timestamp
+        self._sensor_name_raw = sensor_name
+        self.sensor_name = sensor_name.split(b"\x00", 1)[0].decode("ascii", errors="replace")
+        self.roll = roll
+        self.pitch = pitch
+        self.yaw = yaw
+        self.quat_x = quat_x
+        self.quat_y = quat_y
+        self.quat_z = quat_z
+        self.quat_w = quat_w
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.roll, self.pitch, self.yaw, self.quat_x, self.quat_y, self.quat_z, self.quat_w, self._sensor_name_raw), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_attitude_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_sensor_state_tm_message(MAVLink_message):
-        '''
-
-        '''
-        id = MAVLINK_MSG_ID_SENSOR_STATE_TM
-        name = 'SENSOR_STATE_TM'
-        fieldnames = ['sensor_name', 'state']
-        ordered_fieldnames = ['sensor_name', 'state']
-        fieldtypes = ['char', 'uint8_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {}
-        format = '<20sB'
-        native_format = bytearray('<cB', 'ascii')
-        orders = [0, 1]
-        lengths = [1, 1]
-        array_lengths = [20, 0]
-        crc_extra = 155
-        unpacker = struct.Struct('<20sB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, sensor_name, state):
-                MAVLink_message.__init__(self, MAVLink_sensor_state_tm_message.id, MAVLink_sensor_state_tm_message.name)
-                self._fieldnames = MAVLink_sensor_state_tm_message.fieldnames
-                self._instance_field = MAVLink_sensor_state_tm_message.instance_field
-                self._instance_offset = MAVLink_sensor_state_tm_message.instance_offset
-                self.sensor_name = sensor_name
-                self.state = state
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 155, struct.pack('<20sB', self.sensor_name, self.state), force_mavlink1=force_mavlink1)
+    """
+
+    """
+
+    id = MAVLINK_MSG_ID_SENSOR_STATE_TM
+    msgname = "SENSOR_STATE_TM"
+    fieldnames = ["sensor_name", "state"]
+    ordered_fieldnames = ["sensor_name", "state"]
+    fieldtypes = ["char", "uint8_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {}
+    native_format = bytearray(b"<cB")
+    orders = [0, 1]
+    lengths = [1, 1]
+    array_lengths = [20, 0]
+    crc_extra = 155
+    unpacker = struct.Struct("<20sB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, sensor_name: bytes, state: int):
+        MAVLink_message.__init__(self, MAVLink_sensor_state_tm_message.id, MAVLink_sensor_state_tm_message.msgname)
+        self._fieldnames = MAVLink_sensor_state_tm_message.fieldnames
+        self._instance_field = MAVLink_sensor_state_tm_message.instance_field
+        self._instance_offset = MAVLink_sensor_state_tm_message.instance_offset
+        self._sensor_name_raw = sensor_name
+        self.sensor_name = sensor_name.split(b"\x00", 1)[0].decode("ascii", errors="replace")
+        self.state = state
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self._sensor_name_raw, self.state), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_sensor_state_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_servo_tm_message(MAVLink_message):
-        '''
-
-        '''
-        id = MAVLINK_MSG_ID_SERVO_TM
-        name = 'SERVO_TM'
-        fieldnames = ['servo_id', 'servo_position']
-        ordered_fieldnames = ['servo_position', 'servo_id']
-        fieldtypes = ['uint8_t', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {}
-        format = '<fB'
-        native_format = bytearray('<fB', 'ascii')
-        orders = [1, 0]
-        lengths = [1, 1]
-        array_lengths = [0, 0]
-        crc_extra = 87
-        unpacker = struct.Struct('<fB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, servo_id, servo_position):
-                MAVLink_message.__init__(self, MAVLink_servo_tm_message.id, MAVLink_servo_tm_message.name)
-                self._fieldnames = MAVLink_servo_tm_message.fieldnames
-                self._instance_field = MAVLink_servo_tm_message.instance_field
-                self._instance_offset = MAVLink_servo_tm_message.instance_offset
-                self.servo_id = servo_id
-                self.servo_position = servo_position
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 87, struct.pack('<fB', self.servo_position, self.servo_id), force_mavlink1=force_mavlink1)
+    """
+
+    """
+
+    id = MAVLINK_MSG_ID_SERVO_TM
+    msgname = "SERVO_TM"
+    fieldnames = ["servo_id", "servo_position"]
+    ordered_fieldnames = ["servo_position", "servo_id"]
+    fieldtypes = ["uint8_t", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {}
+    native_format = bytearray(b"<fB")
+    orders = [1, 0]
+    lengths = [1, 1]
+    array_lengths = [0, 0]
+    crc_extra = 87
+    unpacker = struct.Struct("<fB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, servo_id: int, servo_position: float):
+        MAVLink_message.__init__(self, MAVLink_servo_tm_message.id, MAVLink_servo_tm_message.msgname)
+        self._fieldnames = MAVLink_servo_tm_message.fieldnames
+        self._instance_field = MAVLink_servo_tm_message.instance_field
+        self._instance_offset = MAVLink_servo_tm_message.instance_offset
+        self.servo_id = servo_id
+        self.servo_position = servo_position
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.servo_position, self.servo_id), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_servo_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_pin_tm_message(MAVLink_message):
-        '''
-
-        '''
-        id = MAVLINK_MSG_ID_PIN_TM
-        name = 'PIN_TM'
-        fieldnames = ['timestamp', 'pin_id', 'last_change_timestamp', 'changes_counter', 'current_state']
-        ordered_fieldnames = ['timestamp', 'last_change_timestamp', 'pin_id', 'changes_counter', 'current_state']
-        fieldtypes = ['uint64_t', 'uint8_t', 'uint64_t', 'uint8_t', 'uint8_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us"}
-        format = '<QQBBB'
-        native_format = bytearray('<QQBBB', 'ascii')
-        orders = [0, 2, 1, 3, 4]
-        lengths = [1, 1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 0, 0]
-        crc_extra = 255
-        unpacker = struct.Struct('<QQBBB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, pin_id, last_change_timestamp, changes_counter, current_state):
-                MAVLink_message.__init__(self, MAVLink_pin_tm_message.id, MAVLink_pin_tm_message.name)
-                self._fieldnames = MAVLink_pin_tm_message.fieldnames
-                self._instance_field = MAVLink_pin_tm_message.instance_field
-                self._instance_offset = MAVLink_pin_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.pin_id = pin_id
-                self.last_change_timestamp = last_change_timestamp
-                self.changes_counter = changes_counter
-                self.current_state = current_state
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 255, struct.pack('<QQBBB', self.timestamp, self.last_change_timestamp, self.pin_id, self.changes_counter, self.current_state), force_mavlink1=force_mavlink1)
+    """
+
+    """
+
+    id = MAVLINK_MSG_ID_PIN_TM
+    msgname = "PIN_TM"
+    fieldnames = ["timestamp", "pin_id", "last_change_timestamp", "changes_counter", "current_state"]
+    ordered_fieldnames = ["timestamp", "last_change_timestamp", "pin_id", "changes_counter", "current_state"]
+    fieldtypes = ["uint64_t", "uint8_t", "uint64_t", "uint8_t", "uint8_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us"}
+    native_format = bytearray(b"<QQBBB")
+    orders = [0, 2, 1, 3, 4]
+    lengths = [1, 1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 0, 0]
+    crc_extra = 255
+    unpacker = struct.Struct("<QQBBB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, pin_id: int, last_change_timestamp: int, changes_counter: int, current_state: int):
+        MAVLink_message.__init__(self, MAVLink_pin_tm_message.id, MAVLink_pin_tm_message.msgname)
+        self._fieldnames = MAVLink_pin_tm_message.fieldnames
+        self._instance_field = MAVLink_pin_tm_message.instance_field
+        self._instance_offset = MAVLink_pin_tm_message.instance_offset
+        self.timestamp = timestamp
+        self.pin_id = pin_id
+        self.last_change_timestamp = last_change_timestamp
+        self.changes_counter = changes_counter
+        self.current_state = current_state
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.last_change_timestamp, self.pin_id, self.changes_counter, self.current_state), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_pin_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_registry_float_tm_message(MAVLink_message):
-        '''
-
-        '''
-        id = MAVLINK_MSG_ID_REGISTRY_FLOAT_TM
-        name = 'REGISTRY_FLOAT_TM'
-        fieldnames = ['timestamp', 'key_id', 'key_name', 'value']
-        ordered_fieldnames = ['timestamp', 'key_id', 'value', 'key_name']
-        fieldtypes = ['uint64_t', 'uint32_t', 'char', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us"}
-        format = '<QIf20s'
-        native_format = bytearray('<QIfc', 'ascii')
-        orders = [0, 1, 3, 2]
-        lengths = [1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 20]
-        crc_extra = 9
-        unpacker = struct.Struct('<QIf20s')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, key_id, key_name, value):
-                MAVLink_message.__init__(self, MAVLink_registry_float_tm_message.id, MAVLink_registry_float_tm_message.name)
-                self._fieldnames = MAVLink_registry_float_tm_message.fieldnames
-                self._instance_field = MAVLink_registry_float_tm_message.instance_field
-                self._instance_offset = MAVLink_registry_float_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.key_id = key_id
-                self.key_name = key_name
-                self.value = value
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 9, struct.pack('<QIf20s', self.timestamp, self.key_id, self.value, self.key_name), force_mavlink1=force_mavlink1)
+    """
+
+    """
+
+    id = MAVLINK_MSG_ID_REGISTRY_FLOAT_TM
+    msgname = "REGISTRY_FLOAT_TM"
+    fieldnames = ["timestamp", "key_id", "key_name", "value"]
+    ordered_fieldnames = ["timestamp", "key_id", "value", "key_name"]
+    fieldtypes = ["uint64_t", "uint32_t", "char", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us"}
+    native_format = bytearray(b"<QIfc")
+    orders = [0, 1, 3, 2]
+    lengths = [1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 20]
+    crc_extra = 9
+    unpacker = struct.Struct("<QIf20s")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, key_id: int, key_name: bytes, value: float):
+        MAVLink_message.__init__(self, MAVLink_registry_float_tm_message.id, MAVLink_registry_float_tm_message.msgname)
+        self._fieldnames = MAVLink_registry_float_tm_message.fieldnames
+        self._instance_field = MAVLink_registry_float_tm_message.instance_field
+        self._instance_offset = MAVLink_registry_float_tm_message.instance_offset
+        self.timestamp = timestamp
+        self.key_id = key_id
+        self._key_name_raw = key_name
+        self.key_name = key_name.split(b"\x00", 1)[0].decode("ascii", errors="replace")
+        self.value = value
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.key_id, self.value, self._key_name_raw), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_registry_float_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_registry_int_tm_message(MAVLink_message):
-        '''
-
-        '''
-        id = MAVLINK_MSG_ID_REGISTRY_INT_TM
-        name = 'REGISTRY_INT_TM'
-        fieldnames = ['timestamp', 'key_id', 'key_name', 'value']
-        ordered_fieldnames = ['timestamp', 'key_id', 'value', 'key_name']
-        fieldtypes = ['uint64_t', 'uint32_t', 'char', 'uint32_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us"}
-        format = '<QII20s'
-        native_format = bytearray('<QIIc', 'ascii')
-        orders = [0, 1, 3, 2]
-        lengths = [1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 20]
-        crc_extra = 68
-        unpacker = struct.Struct('<QII20s')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, key_id, key_name, value):
-                MAVLink_message.__init__(self, MAVLink_registry_int_tm_message.id, MAVLink_registry_int_tm_message.name)
-                self._fieldnames = MAVLink_registry_int_tm_message.fieldnames
-                self._instance_field = MAVLink_registry_int_tm_message.instance_field
-                self._instance_offset = MAVLink_registry_int_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.key_id = key_id
-                self.key_name = key_name
-                self.value = value
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 68, struct.pack('<QII20s', self.timestamp, self.key_id, self.value, self.key_name), force_mavlink1=force_mavlink1)
+    """
+
+    """
+
+    id = MAVLINK_MSG_ID_REGISTRY_INT_TM
+    msgname = "REGISTRY_INT_TM"
+    fieldnames = ["timestamp", "key_id", "key_name", "value"]
+    ordered_fieldnames = ["timestamp", "key_id", "value", "key_name"]
+    fieldtypes = ["uint64_t", "uint32_t", "char", "uint32_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us"}
+    native_format = bytearray(b"<QIIc")
+    orders = [0, 1, 3, 2]
+    lengths = [1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 20]
+    crc_extra = 68
+    unpacker = struct.Struct("<QII20s")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, key_id: int, key_name: bytes, value: int):
+        MAVLink_message.__init__(self, MAVLink_registry_int_tm_message.id, MAVLink_registry_int_tm_message.msgname)
+        self._fieldnames = MAVLink_registry_int_tm_message.fieldnames
+        self._instance_field = MAVLink_registry_int_tm_message.instance_field
+        self._instance_offset = MAVLink_registry_int_tm_message.instance_offset
+        self.timestamp = timestamp
+        self.key_id = key_id
+        self._key_name_raw = key_name
+        self.key_name = key_name.split(b"\x00", 1)[0].decode("ascii", errors="replace")
+        self.value = value
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.key_id, self.value, self._key_name_raw), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_registry_int_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_registry_coord_tm_message(MAVLink_message):
-        '''
-
-        '''
-        id = MAVLINK_MSG_ID_REGISTRY_COORD_TM
-        name = 'REGISTRY_COORD_TM'
-        fieldnames = ['timestamp', 'key_id', 'key_name', 'latitude', 'longitude']
-        ordered_fieldnames = ['timestamp', 'key_id', 'latitude', 'longitude', 'key_name']
-        fieldtypes = ['uint64_t', 'uint32_t', 'char', 'float', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us", "latitude": "deg", "longitude": "deg"}
-        format = '<QIff20s'
-        native_format = bytearray('<QIffc', 'ascii')
-        orders = [0, 1, 4, 2, 3]
-        lengths = [1, 1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 0, 20]
-        crc_extra = 234
-        unpacker = struct.Struct('<QIff20s')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, key_id, key_name, latitude, longitude):
-                MAVLink_message.__init__(self, MAVLink_registry_coord_tm_message.id, MAVLink_registry_coord_tm_message.name)
-                self._fieldnames = MAVLink_registry_coord_tm_message.fieldnames
-                self._instance_field = MAVLink_registry_coord_tm_message.instance_field
-                self._instance_offset = MAVLink_registry_coord_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.key_id = key_id
-                self.key_name = key_name
-                self.latitude = latitude
-                self.longitude = longitude
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 234, struct.pack('<QIff20s', self.timestamp, self.key_id, self.latitude, self.longitude, self.key_name), force_mavlink1=force_mavlink1)
+    """
+
+    """
+
+    id = MAVLINK_MSG_ID_REGISTRY_COORD_TM
+    msgname = "REGISTRY_COORD_TM"
+    fieldnames = ["timestamp", "key_id", "key_name", "latitude", "longitude"]
+    ordered_fieldnames = ["timestamp", "key_id", "latitude", "longitude", "key_name"]
+    fieldtypes = ["uint64_t", "uint32_t", "char", "float", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us", "latitude": "deg", "longitude": "deg"}
+    native_format = bytearray(b"<QIffc")
+    orders = [0, 1, 4, 2, 3]
+    lengths = [1, 1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 0, 20]
+    crc_extra = 234
+    unpacker = struct.Struct("<QIff20s")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, key_id: int, key_name: bytes, latitude: float, longitude: float):
+        MAVLink_message.__init__(self, MAVLink_registry_coord_tm_message.id, MAVLink_registry_coord_tm_message.msgname)
+        self._fieldnames = MAVLink_registry_coord_tm_message.fieldnames
+        self._instance_field = MAVLink_registry_coord_tm_message.instance_field
+        self._instance_offset = MAVLink_registry_coord_tm_message.instance_offset
+        self.timestamp = timestamp
+        self.key_id = key_id
+        self._key_name_raw = key_name
+        self.key_name = key_name.split(b"\x00", 1)[0].decode("ascii", errors="replace")
+        self.latitude = latitude
+        self.longitude = longitude
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.key_id, self.latitude, self.longitude, self._key_name_raw), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_registry_coord_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_receiver_tm_message(MAVLink_message):
-        '''
-
-        '''
-        id = MAVLINK_MSG_ID_RECEIVER_TM
-        name = 'RECEIVER_TM'
-        fieldnames = ['timestamp', 'main_radio_present', 'main_packet_tx_error_count', 'main_tx_bitrate', 'main_packet_rx_success_count', 'main_packet_rx_drop_count', 'main_rx_bitrate', 'main_rx_rssi', 'main_rx_fei', 'payload_radio_present', 'payload_packet_tx_error_count', 'payload_tx_bitrate', 'payload_packet_rx_success_count', 'payload_packet_rx_drop_count', 'payload_rx_bitrate', 'payload_rx_rssi', 'payload_rx_fei', 'ethernet_present', 'ethernet_status', 'battery_voltage']
-        ordered_fieldnames = ['timestamp', 'main_rx_rssi', 'main_rx_fei', 'payload_rx_rssi', 'payload_rx_fei', 'battery_voltage', 'main_packet_tx_error_count', 'main_tx_bitrate', 'main_packet_rx_success_count', 'main_packet_rx_drop_count', 'main_rx_bitrate', 'payload_packet_tx_error_count', 'payload_tx_bitrate', 'payload_packet_rx_success_count', 'payload_packet_rx_drop_count', 'payload_rx_bitrate', 'main_radio_present', 'payload_radio_present', 'ethernet_present', 'ethernet_status']
-        fieldtypes = ['uint64_t', 'uint8_t', 'uint16_t', 'uint16_t', 'uint16_t', 'uint16_t', 'uint16_t', 'float', 'float', 'uint8_t', 'uint16_t', 'uint16_t', 'uint16_t', 'uint16_t', 'uint16_t', 'float', 'float', 'uint8_t', 'uint8_t', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us", "main_tx_bitrate": "b/s", "main_rx_bitrate": "b/s", "main_rx_rssi": "dBm", "main_rx_fei": "Hz", "payload_tx_bitrate": "b/s", "payload_rx_bitrate": "b/s", "payload_rx_rssi": "dBm", "payload_rx_fei": "Hz", "battery_voltage": "V"}
-        format = '<QfffffHHHHHHHHHHBBBB'
-        native_format = bytearray('<QfffffHHHHHHHHHHBBBB', 'ascii')
-        orders = [0, 16, 6, 7, 8, 9, 10, 1, 2, 17, 11, 12, 13, 14, 15, 3, 4, 18, 19, 5]
-        lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
-        crc_extra = 117
-        unpacker = struct.Struct('<QfffffHHHHHHHHHHBBBB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, main_radio_present, main_packet_tx_error_count, main_tx_bitrate, main_packet_rx_success_count, main_packet_rx_drop_count, main_rx_bitrate, main_rx_rssi, main_rx_fei, payload_radio_present, payload_packet_tx_error_count, payload_tx_bitrate, payload_packet_rx_success_count, payload_packet_rx_drop_count, payload_rx_bitrate, payload_rx_rssi, payload_rx_fei, ethernet_present, ethernet_status, battery_voltage):
-                MAVLink_message.__init__(self, MAVLink_receiver_tm_message.id, MAVLink_receiver_tm_message.name)
-                self._fieldnames = MAVLink_receiver_tm_message.fieldnames
-                self._instance_field = MAVLink_receiver_tm_message.instance_field
-                self._instance_offset = MAVLink_receiver_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.main_radio_present = main_radio_present
-                self.main_packet_tx_error_count = main_packet_tx_error_count
-                self.main_tx_bitrate = main_tx_bitrate
-                self.main_packet_rx_success_count = main_packet_rx_success_count
-                self.main_packet_rx_drop_count = main_packet_rx_drop_count
-                self.main_rx_bitrate = main_rx_bitrate
-                self.main_rx_rssi = main_rx_rssi
-                self.main_rx_fei = main_rx_fei
-                self.payload_radio_present = payload_radio_present
-                self.payload_packet_tx_error_count = payload_packet_tx_error_count
-                self.payload_tx_bitrate = payload_tx_bitrate
-                self.payload_packet_rx_success_count = payload_packet_rx_success_count
-                self.payload_packet_rx_drop_count = payload_packet_rx_drop_count
-                self.payload_rx_bitrate = payload_rx_bitrate
-                self.payload_rx_rssi = payload_rx_rssi
-                self.payload_rx_fei = payload_rx_fei
-                self.ethernet_present = ethernet_present
-                self.ethernet_status = ethernet_status
-                self.battery_voltage = battery_voltage
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 117, struct.pack('<QfffffHHHHHHHHHHBBBB', self.timestamp, self.main_rx_rssi, self.main_rx_fei, self.payload_rx_rssi, self.payload_rx_fei, self.battery_voltage, self.main_packet_tx_error_count, self.main_tx_bitrate, self.main_packet_rx_success_count, self.main_packet_rx_drop_count, self.main_rx_bitrate, self.payload_packet_tx_error_count, self.payload_tx_bitrate, self.payload_packet_rx_success_count, self.payload_packet_rx_drop_count, self.payload_rx_bitrate, self.main_radio_present, self.payload_radio_present, self.ethernet_present, self.ethernet_status), force_mavlink1=force_mavlink1)
+    """
+
+    """
+
+    id = MAVLINK_MSG_ID_RECEIVER_TM
+    msgname = "RECEIVER_TM"
+    fieldnames = ["timestamp", "main_radio_present", "main_packet_tx_error_count", "main_tx_bitrate", "main_packet_rx_success_count", "main_packet_rx_drop_count", "main_rx_bitrate", "main_rx_rssi", "main_rx_fei", "payload_radio_present", "payload_packet_tx_error_count", "payload_tx_bitrate", "payload_packet_rx_success_count", "payload_packet_rx_drop_count", "payload_rx_bitrate", "payload_rx_rssi", "payload_rx_fei", "ethernet_present", "ethernet_status", "battery_voltage"]
+    ordered_fieldnames = ["timestamp", "main_rx_rssi", "main_rx_fei", "payload_rx_rssi", "payload_rx_fei", "battery_voltage", "main_packet_tx_error_count", "main_tx_bitrate", "main_packet_rx_success_count", "main_packet_rx_drop_count", "main_rx_bitrate", "payload_packet_tx_error_count", "payload_tx_bitrate", "payload_packet_rx_success_count", "payload_packet_rx_drop_count", "payload_rx_bitrate", "main_radio_present", "payload_radio_present", "ethernet_present", "ethernet_status"]
+    fieldtypes = ["uint64_t", "uint8_t", "uint16_t", "uint16_t", "uint16_t", "uint16_t", "uint16_t", "float", "float", "uint8_t", "uint16_t", "uint16_t", "uint16_t", "uint16_t", "uint16_t", "float", "float", "uint8_t", "uint8_t", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us", "main_tx_bitrate": "b/s", "main_rx_bitrate": "b/s", "main_rx_rssi": "dBm", "main_rx_fei": "Hz", "payload_tx_bitrate": "b/s", "payload_rx_bitrate": "b/s", "payload_rx_rssi": "dBm", "payload_rx_fei": "Hz", "battery_voltage": "V"}
+    native_format = bytearray(b"<QfffffHHHHHHHHHHBBBB")
+    orders = [0, 16, 6, 7, 8, 9, 10, 1, 2, 17, 11, 12, 13, 14, 15, 3, 4, 18, 19, 5]
+    lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+    crc_extra = 117
+    unpacker = struct.Struct("<QfffffHHHHHHHHHHBBBB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, main_radio_present: int, main_packet_tx_error_count: int, main_tx_bitrate: int, main_packet_rx_success_count: int, main_packet_rx_drop_count: int, main_rx_bitrate: int, main_rx_rssi: float, main_rx_fei: float, payload_radio_present: int, payload_packet_tx_error_count: int, payload_tx_bitrate: int, payload_packet_rx_success_count: int, payload_packet_rx_drop_count: int, payload_rx_bitrate: int, payload_rx_rssi: float, payload_rx_fei: float, ethernet_present: int, ethernet_status: int, battery_voltage: float):
+        MAVLink_message.__init__(self, MAVLink_receiver_tm_message.id, MAVLink_receiver_tm_message.msgname)
+        self._fieldnames = MAVLink_receiver_tm_message.fieldnames
+        self._instance_field = MAVLink_receiver_tm_message.instance_field
+        self._instance_offset = MAVLink_receiver_tm_message.instance_offset
+        self.timestamp = timestamp
+        self.main_radio_present = main_radio_present
+        self.main_packet_tx_error_count = main_packet_tx_error_count
+        self.main_tx_bitrate = main_tx_bitrate
+        self.main_packet_rx_success_count = main_packet_rx_success_count
+        self.main_packet_rx_drop_count = main_packet_rx_drop_count
+        self.main_rx_bitrate = main_rx_bitrate
+        self.main_rx_rssi = main_rx_rssi
+        self.main_rx_fei = main_rx_fei
+        self.payload_radio_present = payload_radio_present
+        self.payload_packet_tx_error_count = payload_packet_tx_error_count
+        self.payload_tx_bitrate = payload_tx_bitrate
+        self.payload_packet_rx_success_count = payload_packet_rx_success_count
+        self.payload_packet_rx_drop_count = payload_packet_rx_drop_count
+        self.payload_rx_bitrate = payload_rx_bitrate
+        self.payload_rx_rssi = payload_rx_rssi
+        self.payload_rx_fei = payload_rx_fei
+        self.ethernet_present = ethernet_present
+        self.ethernet_status = ethernet_status
+        self.battery_voltage = battery_voltage
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.main_rx_rssi, self.main_rx_fei, self.payload_rx_rssi, self.payload_rx_fei, self.battery_voltage, self.main_packet_tx_error_count, self.main_tx_bitrate, self.main_packet_rx_success_count, self.main_packet_rx_drop_count, self.main_rx_bitrate, self.payload_packet_tx_error_count, self.payload_tx_bitrate, self.payload_packet_rx_success_count, self.payload_packet_rx_drop_count, self.payload_rx_bitrate, self.main_radio_present, self.payload_radio_present, self.ethernet_present, self.ethernet_status), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_receiver_tm_message, "name", mavlink_msg_deprecated_name_property())
 
-class MAVLink_arp_tm_message(MAVLink_message):
-        '''
-
-        '''
-        id = MAVLINK_MSG_ID_ARP_TM
-        name = 'ARP_TM'
-        fieldnames = ['timestamp', 'yaw', 'pitch', 'roll', 'target_yaw', 'target_pitch', 'stepperX_pos', 'stepperX_delta', 'stepperX_speed', 'stepperY_pos', 'stepperY_delta', 'stepperY_speed', 'gps_latitude', 'gps_longitude', 'gps_height', 'gps_fix', 'main_radio_present', 'main_packet_tx_error_count', 'main_tx_bitrate', 'main_packet_rx_success_count', 'main_packet_rx_drop_count', 'main_rx_bitrate', 'main_rx_rssi', 'ethernet_present', 'ethernet_status', 'battery_voltage']
-        ordered_fieldnames = ['timestamp', 'yaw', 'pitch', 'roll', 'target_yaw', 'target_pitch', 'stepperX_pos', 'stepperX_delta', 'stepperX_speed', 'stepperY_pos', 'stepperY_delta', 'stepperY_speed', 'gps_latitude', 'gps_longitude', 'gps_height', 'main_rx_rssi', 'battery_voltage', 'main_packet_tx_error_count', 'main_tx_bitrate', 'main_packet_rx_success_count', 'main_packet_rx_drop_count', 'main_rx_bitrate', 'gps_fix', 'main_radio_present', 'ethernet_present', 'ethernet_status']
-        fieldtypes = ['uint64_t', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'uint8_t', 'uint8_t', 'uint16_t', 'uint16_t', 'uint16_t', 'uint16_t', 'uint16_t', 'float', 'uint8_t', 'uint8_t', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us", "yaw": "deg", "pitch": "deg", "roll": "deg", "target_yaw": "deg", "target_pitch": "deg", "stepperX_pos": "deg", "stepperX_delta": "deg", "stepperX_speed": "rps", "stepperY_pos": "deg", "stepperY_delta": "deg", "stepperY_speed": "rps", "gps_latitude": "deg", "gps_longitude": "deg", "gps_height": "m", "main_tx_bitrate": "b/s", "main_rx_bitrate": "b/s", "main_rx_rssi": "dBm", "battery_voltage": "V"}
-        format = '<QffffffffffffffffHHHHHBBBB'
-        native_format = bytearray('<QffffffffffffffffHHHHHBBBB', 'ascii')
-        orders = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 22, 23, 17, 18, 19, 20, 21, 15, 24, 25, 16]
-        lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
-        crc_extra = 2
-        unpacker = struct.Struct('<QffffffffffffffffHHHHHBBBB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, yaw, pitch, roll, target_yaw, target_pitch, stepperX_pos, stepperX_delta, stepperX_speed, stepperY_pos, stepperY_delta, stepperY_speed, gps_latitude, gps_longitude, gps_height, gps_fix, main_radio_present, main_packet_tx_error_count, main_tx_bitrate, main_packet_rx_success_count, main_packet_rx_drop_count, main_rx_bitrate, main_rx_rssi, ethernet_present, ethernet_status, battery_voltage):
-                MAVLink_message.__init__(self, MAVLink_arp_tm_message.id, MAVLink_arp_tm_message.name)
-                self._fieldnames = MAVLink_arp_tm_message.fieldnames
-                self._instance_field = MAVLink_arp_tm_message.instance_field
-                self._instance_offset = MAVLink_arp_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.yaw = yaw
-                self.pitch = pitch
-                self.roll = roll
-                self.target_yaw = target_yaw
-                self.target_pitch = target_pitch
-                self.stepperX_pos = stepperX_pos
-                self.stepperX_delta = stepperX_delta
-                self.stepperX_speed = stepperX_speed
-                self.stepperY_pos = stepperY_pos
-                self.stepperY_delta = stepperY_delta
-                self.stepperY_speed = stepperY_speed
-                self.gps_latitude = gps_latitude
-                self.gps_longitude = gps_longitude
-                self.gps_height = gps_height
-                self.gps_fix = gps_fix
-                self.main_radio_present = main_radio_present
-                self.main_packet_tx_error_count = main_packet_tx_error_count
-                self.main_tx_bitrate = main_tx_bitrate
-                self.main_packet_rx_success_count = main_packet_rx_success_count
-                self.main_packet_rx_drop_count = main_packet_rx_drop_count
-                self.main_rx_bitrate = main_rx_bitrate
-                self.main_rx_rssi = main_rx_rssi
-                self.ethernet_present = ethernet_present
-                self.ethernet_status = ethernet_status
-                self.battery_voltage = battery_voltage
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 2, struct.pack('<QffffffffffffffffHHHHHBBBB', self.timestamp, self.yaw, self.pitch, self.roll, self.target_yaw, self.target_pitch, self.stepperX_pos, self.stepperX_delta, self.stepperX_speed, self.stepperY_pos, self.stepperY_delta, self.stepperY_speed, self.gps_latitude, self.gps_longitude, self.gps_height, self.main_rx_rssi, self.battery_voltage, self.main_packet_tx_error_count, self.main_tx_bitrate, self.main_packet_rx_success_count, self.main_packet_rx_drop_count, self.main_rx_bitrate, self.gps_fix, self.main_radio_present, self.ethernet_present, self.ethernet_status), force_mavlink1=force_mavlink1)
 
-class MAVLink_set_antenna_coordinates_arp_tc_message(MAVLink_message):
-        '''
-        Sets current antennas coordinates
-        '''
-        id = MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC
-        name = 'SET_ANTENNA_COORDINATES_ARP_TC'
-        fieldnames = ['latitude', 'longitude']
-        ordered_fieldnames = ['latitude', 'longitude']
-        fieldtypes = ['float', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"latitude": "deg", "longitude": "deg"}
-        format = '<ff'
-        native_format = bytearray('<ff', 'ascii')
-        orders = [0, 1]
-        lengths = [1, 1]
-        array_lengths = [0, 0]
-        crc_extra = 202
-        unpacker = struct.Struct('<ff')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, latitude, longitude):
-                MAVLink_message.__init__(self, MAVLink_set_antenna_coordinates_arp_tc_message.id, MAVLink_set_antenna_coordinates_arp_tc_message.name)
-                self._fieldnames = MAVLink_set_antenna_coordinates_arp_tc_message.fieldnames
-                self._instance_field = MAVLink_set_antenna_coordinates_arp_tc_message.instance_field
-                self._instance_offset = MAVLink_set_antenna_coordinates_arp_tc_message.instance_offset
-                self.latitude = latitude
-                self.longitude = longitude
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 202, struct.pack('<ff', self.latitude, self.longitude), force_mavlink1=force_mavlink1)
+class MAVLink_arp_tm_message(MAVLink_message):
+    """
+
+    """
+
+    id = MAVLINK_MSG_ID_ARP_TM
+    msgname = "ARP_TM"
+    fieldnames = ["timestamp", "state", "yaw", "pitch", "roll", "target_yaw", "target_pitch", "stepperX_pos", "stepperX_delta", "stepperX_speed", "stepperY_pos", "stepperY_delta", "stepperY_speed", "gps_latitude", "gps_longitude", "gps_height", "gps_fix", "main_radio_present", "main_packet_tx_error_count", "main_tx_bitrate", "main_packet_rx_success_count", "main_packet_rx_drop_count", "main_rx_bitrate", "main_rx_rssi", "ethernet_present", "ethernet_status", "battery_voltage", "log_number"]
+    ordered_fieldnames = ["timestamp", "yaw", "pitch", "roll", "target_yaw", "target_pitch", "stepperX_pos", "stepperX_delta", "stepperX_speed", "stepperY_pos", "stepperY_delta", "stepperY_speed", "gps_latitude", "gps_longitude", "gps_height", "main_rx_rssi", "battery_voltage", "main_packet_tx_error_count", "main_tx_bitrate", "main_packet_rx_success_count", "main_packet_rx_drop_count", "main_rx_bitrate", "log_number", "state", "gps_fix", "main_radio_present", "ethernet_present", "ethernet_status"]
+    fieldtypes = ["uint64_t", "uint8_t", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "uint8_t", "uint8_t", "uint16_t", "uint16_t", "uint16_t", "uint16_t", "uint16_t", "float", "uint8_t", "uint8_t", "float", "int16_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us", "yaw": "deg", "pitch": "deg", "roll": "deg", "target_yaw": "deg", "target_pitch": "deg", "stepperX_pos": "deg", "stepperX_delta": "deg", "stepperX_speed": "rps", "stepperY_pos": "deg", "stepperY_delta": "deg", "stepperY_speed": "rps", "gps_latitude": "deg", "gps_longitude": "deg", "gps_height": "m", "main_tx_bitrate": "b/s", "main_rx_bitrate": "b/s", "main_rx_rssi": "dBm", "battery_voltage": "V"}
+    native_format = bytearray(b"<QffffffffffffffffHHHHHhBBBBB")
+    orders = [0, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 24, 25, 17, 18, 19, 20, 21, 15, 26, 27, 16, 22]
+    lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+    crc_extra = 227
+    unpacker = struct.Struct("<QffffffffffffffffHHHHHhBBBBB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, state: int, yaw: float, pitch: float, roll: float, target_yaw: float, target_pitch: float, stepperX_pos: float, stepperX_delta: float, stepperX_speed: float, stepperY_pos: float, stepperY_delta: float, stepperY_speed: float, gps_latitude: float, gps_longitude: float, gps_height: float, gps_fix: int, main_radio_present: int, main_packet_tx_error_count: int, main_tx_bitrate: int, main_packet_rx_success_count: int, main_packet_rx_drop_count: int, main_rx_bitrate: int, main_rx_rssi: float, ethernet_present: int, ethernet_status: int, battery_voltage: float, log_number: int):
+        MAVLink_message.__init__(self, MAVLink_arp_tm_message.id, MAVLink_arp_tm_message.msgname)
+        self._fieldnames = MAVLink_arp_tm_message.fieldnames
+        self._instance_field = MAVLink_arp_tm_message.instance_field
+        self._instance_offset = MAVLink_arp_tm_message.instance_offset
+        self.timestamp = timestamp
+        self.state = state
+        self.yaw = yaw
+        self.pitch = pitch
+        self.roll = roll
+        self.target_yaw = target_yaw
+        self.target_pitch = target_pitch
+        self.stepperX_pos = stepperX_pos
+        self.stepperX_delta = stepperX_delta
+        self.stepperX_speed = stepperX_speed
+        self.stepperY_pos = stepperY_pos
+        self.stepperY_delta = stepperY_delta
+        self.stepperY_speed = stepperY_speed
+        self.gps_latitude = gps_latitude
+        self.gps_longitude = gps_longitude
+        self.gps_height = gps_height
+        self.gps_fix = gps_fix
+        self.main_radio_present = main_radio_present
+        self.main_packet_tx_error_count = main_packet_tx_error_count
+        self.main_tx_bitrate = main_tx_bitrate
+        self.main_packet_rx_success_count = main_packet_rx_success_count
+        self.main_packet_rx_drop_count = main_packet_rx_drop_count
+        self.main_rx_bitrate = main_rx_bitrate
+        self.main_rx_rssi = main_rx_rssi
+        self.ethernet_present = ethernet_present
+        self.ethernet_status = ethernet_status
+        self.battery_voltage = battery_voltage
+        self.log_number = log_number
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.yaw, self.pitch, self.roll, self.target_yaw, self.target_pitch, self.stepperX_pos, self.stepperX_delta, self.stepperX_speed, self.stepperY_pos, self.stepperY_delta, self.stepperY_speed, self.gps_latitude, self.gps_longitude, self.gps_height, self.main_rx_rssi, self.battery_voltage, self.main_packet_tx_error_count, self.main_tx_bitrate, self.main_packet_rx_success_count, self.main_packet_rx_drop_count, self.main_rx_bitrate, self.log_number, self.state, self.gps_fix, self.main_radio_present, self.ethernet_present, self.ethernet_status), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_arp_tm_message, "name", mavlink_msg_deprecated_name_property())
 
-class MAVLink_set_rocket_coordinates_arp_tc_message(MAVLink_message):
-        '''
-        Sets current rocket coordinates
-        '''
-        id = MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC
-        name = 'SET_ROCKET_COORDINATES_ARP_TC'
-        fieldnames = ['latitude', 'longitude']
-        ordered_fieldnames = ['latitude', 'longitude']
-        fieldtypes = ['float', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"latitude": "deg", "longitude": "deg"}
-        format = '<ff'
-        native_format = bytearray('<ff', 'ascii')
-        orders = [0, 1]
-        lengths = [1, 1]
-        array_lengths = [0, 0]
-        crc_extra = 164
-        unpacker = struct.Struct('<ff')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, latitude, longitude):
-                MAVLink_message.__init__(self, MAVLink_set_rocket_coordinates_arp_tc_message.id, MAVLink_set_rocket_coordinates_arp_tc_message.name)
-                self._fieldnames = MAVLink_set_rocket_coordinates_arp_tc_message.fieldnames
-                self._instance_field = MAVLink_set_rocket_coordinates_arp_tc_message.instance_field
-                self._instance_offset = MAVLink_set_rocket_coordinates_arp_tc_message.instance_offset
-                self.latitude = latitude
-                self.longitude = longitude
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 164, struct.pack('<ff', self.latitude, self.longitude), force_mavlink1=force_mavlink1)
 
 class MAVLink_sys_tm_message(MAVLink_message):
-        '''
-        System status telemetry
-        '''
-        id = MAVLINK_MSG_ID_SYS_TM
-        name = 'SYS_TM'
-        fieldnames = ['timestamp', 'logger', 'event_broker', 'radio', 'pin_observer', 'sensors', 'board_scheduler']
-        ordered_fieldnames = ['timestamp', 'logger', 'event_broker', 'radio', 'pin_observer', 'sensors', 'board_scheduler']
-        fieldtypes = ['uint64_t', 'uint8_t', 'uint8_t', 'uint8_t', 'uint8_t', 'uint8_t', 'uint8_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us"}
-        format = '<QBBBBBB'
-        native_format = bytearray('<QBBBBBB', 'ascii')
-        orders = [0, 1, 2, 3, 4, 5, 6]
-        lengths = [1, 1, 1, 1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 0, 0, 0, 0]
-        crc_extra = 183
-        unpacker = struct.Struct('<QBBBBBB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, logger, event_broker, radio, pin_observer, sensors, board_scheduler):
-                MAVLink_message.__init__(self, MAVLink_sys_tm_message.id, MAVLink_sys_tm_message.name)
-                self._fieldnames = MAVLink_sys_tm_message.fieldnames
-                self._instance_field = MAVLink_sys_tm_message.instance_field
-                self._instance_offset = MAVLink_sys_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.logger = logger
-                self.event_broker = event_broker
-                self.radio = radio
-                self.pin_observer = pin_observer
-                self.sensors = sensors
-                self.board_scheduler = board_scheduler
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 183, struct.pack('<QBBBBBB', self.timestamp, self.logger, self.event_broker, self.radio, self.pin_observer, self.sensors, self.board_scheduler), force_mavlink1=force_mavlink1)
+    """
+    System status telemetry
+    """
+
+    id = MAVLINK_MSG_ID_SYS_TM
+    msgname = "SYS_TM"
+    fieldnames = ["timestamp", "logger", "event_broker", "radio", "pin_observer", "sensors", "board_scheduler"]
+    ordered_fieldnames = ["timestamp", "logger", "event_broker", "radio", "pin_observer", "sensors", "board_scheduler"]
+    fieldtypes = ["uint64_t", "uint8_t", "uint8_t", "uint8_t", "uint8_t", "uint8_t", "uint8_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us"}
+    native_format = bytearray(b"<QBBBBBB")
+    orders = [0, 1, 2, 3, 4, 5, 6]
+    lengths = [1, 1, 1, 1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 0, 0, 0, 0]
+    crc_extra = 183
+    unpacker = struct.Struct("<QBBBBBB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, logger: int, event_broker: int, radio: int, pin_observer: int, sensors: int, board_scheduler: int):
+        MAVLink_message.__init__(self, MAVLink_sys_tm_message.id, MAVLink_sys_tm_message.msgname)
+        self._fieldnames = MAVLink_sys_tm_message.fieldnames
+        self._instance_field = MAVLink_sys_tm_message.instance_field
+        self._instance_offset = MAVLink_sys_tm_message.instance_offset
+        self.timestamp = timestamp
+        self.logger = logger
+        self.event_broker = event_broker
+        self.radio = radio
+        self.pin_observer = pin_observer
+        self.sensors = sensors
+        self.board_scheduler = board_scheduler
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.logger, self.event_broker, self.radio, self.pin_observer, self.sensors, self.board_scheduler), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_sys_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_fsm_tm_message(MAVLink_message):
-        '''
-        Flight State Machine status telemetry
-        '''
-        id = MAVLINK_MSG_ID_FSM_TM
-        name = 'FSM_TM'
-        fieldnames = ['timestamp', 'ada_state', 'abk_state', 'dpl_state', 'fmm_state', 'nas_state', 'wes_state']
-        ordered_fieldnames = ['timestamp', 'ada_state', 'abk_state', 'dpl_state', 'fmm_state', 'nas_state', 'wes_state']
-        fieldtypes = ['uint64_t', 'uint8_t', 'uint8_t', 'uint8_t', 'uint8_t', 'uint8_t', 'uint8_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us"}
-        format = '<QBBBBBB'
-        native_format = bytearray('<QBBBBBB', 'ascii')
-        orders = [0, 1, 2, 3, 4, 5, 6]
-        lengths = [1, 1, 1, 1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 0, 0, 0, 0]
-        crc_extra = 242
-        unpacker = struct.Struct('<QBBBBBB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, ada_state, abk_state, dpl_state, fmm_state, nas_state, wes_state):
-                MAVLink_message.__init__(self, MAVLink_fsm_tm_message.id, MAVLink_fsm_tm_message.name)
-                self._fieldnames = MAVLink_fsm_tm_message.fieldnames
-                self._instance_field = MAVLink_fsm_tm_message.instance_field
-                self._instance_offset = MAVLink_fsm_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.ada_state = ada_state
-                self.abk_state = abk_state
-                self.dpl_state = dpl_state
-                self.fmm_state = fmm_state
-                self.nas_state = nas_state
-                self.wes_state = wes_state
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 242, struct.pack('<QBBBBBB', self.timestamp, self.ada_state, self.abk_state, self.dpl_state, self.fmm_state, self.nas_state, self.wes_state), force_mavlink1=force_mavlink1)
+    """
+    Flight State Machine status telemetry
+    """
+
+    id = MAVLINK_MSG_ID_FSM_TM
+    msgname = "FSM_TM"
+    fieldnames = ["timestamp", "ada_state", "abk_state", "dpl_state", "fmm_state", "nas_state", "wes_state"]
+    ordered_fieldnames = ["timestamp", "ada_state", "abk_state", "dpl_state", "fmm_state", "nas_state", "wes_state"]
+    fieldtypes = ["uint64_t", "uint8_t", "uint8_t", "uint8_t", "uint8_t", "uint8_t", "uint8_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us"}
+    native_format = bytearray(b"<QBBBBBB")
+    orders = [0, 1, 2, 3, 4, 5, 6]
+    lengths = [1, 1, 1, 1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 0, 0, 0, 0]
+    crc_extra = 242
+    unpacker = struct.Struct("<QBBBBBB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, ada_state: int, abk_state: int, dpl_state: int, fmm_state: int, nas_state: int, wes_state: int):
+        MAVLink_message.__init__(self, MAVLink_fsm_tm_message.id, MAVLink_fsm_tm_message.msgname)
+        self._fieldnames = MAVLink_fsm_tm_message.fieldnames
+        self._instance_field = MAVLink_fsm_tm_message.instance_field
+        self._instance_offset = MAVLink_fsm_tm_message.instance_offset
+        self.timestamp = timestamp
+        self.ada_state = ada_state
+        self.abk_state = abk_state
+        self.dpl_state = dpl_state
+        self.fmm_state = fmm_state
+        self.nas_state = nas_state
+        self.wes_state = wes_state
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.ada_state, self.abk_state, self.dpl_state, self.fmm_state, self.nas_state, self.wes_state), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_fsm_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_logger_tm_message(MAVLink_message):
-        '''
-        Logger status telemetry
-        '''
-        id = MAVLINK_MSG_ID_LOGGER_TM
-        name = 'LOGGER_TM'
-        fieldnames = ['timestamp', 'log_number', 'too_large_samples', 'dropped_samples', 'queued_samples', 'buffers_filled', 'buffers_written', 'writes_failed', 'last_write_error', 'average_write_time', 'max_write_time']
-        ordered_fieldnames = ['timestamp', 'too_large_samples', 'dropped_samples', 'queued_samples', 'buffers_filled', 'buffers_written', 'writes_failed', 'last_write_error', 'average_write_time', 'max_write_time', 'log_number']
-        fieldtypes = ['uint64_t', 'int16_t', 'int32_t', 'int32_t', 'int32_t', 'int32_t', 'int32_t', 'int32_t', 'int32_t', 'int32_t', 'int32_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us"}
-        format = '<Qiiiiiiiiih'
-        native_format = bytearray('<Qiiiiiiiiih', 'ascii')
-        orders = [0, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9]
-        lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
-        crc_extra = 142
-        unpacker = struct.Struct('<Qiiiiiiiiih')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, log_number, too_large_samples, dropped_samples, queued_samples, buffers_filled, buffers_written, writes_failed, last_write_error, average_write_time, max_write_time):
-                MAVLink_message.__init__(self, MAVLink_logger_tm_message.id, MAVLink_logger_tm_message.name)
-                self._fieldnames = MAVLink_logger_tm_message.fieldnames
-                self._instance_field = MAVLink_logger_tm_message.instance_field
-                self._instance_offset = MAVLink_logger_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.log_number = log_number
-                self.too_large_samples = too_large_samples
-                self.dropped_samples = dropped_samples
-                self.queued_samples = queued_samples
-                self.buffers_filled = buffers_filled
-                self.buffers_written = buffers_written
-                self.writes_failed = writes_failed
-                self.last_write_error = last_write_error
-                self.average_write_time = average_write_time
-                self.max_write_time = max_write_time
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 142, struct.pack('<Qiiiiiiiiih', self.timestamp, self.too_large_samples, self.dropped_samples, self.queued_samples, self.buffers_filled, self.buffers_written, self.writes_failed, self.last_write_error, self.average_write_time, self.max_write_time, self.log_number), force_mavlink1=force_mavlink1)
+    """
+    Logger status telemetry
+    """
+
+    id = MAVLINK_MSG_ID_LOGGER_TM
+    msgname = "LOGGER_TM"
+    fieldnames = ["timestamp", "log_number", "too_large_samples", "dropped_samples", "queued_samples", "buffers_filled", "buffers_written", "writes_failed", "last_write_error", "average_write_time", "max_write_time"]
+    ordered_fieldnames = ["timestamp", "too_large_samples", "dropped_samples", "queued_samples", "buffers_filled", "buffers_written", "writes_failed", "last_write_error", "average_write_time", "max_write_time", "log_number"]
+    fieldtypes = ["uint64_t", "int16_t", "int32_t", "int32_t", "int32_t", "int32_t", "int32_t", "int32_t", "int32_t", "int32_t", "int32_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us"}
+    native_format = bytearray(b"<Qiiiiiiiiih")
+    orders = [0, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+    lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+    crc_extra = 142
+    unpacker = struct.Struct("<Qiiiiiiiiih")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, log_number: int, too_large_samples: int, dropped_samples: int, queued_samples: int, buffers_filled: int, buffers_written: int, writes_failed: int, last_write_error: int, average_write_time: int, max_write_time: int):
+        MAVLink_message.__init__(self, MAVLink_logger_tm_message.id, MAVLink_logger_tm_message.msgname)
+        self._fieldnames = MAVLink_logger_tm_message.fieldnames
+        self._instance_field = MAVLink_logger_tm_message.instance_field
+        self._instance_offset = MAVLink_logger_tm_message.instance_offset
+        self.timestamp = timestamp
+        self.log_number = log_number
+        self.too_large_samples = too_large_samples
+        self.dropped_samples = dropped_samples
+        self.queued_samples = queued_samples
+        self.buffers_filled = buffers_filled
+        self.buffers_written = buffers_written
+        self.writes_failed = writes_failed
+        self.last_write_error = last_write_error
+        self.average_write_time = average_write_time
+        self.max_write_time = max_write_time
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.too_large_samples, self.dropped_samples, self.queued_samples, self.buffers_filled, self.buffers_written, self.writes_failed, self.last_write_error, self.average_write_time, self.max_write_time, self.log_number), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_logger_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_mavlink_stats_tm_message(MAVLink_message):
-        '''
-        Status of the TMTCManager telemetry
-        '''
-        id = MAVLINK_MSG_ID_MAVLINK_STATS_TM
-        name = 'MAVLINK_STATS_TM'
-        fieldnames = ['timestamp', 'n_send_queue', 'max_send_queue', 'n_send_errors', 'msg_received', 'buffer_overrun', 'parse_error', 'parse_state', 'packet_idx', 'current_rx_seq', 'current_tx_seq', 'packet_rx_success_count', 'packet_rx_drop_count']
-        ordered_fieldnames = ['timestamp', 'parse_state', 'n_send_queue', 'max_send_queue', 'n_send_errors', 'packet_rx_success_count', 'packet_rx_drop_count', 'msg_received', 'buffer_overrun', 'parse_error', 'packet_idx', 'current_rx_seq', 'current_tx_seq']
-        fieldtypes = ['uint64_t', 'uint16_t', 'uint16_t', 'uint16_t', 'uint8_t', 'uint8_t', 'uint8_t', 'uint32_t', 'uint8_t', 'uint8_t', 'uint8_t', 'uint16_t', 'uint16_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us"}
-        format = '<QIHHHHHBBBBBB'
-        native_format = bytearray('<QIHHHHHBBBBBB', 'ascii')
-        orders = [0, 2, 3, 4, 7, 8, 9, 1, 10, 11, 12, 5, 6]
-        lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
-        crc_extra = 108
-        unpacker = struct.Struct('<QIHHHHHBBBBBB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, n_send_queue, max_send_queue, n_send_errors, msg_received, buffer_overrun, parse_error, parse_state, packet_idx, current_rx_seq, current_tx_seq, packet_rx_success_count, packet_rx_drop_count):
-                MAVLink_message.__init__(self, MAVLink_mavlink_stats_tm_message.id, MAVLink_mavlink_stats_tm_message.name)
-                self._fieldnames = MAVLink_mavlink_stats_tm_message.fieldnames
-                self._instance_field = MAVLink_mavlink_stats_tm_message.instance_field
-                self._instance_offset = MAVLink_mavlink_stats_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.n_send_queue = n_send_queue
-                self.max_send_queue = max_send_queue
-                self.n_send_errors = n_send_errors
-                self.msg_received = msg_received
-                self.buffer_overrun = buffer_overrun
-                self.parse_error = parse_error
-                self.parse_state = parse_state
-                self.packet_idx = packet_idx
-                self.current_rx_seq = current_rx_seq
-                self.current_tx_seq = current_tx_seq
-                self.packet_rx_success_count = packet_rx_success_count
-                self.packet_rx_drop_count = packet_rx_drop_count
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 108, struct.pack('<QIHHHHHBBBBBB', self.timestamp, self.parse_state, self.n_send_queue, self.max_send_queue, self.n_send_errors, self.packet_rx_success_count, self.packet_rx_drop_count, self.msg_received, self.buffer_overrun, self.parse_error, self.packet_idx, self.current_rx_seq, self.current_tx_seq), force_mavlink1=force_mavlink1)
+    """
+    Status of the TMTCManager telemetry
+    """
+
+    id = MAVLINK_MSG_ID_MAVLINK_STATS_TM
+    msgname = "MAVLINK_STATS_TM"
+    fieldnames = ["timestamp", "n_send_queue", "max_send_queue", "n_send_errors", "msg_received", "buffer_overrun", "parse_error", "parse_state", "packet_idx", "current_rx_seq", "current_tx_seq", "packet_rx_success_count", "packet_rx_drop_count"]
+    ordered_fieldnames = ["timestamp", "parse_state", "n_send_queue", "max_send_queue", "n_send_errors", "packet_rx_success_count", "packet_rx_drop_count", "msg_received", "buffer_overrun", "parse_error", "packet_idx", "current_rx_seq", "current_tx_seq"]
+    fieldtypes = ["uint64_t", "uint16_t", "uint16_t", "uint16_t", "uint8_t", "uint8_t", "uint8_t", "uint32_t", "uint8_t", "uint8_t", "uint8_t", "uint16_t", "uint16_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us"}
+    native_format = bytearray(b"<QIHHHHHBBBBBB")
+    orders = [0, 2, 3, 4, 7, 8, 9, 1, 10, 11, 12, 5, 6]
+    lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+    crc_extra = 108
+    unpacker = struct.Struct("<QIHHHHHBBBBBB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, n_send_queue: int, max_send_queue: int, n_send_errors: int, msg_received: int, buffer_overrun: int, parse_error: int, parse_state: int, packet_idx: int, current_rx_seq: int, current_tx_seq: int, packet_rx_success_count: int, packet_rx_drop_count: int):
+        MAVLink_message.__init__(self, MAVLink_mavlink_stats_tm_message.id, MAVLink_mavlink_stats_tm_message.msgname)
+        self._fieldnames = MAVLink_mavlink_stats_tm_message.fieldnames
+        self._instance_field = MAVLink_mavlink_stats_tm_message.instance_field
+        self._instance_offset = MAVLink_mavlink_stats_tm_message.instance_offset
+        self.timestamp = timestamp
+        self.n_send_queue = n_send_queue
+        self.max_send_queue = max_send_queue
+        self.n_send_errors = n_send_errors
+        self.msg_received = msg_received
+        self.buffer_overrun = buffer_overrun
+        self.parse_error = parse_error
+        self.parse_state = parse_state
+        self.packet_idx = packet_idx
+        self.current_rx_seq = current_rx_seq
+        self.current_tx_seq = current_tx_seq
+        self.packet_rx_success_count = packet_rx_success_count
+        self.packet_rx_drop_count = packet_rx_drop_count
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.parse_state, self.n_send_queue, self.max_send_queue, self.n_send_errors, self.packet_rx_success_count, self.packet_rx_drop_count, self.msg_received, self.buffer_overrun, self.parse_error, self.packet_idx, self.current_rx_seq, self.current_tx_seq), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_mavlink_stats_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_task_stats_tm_message(MAVLink_message):
-        '''
-        Statistics of the Task Scheduler
-        '''
-        id = MAVLINK_MSG_ID_TASK_STATS_TM
-        name = 'TASK_STATS_TM'
-        fieldnames = ['timestamp', 'task_id', 'task_period', 'task_min', 'task_max', 'task_mean', 'task_stddev']
-        ordered_fieldnames = ['timestamp', 'task_min', 'task_max', 'task_mean', 'task_stddev', 'task_period', 'task_id']
-        fieldtypes = ['uint64_t', 'uint8_t', 'uint16_t', 'float', 'float', 'float', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us", "task_period": "ms"}
-        format = '<QffffHB'
-        native_format = bytearray('<QffffHB', 'ascii')
-        orders = [0, 6, 5, 1, 2, 3, 4]
-        lengths = [1, 1, 1, 1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 0, 0, 0, 0]
-        crc_extra = 133
-        unpacker = struct.Struct('<QffffHB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, task_id, task_period, task_min, task_max, task_mean, task_stddev):
-                MAVLink_message.__init__(self, MAVLink_task_stats_tm_message.id, MAVLink_task_stats_tm_message.name)
-                self._fieldnames = MAVLink_task_stats_tm_message.fieldnames
-                self._instance_field = MAVLink_task_stats_tm_message.instance_field
-                self._instance_offset = MAVLink_task_stats_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.task_id = task_id
-                self.task_period = task_period
-                self.task_min = task_min
-                self.task_max = task_max
-                self.task_mean = task_mean
-                self.task_stddev = task_stddev
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 133, struct.pack('<QffffHB', self.timestamp, self.task_min, self.task_max, self.task_mean, self.task_stddev, self.task_period, self.task_id), force_mavlink1=force_mavlink1)
+    """
+    Statistics of the Task Scheduler
+    """
+
+    id = MAVLINK_MSG_ID_TASK_STATS_TM
+    msgname = "TASK_STATS_TM"
+    fieldnames = ["timestamp", "task_id", "task_period", "task_min", "task_max", "task_mean", "task_stddev"]
+    ordered_fieldnames = ["timestamp", "task_min", "task_max", "task_mean", "task_stddev", "task_period", "task_id"]
+    fieldtypes = ["uint64_t", "uint8_t", "uint16_t", "float", "float", "float", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us", "task_period": "ms"}
+    native_format = bytearray(b"<QffffHB")
+    orders = [0, 6, 5, 1, 2, 3, 4]
+    lengths = [1, 1, 1, 1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 0, 0, 0, 0]
+    crc_extra = 133
+    unpacker = struct.Struct("<QffffHB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, task_id: int, task_period: int, task_min: float, task_max: float, task_mean: float, task_stddev: float):
+        MAVLink_message.__init__(self, MAVLink_task_stats_tm_message.id, MAVLink_task_stats_tm_message.msgname)
+        self._fieldnames = MAVLink_task_stats_tm_message.fieldnames
+        self._instance_field = MAVLink_task_stats_tm_message.instance_field
+        self._instance_offset = MAVLink_task_stats_tm_message.instance_offset
+        self.timestamp = timestamp
+        self.task_id = task_id
+        self.task_period = task_period
+        self.task_min = task_min
+        self.task_max = task_max
+        self.task_mean = task_mean
+        self.task_stddev = task_stddev
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.task_min, self.task_max, self.task_mean, self.task_stddev, self.task_period, self.task_id), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_task_stats_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_ada_tm_message(MAVLink_message):
-        '''
-        Apogee Detection Algorithm status telemetry
-        '''
-        id = MAVLINK_MSG_ID_ADA_TM
-        name = 'ADA_TM'
-        fieldnames = ['timestamp', 'state', 'kalman_x0', 'kalman_x1', 'kalman_x2', 'vertical_speed', 'msl_altitude', 'ref_pressure', 'ref_altitude', 'ref_temperature', 'msl_pressure', 'msl_temperature', 'dpl_altitude']
-        ordered_fieldnames = ['timestamp', 'kalman_x0', 'kalman_x1', 'kalman_x2', 'vertical_speed', 'msl_altitude', 'ref_pressure', 'ref_altitude', 'ref_temperature', 'msl_pressure', 'msl_temperature', 'dpl_altitude', 'state']
-        fieldtypes = ['uint64_t', 'uint8_t', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us", "vertical_speed": "m/s", "msl_altitude": "m", "ref_pressure": "Pa", "ref_altitude": "m", "ref_temperature": "degC", "msl_pressure": "Pa", "msl_temperature": "degC", "dpl_altitude": "m"}
-        format = '<QfffffffffffB'
-        native_format = bytearray('<QfffffffffffB', 'ascii')
-        orders = [0, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
-        lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
-        crc_extra = 234
-        unpacker = struct.Struct('<QfffffffffffB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, state, kalman_x0, kalman_x1, kalman_x2, vertical_speed, msl_altitude, ref_pressure, ref_altitude, ref_temperature, msl_pressure, msl_temperature, dpl_altitude):
-                MAVLink_message.__init__(self, MAVLink_ada_tm_message.id, MAVLink_ada_tm_message.name)
-                self._fieldnames = MAVLink_ada_tm_message.fieldnames
-                self._instance_field = MAVLink_ada_tm_message.instance_field
-                self._instance_offset = MAVLink_ada_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.state = state
-                self.kalman_x0 = kalman_x0
-                self.kalman_x1 = kalman_x1
-                self.kalman_x2 = kalman_x2
-                self.vertical_speed = vertical_speed
-                self.msl_altitude = msl_altitude
-                self.ref_pressure = ref_pressure
-                self.ref_altitude = ref_altitude
-                self.ref_temperature = ref_temperature
-                self.msl_pressure = msl_pressure
-                self.msl_temperature = msl_temperature
-                self.dpl_altitude = dpl_altitude
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 234, struct.pack('<QfffffffffffB', self.timestamp, self.kalman_x0, self.kalman_x1, self.kalman_x2, self.vertical_speed, self.msl_altitude, self.ref_pressure, self.ref_altitude, self.ref_temperature, self.msl_pressure, self.msl_temperature, self.dpl_altitude, self.state), force_mavlink1=force_mavlink1)
+    """
+    Apogee Detection Algorithm status telemetry
+    """
+
+    id = MAVLINK_MSG_ID_ADA_TM
+    msgname = "ADA_TM"
+    fieldnames = ["timestamp", "state", "kalman_x0", "kalman_x1", "kalman_x2", "vertical_speed", "msl_altitude", "ref_pressure", "ref_altitude", "ref_temperature", "msl_pressure", "msl_temperature", "dpl_altitude"]
+    ordered_fieldnames = ["timestamp", "kalman_x0", "kalman_x1", "kalman_x2", "vertical_speed", "msl_altitude", "ref_pressure", "ref_altitude", "ref_temperature", "msl_pressure", "msl_temperature", "dpl_altitude", "state"]
+    fieldtypes = ["uint64_t", "uint8_t", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us", "vertical_speed": "m/s", "msl_altitude": "m", "ref_pressure": "Pa", "ref_altitude": "m", "ref_temperature": "degC", "msl_pressure": "Pa", "msl_temperature": "degC", "dpl_altitude": "m"}
+    native_format = bytearray(b"<QfffffffffffB")
+    orders = [0, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
+    lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+    crc_extra = 234
+    unpacker = struct.Struct("<QfffffffffffB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, state: int, kalman_x0: float, kalman_x1: float, kalman_x2: float, vertical_speed: float, msl_altitude: float, ref_pressure: float, ref_altitude: float, ref_temperature: float, msl_pressure: float, msl_temperature: float, dpl_altitude: float):
+        MAVLink_message.__init__(self, MAVLink_ada_tm_message.id, MAVLink_ada_tm_message.msgname)
+        self._fieldnames = MAVLink_ada_tm_message.fieldnames
+        self._instance_field = MAVLink_ada_tm_message.instance_field
+        self._instance_offset = MAVLink_ada_tm_message.instance_offset
+        self.timestamp = timestamp
+        self.state = state
+        self.kalman_x0 = kalman_x0
+        self.kalman_x1 = kalman_x1
+        self.kalman_x2 = kalman_x2
+        self.vertical_speed = vertical_speed
+        self.msl_altitude = msl_altitude
+        self.ref_pressure = ref_pressure
+        self.ref_altitude = ref_altitude
+        self.ref_temperature = ref_temperature
+        self.msl_pressure = msl_pressure
+        self.msl_temperature = msl_temperature
+        self.dpl_altitude = dpl_altitude
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.kalman_x0, self.kalman_x1, self.kalman_x2, self.vertical_speed, self.msl_altitude, self.ref_pressure, self.ref_altitude, self.ref_temperature, self.msl_pressure, self.msl_temperature, self.dpl_altitude, self.state), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_ada_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_nas_tm_message(MAVLink_message):
-        '''
-        Navigation System status telemetry
-        '''
-        id = MAVLINK_MSG_ID_NAS_TM
-        name = 'NAS_TM'
-        fieldnames = ['timestamp', 'state', 'nas_n', 'nas_e', 'nas_d', 'nas_vn', 'nas_ve', 'nas_vd', 'nas_qx', 'nas_qy', 'nas_qz', 'nas_qw', 'nas_bias_x', 'nas_bias_y', 'nas_bias_z', 'ref_pressure', 'ref_temperature', 'ref_latitude', 'ref_longitude']
-        ordered_fieldnames = ['timestamp', 'nas_n', 'nas_e', 'nas_d', 'nas_vn', 'nas_ve', 'nas_vd', 'nas_qx', 'nas_qy', 'nas_qz', 'nas_qw', 'nas_bias_x', 'nas_bias_y', 'nas_bias_z', 'ref_pressure', 'ref_temperature', 'ref_latitude', 'ref_longitude', 'state']
-        fieldtypes = ['uint64_t', 'uint8_t', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us", "nas_n": "deg", "nas_e": "deg", "nas_d": "m", "nas_vn": "m/s", "nas_ve": "m/s", "nas_vd": "m/s", "nas_qx": "deg", "nas_qy": "deg", "nas_qz": "deg", "nas_qw": "deg", "ref_pressure": "Pa", "ref_temperature": "degC", "ref_latitude": "deg", "ref_longitude": "deg"}
-        format = '<QfffffffffffffffffB'
-        native_format = bytearray('<QfffffffffffffffffB', 'ascii')
-        orders = [0, 18, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
-        lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
-        crc_extra = 66
-        unpacker = struct.Struct('<QfffffffffffffffffB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, state, nas_n, nas_e, nas_d, nas_vn, nas_ve, nas_vd, nas_qx, nas_qy, nas_qz, nas_qw, nas_bias_x, nas_bias_y, nas_bias_z, ref_pressure, ref_temperature, ref_latitude, ref_longitude):
-                MAVLink_message.__init__(self, MAVLink_nas_tm_message.id, MAVLink_nas_tm_message.name)
-                self._fieldnames = MAVLink_nas_tm_message.fieldnames
-                self._instance_field = MAVLink_nas_tm_message.instance_field
-                self._instance_offset = MAVLink_nas_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.state = state
-                self.nas_n = nas_n
-                self.nas_e = nas_e
-                self.nas_d = nas_d
-                self.nas_vn = nas_vn
-                self.nas_ve = nas_ve
-                self.nas_vd = nas_vd
-                self.nas_qx = nas_qx
-                self.nas_qy = nas_qy
-                self.nas_qz = nas_qz
-                self.nas_qw = nas_qw
-                self.nas_bias_x = nas_bias_x
-                self.nas_bias_y = nas_bias_y
-                self.nas_bias_z = nas_bias_z
-                self.ref_pressure = ref_pressure
-                self.ref_temperature = ref_temperature
-                self.ref_latitude = ref_latitude
-                self.ref_longitude = ref_longitude
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 66, struct.pack('<QfffffffffffffffffB', self.timestamp, self.nas_n, self.nas_e, self.nas_d, self.nas_vn, self.nas_ve, self.nas_vd, self.nas_qx, self.nas_qy, self.nas_qz, self.nas_qw, self.nas_bias_x, self.nas_bias_y, self.nas_bias_z, self.ref_pressure, self.ref_temperature, self.ref_latitude, self.ref_longitude, self.state), force_mavlink1=force_mavlink1)
+    """
+    Navigation System status telemetry
+    """
+
+    id = MAVLINK_MSG_ID_NAS_TM
+    msgname = "NAS_TM"
+    fieldnames = ["timestamp", "state", "nas_n", "nas_e", "nas_d", "nas_vn", "nas_ve", "nas_vd", "nas_qx", "nas_qy", "nas_qz", "nas_qw", "nas_bias_x", "nas_bias_y", "nas_bias_z", "ref_pressure", "ref_temperature", "ref_latitude", "ref_longitude"]
+    ordered_fieldnames = ["timestamp", "nas_n", "nas_e", "nas_d", "nas_vn", "nas_ve", "nas_vd", "nas_qx", "nas_qy", "nas_qz", "nas_qw", "nas_bias_x", "nas_bias_y", "nas_bias_z", "ref_pressure", "ref_temperature", "ref_latitude", "ref_longitude", "state"]
+    fieldtypes = ["uint64_t", "uint8_t", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us", "nas_n": "deg", "nas_e": "deg", "nas_d": "m", "nas_vn": "m/s", "nas_ve": "m/s", "nas_vd": "m/s", "nas_qx": "deg", "nas_qy": "deg", "nas_qz": "deg", "nas_qw": "deg", "ref_pressure": "Pa", "ref_temperature": "degC", "ref_latitude": "deg", "ref_longitude": "deg"}
+    native_format = bytearray(b"<QfffffffffffffffffB")
+    orders = [0, 18, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
+    lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+    crc_extra = 66
+    unpacker = struct.Struct("<QfffffffffffffffffB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, state: int, nas_n: float, nas_e: float, nas_d: float, nas_vn: float, nas_ve: float, nas_vd: float, nas_qx: float, nas_qy: float, nas_qz: float, nas_qw: float, nas_bias_x: float, nas_bias_y: float, nas_bias_z: float, ref_pressure: float, ref_temperature: float, ref_latitude: float, ref_longitude: float):
+        MAVLink_message.__init__(self, MAVLink_nas_tm_message.id, MAVLink_nas_tm_message.msgname)
+        self._fieldnames = MAVLink_nas_tm_message.fieldnames
+        self._instance_field = MAVLink_nas_tm_message.instance_field
+        self._instance_offset = MAVLink_nas_tm_message.instance_offset
+        self.timestamp = timestamp
+        self.state = state
+        self.nas_n = nas_n
+        self.nas_e = nas_e
+        self.nas_d = nas_d
+        self.nas_vn = nas_vn
+        self.nas_ve = nas_ve
+        self.nas_vd = nas_vd
+        self.nas_qx = nas_qx
+        self.nas_qy = nas_qy
+        self.nas_qz = nas_qz
+        self.nas_qw = nas_qw
+        self.nas_bias_x = nas_bias_x
+        self.nas_bias_y = nas_bias_y
+        self.nas_bias_z = nas_bias_z
+        self.ref_pressure = ref_pressure
+        self.ref_temperature = ref_temperature
+        self.ref_latitude = ref_latitude
+        self.ref_longitude = ref_longitude
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.nas_n, self.nas_e, self.nas_d, self.nas_vn, self.nas_ve, self.nas_vd, self.nas_qx, self.nas_qy, self.nas_qz, self.nas_qw, self.nas_bias_x, self.nas_bias_y, self.nas_bias_z, self.ref_pressure, self.ref_temperature, self.ref_latitude, self.ref_longitude, self.state), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_nas_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_mea_tm_message(MAVLink_message):
-        '''
-        Mass Estimation Algorithm status telemetry
-        '''
-        id = MAVLINK_MSG_ID_MEA_TM
-        name = 'MEA_TM'
-        fieldnames = ['timestamp', 'state', 'kalman_x0', 'kalman_x1', 'kalman_x2', 'mass', 'corrected_pressure']
-        ordered_fieldnames = ['timestamp', 'kalman_x0', 'kalman_x1', 'kalman_x2', 'mass', 'corrected_pressure', 'state']
-        fieldtypes = ['uint64_t', 'uint8_t', 'float', 'float', 'float', 'float', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us", "mass": "kg", "corrected_pressure": "kg"}
-        format = '<QfffffB'
-        native_format = bytearray('<QfffffB', 'ascii')
-        orders = [0, 6, 1, 2, 3, 4, 5]
-        lengths = [1, 1, 1, 1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 0, 0, 0, 0]
-        crc_extra = 11
-        unpacker = struct.Struct('<QfffffB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, state, kalman_x0, kalman_x1, kalman_x2, mass, corrected_pressure):
-                MAVLink_message.__init__(self, MAVLink_mea_tm_message.id, MAVLink_mea_tm_message.name)
-                self._fieldnames = MAVLink_mea_tm_message.fieldnames
-                self._instance_field = MAVLink_mea_tm_message.instance_field
-                self._instance_offset = MAVLink_mea_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.state = state
-                self.kalman_x0 = kalman_x0
-                self.kalman_x1 = kalman_x1
-                self.kalman_x2 = kalman_x2
-                self.mass = mass
-                self.corrected_pressure = corrected_pressure
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 11, struct.pack('<QfffffB', self.timestamp, self.kalman_x0, self.kalman_x1, self.kalman_x2, self.mass, self.corrected_pressure, self.state), force_mavlink1=force_mavlink1)
+    """
+    Mass Estimation Algorithm status telemetry
+    """
+
+    id = MAVLINK_MSG_ID_MEA_TM
+    msgname = "MEA_TM"
+    fieldnames = ["timestamp", "state", "kalman_x0", "kalman_x1", "kalman_x2", "mass", "corrected_pressure"]
+    ordered_fieldnames = ["timestamp", "kalman_x0", "kalman_x1", "kalman_x2", "mass", "corrected_pressure", "state"]
+    fieldtypes = ["uint64_t", "uint8_t", "float", "float", "float", "float", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us", "mass": "kg", "corrected_pressure": "kg"}
+    native_format = bytearray(b"<QfffffB")
+    orders = [0, 6, 1, 2, 3, 4, 5]
+    lengths = [1, 1, 1, 1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 0, 0, 0, 0]
+    crc_extra = 11
+    unpacker = struct.Struct("<QfffffB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, state: int, kalman_x0: float, kalman_x1: float, kalman_x2: float, mass: float, corrected_pressure: float):
+        MAVLink_message.__init__(self, MAVLink_mea_tm_message.id, MAVLink_mea_tm_message.msgname)
+        self._fieldnames = MAVLink_mea_tm_message.fieldnames
+        self._instance_field = MAVLink_mea_tm_message.instance_field
+        self._instance_offset = MAVLink_mea_tm_message.instance_offset
+        self.timestamp = timestamp
+        self.state = state
+        self.kalman_x0 = kalman_x0
+        self.kalman_x1 = kalman_x1
+        self.kalman_x2 = kalman_x2
+        self.mass = mass
+        self.corrected_pressure = corrected_pressure
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.kalman_x0, self.kalman_x1, self.kalman_x2, self.mass, self.corrected_pressure, self.state), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_mea_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_rocket_flight_tm_message(MAVLink_message):
-        '''
-        High Rate Telemetry
-        '''
-        id = MAVLINK_MSG_ID_ROCKET_FLIGHT_TM
-        name = 'ROCKET_FLIGHT_TM'
-        fieldnames = ['timestamp', 'ada_state', 'fmm_state', 'dpl_state', 'abk_state', 'nas_state', 'mea_state', 'pressure_ada', 'pressure_digi', 'pressure_static', 'pressure_dpl', 'airspeed_pitot', 'altitude_agl', 'ada_vert_speed', 'mea_mass', 'acc_x', 'acc_y', 'acc_z', 'gyro_x', 'gyro_y', 'gyro_z', 'mag_x', 'mag_y', 'mag_z', 'gps_fix', 'gps_lat', 'gps_lon', 'gps_alt', 'abk_angle', 'nas_n', 'nas_e', 'nas_d', 'nas_vn', 'nas_ve', 'nas_vd', 'nas_qx', 'nas_qy', 'nas_qz', 'nas_qw', 'nas_bias_x', 'nas_bias_y', 'nas_bias_z', 'pin_quick_connector', 'pin_launch', 'pin_nosecone', 'pin_expulsion', 'cutter_presence', 'battery_voltage', 'cam_battery_voltage', 'current_consumption', 'temperature', 'logger_error']
-        ordered_fieldnames = ['timestamp', 'pressure_ada', 'pressure_digi', 'pressure_static', 'pressure_dpl', 'airspeed_pitot', 'altitude_agl', 'ada_vert_speed', 'mea_mass', 'acc_x', 'acc_y', 'acc_z', 'gyro_x', 'gyro_y', 'gyro_z', 'mag_x', 'mag_y', 'mag_z', 'gps_lat', 'gps_lon', 'gps_alt', 'abk_angle', 'nas_n', 'nas_e', 'nas_d', 'nas_vn', 'nas_ve', 'nas_vd', 'nas_qx', 'nas_qy', 'nas_qz', 'nas_qw', 'nas_bias_x', 'nas_bias_y', 'nas_bias_z', 'pin_quick_connector', 'battery_voltage', 'cam_battery_voltage', 'current_consumption', 'temperature', 'ada_state', 'fmm_state', 'dpl_state', 'abk_state', 'nas_state', 'mea_state', 'gps_fix', 'pin_launch', 'pin_nosecone', 'pin_expulsion', 'cutter_presence', 'logger_error']
-        fieldtypes = ['uint64_t', 'uint8_t', 'uint8_t', 'uint8_t', 'uint8_t', 'uint8_t', 'uint8_t', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'uint8_t', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'uint8_t', 'uint8_t', 'uint8_t', 'uint8_t', 'float', 'float', 'float', 'float', 'int8_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us", "pressure_ada": "Pa", "pressure_digi": "Pa", "pressure_static": "Pa", "pressure_dpl": "Pa", "airspeed_pitot": "m/s", "altitude_agl": "m", "ada_vert_speed": "m/s", "mea_mass": "kg", "acc_x": "m/s^2", "acc_y": "m/s^2", "acc_z": "m/s^2", "gyro_x": "rad/s", "gyro_y": "rad/s", "gyro_z": "rad/s", "mag_x": "uT", "mag_y": "uT", "mag_z": "uT", "gps_lat": "deg", "gps_lon": "deg", "gps_alt": "m", "abk_angle": "deg", "nas_n": "deg", "nas_e": "deg", "nas_d": "m", "nas_vn": "m/s", "nas_ve": "m/s", "nas_vd": "m/s", "nas_qx": "deg", "nas_qy": "deg", "nas_qz": "deg", "nas_qw": "deg", "battery_voltage": "V", "cam_battery_voltage": "V", "current_consumption": "A", "temperature": "degC"}
-        format = '<QfffffffffffffffffffffffffffffffffffffffBBBBBBBBBBBb'
-        native_format = bytearray('<QfffffffffffffffffffffffffffffffffffffffBBBBBBBBBBBb', 'ascii')
-        orders = [0, 40, 41, 42, 43, 44, 45, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 46, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 47, 48, 49, 50, 36, 37, 38, 39, 51]
-        lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
-        crc_extra = 214
-        unpacker = struct.Struct('<QfffffffffffffffffffffffffffffffffffffffBBBBBBBBBBBb')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, ada_state, fmm_state, dpl_state, abk_state, nas_state, mea_state, pressure_ada, pressure_digi, pressure_static, pressure_dpl, airspeed_pitot, altitude_agl, ada_vert_speed, mea_mass, acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z, mag_x, mag_y, mag_z, gps_fix, gps_lat, gps_lon, gps_alt, abk_angle, nas_n, nas_e, nas_d, nas_vn, nas_ve, nas_vd, nas_qx, nas_qy, nas_qz, nas_qw, nas_bias_x, nas_bias_y, nas_bias_z, pin_quick_connector, pin_launch, pin_nosecone, pin_expulsion, cutter_presence, battery_voltage, cam_battery_voltage, current_consumption, temperature, logger_error):
-                MAVLink_message.__init__(self, MAVLink_rocket_flight_tm_message.id, MAVLink_rocket_flight_tm_message.name)
-                self._fieldnames = MAVLink_rocket_flight_tm_message.fieldnames
-                self._instance_field = MAVLink_rocket_flight_tm_message.instance_field
-                self._instance_offset = MAVLink_rocket_flight_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.ada_state = ada_state
-                self.fmm_state = fmm_state
-                self.dpl_state = dpl_state
-                self.abk_state = abk_state
-                self.nas_state = nas_state
-                self.mea_state = mea_state
-                self.pressure_ada = pressure_ada
-                self.pressure_digi = pressure_digi
-                self.pressure_static = pressure_static
-                self.pressure_dpl = pressure_dpl
-                self.airspeed_pitot = airspeed_pitot
-                self.altitude_agl = altitude_agl
-                self.ada_vert_speed = ada_vert_speed
-                self.mea_mass = mea_mass
-                self.acc_x = acc_x
-                self.acc_y = acc_y
-                self.acc_z = acc_z
-                self.gyro_x = gyro_x
-                self.gyro_y = gyro_y
-                self.gyro_z = gyro_z
-                self.mag_x = mag_x
-                self.mag_y = mag_y
-                self.mag_z = mag_z
-                self.gps_fix = gps_fix
-                self.gps_lat = gps_lat
-                self.gps_lon = gps_lon
-                self.gps_alt = gps_alt
-                self.abk_angle = abk_angle
-                self.nas_n = nas_n
-                self.nas_e = nas_e
-                self.nas_d = nas_d
-                self.nas_vn = nas_vn
-                self.nas_ve = nas_ve
-                self.nas_vd = nas_vd
-                self.nas_qx = nas_qx
-                self.nas_qy = nas_qy
-                self.nas_qz = nas_qz
-                self.nas_qw = nas_qw
-                self.nas_bias_x = nas_bias_x
-                self.nas_bias_y = nas_bias_y
-                self.nas_bias_z = nas_bias_z
-                self.pin_quick_connector = pin_quick_connector
-                self.pin_launch = pin_launch
-                self.pin_nosecone = pin_nosecone
-                self.pin_expulsion = pin_expulsion
-                self.cutter_presence = cutter_presence
-                self.battery_voltage = battery_voltage
-                self.cam_battery_voltage = cam_battery_voltage
-                self.current_consumption = current_consumption
-                self.temperature = temperature
-                self.logger_error = logger_error
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 214, struct.pack('<QfffffffffffffffffffffffffffffffffffffffBBBBBBBBBBBb', self.timestamp, self.pressure_ada, self.pressure_digi, self.pressure_static, self.pressure_dpl, self.airspeed_pitot, self.altitude_agl, self.ada_vert_speed, self.mea_mass, self.acc_x, self.acc_y, self.acc_z, self.gyro_x, self.gyro_y, self.gyro_z, self.mag_x, self.mag_y, self.mag_z, self.gps_lat, self.gps_lon, self.gps_alt, self.abk_angle, self.nas_n, self.nas_e, self.nas_d, self.nas_vn, self.nas_ve, self.nas_vd, self.nas_qx, self.nas_qy, self.nas_qz, self.nas_qw, self.nas_bias_x, self.nas_bias_y, self.nas_bias_z, self.pin_quick_connector, self.battery_voltage, self.cam_battery_voltage, self.current_consumption, self.temperature, self.ada_state, self.fmm_state, self.dpl_state, self.abk_state, self.nas_state, self.mea_state, self.gps_fix, self.pin_launch, self.pin_nosecone, self.pin_expulsion, self.cutter_presence, self.logger_error), force_mavlink1=force_mavlink1)
+    """
+    High Rate Telemetry
+    """
+
+    id = MAVLINK_MSG_ID_ROCKET_FLIGHT_TM
+    msgname = "ROCKET_FLIGHT_TM"
+    fieldnames = ["timestamp", "ada_state", "fmm_state", "dpl_state", "abk_state", "nas_state", "mea_state", "pressure_ada", "pressure_digi", "pressure_static", "pressure_dpl", "airspeed_pitot", "altitude_agl", "ada_vert_speed", "mea_mass", "acc_x", "acc_y", "acc_z", "gyro_x", "gyro_y", "gyro_z", "mag_x", "mag_y", "mag_z", "gps_fix", "gps_lat", "gps_lon", "gps_alt", "abk_angle", "nas_n", "nas_e", "nas_d", "nas_vn", "nas_ve", "nas_vd", "nas_qx", "nas_qy", "nas_qz", "nas_qw", "nas_bias_x", "nas_bias_y", "nas_bias_z", "pin_quick_connector", "pin_launch", "pin_nosecone", "pin_expulsion", "cutter_presence", "battery_voltage", "cam_battery_voltage", "current_consumption", "temperature", "logger_error"]
+    ordered_fieldnames = ["timestamp", "pressure_ada", "pressure_digi", "pressure_static", "pressure_dpl", "airspeed_pitot", "altitude_agl", "ada_vert_speed", "mea_mass", "acc_x", "acc_y", "acc_z", "gyro_x", "gyro_y", "gyro_z", "mag_x", "mag_y", "mag_z", "gps_lat", "gps_lon", "gps_alt", "abk_angle", "nas_n", "nas_e", "nas_d", "nas_vn", "nas_ve", "nas_vd", "nas_qx", "nas_qy", "nas_qz", "nas_qw", "nas_bias_x", "nas_bias_y", "nas_bias_z", "pin_quick_connector", "battery_voltage", "cam_battery_voltage", "current_consumption", "temperature", "ada_state", "fmm_state", "dpl_state", "abk_state", "nas_state", "mea_state", "gps_fix", "pin_launch", "pin_nosecone", "pin_expulsion", "cutter_presence", "logger_error"]
+    fieldtypes = ["uint64_t", "uint8_t", "uint8_t", "uint8_t", "uint8_t", "uint8_t", "uint8_t", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "uint8_t", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "uint8_t", "uint8_t", "uint8_t", "uint8_t", "float", "float", "float", "float", "int8_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us", "pressure_ada": "Pa", "pressure_digi": "Pa", "pressure_static": "Pa", "pressure_dpl": "Pa", "airspeed_pitot": "m/s", "altitude_agl": "m", "ada_vert_speed": "m/s", "mea_mass": "kg", "acc_x": "m/s^2", "acc_y": "m/s^2", "acc_z": "m/s^2", "gyro_x": "rad/s", "gyro_y": "rad/s", "gyro_z": "rad/s", "mag_x": "uT", "mag_y": "uT", "mag_z": "uT", "gps_lat": "deg", "gps_lon": "deg", "gps_alt": "m", "abk_angle": "deg", "nas_n": "deg", "nas_e": "deg", "nas_d": "m", "nas_vn": "m/s", "nas_ve": "m/s", "nas_vd": "m/s", "nas_qx": "deg", "nas_qy": "deg", "nas_qz": "deg", "nas_qw": "deg", "battery_voltage": "V", "cam_battery_voltage": "V", "current_consumption": "A", "temperature": "degC"}
+    native_format = bytearray(b"<QfffffffffffffffffffffffffffffffffffffffBBBBBBBBBBBb")
+    orders = [0, 40, 41, 42, 43, 44, 45, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 46, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 47, 48, 49, 50, 36, 37, 38, 39, 51]
+    lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+    crc_extra = 214
+    unpacker = struct.Struct("<QfffffffffffffffffffffffffffffffffffffffBBBBBBBBBBBb")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, ada_state: int, fmm_state: int, dpl_state: int, abk_state: int, nas_state: int, mea_state: int, pressure_ada: float, pressure_digi: float, pressure_static: float, pressure_dpl: float, airspeed_pitot: float, altitude_agl: float, ada_vert_speed: float, mea_mass: float, acc_x: float, acc_y: float, acc_z: float, gyro_x: float, gyro_y: float, gyro_z: float, mag_x: float, mag_y: float, mag_z: float, gps_fix: int, gps_lat: float, gps_lon: float, gps_alt: float, abk_angle: float, nas_n: float, nas_e: float, nas_d: float, nas_vn: float, nas_ve: float, nas_vd: float, nas_qx: float, nas_qy: float, nas_qz: float, nas_qw: float, nas_bias_x: float, nas_bias_y: float, nas_bias_z: float, pin_quick_connector: float, pin_launch: int, pin_nosecone: int, pin_expulsion: int, cutter_presence: int, battery_voltage: float, cam_battery_voltage: float, current_consumption: float, temperature: float, logger_error: int):
+        MAVLink_message.__init__(self, MAVLink_rocket_flight_tm_message.id, MAVLink_rocket_flight_tm_message.msgname)
+        self._fieldnames = MAVLink_rocket_flight_tm_message.fieldnames
+        self._instance_field = MAVLink_rocket_flight_tm_message.instance_field
+        self._instance_offset = MAVLink_rocket_flight_tm_message.instance_offset
+        self.timestamp = timestamp
+        self.ada_state = ada_state
+        self.fmm_state = fmm_state
+        self.dpl_state = dpl_state
+        self.abk_state = abk_state
+        self.nas_state = nas_state
+        self.mea_state = mea_state
+        self.pressure_ada = pressure_ada
+        self.pressure_digi = pressure_digi
+        self.pressure_static = pressure_static
+        self.pressure_dpl = pressure_dpl
+        self.airspeed_pitot = airspeed_pitot
+        self.altitude_agl = altitude_agl
+        self.ada_vert_speed = ada_vert_speed
+        self.mea_mass = mea_mass
+        self.acc_x = acc_x
+        self.acc_y = acc_y
+        self.acc_z = acc_z
+        self.gyro_x = gyro_x
+        self.gyro_y = gyro_y
+        self.gyro_z = gyro_z
+        self.mag_x = mag_x
+        self.mag_y = mag_y
+        self.mag_z = mag_z
+        self.gps_fix = gps_fix
+        self.gps_lat = gps_lat
+        self.gps_lon = gps_lon
+        self.gps_alt = gps_alt
+        self.abk_angle = abk_angle
+        self.nas_n = nas_n
+        self.nas_e = nas_e
+        self.nas_d = nas_d
+        self.nas_vn = nas_vn
+        self.nas_ve = nas_ve
+        self.nas_vd = nas_vd
+        self.nas_qx = nas_qx
+        self.nas_qy = nas_qy
+        self.nas_qz = nas_qz
+        self.nas_qw = nas_qw
+        self.nas_bias_x = nas_bias_x
+        self.nas_bias_y = nas_bias_y
+        self.nas_bias_z = nas_bias_z
+        self.pin_quick_connector = pin_quick_connector
+        self.pin_launch = pin_launch
+        self.pin_nosecone = pin_nosecone
+        self.pin_expulsion = pin_expulsion
+        self.cutter_presence = cutter_presence
+        self.battery_voltage = battery_voltage
+        self.cam_battery_voltage = cam_battery_voltage
+        self.current_consumption = current_consumption
+        self.temperature = temperature
+        self.logger_error = logger_error
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.pressure_ada, self.pressure_digi, self.pressure_static, self.pressure_dpl, self.airspeed_pitot, self.altitude_agl, self.ada_vert_speed, self.mea_mass, self.acc_x, self.acc_y, self.acc_z, self.gyro_x, self.gyro_y, self.gyro_z, self.mag_x, self.mag_y, self.mag_z, self.gps_lat, self.gps_lon, self.gps_alt, self.abk_angle, self.nas_n, self.nas_e, self.nas_d, self.nas_vn, self.nas_ve, self.nas_vd, self.nas_qx, self.nas_qy, self.nas_qz, self.nas_qw, self.nas_bias_x, self.nas_bias_y, self.nas_bias_z, self.pin_quick_connector, self.battery_voltage, self.cam_battery_voltage, self.current_consumption, self.temperature, self.ada_state, self.fmm_state, self.dpl_state, self.abk_state, self.nas_state, self.mea_state, self.gps_fix, self.pin_launch, self.pin_nosecone, self.pin_expulsion, self.cutter_presence, self.logger_error), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_rocket_flight_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_payload_flight_tm_message(MAVLink_message):
-        '''
-        High Rate Telemetry
-        '''
-        id = MAVLINK_MSG_ID_PAYLOAD_FLIGHT_TM
-        name = 'PAYLOAD_FLIGHT_TM'
-        fieldnames = ['timestamp', 'fmm_state', 'nas_state', 'wes_state', 'pressure_digi', 'pressure_static', 'airspeed_pitot', 'altitude_agl', 'acc_x', 'acc_y', 'acc_z', 'gyro_x', 'gyro_y', 'gyro_z', 'mag_x', 'mag_y', 'mag_z', 'gps_fix', 'gps_lat', 'gps_lon', 'gps_alt', 'left_servo_angle', 'right_servo_angle', 'nas_n', 'nas_e', 'nas_d', 'nas_vn', 'nas_ve', 'nas_vd', 'nas_qx', 'nas_qy', 'nas_qz', 'nas_qw', 'nas_bias_x', 'nas_bias_y', 'nas_bias_z', 'wes_n', 'wes_e', 'pin_nosecone', 'battery_voltage', 'cam_battery_voltage', 'current_consumption', 'cutter_presence', 'temperature', 'logger_error']
-        ordered_fieldnames = ['timestamp', 'pressure_digi', 'pressure_static', 'airspeed_pitot', 'altitude_agl', 'acc_x', 'acc_y', 'acc_z', 'gyro_x', 'gyro_y', 'gyro_z', 'mag_x', 'mag_y', 'mag_z', 'gps_lat', 'gps_lon', 'gps_alt', 'left_servo_angle', 'right_servo_angle', 'nas_n', 'nas_e', 'nas_d', 'nas_vn', 'nas_ve', 'nas_vd', 'nas_qx', 'nas_qy', 'nas_qz', 'nas_qw', 'nas_bias_x', 'nas_bias_y', 'nas_bias_z', 'wes_n', 'wes_e', 'battery_voltage', 'cam_battery_voltage', 'current_consumption', 'temperature', 'fmm_state', 'nas_state', 'wes_state', 'gps_fix', 'pin_nosecone', 'cutter_presence', 'logger_error']
-        fieldtypes = ['uint64_t', 'uint8_t', 'uint8_t', 'uint8_t', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'uint8_t', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'uint8_t', 'float', 'float', 'float', 'uint8_t', 'float', 'int8_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us", "pressure_digi": "Pa", "pressure_static": "Pa", "airspeed_pitot": "m/s", "altitude_agl": "m", "acc_x": "m/s^2", "acc_y": "m/s^2", "acc_z": "m/s^2", "gyro_x": "rad/s", "gyro_y": "rad/s", "gyro_z": "rad/s", "mag_x": "uT", "mag_y": "uT", "mag_z": "uT", "gps_lat": "deg", "gps_lon": "deg", "gps_alt": "m", "left_servo_angle": "deg", "right_servo_angle": "deg", "nas_n": "deg", "nas_e": "deg", "nas_d": "m", "nas_vn": "m/s", "nas_ve": "m/s", "nas_vd": "m/s", "nas_qx": "deg", "nas_qy": "deg", "nas_qz": "deg", "nas_qw": "deg", "wes_n": "m/s", "wes_e": "m/s", "battery_voltage": "V", "cam_battery_voltage": "V", "current_consumption": "A", "temperature": "degC"}
-        format = '<QfffffffffffffffffffffffffffffffffffffBBBBBBb'
-        native_format = bytearray('<QfffffffffffffffffffffffffffffffffffffBBBBBBb', 'ascii')
-        orders = [0, 38, 39, 40, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 41, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 42, 34, 35, 36, 43, 37, 44]
-        lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
-        crc_extra = 84
-        unpacker = struct.Struct('<QfffffffffffffffffffffffffffffffffffffBBBBBBb')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, fmm_state, nas_state, wes_state, pressure_digi, pressure_static, airspeed_pitot, altitude_agl, acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z, mag_x, mag_y, mag_z, gps_fix, gps_lat, gps_lon, gps_alt, left_servo_angle, right_servo_angle, nas_n, nas_e, nas_d, nas_vn, nas_ve, nas_vd, nas_qx, nas_qy, nas_qz, nas_qw, nas_bias_x, nas_bias_y, nas_bias_z, wes_n, wes_e, pin_nosecone, battery_voltage, cam_battery_voltage, current_consumption, cutter_presence, temperature, logger_error):
-                MAVLink_message.__init__(self, MAVLink_payload_flight_tm_message.id, MAVLink_payload_flight_tm_message.name)
-                self._fieldnames = MAVLink_payload_flight_tm_message.fieldnames
-                self._instance_field = MAVLink_payload_flight_tm_message.instance_field
-                self._instance_offset = MAVLink_payload_flight_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.fmm_state = fmm_state
-                self.nas_state = nas_state
-                self.wes_state = wes_state
-                self.pressure_digi = pressure_digi
-                self.pressure_static = pressure_static
-                self.airspeed_pitot = airspeed_pitot
-                self.altitude_agl = altitude_agl
-                self.acc_x = acc_x
-                self.acc_y = acc_y
-                self.acc_z = acc_z
-                self.gyro_x = gyro_x
-                self.gyro_y = gyro_y
-                self.gyro_z = gyro_z
-                self.mag_x = mag_x
-                self.mag_y = mag_y
-                self.mag_z = mag_z
-                self.gps_fix = gps_fix
-                self.gps_lat = gps_lat
-                self.gps_lon = gps_lon
-                self.gps_alt = gps_alt
-                self.left_servo_angle = left_servo_angle
-                self.right_servo_angle = right_servo_angle
-                self.nas_n = nas_n
-                self.nas_e = nas_e
-                self.nas_d = nas_d
-                self.nas_vn = nas_vn
-                self.nas_ve = nas_ve
-                self.nas_vd = nas_vd
-                self.nas_qx = nas_qx
-                self.nas_qy = nas_qy
-                self.nas_qz = nas_qz
-                self.nas_qw = nas_qw
-                self.nas_bias_x = nas_bias_x
-                self.nas_bias_y = nas_bias_y
-                self.nas_bias_z = nas_bias_z
-                self.wes_n = wes_n
-                self.wes_e = wes_e
-                self.pin_nosecone = pin_nosecone
-                self.battery_voltage = battery_voltage
-                self.cam_battery_voltage = cam_battery_voltage
-                self.current_consumption = current_consumption
-                self.cutter_presence = cutter_presence
-                self.temperature = temperature
-                self.logger_error = logger_error
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 84, struct.pack('<QfffffffffffffffffffffffffffffffffffffBBBBBBb', self.timestamp, self.pressure_digi, self.pressure_static, self.airspeed_pitot, self.altitude_agl, self.acc_x, self.acc_y, self.acc_z, self.gyro_x, self.gyro_y, self.gyro_z, self.mag_x, self.mag_y, self.mag_z, self.gps_lat, self.gps_lon, self.gps_alt, self.left_servo_angle, self.right_servo_angle, self.nas_n, self.nas_e, self.nas_d, self.nas_vn, self.nas_ve, self.nas_vd, self.nas_qx, self.nas_qy, self.nas_qz, self.nas_qw, self.nas_bias_x, self.nas_bias_y, self.nas_bias_z, self.wes_n, self.wes_e, self.battery_voltage, self.cam_battery_voltage, self.current_consumption, self.temperature, self.fmm_state, self.nas_state, self.wes_state, self.gps_fix, self.pin_nosecone, self.cutter_presence, self.logger_error), force_mavlink1=force_mavlink1)
+    """
+    High Rate Telemetry
+    """
+
+    id = MAVLINK_MSG_ID_PAYLOAD_FLIGHT_TM
+    msgname = "PAYLOAD_FLIGHT_TM"
+    fieldnames = ["timestamp", "fmm_state", "nas_state", "wes_state", "pressure_digi", "pressure_static", "airspeed_pitot", "altitude_agl", "acc_x", "acc_y", "acc_z", "gyro_x", "gyro_y", "gyro_z", "mag_x", "mag_y", "mag_z", "gps_fix", "gps_lat", "gps_lon", "gps_alt", "left_servo_angle", "right_servo_angle", "nas_n", "nas_e", "nas_d", "nas_vn", "nas_ve", "nas_vd", "nas_qx", "nas_qy", "nas_qz", "nas_qw", "nas_bias_x", "nas_bias_y", "nas_bias_z", "wes_n", "wes_e", "pin_nosecone", "battery_voltage", "cam_battery_voltage", "current_consumption", "cutter_presence", "temperature", "logger_error"]
+    ordered_fieldnames = ["timestamp", "pressure_digi", "pressure_static", "airspeed_pitot", "altitude_agl", "acc_x", "acc_y", "acc_z", "gyro_x", "gyro_y", "gyro_z", "mag_x", "mag_y", "mag_z", "gps_lat", "gps_lon", "gps_alt", "left_servo_angle", "right_servo_angle", "nas_n", "nas_e", "nas_d", "nas_vn", "nas_ve", "nas_vd", "nas_qx", "nas_qy", "nas_qz", "nas_qw", "nas_bias_x", "nas_bias_y", "nas_bias_z", "wes_n", "wes_e", "battery_voltage", "cam_battery_voltage", "current_consumption", "temperature", "fmm_state", "nas_state", "wes_state", "gps_fix", "pin_nosecone", "cutter_presence", "logger_error"]
+    fieldtypes = ["uint64_t", "uint8_t", "uint8_t", "uint8_t", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "uint8_t", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "float", "uint8_t", "float", "float", "float", "uint8_t", "float", "int8_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us", "pressure_digi": "Pa", "pressure_static": "Pa", "airspeed_pitot": "m/s", "altitude_agl": "m", "acc_x": "m/s^2", "acc_y": "m/s^2", "acc_z": "m/s^2", "gyro_x": "rad/s", "gyro_y": "rad/s", "gyro_z": "rad/s", "mag_x": "uT", "mag_y": "uT", "mag_z": "uT", "gps_lat": "deg", "gps_lon": "deg", "gps_alt": "m", "left_servo_angle": "deg", "right_servo_angle": "deg", "nas_n": "deg", "nas_e": "deg", "nas_d": "m", "nas_vn": "m/s", "nas_ve": "m/s", "nas_vd": "m/s", "nas_qx": "deg", "nas_qy": "deg", "nas_qz": "deg", "nas_qw": "deg", "wes_n": "m/s", "wes_e": "m/s", "battery_voltage": "V", "cam_battery_voltage": "V", "current_consumption": "A", "temperature": "degC"}
+    native_format = bytearray(b"<QfffffffffffffffffffffffffffffffffffffBBBBBBb")
+    orders = [0, 38, 39, 40, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 41, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 42, 34, 35, 36, 43, 37, 44]
+    lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+    crc_extra = 84
+    unpacker = struct.Struct("<QfffffffffffffffffffffffffffffffffffffBBBBBBb")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, fmm_state: int, nas_state: int, wes_state: int, pressure_digi: float, pressure_static: float, airspeed_pitot: float, altitude_agl: float, acc_x: float, acc_y: float, acc_z: float, gyro_x: float, gyro_y: float, gyro_z: float, mag_x: float, mag_y: float, mag_z: float, gps_fix: int, gps_lat: float, gps_lon: float, gps_alt: float, left_servo_angle: float, right_servo_angle: float, nas_n: float, nas_e: float, nas_d: float, nas_vn: float, nas_ve: float, nas_vd: float, nas_qx: float, nas_qy: float, nas_qz: float, nas_qw: float, nas_bias_x: float, nas_bias_y: float, nas_bias_z: float, wes_n: float, wes_e: float, pin_nosecone: int, battery_voltage: float, cam_battery_voltage: float, current_consumption: float, cutter_presence: int, temperature: float, logger_error: int):
+        MAVLink_message.__init__(self, MAVLink_payload_flight_tm_message.id, MAVLink_payload_flight_tm_message.msgname)
+        self._fieldnames = MAVLink_payload_flight_tm_message.fieldnames
+        self._instance_field = MAVLink_payload_flight_tm_message.instance_field
+        self._instance_offset = MAVLink_payload_flight_tm_message.instance_offset
+        self.timestamp = timestamp
+        self.fmm_state = fmm_state
+        self.nas_state = nas_state
+        self.wes_state = wes_state
+        self.pressure_digi = pressure_digi
+        self.pressure_static = pressure_static
+        self.airspeed_pitot = airspeed_pitot
+        self.altitude_agl = altitude_agl
+        self.acc_x = acc_x
+        self.acc_y = acc_y
+        self.acc_z = acc_z
+        self.gyro_x = gyro_x
+        self.gyro_y = gyro_y
+        self.gyro_z = gyro_z
+        self.mag_x = mag_x
+        self.mag_y = mag_y
+        self.mag_z = mag_z
+        self.gps_fix = gps_fix
+        self.gps_lat = gps_lat
+        self.gps_lon = gps_lon
+        self.gps_alt = gps_alt
+        self.left_servo_angle = left_servo_angle
+        self.right_servo_angle = right_servo_angle
+        self.nas_n = nas_n
+        self.nas_e = nas_e
+        self.nas_d = nas_d
+        self.nas_vn = nas_vn
+        self.nas_ve = nas_ve
+        self.nas_vd = nas_vd
+        self.nas_qx = nas_qx
+        self.nas_qy = nas_qy
+        self.nas_qz = nas_qz
+        self.nas_qw = nas_qw
+        self.nas_bias_x = nas_bias_x
+        self.nas_bias_y = nas_bias_y
+        self.nas_bias_z = nas_bias_z
+        self.wes_n = wes_n
+        self.wes_e = wes_e
+        self.pin_nosecone = pin_nosecone
+        self.battery_voltage = battery_voltage
+        self.cam_battery_voltage = cam_battery_voltage
+        self.current_consumption = current_consumption
+        self.cutter_presence = cutter_presence
+        self.temperature = temperature
+        self.logger_error = logger_error
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.pressure_digi, self.pressure_static, self.airspeed_pitot, self.altitude_agl, self.acc_x, self.acc_y, self.acc_z, self.gyro_x, self.gyro_y, self.gyro_z, self.mag_x, self.mag_y, self.mag_z, self.gps_lat, self.gps_lon, self.gps_alt, self.left_servo_angle, self.right_servo_angle, self.nas_n, self.nas_e, self.nas_d, self.nas_vn, self.nas_ve, self.nas_vd, self.nas_qx, self.nas_qy, self.nas_qz, self.nas_qw, self.nas_bias_x, self.nas_bias_y, self.nas_bias_z, self.wes_n, self.wes_e, self.battery_voltage, self.cam_battery_voltage, self.current_consumption, self.temperature, self.fmm_state, self.nas_state, self.wes_state, self.gps_fix, self.pin_nosecone, self.cutter_presence, self.logger_error), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_payload_flight_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_rocket_stats_tm_message(MAVLink_message):
-        '''
-        Low Rate Telemetry
-        '''
-        id = MAVLINK_MSG_ID_ROCKET_STATS_TM
-        name = 'ROCKET_STATS_TM'
-        fieldnames = ['liftoff_ts', 'liftoff_max_acc_ts', 'liftoff_max_acc', 'dpl_ts', 'dpl_max_acc', 'max_z_speed_ts', 'max_z_speed', 'max_airspeed_pitot', 'max_speed_altitude', 'apogee_ts', 'apogee_lat', 'apogee_lon', 'apogee_alt', 'min_pressure', 'ada_min_pressure', 'dpl_vane_max_pressure', 'cpu_load', 'free_heap']
-        ordered_fieldnames = ['liftoff_ts', 'liftoff_max_acc_ts', 'dpl_ts', 'max_z_speed_ts', 'apogee_ts', 'liftoff_max_acc', 'dpl_max_acc', 'max_z_speed', 'max_airspeed_pitot', 'max_speed_altitude', 'apogee_lat', 'apogee_lon', 'apogee_alt', 'min_pressure', 'ada_min_pressure', 'dpl_vane_max_pressure', 'cpu_load', 'free_heap']
-        fieldtypes = ['uint64_t', 'uint64_t', 'float', 'uint64_t', 'float', 'uint64_t', 'float', 'float', 'float', 'uint64_t', 'float', 'float', 'float', 'float', 'float', 'float', 'float', 'uint32_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"liftoff_ts": "us", "liftoff_max_acc_ts": "us", "liftoff_max_acc": "m/s2", "dpl_ts": "us", "dpl_max_acc": "m/s2", "max_z_speed_ts": "us", "max_z_speed": "m/s", "max_airspeed_pitot": "m/s", "max_speed_altitude": "m", "apogee_ts": "us", "apogee_lat": "deg", "apogee_lon": "deg", "apogee_alt": "m", "min_pressure": "Pa", "ada_min_pressure": "Pa", "dpl_vane_max_pressure": "Pa"}
-        format = '<QQQQQffffffffffffI'
-        native_format = bytearray('<QQQQQffffffffffffI', 'ascii')
-        orders = [0, 1, 5, 2, 6, 3, 7, 8, 9, 4, 10, 11, 12, 13, 14, 15, 16, 17]
-        lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
-        crc_extra = 245
-        unpacker = struct.Struct('<QQQQQffffffffffffI')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, liftoff_ts, liftoff_max_acc_ts, liftoff_max_acc, dpl_ts, dpl_max_acc, max_z_speed_ts, max_z_speed, max_airspeed_pitot, max_speed_altitude, apogee_ts, apogee_lat, apogee_lon, apogee_alt, min_pressure, ada_min_pressure, dpl_vane_max_pressure, cpu_load, free_heap):
-                MAVLink_message.__init__(self, MAVLink_rocket_stats_tm_message.id, MAVLink_rocket_stats_tm_message.name)
-                self._fieldnames = MAVLink_rocket_stats_tm_message.fieldnames
-                self._instance_field = MAVLink_rocket_stats_tm_message.instance_field
-                self._instance_offset = MAVLink_rocket_stats_tm_message.instance_offset
-                self.liftoff_ts = liftoff_ts
-                self.liftoff_max_acc_ts = liftoff_max_acc_ts
-                self.liftoff_max_acc = liftoff_max_acc
-                self.dpl_ts = dpl_ts
-                self.dpl_max_acc = dpl_max_acc
-                self.max_z_speed_ts = max_z_speed_ts
-                self.max_z_speed = max_z_speed
-                self.max_airspeed_pitot = max_airspeed_pitot
-                self.max_speed_altitude = max_speed_altitude
-                self.apogee_ts = apogee_ts
-                self.apogee_lat = apogee_lat
-                self.apogee_lon = apogee_lon
-                self.apogee_alt = apogee_alt
-                self.min_pressure = min_pressure
-                self.ada_min_pressure = ada_min_pressure
-                self.dpl_vane_max_pressure = dpl_vane_max_pressure
-                self.cpu_load = cpu_load
-                self.free_heap = free_heap
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 245, struct.pack('<QQQQQffffffffffffI', self.liftoff_ts, self.liftoff_max_acc_ts, self.dpl_ts, self.max_z_speed_ts, self.apogee_ts, self.liftoff_max_acc, self.dpl_max_acc, self.max_z_speed, self.max_airspeed_pitot, self.max_speed_altitude, self.apogee_lat, self.apogee_lon, self.apogee_alt, self.min_pressure, self.ada_min_pressure, self.dpl_vane_max_pressure, self.cpu_load, self.free_heap), force_mavlink1=force_mavlink1)
+    """
+    Low Rate Telemetry
+    """
+
+    id = MAVLINK_MSG_ID_ROCKET_STATS_TM
+    msgname = "ROCKET_STATS_TM"
+    fieldnames = ["liftoff_ts", "liftoff_max_acc_ts", "liftoff_max_acc", "dpl_ts", "dpl_max_acc", "max_z_speed_ts", "max_z_speed", "max_airspeed_pitot", "max_speed_altitude", "apogee_ts", "apogee_lat", "apogee_lon", "apogee_alt", "min_pressure", "ada_min_pressure", "dpl_vane_max_pressure", "cpu_load", "free_heap"]
+    ordered_fieldnames = ["liftoff_ts", "liftoff_max_acc_ts", "dpl_ts", "max_z_speed_ts", "apogee_ts", "liftoff_max_acc", "dpl_max_acc", "max_z_speed", "max_airspeed_pitot", "max_speed_altitude", "apogee_lat", "apogee_lon", "apogee_alt", "min_pressure", "ada_min_pressure", "dpl_vane_max_pressure", "cpu_load", "free_heap"]
+    fieldtypes = ["uint64_t", "uint64_t", "float", "uint64_t", "float", "uint64_t", "float", "float", "float", "uint64_t", "float", "float", "float", "float", "float", "float", "float", "uint32_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"liftoff_ts": "us", "liftoff_max_acc_ts": "us", "liftoff_max_acc": "m/s2", "dpl_ts": "us", "dpl_max_acc": "m/s2", "max_z_speed_ts": "us", "max_z_speed": "m/s", "max_airspeed_pitot": "m/s", "max_speed_altitude": "m", "apogee_ts": "us", "apogee_lat": "deg", "apogee_lon": "deg", "apogee_alt": "m", "min_pressure": "Pa", "ada_min_pressure": "Pa", "dpl_vane_max_pressure": "Pa"}
+    native_format = bytearray(b"<QQQQQffffffffffffI")
+    orders = [0, 1, 5, 2, 6, 3, 7, 8, 9, 4, 10, 11, 12, 13, 14, 15, 16, 17]
+    lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+    crc_extra = 245
+    unpacker = struct.Struct("<QQQQQffffffffffffI")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, liftoff_ts: int, liftoff_max_acc_ts: int, liftoff_max_acc: float, dpl_ts: int, dpl_max_acc: float, max_z_speed_ts: int, max_z_speed: float, max_airspeed_pitot: float, max_speed_altitude: float, apogee_ts: int, apogee_lat: float, apogee_lon: float, apogee_alt: float, min_pressure: float, ada_min_pressure: float, dpl_vane_max_pressure: float, cpu_load: float, free_heap: int):
+        MAVLink_message.__init__(self, MAVLink_rocket_stats_tm_message.id, MAVLink_rocket_stats_tm_message.msgname)
+        self._fieldnames = MAVLink_rocket_stats_tm_message.fieldnames
+        self._instance_field = MAVLink_rocket_stats_tm_message.instance_field
+        self._instance_offset = MAVLink_rocket_stats_tm_message.instance_offset
+        self.liftoff_ts = liftoff_ts
+        self.liftoff_max_acc_ts = liftoff_max_acc_ts
+        self.liftoff_max_acc = liftoff_max_acc
+        self.dpl_ts = dpl_ts
+        self.dpl_max_acc = dpl_max_acc
+        self.max_z_speed_ts = max_z_speed_ts
+        self.max_z_speed = max_z_speed
+        self.max_airspeed_pitot = max_airspeed_pitot
+        self.max_speed_altitude = max_speed_altitude
+        self.apogee_ts = apogee_ts
+        self.apogee_lat = apogee_lat
+        self.apogee_lon = apogee_lon
+        self.apogee_alt = apogee_alt
+        self.min_pressure = min_pressure
+        self.ada_min_pressure = ada_min_pressure
+        self.dpl_vane_max_pressure = dpl_vane_max_pressure
+        self.cpu_load = cpu_load
+        self.free_heap = free_heap
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.liftoff_ts, self.liftoff_max_acc_ts, self.dpl_ts, self.max_z_speed_ts, self.apogee_ts, self.liftoff_max_acc, self.dpl_max_acc, self.max_z_speed, self.max_airspeed_pitot, self.max_speed_altitude, self.apogee_lat, self.apogee_lon, self.apogee_alt, self.min_pressure, self.ada_min_pressure, self.dpl_vane_max_pressure, self.cpu_load, self.free_heap), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_rocket_stats_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_payload_stats_tm_message(MAVLink_message):
-        '''
-        Low Rate Telemetry
-        '''
-        id = MAVLINK_MSG_ID_PAYLOAD_STATS_TM
-        name = 'PAYLOAD_STATS_TM'
-        fieldnames = ['liftoff_max_acc_ts', 'liftoff_max_acc', 'dpl_ts', 'dpl_max_acc', 'max_z_speed_ts', 'max_z_speed', 'max_airspeed_pitot', 'max_speed_altitude', 'apogee_ts', 'apogee_lat', 'apogee_lon', 'apogee_alt', 'min_pressure', 'cpu_load', 'free_heap']
-        ordered_fieldnames = ['liftoff_max_acc_ts', 'dpl_ts', 'max_z_speed_ts', 'apogee_ts', 'liftoff_max_acc', 'dpl_max_acc', 'max_z_speed', 'max_airspeed_pitot', 'max_speed_altitude', 'apogee_lat', 'apogee_lon', 'apogee_alt', 'min_pressure', 'cpu_load', 'free_heap']
-        fieldtypes = ['uint64_t', 'float', 'uint64_t', 'float', 'uint64_t', 'float', 'float', 'float', 'uint64_t', 'float', 'float', 'float', 'float', 'float', 'uint32_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"liftoff_max_acc_ts": "us", "liftoff_max_acc": "m/s2", "dpl_ts": "us", "dpl_max_acc": "m/s2", "max_z_speed_ts": "us", "max_z_speed": "m/s", "max_airspeed_pitot": "m/s", "max_speed_altitude": "m", "apogee_ts": "us", "apogee_lat": "deg", "apogee_lon": "deg", "apogee_alt": "m", "min_pressure": "Pa"}
-        format = '<QQQQffffffffffI'
-        native_format = bytearray('<QQQQffffffffffI', 'ascii')
-        orders = [0, 4, 1, 5, 2, 6, 7, 8, 3, 9, 10, 11, 12, 13, 14]
-        lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
-        crc_extra = 115
-        unpacker = struct.Struct('<QQQQffffffffffI')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, liftoff_max_acc_ts, liftoff_max_acc, dpl_ts, dpl_max_acc, max_z_speed_ts, max_z_speed, max_airspeed_pitot, max_speed_altitude, apogee_ts, apogee_lat, apogee_lon, apogee_alt, min_pressure, cpu_load, free_heap):
-                MAVLink_message.__init__(self, MAVLink_payload_stats_tm_message.id, MAVLink_payload_stats_tm_message.name)
-                self._fieldnames = MAVLink_payload_stats_tm_message.fieldnames
-                self._instance_field = MAVLink_payload_stats_tm_message.instance_field
-                self._instance_offset = MAVLink_payload_stats_tm_message.instance_offset
-                self.liftoff_max_acc_ts = liftoff_max_acc_ts
-                self.liftoff_max_acc = liftoff_max_acc
-                self.dpl_ts = dpl_ts
-                self.dpl_max_acc = dpl_max_acc
-                self.max_z_speed_ts = max_z_speed_ts
-                self.max_z_speed = max_z_speed
-                self.max_airspeed_pitot = max_airspeed_pitot
-                self.max_speed_altitude = max_speed_altitude
-                self.apogee_ts = apogee_ts
-                self.apogee_lat = apogee_lat
-                self.apogee_lon = apogee_lon
-                self.apogee_alt = apogee_alt
-                self.min_pressure = min_pressure
-                self.cpu_load = cpu_load
-                self.free_heap = free_heap
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 115, struct.pack('<QQQQffffffffffI', self.liftoff_max_acc_ts, self.dpl_ts, self.max_z_speed_ts, self.apogee_ts, self.liftoff_max_acc, self.dpl_max_acc, self.max_z_speed, self.max_airspeed_pitot, self.max_speed_altitude, self.apogee_lat, self.apogee_lon, self.apogee_alt, self.min_pressure, self.cpu_load, self.free_heap), force_mavlink1=force_mavlink1)
+    """
+    Low Rate Telemetry
+    """
+
+    id = MAVLINK_MSG_ID_PAYLOAD_STATS_TM
+    msgname = "PAYLOAD_STATS_TM"
+    fieldnames = ["liftoff_max_acc_ts", "liftoff_max_acc", "dpl_ts", "dpl_max_acc", "max_z_speed_ts", "max_z_speed", "max_airspeed_pitot", "max_speed_altitude", "apogee_ts", "apogee_lat", "apogee_lon", "apogee_alt", "min_pressure", "cpu_load", "free_heap"]
+    ordered_fieldnames = ["liftoff_max_acc_ts", "dpl_ts", "max_z_speed_ts", "apogee_ts", "liftoff_max_acc", "dpl_max_acc", "max_z_speed", "max_airspeed_pitot", "max_speed_altitude", "apogee_lat", "apogee_lon", "apogee_alt", "min_pressure", "cpu_load", "free_heap"]
+    fieldtypes = ["uint64_t", "float", "uint64_t", "float", "uint64_t", "float", "float", "float", "uint64_t", "float", "float", "float", "float", "float", "uint32_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"liftoff_max_acc_ts": "us", "liftoff_max_acc": "m/s2", "dpl_ts": "us", "dpl_max_acc": "m/s2", "max_z_speed_ts": "us", "max_z_speed": "m/s", "max_airspeed_pitot": "m/s", "max_speed_altitude": "m", "apogee_ts": "us", "apogee_lat": "deg", "apogee_lon": "deg", "apogee_alt": "m", "min_pressure": "Pa"}
+    native_format = bytearray(b"<QQQQffffffffffI")
+    orders = [0, 4, 1, 5, 2, 6, 7, 8, 3, 9, 10, 11, 12, 13, 14]
+    lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+    crc_extra = 115
+    unpacker = struct.Struct("<QQQQffffffffffI")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, liftoff_max_acc_ts: int, liftoff_max_acc: float, dpl_ts: int, dpl_max_acc: float, max_z_speed_ts: int, max_z_speed: float, max_airspeed_pitot: float, max_speed_altitude: float, apogee_ts: int, apogee_lat: float, apogee_lon: float, apogee_alt: float, min_pressure: float, cpu_load: float, free_heap: int):
+        MAVLink_message.__init__(self, MAVLink_payload_stats_tm_message.id, MAVLink_payload_stats_tm_message.msgname)
+        self._fieldnames = MAVLink_payload_stats_tm_message.fieldnames
+        self._instance_field = MAVLink_payload_stats_tm_message.instance_field
+        self._instance_offset = MAVLink_payload_stats_tm_message.instance_offset
+        self.liftoff_max_acc_ts = liftoff_max_acc_ts
+        self.liftoff_max_acc = liftoff_max_acc
+        self.dpl_ts = dpl_ts
+        self.dpl_max_acc = dpl_max_acc
+        self.max_z_speed_ts = max_z_speed_ts
+        self.max_z_speed = max_z_speed
+        self.max_airspeed_pitot = max_airspeed_pitot
+        self.max_speed_altitude = max_speed_altitude
+        self.apogee_ts = apogee_ts
+        self.apogee_lat = apogee_lat
+        self.apogee_lon = apogee_lon
+        self.apogee_alt = apogee_alt
+        self.min_pressure = min_pressure
+        self.cpu_load = cpu_load
+        self.free_heap = free_heap
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.liftoff_max_acc_ts, self.dpl_ts, self.max_z_speed_ts, self.apogee_ts, self.liftoff_max_acc, self.dpl_max_acc, self.max_z_speed, self.max_airspeed_pitot, self.max_speed_altitude, self.apogee_lat, self.apogee_lon, self.apogee_alt, self.min_pressure, self.cpu_load, self.free_heap), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_payload_stats_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_gse_tm_message(MAVLink_message):
-        '''
-        Ground Segment Equipment telemetry
-        '''
-        id = MAVLINK_MSG_ID_GSE_TM
-        name = 'GSE_TM'
-        fieldnames = ['timestamp', 'loadcell_rocket', 'loadcell_vessel', 'filling_pressure', 'vessel_pressure', 'arming_state', 'filling_valve_state', 'venting_valve_state', 'release_valve_state', 'main_valve_state', 'nitrogen_valve_state', 'gmm_state', 'tars_state', 'battery_voltage', 'current_consumption', 'main_board_status', 'payload_board_status', 'motor_board_status']
-        ordered_fieldnames = ['timestamp', 'loadcell_rocket', 'loadcell_vessel', 'filling_pressure', 'vessel_pressure', 'battery_voltage', 'current_consumption', 'arming_state', 'filling_valve_state', 'venting_valve_state', 'release_valve_state', 'main_valve_state', 'nitrogen_valve_state', 'gmm_state', 'tars_state', 'main_board_status', 'payload_board_status', 'motor_board_status']
-        fieldtypes = ['uint64_t', 'float', 'float', 'float', 'float', 'uint8_t', 'uint8_t', 'uint8_t', 'uint8_t', 'uint8_t', 'uint8_t', 'uint8_t', 'uint8_t', 'float', 'float', 'uint8_t', 'uint8_t', 'uint8_t']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us", "loadcell_rocket": "kg", "loadcell_vessel": "kg", "filling_pressure": "Bar", "vessel_pressure": "Bar"}
-        format = '<QffffffBBBBBBBBBBB'
-        native_format = bytearray('<QffffffBBBBBBBBBBB', 'ascii')
-        orders = [0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 5, 6, 15, 16, 17]
-        lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
-        crc_extra = 81
-        unpacker = struct.Struct('<QffffffBBBBBBBBBBB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, loadcell_rocket, loadcell_vessel, filling_pressure, vessel_pressure, arming_state, filling_valve_state, venting_valve_state, release_valve_state, main_valve_state, nitrogen_valve_state, gmm_state, tars_state, battery_voltage, current_consumption, main_board_status, payload_board_status, motor_board_status):
-                MAVLink_message.__init__(self, MAVLink_gse_tm_message.id, MAVLink_gse_tm_message.name)
-                self._fieldnames = MAVLink_gse_tm_message.fieldnames
-                self._instance_field = MAVLink_gse_tm_message.instance_field
-                self._instance_offset = MAVLink_gse_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.loadcell_rocket = loadcell_rocket
-                self.loadcell_vessel = loadcell_vessel
-                self.filling_pressure = filling_pressure
-                self.vessel_pressure = vessel_pressure
-                self.arming_state = arming_state
-                self.filling_valve_state = filling_valve_state
-                self.venting_valve_state = venting_valve_state
-                self.release_valve_state = release_valve_state
-                self.main_valve_state = main_valve_state
-                self.nitrogen_valve_state = nitrogen_valve_state
-                self.gmm_state = gmm_state
-                self.tars_state = tars_state
-                self.battery_voltage = battery_voltage
-                self.current_consumption = current_consumption
-                self.main_board_status = main_board_status
-                self.payload_board_status = payload_board_status
-                self.motor_board_status = motor_board_status
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 81, struct.pack('<QffffffBBBBBBBBBBB', self.timestamp, self.loadcell_rocket, self.loadcell_vessel, self.filling_pressure, self.vessel_pressure, self.battery_voltage, self.current_consumption, self.arming_state, self.filling_valve_state, self.venting_valve_state, self.release_valve_state, self.main_valve_state, self.nitrogen_valve_state, self.gmm_state, self.tars_state, self.main_board_status, self.payload_board_status, self.motor_board_status), force_mavlink1=force_mavlink1)
+    """
+    Ground Segment Equipment telemetry
+    """
+
+    id = MAVLINK_MSG_ID_GSE_TM
+    msgname = "GSE_TM"
+    fieldnames = ["timestamp", "loadcell_rocket", "loadcell_vessel", "filling_pressure", "vessel_pressure", "arming_state", "filling_valve_state", "venting_valve_state", "release_valve_state", "main_valve_state", "nitrogen_valve_state", "gmm_state", "tars_state", "battery_voltage", "current_consumption", "main_board_status", "payload_board_status", "motor_board_status"]
+    ordered_fieldnames = ["timestamp", "loadcell_rocket", "loadcell_vessel", "filling_pressure", "vessel_pressure", "battery_voltage", "current_consumption", "arming_state", "filling_valve_state", "venting_valve_state", "release_valve_state", "main_valve_state", "nitrogen_valve_state", "gmm_state", "tars_state", "main_board_status", "payload_board_status", "motor_board_status"]
+    fieldtypes = ["uint64_t", "float", "float", "float", "float", "uint8_t", "uint8_t", "uint8_t", "uint8_t", "uint8_t", "uint8_t", "uint8_t", "uint8_t", "float", "float", "uint8_t", "uint8_t", "uint8_t"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us", "loadcell_rocket": "kg", "loadcell_vessel": "kg", "filling_pressure": "Bar", "vessel_pressure": "Bar"}
+    native_format = bytearray(b"<QffffffBBBBBBBBBBB")
+    orders = [0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 5, 6, 15, 16, 17]
+    lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+    crc_extra = 81
+    unpacker = struct.Struct("<QffffffBBBBBBBBBBB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, loadcell_rocket: float, loadcell_vessel: float, filling_pressure: float, vessel_pressure: float, arming_state: int, filling_valve_state: int, venting_valve_state: int, release_valve_state: int, main_valve_state: int, nitrogen_valve_state: int, gmm_state: int, tars_state: int, battery_voltage: float, current_consumption: float, main_board_status: int, payload_board_status: int, motor_board_status: int):
+        MAVLink_message.__init__(self, MAVLink_gse_tm_message.id, MAVLink_gse_tm_message.msgname)
+        self._fieldnames = MAVLink_gse_tm_message.fieldnames
+        self._instance_field = MAVLink_gse_tm_message.instance_field
+        self._instance_offset = MAVLink_gse_tm_message.instance_offset
+        self.timestamp = timestamp
+        self.loadcell_rocket = loadcell_rocket
+        self.loadcell_vessel = loadcell_vessel
+        self.filling_pressure = filling_pressure
+        self.vessel_pressure = vessel_pressure
+        self.arming_state = arming_state
+        self.filling_valve_state = filling_valve_state
+        self.venting_valve_state = venting_valve_state
+        self.release_valve_state = release_valve_state
+        self.main_valve_state = main_valve_state
+        self.nitrogen_valve_state = nitrogen_valve_state
+        self.gmm_state = gmm_state
+        self.tars_state = tars_state
+        self.battery_voltage = battery_voltage
+        self.current_consumption = current_consumption
+        self.main_board_status = main_board_status
+        self.payload_board_status = payload_board_status
+        self.motor_board_status = motor_board_status
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.loadcell_rocket, self.loadcell_vessel, self.filling_pressure, self.vessel_pressure, self.battery_voltage, self.current_consumption, self.arming_state, self.filling_valve_state, self.venting_valve_state, self.release_valve_state, self.main_valve_state, self.nitrogen_valve_state, self.gmm_state, self.tars_state, self.main_board_status, self.payload_board_status, self.motor_board_status), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_gse_tm_message, "name", mavlink_msg_deprecated_name_property())
+
 
 class MAVLink_motor_tm_message(MAVLink_message):
-        '''
-        Motor rocket telemetry
-        '''
-        id = MAVLINK_MSG_ID_MOTOR_TM
-        name = 'MOTOR_TM'
-        fieldnames = ['timestamp', 'top_tank_pressure', 'bottom_tank_pressure', 'combustion_chamber_pressure', 'tank_temperature', 'main_valve_state', 'venting_valve_state', 'battery_voltage', 'current_consumption']
-        ordered_fieldnames = ['timestamp', 'top_tank_pressure', 'bottom_tank_pressure', 'combustion_chamber_pressure', 'tank_temperature', 'battery_voltage', 'current_consumption', 'main_valve_state', 'venting_valve_state']
-        fieldtypes = ['uint64_t', 'float', 'float', 'float', 'float', 'uint8_t', 'uint8_t', 'float', 'float']
-        fielddisplays_by_name = {}
-        fieldenums_by_name = {}
-        fieldunits_by_name = {"timestamp": "us", "top_tank_pressure": "Bar", "bottom_tank_pressure": "Bar", "combustion_chamber_pressure": "Bar", "battery_voltage": "V", "current_consumption": "A"}
-        format = '<QffffffBB'
-        native_format = bytearray('<QffffffBB', 'ascii')
-        orders = [0, 1, 2, 3, 4, 7, 8, 5, 6]
-        lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1]
-        array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0]
-        crc_extra = 89
-        unpacker = struct.Struct('<QffffffBB')
-        instance_field = None
-        instance_offset = -1
-
-        def __init__(self, timestamp, top_tank_pressure, bottom_tank_pressure, combustion_chamber_pressure, tank_temperature, main_valve_state, venting_valve_state, battery_voltage, current_consumption):
-                MAVLink_message.__init__(self, MAVLink_motor_tm_message.id, MAVLink_motor_tm_message.name)
-                self._fieldnames = MAVLink_motor_tm_message.fieldnames
-                self._instance_field = MAVLink_motor_tm_message.instance_field
-                self._instance_offset = MAVLink_motor_tm_message.instance_offset
-                self.timestamp = timestamp
-                self.top_tank_pressure = top_tank_pressure
-                self.bottom_tank_pressure = bottom_tank_pressure
-                self.combustion_chamber_pressure = combustion_chamber_pressure
-                self.tank_temperature = tank_temperature
-                self.main_valve_state = main_valve_state
-                self.venting_valve_state = venting_valve_state
-                self.battery_voltage = battery_voltage
-                self.current_consumption = current_consumption
-
-        def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 89, struct.pack('<QffffffBB', self.timestamp, self.top_tank_pressure, self.bottom_tank_pressure, self.combustion_chamber_pressure, self.tank_temperature, self.battery_voltage, self.current_consumption, self.main_valve_state, self.venting_valve_state), force_mavlink1=force_mavlink1)
-
-
-mavlink_map = {
-        MAVLINK_MSG_ID_PING_TC : MAVLink_ping_tc_message,
-        MAVLINK_MSG_ID_COMMAND_TC : MAVLink_command_tc_message,
-        MAVLINK_MSG_ID_SYSTEM_TM_REQUEST_TC : MAVLink_system_tm_request_tc_message,
-        MAVLINK_MSG_ID_SENSOR_TM_REQUEST_TC : MAVLink_sensor_tm_request_tc_message,
-        MAVLINK_MSG_ID_SERVO_TM_REQUEST_TC : MAVLink_servo_tm_request_tc_message,
-        MAVLINK_MSG_ID_SET_SERVO_ANGLE_TC : MAVLink_set_servo_angle_tc_message,
-        MAVLINK_MSG_ID_WIGGLE_SERVO_TC : MAVLink_wiggle_servo_tc_message,
-        MAVLINK_MSG_ID_RESET_SERVO_TC : MAVLink_reset_servo_tc_message,
-        MAVLINK_MSG_ID_SET_REFERENCE_ALTITUDE_TC : MAVLink_set_reference_altitude_tc_message,
-        MAVLINK_MSG_ID_SET_REFERENCE_TEMPERATURE_TC : MAVLink_set_reference_temperature_tc_message,
-        MAVLINK_MSG_ID_SET_ORIENTATION_TC : MAVLink_set_orientation_tc_message,
-        MAVLINK_MSG_ID_SET_COORDINATES_TC : MAVLink_set_coordinates_tc_message,
-        MAVLINK_MSG_ID_RAW_EVENT_TC : MAVLink_raw_event_tc_message,
-        MAVLINK_MSG_ID_SET_DEPLOYMENT_ALTITUDE_TC : MAVLink_set_deployment_altitude_tc_message,
-        MAVLINK_MSG_ID_SET_TARGET_COORDINATES_TC : MAVLink_set_target_coordinates_tc_message,
-        MAVLINK_MSG_ID_SET_ALGORITHM_TC : MAVLink_set_algorithm_tc_message,
-        MAVLINK_MSG_ID_SET_ATOMIC_VALVE_TIMING_TC : MAVLink_set_atomic_valve_timing_tc_message,
-        MAVLINK_MSG_ID_SET_VALVE_MAXIMUM_APERTURE_TC : MAVLink_set_valve_maximum_aperture_tc_message,
-        MAVLINK_MSG_ID_CONRIG_STATE_TC : MAVLink_conrig_state_tc_message,
-        MAVLINK_MSG_ID_SET_IGNITION_TIME_TC : MAVLink_set_ignition_time_tc_message,
-        MAVLINK_MSG_ID_SET_STEPPER_ANGLE_TC : MAVLink_set_stepper_angle_tc_message,
-        MAVLINK_MSG_ID_SET_STEPPER_STEPS_TC : MAVLink_set_stepper_steps_tc_message,
-        MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC : MAVLink_set_nitrogen_time_tc_message,
-        MAVLINK_MSG_ID_SET_COOLING_TIME_TC : MAVLink_set_cooling_time_tc_message,
-        MAVLINK_MSG_ID_ACK_TM : MAVLink_ack_tm_message,
-        MAVLINK_MSG_ID_NACK_TM : MAVLink_nack_tm_message,
-        MAVLINK_MSG_ID_GPS_TM : MAVLink_gps_tm_message,
-        MAVLINK_MSG_ID_IMU_TM : MAVLink_imu_tm_message,
-        MAVLINK_MSG_ID_PRESSURE_TM : MAVLink_pressure_tm_message,
-        MAVLINK_MSG_ID_ADC_TM : MAVLink_adc_tm_message,
-        MAVLINK_MSG_ID_VOLTAGE_TM : MAVLink_voltage_tm_message,
-        MAVLINK_MSG_ID_CURRENT_TM : MAVLink_current_tm_message,
-        MAVLINK_MSG_ID_TEMP_TM : MAVLink_temp_tm_message,
-        MAVLINK_MSG_ID_LOAD_TM : MAVLink_load_tm_message,
-        MAVLINK_MSG_ID_ATTITUDE_TM : MAVLink_attitude_tm_message,
-        MAVLINK_MSG_ID_SENSOR_STATE_TM : MAVLink_sensor_state_tm_message,
-        MAVLINK_MSG_ID_SERVO_TM : MAVLink_servo_tm_message,
-        MAVLINK_MSG_ID_PIN_TM : MAVLink_pin_tm_message,
-        MAVLINK_MSG_ID_REGISTRY_FLOAT_TM : MAVLink_registry_float_tm_message,
-        MAVLINK_MSG_ID_REGISTRY_INT_TM : MAVLink_registry_int_tm_message,
-        MAVLINK_MSG_ID_REGISTRY_COORD_TM : MAVLink_registry_coord_tm_message,
-        MAVLINK_MSG_ID_RECEIVER_TM : MAVLink_receiver_tm_message,
-        MAVLINK_MSG_ID_ARP_TM : MAVLink_arp_tm_message,
-        MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC : MAVLink_set_antenna_coordinates_arp_tc_message,
-        MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC : MAVLink_set_rocket_coordinates_arp_tc_message,
-        MAVLINK_MSG_ID_SYS_TM : MAVLink_sys_tm_message,
-        MAVLINK_MSG_ID_FSM_TM : MAVLink_fsm_tm_message,
-        MAVLINK_MSG_ID_LOGGER_TM : MAVLink_logger_tm_message,
-        MAVLINK_MSG_ID_MAVLINK_STATS_TM : MAVLink_mavlink_stats_tm_message,
-        MAVLINK_MSG_ID_TASK_STATS_TM : MAVLink_task_stats_tm_message,
-        MAVLINK_MSG_ID_ADA_TM : MAVLink_ada_tm_message,
-        MAVLINK_MSG_ID_NAS_TM : MAVLink_nas_tm_message,
-        MAVLINK_MSG_ID_MEA_TM : MAVLink_mea_tm_message,
-        MAVLINK_MSG_ID_ROCKET_FLIGHT_TM : MAVLink_rocket_flight_tm_message,
-        MAVLINK_MSG_ID_PAYLOAD_FLIGHT_TM : MAVLink_payload_flight_tm_message,
-        MAVLINK_MSG_ID_ROCKET_STATS_TM : MAVLink_rocket_stats_tm_message,
-        MAVLINK_MSG_ID_PAYLOAD_STATS_TM : MAVLink_payload_stats_tm_message,
-        MAVLINK_MSG_ID_GSE_TM : MAVLink_gse_tm_message,
-        MAVLINK_MSG_ID_MOTOR_TM : MAVLink_motor_tm_message,
+    """
+    Motor rocket telemetry
+    """
+
+    id = MAVLINK_MSG_ID_MOTOR_TM
+    msgname = "MOTOR_TM"
+    fieldnames = ["timestamp", "top_tank_pressure", "bottom_tank_pressure", "combustion_chamber_pressure", "floating_level", "tank_temperature", "main_valve_state", "venting_valve_state", "battery_voltage", "current_consumption"]
+    ordered_fieldnames = ["timestamp", "top_tank_pressure", "bottom_tank_pressure", "combustion_chamber_pressure", "tank_temperature", "battery_voltage", "current_consumption", "floating_level", "main_valve_state", "venting_valve_state"]
+    fieldtypes = ["uint64_t", "float", "float", "float", "uint8_t", "float", "uint8_t", "uint8_t", "float", "float"]
+    fielddisplays_by_name: Dict[str, str] = {}
+    fieldenums_by_name: Dict[str, str] = {}
+    fieldunits_by_name: Dict[str, str] = {"timestamp": "us", "top_tank_pressure": "Bar", "bottom_tank_pressure": "Bar", "combustion_chamber_pressure": "Bar", "battery_voltage": "V", "current_consumption": "A"}
+    native_format = bytearray(b"<QffffffBBB")
+    orders = [0, 1, 2, 3, 7, 4, 8, 9, 5, 6]
+    lengths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
+    array_lengths = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+    crc_extra = 79
+    unpacker = struct.Struct("<QffffffBBB")
+    instance_field = None
+    instance_offset = -1
+
+    def __init__(self, timestamp: int, top_tank_pressure: float, bottom_tank_pressure: float, combustion_chamber_pressure: float, floating_level: int, tank_temperature: float, main_valve_state: int, venting_valve_state: int, battery_voltage: float, current_consumption: float):
+        MAVLink_message.__init__(self, MAVLink_motor_tm_message.id, MAVLink_motor_tm_message.msgname)
+        self._fieldnames = MAVLink_motor_tm_message.fieldnames
+        self._instance_field = MAVLink_motor_tm_message.instance_field
+        self._instance_offset = MAVLink_motor_tm_message.instance_offset
+        self.timestamp = timestamp
+        self.top_tank_pressure = top_tank_pressure
+        self.bottom_tank_pressure = bottom_tank_pressure
+        self.combustion_chamber_pressure = combustion_chamber_pressure
+        self.floating_level = floating_level
+        self.tank_temperature = tank_temperature
+        self.main_valve_state = main_valve_state
+        self.venting_valve_state = venting_valve_state
+        self.battery_voltage = battery_voltage
+        self.current_consumption = current_consumption
+
+    def pack(self, mav: "MAVLink", force_mavlink1: bool = False) -> bytes:
+        return self._pack(mav, self.crc_extra, self.unpacker.pack(self.timestamp, self.top_tank_pressure, self.bottom_tank_pressure, self.combustion_chamber_pressure, self.tank_temperature, self.battery_voltage, self.current_consumption, self.floating_level, self.main_valve_state, self.venting_valve_state), force_mavlink1=force_mavlink1)
+
+
+# Define name on the class for backwards compatibility (it is now msgname).
+# Done with setattr to hide the class variable from mypy.
+setattr(MAVLink_motor_tm_message, "name", mavlink_msg_deprecated_name_property())
+
+
+mavlink_map: Dict[int, Type[MAVLink_message]] = {
+    MAVLINK_MSG_ID_PING_TC: MAVLink_ping_tc_message,
+    MAVLINK_MSG_ID_COMMAND_TC: MAVLink_command_tc_message,
+    MAVLINK_MSG_ID_SYSTEM_TM_REQUEST_TC: MAVLink_system_tm_request_tc_message,
+    MAVLINK_MSG_ID_SENSOR_TM_REQUEST_TC: MAVLink_sensor_tm_request_tc_message,
+    MAVLINK_MSG_ID_SERVO_TM_REQUEST_TC: MAVLink_servo_tm_request_tc_message,
+    MAVLINK_MSG_ID_SET_SERVO_ANGLE_TC: MAVLink_set_servo_angle_tc_message,
+    MAVLINK_MSG_ID_WIGGLE_SERVO_TC: MAVLink_wiggle_servo_tc_message,
+    MAVLINK_MSG_ID_RESET_SERVO_TC: MAVLink_reset_servo_tc_message,
+    MAVLINK_MSG_ID_SET_REFERENCE_ALTITUDE_TC: MAVLink_set_reference_altitude_tc_message,
+    MAVLINK_MSG_ID_SET_REFERENCE_TEMPERATURE_TC: MAVLink_set_reference_temperature_tc_message,
+    MAVLINK_MSG_ID_SET_ORIENTATION_TC: MAVLink_set_orientation_tc_message,
+    MAVLINK_MSG_ID_SET_COORDINATES_TC: MAVLink_set_coordinates_tc_message,
+    MAVLINK_MSG_ID_RAW_EVENT_TC: MAVLink_raw_event_tc_message,
+    MAVLINK_MSG_ID_SET_DEPLOYMENT_ALTITUDE_TC: MAVLink_set_deployment_altitude_tc_message,
+    MAVLINK_MSG_ID_SET_TARGET_COORDINATES_TC: MAVLink_set_target_coordinates_tc_message,
+    MAVLINK_MSG_ID_SET_ALGORITHM_TC: MAVLink_set_algorithm_tc_message,
+    MAVLINK_MSG_ID_SET_ATOMIC_VALVE_TIMING_TC: MAVLink_set_atomic_valve_timing_tc_message,
+    MAVLINK_MSG_ID_SET_VALVE_MAXIMUM_APERTURE_TC: MAVLink_set_valve_maximum_aperture_tc_message,
+    MAVLINK_MSG_ID_CONRIG_STATE_TC: MAVLink_conrig_state_tc_message,
+    MAVLINK_MSG_ID_SET_IGNITION_TIME_TC: MAVLink_set_ignition_time_tc_message,
+    MAVLINK_MSG_ID_SET_STEPPER_ANGLE_TC: MAVLink_set_stepper_angle_tc_message,
+    MAVLINK_MSG_ID_SET_STEPPER_STEPS_TC: MAVLink_set_stepper_steps_tc_message,
+    MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC: MAVLink_set_nitrogen_time_tc_message,
+    MAVLINK_MSG_ID_SET_COOLING_TIME_TC: MAVLink_set_cooling_time_tc_message,
+    MAVLINK_MSG_ID_SET_STEPPER_MULTIPLIER_TC: MAVLink_set_stepper_multiplier_tc_message,
+    MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC: MAVLink_set_antenna_coordinates_arp_tc_message,
+    MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC: MAVLink_set_rocket_coordinates_arp_tc_message,
+    MAVLINK_MSG_ID_ARP_COMMAND_TC: MAVLink_arp_command_tc_message,
+    MAVLINK_MSG_ID_ACK_TM: MAVLink_ack_tm_message,
+    MAVLINK_MSG_ID_NACK_TM: MAVLink_nack_tm_message,
+    MAVLINK_MSG_ID_GPS_TM: MAVLink_gps_tm_message,
+    MAVLINK_MSG_ID_IMU_TM: MAVLink_imu_tm_message,
+    MAVLINK_MSG_ID_PRESSURE_TM: MAVLink_pressure_tm_message,
+    MAVLINK_MSG_ID_ADC_TM: MAVLink_adc_tm_message,
+    MAVLINK_MSG_ID_VOLTAGE_TM: MAVLink_voltage_tm_message,
+    MAVLINK_MSG_ID_CURRENT_TM: MAVLink_current_tm_message,
+    MAVLINK_MSG_ID_TEMP_TM: MAVLink_temp_tm_message,
+    MAVLINK_MSG_ID_LOAD_TM: MAVLink_load_tm_message,
+    MAVLINK_MSG_ID_ATTITUDE_TM: MAVLink_attitude_tm_message,
+    MAVLINK_MSG_ID_SENSOR_STATE_TM: MAVLink_sensor_state_tm_message,
+    MAVLINK_MSG_ID_SERVO_TM: MAVLink_servo_tm_message,
+    MAVLINK_MSG_ID_PIN_TM: MAVLink_pin_tm_message,
+    MAVLINK_MSG_ID_REGISTRY_FLOAT_TM: MAVLink_registry_float_tm_message,
+    MAVLINK_MSG_ID_REGISTRY_INT_TM: MAVLink_registry_int_tm_message,
+    MAVLINK_MSG_ID_REGISTRY_COORD_TM: MAVLink_registry_coord_tm_message,
+    MAVLINK_MSG_ID_RECEIVER_TM: MAVLink_receiver_tm_message,
+    MAVLINK_MSG_ID_ARP_TM: MAVLink_arp_tm_message,
+    MAVLINK_MSG_ID_SYS_TM: MAVLink_sys_tm_message,
+    MAVLINK_MSG_ID_FSM_TM: MAVLink_fsm_tm_message,
+    MAVLINK_MSG_ID_LOGGER_TM: MAVLink_logger_tm_message,
+    MAVLINK_MSG_ID_MAVLINK_STATS_TM: MAVLink_mavlink_stats_tm_message,
+    MAVLINK_MSG_ID_TASK_STATS_TM: MAVLink_task_stats_tm_message,
+    MAVLINK_MSG_ID_ADA_TM: MAVLink_ada_tm_message,
+    MAVLINK_MSG_ID_NAS_TM: MAVLink_nas_tm_message,
+    MAVLINK_MSG_ID_MEA_TM: MAVLink_mea_tm_message,
+    MAVLINK_MSG_ID_ROCKET_FLIGHT_TM: MAVLink_rocket_flight_tm_message,
+    MAVLINK_MSG_ID_PAYLOAD_FLIGHT_TM: MAVLink_payload_flight_tm_message,
+    MAVLINK_MSG_ID_ROCKET_STATS_TM: MAVLink_rocket_stats_tm_message,
+    MAVLINK_MSG_ID_PAYLOAD_STATS_TM: MAVLink_payload_stats_tm_message,
+    MAVLINK_MSG_ID_GSE_TM: MAVLink_gse_tm_message,
+    MAVLINK_MSG_ID_MOTOR_TM: MAVLink_motor_tm_message,
 }
 
+
 class MAVError(Exception):
-        '''MAVLink error class'''
-        def __init__(self, msg):
-            Exception.__init__(self, msg)
-            self.message = msg
-
-class MAVString(str):
-        '''NUL terminated string'''
-        def __init__(self, s):
-                str.__init__(self)
-        def __str__(self):
-            i = self.find(chr(0))
-            if i == -1:
-                return self[:]
-            return self[0:i]
+    """MAVLink error class"""
+
+    def __init__(self, msg: str) -> None:
+        Exception.__init__(self, msg)
+        self.message = msg
+
 
 class MAVLink_bad_data(MAVLink_message):
-        '''
-        a piece of bad data in a mavlink stream
-        '''
-        def __init__(self, data, reason):
-                MAVLink_message.__init__(self, MAVLINK_MSG_ID_BAD_DATA, 'BAD_DATA')
-                self._fieldnames = ['data', 'reason']
-                self.data = data
-                self.reason = reason
-                self._msgbuf = data
-                self._instance_field = None
-
-        def __str__(self):
-            '''Override the __str__ function from MAVLink_messages because non-printable characters are common in to be the reason for this message to exist.'''
-            return '%s {%s, data:%s}' % (self._type, self.reason, [('%x' % ord(i) if isinstance(i, str) else '%x' % i) for i in self.data])
+    """
+    a piece of bad data in a mavlink stream
+    """
+
+    def __init__(self, data: bytes, reason: str) -> None:
+        MAVLink_message.__init__(self, MAVLINK_MSG_ID_BAD_DATA, "BAD_DATA")
+        self._fieldnames = ["data", "reason"]
+        self.data = data
+        self.reason = reason
+        self._msgbuf = bytearray(data)
+        self._instance_field = None
+
+    def __str__(self) -> str:
+        """Override the __str__ function from MAVLink_messages because non-printable characters are common in to be the reason for this message to exist."""
+        if sys.version_info[0] == 2:
+            hexstr = ["{:x}".format(ord(i)) for i in self.data]
+        else:
+            hexstr = ["{:x}".format(i) for i in self.data]
+        return "%s {%s, data:%s}" % (self._type, self.reason, hexstr)
+
 
 class MAVLink_unknown(MAVLink_message):
-        '''
-        a message that we don't have in the XML used when built
-        '''
-        def __init__(self, msgid, data):
-                MAVLink_message.__init__(self, MAVLINK_MSG_ID_UNKNOWN, 'UNKNOWN_%u' % msgid)
-                self._fieldnames = ['data']
-                self.data = data
-                self._msgbuf = data
-                self._instance_field = None
-
-        def __str__(self):
-            '''Override the __str__ function from MAVLink_messages because non-printable characters are common.'''
-            return '%s {data:%s}' % (self._type, [('%x' % ord(i) if isinstance(i, str) else '%x' % i) for i in self.data])
+    """
+    a message that we don't have in the XML used when built
+    """
+
+    def __init__(self, msgid: int, data: bytes) -> None:
+        MAVLink_message.__init__(self, MAVLINK_MSG_ID_UNKNOWN, "UNKNOWN_%u" % msgid)
+        self._fieldnames = ["data"]
+        self.data = data
+        self._msgbuf = bytearray(data)
+        self._instance_field = None
+
+    def __str__(self) -> str:
+        """Override the __str__ function from MAVLink_messages because non-printable characters are common."""
+        if sys.version_info[0] == 2:
+            hexstr = ["{:x}".format(ord(i)) for i in self.data]
+        else:
+            hexstr = ["{:x}".format(i) for i in self.data]
+        return "%s {data:%s}" % (self._type, hexstr)
+
 
 class MAVLinkSigning(object):
-    '''MAVLink signing state class'''
-    def __init__(self):
-        self.secret_key = None
+    """MAVLink signing state class"""
+
+    def __init__(self) -> None:
+        self.secret_key: Optional[bytes] = None
         self.timestamp = 0
         self.link_id = 0
         self.sign_outgoing = False
-        self.allow_unsigned_callback = None
-        self.stream_timestamps = {}
+        self.allow_unsigned_callback: Optional[Callable[["MAVLink", int], bool]] = None
+        self.stream_timestamps: Dict[Tuple[int, int, int], int] = {}
         self.sig_count = 0
         self.badsig_count = 0
         self.goodsig_count = 0
         self.unsigned_count = 0
         self.reject_count = 0
 
+
 class MAVLink(object):
-        '''MAVLink protocol handling class'''
-        def __init__(self, file, srcSystem=0, srcComponent=0, use_native=False):
-                self.seq = 0
-                self.file = file
-                self.srcSystem = srcSystem
-                self.srcComponent = srcComponent
-                self.callback = None
-                self.callback_args = None
-                self.callback_kwargs = None
-                self.send_callback = None
-                self.send_callback_args = None
-                self.send_callback_kwargs = None
-                self.buf = bytearray()
-                self.buf_index = 0
-                self.expected_length = HEADER_LEN_V1+2
-                self.have_prefix_error = False
-                self.robust_parsing = False
-                self.protocol_marker = 254
-                self.little_endian = True
-                self.crc_extra = True
-                self.sort_fields = True
-                self.total_packets_sent = 0
-                self.total_bytes_sent = 0
-                self.total_packets_received = 0
-                self.total_bytes_received = 0
-                self.total_receive_errors = 0
-                self.startup_time = time.time()
-                self.signing = MAVLinkSigning()
-                if native_supported and (use_native or native_testing or native_force):
-                    print("NOTE: mavnative is currently beta-test code")
-                    self.native = mavnative.NativeConnection(MAVLink_message, mavlink_map)
-                else:
-                    self.native = None
-                if native_testing:
-                    self.test_buf = bytearray()
-                self.mav20_unpacker = struct.Struct('<cBBBBBBHB')
-                self.mav10_unpacker = struct.Struct('<cBBBBB')
-                self.mav20_h3_unpacker = struct.Struct('BBB')
-                self.mav_csum_unpacker = struct.Struct('<H')
-                self.mav_sign_unpacker = struct.Struct('<IH')
-
-        def set_callback(self, callback, *args, **kwargs):
-            self.callback = callback
-            self.callback_args = args
-            self.callback_kwargs = kwargs
-
-        def set_send_callback(self, callback, *args, **kwargs):
-            self.send_callback = callback
-            self.send_callback_args = args
-            self.send_callback_kwargs = kwargs
-
-        def send(self, mavmsg, force_mavlink1=False):
-                '''send a MAVLink message'''
-                buf = mavmsg.pack(self, force_mavlink1=force_mavlink1)
-                self.file.write(buf)
-                self.seq = (self.seq + 1) % 256
-                self.total_packets_sent += 1
-                self.total_bytes_sent += len(buf)
-                if self.send_callback:
-                    self.send_callback(mavmsg, *self.send_callback_args, **self.send_callback_kwargs)
-
-        def buf_len(self):
-            return len(self.buf) - self.buf_index
-
-        def bytes_needed(self):
-            '''return number of bytes needed for next parsing stage'''
-            if self.native:
-                ret = self.native.expected_length - self.buf_len()
-            else:
-                ret = self.expected_length - self.buf_len()
+    """MAVLink protocol handling class"""
 
-            if ret <= 0:
-                return 1
-            return ret
+    def __init__(self, file: Any, srcSystem: int = 0, srcComponent: int = 0, use_native: bool = False) -> None:
+        self.seq = 0
+        self.file = file
+        self.srcSystem = srcSystem
+        self.srcComponent = srcComponent
+        self.callback: Optional[Callable[..., None]] = None
+        self.callback_args: Optional[Iterable[Any]] = None
+        self.callback_kwargs: Optional[Mapping[str, Any]] = None
+        self.send_callback: Optional[Callable[..., None]] = None
+        self.send_callback_args: Optional[Iterable[Any]] = None
+        self.send_callback_kwargs: Optional[Mapping[str, Any]] = None
+        self.buf = bytearray()
+        self.buf_index = 0
+        self.expected_length = HEADER_LEN_V1 + 2
+        self.have_prefix_error = False
+        self.robust_parsing = False
+        self.protocol_marker = 254
+        self.little_endian = True
+        self.crc_extra = True
+        self.sort_fields = True
+        self.total_packets_sent = 0
+        self.total_bytes_sent = 0
+        self.total_packets_received = 0
+        self.total_bytes_received = 0
+        self.total_receive_errors = 0
+        self.startup_time = time.time()
+        self.signing = MAVLinkSigning()
+        self.mav20_unpacker = struct.Struct("<cBBBBBBHB")
+        self.mav10_unpacker = struct.Struct("<cBBBBB")
+        self.mav20_h3_unpacker = struct.Struct("BBB")
+        self.mav_csum_unpacker = struct.Struct("<H")
+        self.mav_sign_unpacker = struct.Struct("<IH")
+
+    def set_callback(self, callback: Callable[..., None], *args: Any, **kwargs: Any) -> None:
+        self.callback = callback
+        self.callback_args = args
+        self.callback_kwargs = kwargs
+
+    def set_send_callback(self, callback: Callable[..., None], *args: Any, **kwargs: Any) -> None:
+        self.send_callback = callback
+        self.send_callback_args = args
+        self.send_callback_kwargs = kwargs
+
+    def send(self, mavmsg: MAVLink_message, force_mavlink1: bool = False) -> None:
+        """send a MAVLink message"""
+        buf = mavmsg.pack(self, force_mavlink1=force_mavlink1)
+        self.file.write(buf)
+        self.seq = (self.seq + 1) % 256
+        self.total_packets_sent += 1
+        self.total_bytes_sent += len(buf)
+        if self.send_callback is not None and self.send_callback_args is not None and self.send_callback_kwargs is not None:
+            self.send_callback(mavmsg, *self.send_callback_args, **self.send_callback_kwargs)
+
+    def buf_len(self) -> int:
+        return len(self.buf) - self.buf_index
+
+    def bytes_needed(self) -> int:
+        """return number of bytes needed for next parsing stage"""
+        ret = self.expected_length - self.buf_len()
+
+        if ret <= 0:
+            return 1
+        return ret
 
-        def __parse_char_native(self, c):
-            '''this method exists only to see in profiling results'''
-            m = self.native.parse_chars(c)
-            return m
+    def __callbacks(self, msg: MAVLink_message) -> None:
+        """this method exists only to make profiling results easier to read"""
+        if self.callback is not None and self.callback_args is not None and self.callback_kwargs is not None:
+            self.callback(msg, *self.callback_args, **self.callback_kwargs)
 
-        def __callbacks(self, msg):
-            '''this method exists only to make profiling results easier to read'''
-            if self.callback:
-                self.callback(msg, *self.callback_args, **self.callback_kwargs)
-
-        def parse_char(self, c):
-            '''input some data bytes, possibly returning a new message'''
-            self.buf.extend(c)
-
-            self.total_bytes_received += len(c)
-
-            if self.native:
-                if native_testing:
-                    self.test_buf.extend(c)
-                    m = self.__parse_char_native(self.test_buf)
-                    m2 = self.__parse_char_legacy()
-                    if m2 != m:
-                        print("Native: %s\nLegacy: %s\n" % (m, m2))
-                        raise Exception('Native vs. Legacy mismatch')
-                else:
-                    m = self.__parse_char_native(self.buf)
-            else:
-                m = self.__parse_char_legacy()
+    def parse_char(self, c: Sequence[int]) -> Optional[MAVLink_message]:
+        """input some data bytes, possibly returning a new message"""
+        self.buf.extend(c)
 
-            if m is not None:
-                self.total_packets_received += 1
-                self.__callbacks(m)
-            else:
-                # XXX The idea here is if we've read something and there's nothing left in
-                # the buffer, reset it to 0 which frees the memory
-                if self.buf_len() == 0 and self.buf_index != 0:
-                    self.buf = bytearray()
-                    self.buf_index = 0
+        self.total_bytes_received += len(c)
 
-            return m
+        m = self.__parse_char_legacy()
 
-        def __parse_char_legacy(self):
-            '''input some data bytes, possibly returning a new message (uses no native code)'''
-            header_len = HEADER_LEN_V1
-            if self.buf_len() >= 1 and self.buf[self.buf_index] == PROTOCOL_MARKER_V2:
-                header_len = HEADER_LEN_V2
-
-            if self.buf_len() >= 1 and self.buf[self.buf_index] != PROTOCOL_MARKER_V1 and self.buf[self.buf_index] != PROTOCOL_MARKER_V2:
-                magic = self.buf[self.buf_index]
-                self.buf_index += 1
-                if self.robust_parsing:
-                    m = MAVLink_bad_data(bytearray([magic]), 'Bad prefix')
-                    self.expected_length = header_len+2
-                    self.total_receive_errors += 1
-                    return m
-                if self.have_prefix_error:
-                    return None
-                self.have_prefix_error = True
+        if m is not None:
+            self.total_packets_received += 1
+            self.__callbacks(m)
+        else:
+            # XXX The idea here is if we've read something and there's nothing left in
+            # the buffer, reset it to 0 which frees the memory
+            if self.buf_len() == 0 and self.buf_index != 0:
+                self.buf = bytearray()
+                self.buf_index = 0
+
+        return m
+
+    def __parse_char_legacy(self) -> Optional[MAVLink_message]:
+        """input some data bytes, possibly returning a new message"""
+        header_len = HEADER_LEN_V1
+        if self.buf_len() >= 1 and self.buf[self.buf_index] == PROTOCOL_MARKER_V2:
+            header_len = HEADER_LEN_V2
+
+        m: Optional[MAVLink_message] = None
+        if self.buf_len() >= 1 and self.buf[self.buf_index] != PROTOCOL_MARKER_V1 and self.buf[self.buf_index] != PROTOCOL_MARKER_V2:
+            magic = self.buf[self.buf_index]
+            self.buf_index += 1
+            if self.robust_parsing:
+                m = MAVLink_bad_data(bytearray([magic]), "Bad prefix")
+                self.expected_length = header_len + 2
                 self.total_receive_errors += 1
-                raise MAVError("invalid MAVLink prefix '%s'" % magic)
-            self.have_prefix_error = False
-            if self.buf_len() >= 3:
-                sbuf = self.buf[self.buf_index:3+self.buf_index]
-                if sys.version_info.major < 3:
-                    sbuf = str(sbuf)
-                (magic, self.expected_length, incompat_flags) = self.mav20_h3_unpacker.unpack(sbuf)
-                if magic == PROTOCOL_MARKER_V2 and (incompat_flags & MAVLINK_IFLAG_SIGNED):
-                        self.expected_length += MAVLINK_SIGNATURE_BLOCK_LEN
-                self.expected_length += header_len + 2
-            if self.expected_length >= (header_len+2) and self.buf_len() >= self.expected_length:
-                mbuf = array.array('B', self.buf[self.buf_index:self.buf_index+self.expected_length])
-                self.buf_index += self.expected_length
-                self.expected_length = header_len+2
-                if self.robust_parsing:
-                    try:
-                        if magic == PROTOCOL_MARKER_V2 and (incompat_flags & ~MAVLINK_IFLAG_SIGNED) != 0:
-                            raise MAVError('invalid incompat_flags 0x%x 0x%x %u' % (incompat_flags, magic, self.expected_length))
-                        m = self.decode(mbuf)
-                    except MAVError as reason:
-                        m = MAVLink_bad_data(mbuf, reason.message)
-                        self.total_receive_errors += 1
-                else:
-                    if magic == PROTOCOL_MARKER_V2 and (incompat_flags & ~MAVLINK_IFLAG_SIGNED) != 0:
-                        raise MAVError('invalid incompat_flags 0x%x 0x%x %u' % (incompat_flags, magic, self.expected_length))
-                    m = self.decode(mbuf)
                 return m
-            return None
-
-        def parse_buffer(self, s):
-            '''input some data bytes, possibly returning a list of new messages'''
-            m = self.parse_char(s)
-            if m is None:
+            if self.have_prefix_error:
                 return None
-            ret = [m]
-            while True:
-                m = self.parse_char("")
-                if m is None:
-                    return ret
-                ret.append(m)
-            return ret
-
-        def check_signature(self, msgbuf, srcSystem, srcComponent):
-            '''check signature on incoming message'''
-            if isinstance(msgbuf, array.array):
+            self.have_prefix_error = True
+            self.total_receive_errors += 1
+            raise MAVError("invalid MAVLink prefix '%s'" % magic)
+        self.have_prefix_error = False
+        if self.buf_len() >= 3:
+            sbuf = self.buf[self.buf_index : 3 + self.buf_index]
+            (magic, self.expected_length, incompat_flags) = cast(
+                Tuple[int, int, int],
+                self.mav20_h3_unpacker.unpack(sbuf),
+            )
+            if magic == PROTOCOL_MARKER_V2 and (incompat_flags & MAVLINK_IFLAG_SIGNED):
+                self.expected_length += MAVLINK_SIGNATURE_BLOCK_LEN
+            self.expected_length += header_len + 2
+        if self.expected_length >= (header_len + 2) and self.buf_len() >= self.expected_length:
+            mbuf = self.buf[self.buf_index : self.buf_index + self.expected_length]
+            self.buf_index += self.expected_length
+            self.expected_length = header_len + 2
+            if self.robust_parsing:
                 try:
-                    msgbuf = msgbuf.tostring()
-                except:
-                    msgbuf = msgbuf.tobytes()
-            timestamp_buf = msgbuf[-12:-6]
-            link_id = msgbuf[-13]
-            (tlow, thigh) = self.mav_sign_unpacker.unpack(timestamp_buf)
-            timestamp = tlow + (thigh<<32)
-
-            # see if the timestamp is acceptable
-            stream_key = (link_id,srcSystem,srcComponent)
-            if stream_key in self.signing.stream_timestamps:
-                if timestamp <= self.signing.stream_timestamps[stream_key]:
-                    # reject old timestamp
-                    # print('old timestamp')
-                    return False
-            else:
-                # a new stream has appeared. Accept the timestamp if it is at most
-                # one minute behind our current timestamp
-                if timestamp + 6000*1000 < self.signing.timestamp:
-                    # print('bad new stream ', timestamp/(100.0*1000*60*60*24*365), self.signing.timestamp/(100.0*1000*60*60*24*365))
-                    return False
-                self.signing.stream_timestamps[stream_key] = timestamp
-                # print('new stream')
-
-            h = hashlib.new('sha256')
-            h.update(self.signing.secret_key)
-            h.update(msgbuf[:-6])
-            if str(type(msgbuf)) == "<class 'bytes'>" or str(type(msgbuf)) == "<class 'bytearray'>":
-                # Python 3
-                sig1 = h.digest()[:6]
-                sig2 = msgbuf[-6:]
+                    if magic == PROTOCOL_MARKER_V2 and (incompat_flags & ~MAVLINK_IFLAG_SIGNED) != 0:
+                        raise MAVError("invalid incompat_flags 0x%x 0x%x %u" % (incompat_flags, magic, self.expected_length))
+                    m = self.decode(mbuf)
+                except MAVError as reason:
+                    m = MAVLink_bad_data(mbuf, reason.message)
+                    self.total_receive_errors += 1
             else:
-                sig1 = str(h.digest())[:6]
-                sig2 = str(msgbuf)[-6:]
-            if sig1 != sig2:
-                # print('sig mismatch')
+                if magic == PROTOCOL_MARKER_V2 and (incompat_flags & ~MAVLINK_IFLAG_SIGNED) != 0:
+                    raise MAVError("invalid incompat_flags 0x%x 0x%x %u" % (incompat_flags, magic, self.expected_length))
+                m = self.decode(mbuf)
+            return m
+        return None
+
+    def parse_buffer(self, s: Sequence[int]) -> Optional[List[MAVLink_message]]:
+        """input some data bytes, possibly returning a list of new messages"""
+        m = self.parse_char(s)
+        if m is None:
+            return None
+        ret = [m]
+        while True:
+            m = self.parse_char(b"")
+            if m is None:
+                return ret
+            ret.append(m)
+
+    def check_signature(self, msgbuf: bytearray, srcSystem: int, srcComponent: int) -> bool:
+        """check signature on incoming message"""
+        assert self.signing.secret_key is not None
+
+        timestamp_buf = msgbuf[-12:-6]
+        link_id = msgbuf[-13]
+        (tlow, thigh) = cast(
+            Tuple[int, int],
+            self.mav_sign_unpacker.unpack(timestamp_buf),
+        )
+        timestamp = tlow + (thigh << 32)
+
+        # see if the timestamp is acceptable
+        stream_key = (link_id, srcSystem, srcComponent)
+        if stream_key in self.signing.stream_timestamps:
+            if timestamp <= self.signing.stream_timestamps[stream_key]:
+                # reject old timestamp
+                logger.info("old timestamp")
                 return False
+        else:
+            # a new stream has appeared. Accept the timestamp if it is at most
+            # one minute behind our current timestamp
+            if timestamp + 6000 * 1000 < self.signing.timestamp:
+                logger.info("bad new stream %s %s", timestamp / (100.0 * 1000 * 60 * 60 * 24 * 365), self.signing.timestamp / (100.0 * 1000 * 60 * 60 * 24 * 365))
+                return False
+            self.signing.stream_timestamps[stream_key] = timestamp
+            logger.info("new stream")
+
+        h = hashlib.new("sha256")
+        h.update(self.signing.secret_key)
+        h.update(msgbuf[:-6])
+        sig1 = h.digest()[:6]
+        sig2 = msgbuf[-6:]
+        if sig1 != sig2:
+            logger.info("sig mismatch")
+            return False
+
+        # the timestamp we next send with is the max of the received timestamp and
+        # our current timestamp
+        self.signing.timestamp = max(self.signing.timestamp, timestamp)
+        return True
 
-            # the timestamp we next send with is the max of the received timestamp and
-            # our current timestamp
-            self.signing.timestamp = max(self.signing.timestamp, timestamp)
-            return True
-
-        def decode(self, msgbuf):
-                '''decode a buffer as a MAVLink message'''
-                # decode the header
-                if msgbuf[0] != PROTOCOL_MARKER_V1:
-                    headerlen = 10
-                    try:
-                        magic, mlen, incompat_flags, compat_flags, seq, srcSystem, srcComponent, msgIdlow, msgIdhigh = self.mav20_unpacker.unpack(msgbuf[:headerlen])
-                    except struct.error as emsg:
-                        raise MAVError('Unable to unpack MAVLink header: %s' % emsg)
-                    msgId = msgIdlow | (msgIdhigh<<16)
-                    mapkey = msgId
+    def decode(self, msgbuf: bytearray) -> MAVLink_message:
+        """decode a buffer as a MAVLink message"""
+        # decode the header
+        if msgbuf[0] != PROTOCOL_MARKER_V1:
+            headerlen = 10
+            try:
+                magic, mlen, incompat_flags, compat_flags, seq, srcSystem, srcComponent, msgIdlow, msgIdhigh = cast(
+                    Tuple[bytes, int, int, int, int, int, int, int, int],
+                    self.mav20_unpacker.unpack(msgbuf[:headerlen]),
+                )
+            except struct.error as emsg:
+                raise MAVError("Unable to unpack MAVLink header: %s" % emsg)
+            msgId = msgIdlow | (msgIdhigh << 16)
+            mapkey = msgId
+        else:
+            headerlen = 6
+            try:
+                magic, mlen, seq, srcSystem, srcComponent, msgId = cast(
+                    Tuple[bytes, int, int, int, int, int],
+                    self.mav10_unpacker.unpack(msgbuf[:headerlen]),
+                )
+                incompat_flags = 0
+                compat_flags = 0
+            except struct.error as emsg:
+                raise MAVError("Unable to unpack MAVLink header: %s" % emsg)
+            mapkey = msgId
+        if (incompat_flags & MAVLINK_IFLAG_SIGNED) != 0:
+            signature_len = MAVLINK_SIGNATURE_BLOCK_LEN
+        else:
+            signature_len = 0
+
+        if ord(magic) != PROTOCOL_MARKER_V1 and ord(magic) != PROTOCOL_MARKER_V2:
+            raise MAVError("invalid MAVLink prefix '{}'".format(hex(ord(magic))))
+        if mlen != len(msgbuf) - (headerlen + 2 + signature_len):
+            raise MAVError("invalid MAVLink message length. Got %u expected %u, msgId=%u headerlen=%u" % (len(msgbuf) - (headerlen + 2 + signature_len), mlen, msgId, headerlen))
+
+        if mapkey not in mavlink_map:
+            return MAVLink_unknown(msgId, msgbuf)
+
+        # decode the payload
+        msgtype = mavlink_map[mapkey]
+        order_map = msgtype.orders
+        len_map = msgtype.lengths
+        crc_extra = msgtype.crc_extra
+
+        # decode the checksum
+        try:
+            (crc,) = cast(
+                Tuple[int],
+                self.mav_csum_unpacker.unpack(msgbuf[-(2 + signature_len) :][:2]),
+            )
+        except struct.error as emsg:
+            raise MAVError("Unable to unpack MAVLink CRC: %s" % emsg)
+        crcbuf = msgbuf[1 : -(2 + signature_len)]
+        if True:
+            # using CRC extra
+            crcbuf.append(crc_extra)
+        crc2 = x25crc(crcbuf)
+        if crc != crc2.crc and not MAVLINK_IGNORE_CRC:
+            raise MAVError("invalid MAVLink CRC in msgID %u 0x%04x should be 0x%04x" % (msgId, crc, crc2.crc))
+
+        sig_ok = False
+        if signature_len == MAVLINK_SIGNATURE_BLOCK_LEN:
+            self.signing.sig_count += 1
+        if self.signing.secret_key is not None:
+            accept_signature = False
+            if signature_len == MAVLINK_SIGNATURE_BLOCK_LEN:
+                sig_ok = self.check_signature(msgbuf, srcSystem, srcComponent)
+                accept_signature = sig_ok
+                if sig_ok:
+                    self.signing.goodsig_count += 1
                 else:
-                    headerlen = 6
-                    try:
-                        magic, mlen, seq, srcSystem, srcComponent, msgId = self.mav10_unpacker.unpack(msgbuf[:headerlen])
-                        incompat_flags = 0
-                        compat_flags = 0
-                    except struct.error as emsg:
-                        raise MAVError('Unable to unpack MAVLink header: %s' % emsg)
-                    mapkey = msgId
-                if (incompat_flags & MAVLINK_IFLAG_SIGNED) != 0:
-                    signature_len = MAVLINK_SIGNATURE_BLOCK_LEN
+                    self.signing.badsig_count += 1
+                if not accept_signature and self.signing.allow_unsigned_callback is not None:
+                    accept_signature = self.signing.allow_unsigned_callback(self, msgId)
+                    if accept_signature:
+                        self.signing.unsigned_count += 1
+                    else:
+                        self.signing.reject_count += 1
+            elif self.signing.allow_unsigned_callback is not None:
+                accept_signature = self.signing.allow_unsigned_callback(self, msgId)
+                if accept_signature:
+                    self.signing.unsigned_count += 1
                 else:
-                    signature_len = 0
+                    self.signing.reject_count += 1
+            if not accept_signature:
+                raise MAVError("Invalid signature")
+
+        csize = msgtype.unpacker.size
+        mbuf = msgbuf[headerlen : -(2 + signature_len)]
+        if len(mbuf) < csize:
+            # zero pad to give right size
+            mbuf.extend([0] * (csize - len(mbuf)))
+        if len(mbuf) < csize:
+            raise MAVError("Bad message of type %s length %u needs %s" % (msgtype, len(mbuf), csize))
+        mbuf = mbuf[:csize]
+        try:
+            t = cast(
+                Tuple[Union[bytes, int, float], ...],
+                msgtype.unpacker.unpack(mbuf),
+            )
+        except struct.error as emsg:
+            raise MAVError("Unable to unpack MAVLink payload type=%s payloadLength=%u: %s" % (msgtype, len(mbuf), emsg))
+
+        tlist: List[Union[bytes, float, int, Sequence[float], Sequence[int]]] = list(t)
+        # handle sorted fields
+        if True:
+            if sum(len_map) == len(len_map):
+                # message has no arrays in it
+                for i in range(0, len(tlist)):
+                    tlist[i] = t[order_map[i]]
+            else:
+                # message has some arrays
+                tlist = []
+                for i in range(0, len(order_map)):
+                    order = order_map[i]
+                    L = len_map[order]
+                    tip = sum(len_map[:order])
+                    field = t[tip]
+                    if L == 1 or isinstance(field, bytes):
+                        tlist.append(field)
+                    else:
+                        tlist.append(cast(Union[Sequence[int], Sequence[float]], list(t[tip : (tip + L)])))
+
+        # terminate any strings
+        for i, elem in enumerate(tlist):
+            if isinstance(elem, bytes):
+                tlist[i] = elem.rstrip(b"\x00")
+
+        # construct the message object
+        try:
+            # Note that initializers don't follow the Liskov Substitution Principle
+            # therefore it can't be typechecked
+            m = msgtype(*tlist)  # type: ignore
+        except Exception as emsg:
+            raise MAVError("Unable to instantiate MAVLink message of type %s : %s" % (msgtype, emsg))
+        m._signed = sig_ok
+        if m._signed:
+            m._link_id = msgbuf[-13]
+        m._msgbuf = msgbuf
+        m._payload = msgbuf[6 : -(2 + signature_len)]
+        m._crc = crc
+        m._header = MAVLink_header(msgId, incompat_flags, compat_flags, mlen, seq, srcSystem, srcComponent)
+        return m
+
+    def ping_tc_encode(self, timestamp: int) -> MAVLink_ping_tc_message:
+        """
+        TC to ping the rocket (expects an ACK message as a response)
 
-                if ord(magic) != PROTOCOL_MARKER_V1 and ord(magic) != PROTOCOL_MARKER_V2:
-                    raise MAVError("invalid MAVLink prefix '%s'" % magic)
-                if mlen != len(msgbuf)-(headerlen+2+signature_len):
-                    raise MAVError('invalid MAVLink message length. Got %u expected %u, msgId=%u headerlen=%u' % (len(msgbuf)-(headerlen+2+signature_len), mlen, msgId, headerlen))
+        timestamp                 : Timestamp to identify when it was sent (type:uint64_t)
 
-                if not mapkey in mavlink_map:
-                    return MAVLink_unknown(msgId, msgbuf)
+        """
+        return MAVLink_ping_tc_message(timestamp)
 
-                # decode the payload
-                type = mavlink_map[mapkey]
-                fmt = type.format
-                order_map = type.orders
-                len_map = type.lengths
-                crc_extra = type.crc_extra
+    def ping_tc_send(self, timestamp: int, force_mavlink1: bool = False) -> None:
+        """
+        TC to ping the rocket (expects an ACK message as a response)
 
-                # decode the checksum
-                try:
-                    crc, = self.mav_csum_unpacker.unpack(msgbuf[-(2+signature_len):][:2])
-                except struct.error as emsg:
-                    raise MAVError('Unable to unpack MAVLink CRC: %s' % emsg)
-                crcbuf = msgbuf[1:-(2+signature_len)]
-                if True: # using CRC extra
-                    crcbuf.append(crc_extra)
-                crc2 = x25crc(crcbuf)
-                if crc != crc2.crc and not MAVLINK_IGNORE_CRC:
-                    raise MAVError('invalid MAVLink CRC in msgID %u 0x%04x should be 0x%04x' % (msgId, crc, crc2.crc))
-
-                sig_ok = False
-                if signature_len == MAVLINK_SIGNATURE_BLOCK_LEN:
-                    self.signing.sig_count += 1
-                if self.signing.secret_key is not None:
-                    accept_signature = False
-                    if signature_len == MAVLINK_SIGNATURE_BLOCK_LEN:
-                        sig_ok = self.check_signature(msgbuf, srcSystem, srcComponent)
-                        accept_signature = sig_ok
-                        if sig_ok:
-                            self.signing.goodsig_count += 1
-                        else:
-                            self.signing.badsig_count += 1
-                        if not accept_signature and self.signing.allow_unsigned_callback is not None:
-                            accept_signature = self.signing.allow_unsigned_callback(self, msgId)
-                            if accept_signature:
-                                self.signing.unsigned_count += 1
-                            else:
-                                self.signing.reject_count += 1
-                    elif self.signing.allow_unsigned_callback is not None:
-                        accept_signature = self.signing.allow_unsigned_callback(self, msgId)
-                        if accept_signature:
-                            self.signing.unsigned_count += 1
-                        else:
-                            self.signing.reject_count += 1
-                    if not accept_signature:
-                        raise MAVError('Invalid signature')
-
-                csize = type.unpacker.size
-                mbuf = msgbuf[headerlen:-(2+signature_len)]
-                if len(mbuf) < csize:
-                    # zero pad to give right size
-                    mbuf.extend([0]*(csize - len(mbuf)))
-                if len(mbuf) < csize:
-                    raise MAVError('Bad message of type %s length %u needs %s' % (
-                        type, len(mbuf), csize))
-                mbuf = mbuf[:csize]
-                try:
-                    t = type.unpacker.unpack(mbuf)
-                except struct.error as emsg:
-                    raise MAVError('Unable to unpack MAVLink payload type=%s fmt=%s payloadLength=%u: %s' % (
-                        type, fmt, len(mbuf), emsg))
-
-                tlist = list(t)
-                # handle sorted fields
-                if True:
-                    t = tlist[:]
-                    if sum(len_map) == len(len_map):
-                        # message has no arrays in it
-                        for i in range(0, len(tlist)):
-                            tlist[i] = t[order_map[i]]
-                    else:
-                        # message has some arrays
-                        tlist = []
-                        for i in range(0, len(order_map)):
-                            order = order_map[i]
-                            L = len_map[order]
-                            tip = sum(len_map[:order])
-                            field = t[tip]
-                            if L == 1 or isinstance(field, str):
-                                tlist.append(field)
-                            else:
-                                tlist.append(t[tip:(tip + L)])
-
-                # terminate any strings
-                for i in range(0, len(tlist)):
-                    if type.fieldtypes[i] == 'char':
-                        if sys.version_info.major >= 3:
-                            tlist[i] = to_string(tlist[i])
-                        tlist[i] = str(MAVString(tlist[i]))
-                t = tuple(tlist)
-                # construct the message object
-                try:
-                    m = type(*t)
-                except Exception as emsg:
-                    raise MAVError('Unable to instantiate MAVLink message of type %s : %s' % (type, emsg))
-                m._signed = sig_ok
-                if m._signed:
-                    m._link_id = msgbuf[-13]
-                m._msgbuf = msgbuf
-                m._payload = msgbuf[6:-(2+signature_len)]
-                m._crc = crc
-                m._header = MAVLink_header(msgId, incompat_flags, compat_flags, mlen, seq, srcSystem, srcComponent)
-                return m
-        def ping_tc_encode(self, timestamp):
-                '''
-                TC to ping the rocket (expects an ACK message as a response)
+        timestamp                 : Timestamp to identify when it was sent (type:uint64_t)
+
+        """
+        self.send(self.ping_tc_encode(timestamp), force_mavlink1=force_mavlink1)
+
+    def command_tc_encode(self, command_id: int) -> MAVLink_command_tc_message:
+        """
+        TC containing a command with no parameters that trigger some action
+
+        command_id                : A member of the MavCommandList enum (type:uint8_t)
+
+        """
+        return MAVLink_command_tc_message(command_id)
+
+    def command_tc_send(self, command_id: int, force_mavlink1: bool = False) -> None:
+        """
+        TC containing a command with no parameters that trigger some action
+
+        command_id                : A member of the MavCommandList enum (type:uint8_t)
+
+        """
+        self.send(self.command_tc_encode(command_id), force_mavlink1=force_mavlink1)
+
+    def system_tm_request_tc_encode(self, tm_id: int) -> MAVLink_system_tm_request_tc_message:
+        """
+        TC containing a request for the status of a board
+
+        tm_id                     : A member of the SystemTMList enum (type:uint8_t)
+
+        """
+        return MAVLink_system_tm_request_tc_message(tm_id)
+
+    def system_tm_request_tc_send(self, tm_id: int, force_mavlink1: bool = False) -> None:
+        """
+        TC containing a request for the status of a board
+
+        tm_id                     : A member of the SystemTMList enum (type:uint8_t)
+
+        """
+        self.send(self.system_tm_request_tc_encode(tm_id), force_mavlink1=force_mavlink1)
+
+    def sensor_tm_request_tc_encode(self, sensor_name: int) -> MAVLink_sensor_tm_request_tc_message:
+        """
+        TC containing a request for sensors telemetry
+
+        sensor_name               : A member of the SensorTMList enum (type:uint8_t)
+
+        """
+        return MAVLink_sensor_tm_request_tc_message(sensor_name)
+
+    def sensor_tm_request_tc_send(self, sensor_name: int, force_mavlink1: bool = False) -> None:
+        """
+        TC containing a request for sensors telemetry
+
+        sensor_name               : A member of the SensorTMList enum (type:uint8_t)
+
+        """
+        self.send(self.sensor_tm_request_tc_encode(sensor_name), force_mavlink1=force_mavlink1)
+
+    def servo_tm_request_tc_encode(self, servo_id: int) -> MAVLink_servo_tm_request_tc_message:
+        """
+        TC containing a request for servo telemetry
+
+        servo_id                  : A member of the ServosList enum (type:uint8_t)
+
+        """
+        return MAVLink_servo_tm_request_tc_message(servo_id)
+
+    def servo_tm_request_tc_send(self, servo_id: int, force_mavlink1: bool = False) -> None:
+        """
+        TC containing a request for servo telemetry
+
+        servo_id                  : A member of the ServosList enum (type:uint8_t)
+
+        """
+        self.send(self.servo_tm_request_tc_encode(servo_id), force_mavlink1=force_mavlink1)
+
+    def set_servo_angle_tc_encode(self, servo_id: int, angle: float) -> MAVLink_set_servo_angle_tc_message:
+        """
+        Sets the angle of a certain servo
+
+        servo_id                  : A member of the ServosList enum (type:uint8_t)
+        angle                     : Servo angle in normalized value [0-1] (type:float)
+
+        """
+        return MAVLink_set_servo_angle_tc_message(servo_id, angle)
+
+    def set_servo_angle_tc_send(self, servo_id: int, angle: float, force_mavlink1: bool = False) -> None:
+        """
+        Sets the angle of a certain servo
+
+        servo_id                  : A member of the ServosList enum (type:uint8_t)
+        angle                     : Servo angle in normalized value [0-1] (type:float)
+
+        """
+        self.send(self.set_servo_angle_tc_encode(servo_id, angle), force_mavlink1=force_mavlink1)
+
+    def wiggle_servo_tc_encode(self, servo_id: int) -> MAVLink_wiggle_servo_tc_message:
+        """
+        Wiggles the specified servo
+
+        servo_id                  : A member of the ServosList enum (type:uint8_t)
+
+        """
+        return MAVLink_wiggle_servo_tc_message(servo_id)
+
+    def wiggle_servo_tc_send(self, servo_id: int, force_mavlink1: bool = False) -> None:
+        """
+        Wiggles the specified servo
 
-                timestamp                 : Timestamp to identify when it was sent (type:uint64_t)
+        servo_id                  : A member of the ServosList enum (type:uint8_t)
 
-                '''
-                return MAVLink_ping_tc_message(timestamp)
+        """
+        self.send(self.wiggle_servo_tc_encode(servo_id), force_mavlink1=force_mavlink1)
 
-        def ping_tc_send(self, timestamp, force_mavlink1=False):
-                '''
-                TC to ping the rocket (expects an ACK message as a response)
+    def reset_servo_tc_encode(self, servo_id: int) -> MAVLink_reset_servo_tc_message:
+        """
+        Resets the specified servo
+
+        servo_id                  : A member of the ServosList enum (type:uint8_t)
+
+        """
+        return MAVLink_reset_servo_tc_message(servo_id)
+
+    def reset_servo_tc_send(self, servo_id: int, force_mavlink1: bool = False) -> None:
+        """
+        Resets the specified servo
+
+        servo_id                  : A member of the ServosList enum (type:uint8_t)
+
+        """
+        self.send(self.reset_servo_tc_encode(servo_id), force_mavlink1=force_mavlink1)
+
+    def set_reference_altitude_tc_encode(self, ref_altitude: float) -> MAVLink_set_reference_altitude_tc_message:
+        """
+        Sets the reference altitude for the altimeter
+
+        ref_altitude              : Reference altitude [m] (type:float)
+
+        """
+        return MAVLink_set_reference_altitude_tc_message(ref_altitude)
+
+    def set_reference_altitude_tc_send(self, ref_altitude: float, force_mavlink1: bool = False) -> None:
+        """
+        Sets the reference altitude for the altimeter
+
+        ref_altitude              : Reference altitude [m] (type:float)
+
+        """
+        self.send(self.set_reference_altitude_tc_encode(ref_altitude), force_mavlink1=force_mavlink1)
+
+    def set_reference_temperature_tc_encode(self, ref_temp: float) -> MAVLink_set_reference_temperature_tc_message:
+        """
+        Sets the reference temperature for the altimeter
+
+        ref_temp                  : Reference temperature [degC] (type:float)
+
+        """
+        return MAVLink_set_reference_temperature_tc_message(ref_temp)
 
-                timestamp                 : Timestamp to identify when it was sent (type:uint64_t)
+    def set_reference_temperature_tc_send(self, ref_temp: float, force_mavlink1: bool = False) -> None:
+        """
+        Sets the reference temperature for the altimeter
 
-                '''
-                return self.send(self.ping_tc_encode(timestamp), force_mavlink1=force_mavlink1)
+        ref_temp                  : Reference temperature [degC] (type:float)
 
-        def command_tc_encode(self, command_id):
-                '''
-                TC containing a command with no parameters that trigger some action
+        """
+        self.send(self.set_reference_temperature_tc_encode(ref_temp), force_mavlink1=force_mavlink1)
 
-                command_id                : A member of the MavCommandList enum (type:uint8_t)
+    def set_orientation_tc_encode(self, yaw: float, pitch: float, roll: float) -> MAVLink_set_orientation_tc_message:
+        """
+        Sets current orientation for the navigation system
 
-                '''
-                return MAVLink_command_tc_message(command_id)
+        yaw                       : Yaw angle [deg] (type:float)
+        pitch                     : Pitch angle [deg] (type:float)
+        roll                      : Roll angle [deg] (type:float)
 
-        def command_tc_send(self, command_id, force_mavlink1=False):
-                '''
-                TC containing a command with no parameters that trigger some action
+        """
+        return MAVLink_set_orientation_tc_message(yaw, pitch, roll)
 
-                command_id                : A member of the MavCommandList enum (type:uint8_t)
+    def set_orientation_tc_send(self, yaw: float, pitch: float, roll: float, force_mavlink1: bool = False) -> None:
+        """
+        Sets current orientation for the navigation system
 
-                '''
-                return self.send(self.command_tc_encode(command_id), force_mavlink1=force_mavlink1)
+        yaw                       : Yaw angle [deg] (type:float)
+        pitch                     : Pitch angle [deg] (type:float)
+        roll                      : Roll angle [deg] (type:float)
 
-        def system_tm_request_tc_encode(self, tm_id):
-                '''
-                TC containing a request for the status of a board
+        """
+        self.send(self.set_orientation_tc_encode(yaw, pitch, roll), force_mavlink1=force_mavlink1)
 
-                tm_id                     : A member of the SystemTMList enum (type:uint8_t)
+    def set_coordinates_tc_encode(self, latitude: float, longitude: float) -> MAVLink_set_coordinates_tc_message:
+        """
+        Sets current coordinates
 
-                '''
-                return MAVLink_system_tm_request_tc_message(tm_id)
+        latitude                  : Latitude [deg] (type:float)
+        longitude                 : Longitude [deg] (type:float)
 
-        def system_tm_request_tc_send(self, tm_id, force_mavlink1=False):
-                '''
-                TC containing a request for the status of a board
+        """
+        return MAVLink_set_coordinates_tc_message(latitude, longitude)
 
-                tm_id                     : A member of the SystemTMList enum (type:uint8_t)
+    def set_coordinates_tc_send(self, latitude: float, longitude: float, force_mavlink1: bool = False) -> None:
+        """
+        Sets current coordinates
 
-                '''
-                return self.send(self.system_tm_request_tc_encode(tm_id), force_mavlink1=force_mavlink1)
+        latitude                  : Latitude [deg] (type:float)
+        longitude                 : Longitude [deg] (type:float)
 
-        def sensor_tm_request_tc_encode(self, sensor_name):
-                '''
-                TC containing a request for sensors telemetry
+        """
+        self.send(self.set_coordinates_tc_encode(latitude, longitude), force_mavlink1=force_mavlink1)
 
-                sensor_name               : A member of the SensorTMList enum (type:uint8_t)
+    def raw_event_tc_encode(self, topic_id: int, event_id: int) -> MAVLink_raw_event_tc_message:
+        """
+        TC containing a raw event to be posted directly in the EventBroker
 
-                '''
-                return MAVLink_sensor_tm_request_tc_message(sensor_name)
+        topic_id                  : Id of the topic to which the event should be posted (type:uint8_t)
+        event_id                  : Id of the event to be posted (type:uint8_t)
 
-        def sensor_tm_request_tc_send(self, sensor_name, force_mavlink1=False):
-                '''
-                TC containing a request for sensors telemetry
+        """
+        return MAVLink_raw_event_tc_message(topic_id, event_id)
 
-                sensor_name               : A member of the SensorTMList enum (type:uint8_t)
+    def raw_event_tc_send(self, topic_id: int, event_id: int, force_mavlink1: bool = False) -> None:
+        """
+        TC containing a raw event to be posted directly in the EventBroker
 
-                '''
-                return self.send(self.sensor_tm_request_tc_encode(sensor_name), force_mavlink1=force_mavlink1)
+        topic_id                  : Id of the topic to which the event should be posted (type:uint8_t)
+        event_id                  : Id of the event to be posted (type:uint8_t)
 
-        def servo_tm_request_tc_encode(self, servo_id):
-                '''
-                TC containing a request for servo telemetry
+        """
+        self.send(self.raw_event_tc_encode(topic_id, event_id), force_mavlink1=force_mavlink1)
 
-                servo_id                  : A member of the ServosList enum (type:uint8_t)
+    def set_deployment_altitude_tc_encode(self, dpl_altitude: float) -> MAVLink_set_deployment_altitude_tc_message:
+        """
+        Sets the deployment altitude for the main parachute
 
-                '''
-                return MAVLink_servo_tm_request_tc_message(servo_id)
+        dpl_altitude              : Deployment altitude [m] (type:float)
 
-        def servo_tm_request_tc_send(self, servo_id, force_mavlink1=False):
-                '''
-                TC containing a request for servo telemetry
+        """
+        return MAVLink_set_deployment_altitude_tc_message(dpl_altitude)
 
-                servo_id                  : A member of the ServosList enum (type:uint8_t)
+    def set_deployment_altitude_tc_send(self, dpl_altitude: float, force_mavlink1: bool = False) -> None:
+        """
+        Sets the deployment altitude for the main parachute
 
-                '''
-                return self.send(self.servo_tm_request_tc_encode(servo_id), force_mavlink1=force_mavlink1)
+        dpl_altitude              : Deployment altitude [m] (type:float)
 
-        def set_servo_angle_tc_encode(self, servo_id, angle):
-                '''
-                Sets the angle of a certain servo
+        """
+        self.send(self.set_deployment_altitude_tc_encode(dpl_altitude), force_mavlink1=force_mavlink1)
 
-                servo_id                  : A member of the ServosList enum (type:uint8_t)
-                angle                     : Servo angle in normalized value [0-1] (type:float)
+    def set_target_coordinates_tc_encode(self, latitude: float, longitude: float) -> MAVLink_set_target_coordinates_tc_message:
+        """
+        Sets the target coordinates
 
-                '''
-                return MAVLink_set_servo_angle_tc_message(servo_id, angle)
+        latitude                  : Latitude [deg] (type:float)
+        longitude                 : Longitude [deg] (type:float)
 
-        def set_servo_angle_tc_send(self, servo_id, angle, force_mavlink1=False):
-                '''
-                Sets the angle of a certain servo
+        """
+        return MAVLink_set_target_coordinates_tc_message(latitude, longitude)
 
-                servo_id                  : A member of the ServosList enum (type:uint8_t)
-                angle                     : Servo angle in normalized value [0-1] (type:float)
+    def set_target_coordinates_tc_send(self, latitude: float, longitude: float, force_mavlink1: bool = False) -> None:
+        """
+        Sets the target coordinates
 
-                '''
-                return self.send(self.set_servo_angle_tc_encode(servo_id, angle), force_mavlink1=force_mavlink1)
+        latitude                  : Latitude [deg] (type:float)
+        longitude                 : Longitude [deg] (type:float)
 
-        def wiggle_servo_tc_encode(self, servo_id):
-                '''
-                Wiggles the specified servo
+        """
+        self.send(self.set_target_coordinates_tc_encode(latitude, longitude), force_mavlink1=force_mavlink1)
 
-                servo_id                  : A member of the ServosList enum (type:uint8_t)
+    def set_algorithm_tc_encode(self, algorithm_number: int) -> MAVLink_set_algorithm_tc_message:
+        """
+        Sets the algorithm number (for parafoil guidance and GSE tars)
 
-                '''
-                return MAVLink_wiggle_servo_tc_message(servo_id)
+        algorithm_number          : Algorithm number (type:uint8_t)
 
-        def wiggle_servo_tc_send(self, servo_id, force_mavlink1=False):
-                '''
-                Wiggles the specified servo
+        """
+        return MAVLink_set_algorithm_tc_message(algorithm_number)
 
-                servo_id                  : A member of the ServosList enum (type:uint8_t)
+    def set_algorithm_tc_send(self, algorithm_number: int, force_mavlink1: bool = False) -> None:
+        """
+        Sets the algorithm number (for parafoil guidance and GSE tars)
 
-                '''
-                return self.send(self.wiggle_servo_tc_encode(servo_id), force_mavlink1=force_mavlink1)
+        algorithm_number          : Algorithm number (type:uint8_t)
 
-        def reset_servo_tc_encode(self, servo_id):
-                '''
-                Resets the specified servo
+        """
+        self.send(self.set_algorithm_tc_encode(algorithm_number), force_mavlink1=force_mavlink1)
 
-                servo_id                  : A member of the ServosList enum (type:uint8_t)
+    def set_atomic_valve_timing_tc_encode(self, servo_id: int, maximum_timing: int) -> MAVLink_set_atomic_valve_timing_tc_message:
+        """
+        Sets the maximum time that the valves can be open atomically
 
-                '''
-                return MAVLink_reset_servo_tc_message(servo_id)
+        servo_id                  : A member of the ServosList enum (type:uint8_t)
+        maximum_timing            : Maximum timing in [ms] [ms] (type:uint32_t)
 
-        def reset_servo_tc_send(self, servo_id, force_mavlink1=False):
-                '''
-                Resets the specified servo
+        """
+        return MAVLink_set_atomic_valve_timing_tc_message(servo_id, maximum_timing)
 
-                servo_id                  : A member of the ServosList enum (type:uint8_t)
+    def set_atomic_valve_timing_tc_send(self, servo_id: int, maximum_timing: int, force_mavlink1: bool = False) -> None:
+        """
+        Sets the maximum time that the valves can be open atomically
 
-                '''
-                return self.send(self.reset_servo_tc_encode(servo_id), force_mavlink1=force_mavlink1)
+        servo_id                  : A member of the ServosList enum (type:uint8_t)
+        maximum_timing            : Maximum timing in [ms] [ms] (type:uint32_t)
 
-        def set_reference_altitude_tc_encode(self, ref_altitude):
-                '''
-                Sets the reference altitude for the altimeter
+        """
+        self.send(self.set_atomic_valve_timing_tc_encode(servo_id, maximum_timing), force_mavlink1=force_mavlink1)
 
-                ref_altitude              : Reference altitude [m] (type:float)
+    def set_valve_maximum_aperture_tc_encode(self, servo_id: int, maximum_aperture: float) -> MAVLink_set_valve_maximum_aperture_tc_message:
+        """
+        Sets the maximum aperture of the specified valve. Set as value from 0
+        to 1
 
-                '''
-                return MAVLink_set_reference_altitude_tc_message(ref_altitude)
+        servo_id                  : A member of the ServosList enum (type:uint8_t)
+        maximum_aperture          : Maximum aperture (type:float)
 
-        def set_reference_altitude_tc_send(self, ref_altitude, force_mavlink1=False):
-                '''
-                Sets the reference altitude for the altimeter
+        """
+        return MAVLink_set_valve_maximum_aperture_tc_message(servo_id, maximum_aperture)
 
-                ref_altitude              : Reference altitude [m] (type:float)
+    def set_valve_maximum_aperture_tc_send(self, servo_id: int, maximum_aperture: float, force_mavlink1: bool = False) -> None:
+        """
+        Sets the maximum aperture of the specified valve. Set as value from 0
+        to 1
 
-                '''
-                return self.send(self.set_reference_altitude_tc_encode(ref_altitude), force_mavlink1=force_mavlink1)
+        servo_id                  : A member of the ServosList enum (type:uint8_t)
+        maximum_aperture          : Maximum aperture (type:float)
 
-        def set_reference_temperature_tc_encode(self, ref_temp):
-                '''
-                Sets the reference temperature for the altimeter
+        """
+        self.send(self.set_valve_maximum_aperture_tc_encode(servo_id, maximum_aperture), force_mavlink1=force_mavlink1)
+
+    def conrig_state_tc_encode(self, ignition_btn: int, filling_valve_btn: int, venting_valve_btn: int, release_pressure_btn: int, quick_connector_btn: int, start_tars_btn: int, arm_switch: int) -> MAVLink_conrig_state_tc_message:
+        """
+        Send the state of the conrig buttons
+
+        ignition_btn              : Ignition button pressed (type:uint8_t)
+        filling_valve_btn         : Open filling valve pressed (type:uint8_t)
+        venting_valve_btn         : Open venting valve pressed (type:uint8_t)
+        release_pressure_btn        : Release filling line pressure pressed (type:uint8_t)
+        quick_connector_btn        : Detach quick connector pressed (type:uint8_t)
+        start_tars_btn            : Startup TARS pressed (type:uint8_t)
+        arm_switch                : Arming switch state (type:uint8_t)
+
+        """
+        return MAVLink_conrig_state_tc_message(ignition_btn, filling_valve_btn, venting_valve_btn, release_pressure_btn, quick_connector_btn, start_tars_btn, arm_switch)
+
+    def conrig_state_tc_send(self, ignition_btn: int, filling_valve_btn: int, venting_valve_btn: int, release_pressure_btn: int, quick_connector_btn: int, start_tars_btn: int, arm_switch: int, force_mavlink1: bool = False) -> None:
+        """
+        Send the state of the conrig buttons
 
-                ref_temp                  : Reference temperature [degC] (type:float)
+        ignition_btn              : Ignition button pressed (type:uint8_t)
+        filling_valve_btn         : Open filling valve pressed (type:uint8_t)
+        venting_valve_btn         : Open venting valve pressed (type:uint8_t)
+        release_pressure_btn        : Release filling line pressure pressed (type:uint8_t)
+        quick_connector_btn        : Detach quick connector pressed (type:uint8_t)
+        start_tars_btn            : Startup TARS pressed (type:uint8_t)
+        arm_switch                : Arming switch state (type:uint8_t)
 
-                '''
-                return MAVLink_set_reference_temperature_tc_message(ref_temp)
+        """
+        self.send(self.conrig_state_tc_encode(ignition_btn, filling_valve_btn, venting_valve_btn, release_pressure_btn, quick_connector_btn, start_tars_btn, arm_switch), force_mavlink1=force_mavlink1)
 
-        def set_reference_temperature_tc_send(self, ref_temp, force_mavlink1=False):
-                '''
-                Sets the reference temperature for the altimeter
+    def set_ignition_time_tc_encode(self, timing: int) -> MAVLink_set_ignition_time_tc_message:
+        """
+        Sets the time in ms that the igniter stays on before the oxidant valve
+        is opened
 
-                ref_temp                  : Reference temperature [degC] (type:float)
+        timing                    : Timing in [ms] [ms] (type:uint32_t)
 
-                '''
-                return self.send(self.set_reference_temperature_tc_encode(ref_temp), force_mavlink1=force_mavlink1)
+        """
+        return MAVLink_set_ignition_time_tc_message(timing)
 
-        def set_orientation_tc_encode(self, yaw, pitch, roll):
-                '''
-                Sets current orientation for the navigation system
+    def set_ignition_time_tc_send(self, timing: int, force_mavlink1: bool = False) -> None:
+        """
+        Sets the time in ms that the igniter stays on before the oxidant valve
+        is opened
 
-                yaw                       : Yaw angle [deg] (type:float)
-                pitch                     : Pitch angle [deg] (type:float)
-                roll                      : Roll angle [deg] (type:float)
+        timing                    : Timing in [ms] [ms] (type:uint32_t)
 
-                '''
-                return MAVLink_set_orientation_tc_message(yaw, pitch, roll)
+        """
+        self.send(self.set_ignition_time_tc_encode(timing), force_mavlink1=force_mavlink1)
 
-        def set_orientation_tc_send(self, yaw, pitch, roll, force_mavlink1=False):
-                '''
-                Sets current orientation for the navigation system
+    def set_stepper_angle_tc_encode(self, stepper_id: int, angle: float) -> MAVLink_set_stepper_angle_tc_message:
+        """
+        Move the stepper of a certain angle
 
-                yaw                       : Yaw angle [deg] (type:float)
-                pitch                     : Pitch angle [deg] (type:float)
-                roll                      : Roll angle [deg] (type:float)
+        stepper_id                : A member of the StepperList enum (type:uint8_t)
+        angle                     : Stepper angle in degrees (type:float)
 
-                '''
-                return self.send(self.set_orientation_tc_encode(yaw, pitch, roll), force_mavlink1=force_mavlink1)
+        """
+        return MAVLink_set_stepper_angle_tc_message(stepper_id, angle)
 
-        def set_coordinates_tc_encode(self, latitude, longitude):
-                '''
-                Sets current coordinates
+    def set_stepper_angle_tc_send(self, stepper_id: int, angle: float, force_mavlink1: bool = False) -> None:
+        """
+        Move the stepper of a certain angle
 
-                latitude                  : Latitude [deg] (type:float)
-                longitude                 : Longitude [deg] (type:float)
+        stepper_id                : A member of the StepperList enum (type:uint8_t)
+        angle                     : Stepper angle in degrees (type:float)
 
-                '''
-                return MAVLink_set_coordinates_tc_message(latitude, longitude)
+        """
+        self.send(self.set_stepper_angle_tc_encode(stepper_id, angle), force_mavlink1=force_mavlink1)
 
-        def set_coordinates_tc_send(self, latitude, longitude, force_mavlink1=False):
-                '''
-                Sets current coordinates
+    def set_stepper_steps_tc_encode(self, stepper_id: int, steps: float) -> MAVLink_set_stepper_steps_tc_message:
+        """
+        Move the stepper of a certain amount of steps
 
-                latitude                  : Latitude [deg] (type:float)
-                longitude                 : Longitude [deg] (type:float)
+        stepper_id                : A member of the StepperList enum (type:uint8_t)
+        steps                     : Number of steps (type:float)
 
-                '''
-                return self.send(self.set_coordinates_tc_encode(latitude, longitude), force_mavlink1=force_mavlink1)
+        """
+        return MAVLink_set_stepper_steps_tc_message(stepper_id, steps)
 
-        def raw_event_tc_encode(self, topic_id, event_id):
-                '''
-                TC containing a raw event to be posted directly in the EventBroker
+    def set_stepper_steps_tc_send(self, stepper_id: int, steps: float, force_mavlink1: bool = False) -> None:
+        """
+        Move the stepper of a certain amount of steps
 
-                topic_id                  : Id of the topic to which the event should be posted (type:uint8_t)
-                event_id                  : Id of the event to be posted (type:uint8_t)
+        stepper_id                : A member of the StepperList enum (type:uint8_t)
+        steps                     : Number of steps (type:float)
 
-                '''
-                return MAVLink_raw_event_tc_message(topic_id, event_id)
+        """
+        self.send(self.set_stepper_steps_tc_encode(stepper_id, steps), force_mavlink1=force_mavlink1)
 
-        def raw_event_tc_send(self, topic_id, event_id, force_mavlink1=False):
-                '''
-                TC containing a raw event to be posted directly in the EventBroker
+    def set_nitrogen_time_tc_encode(self, timing: int) -> MAVLink_set_nitrogen_time_tc_message:
+        """
+        Sets the time in ms that the nitrogen will stay open
 
-                topic_id                  : Id of the topic to which the event should be posted (type:uint8_t)
-                event_id                  : Id of the event to be posted (type:uint8_t)
+        timing                    : Timing in [ms] [ms] (type:uint32_t)
 
-                '''
-                return self.send(self.raw_event_tc_encode(topic_id, event_id), force_mavlink1=force_mavlink1)
+        """
+        return MAVLink_set_nitrogen_time_tc_message(timing)
 
-        def set_deployment_altitude_tc_encode(self, dpl_altitude):
-                '''
-                Sets the deployment altitude for the main parachute
+    def set_nitrogen_time_tc_send(self, timing: int, force_mavlink1: bool = False) -> None:
+        """
+        Sets the time in ms that the nitrogen will stay open
 
-                dpl_altitude              : Deployment altitude [m] (type:float)
+        timing                    : Timing in [ms] [ms] (type:uint32_t)
 
-                '''
-                return MAVLink_set_deployment_altitude_tc_message(dpl_altitude)
+        """
+        self.send(self.set_nitrogen_time_tc_encode(timing), force_mavlink1=force_mavlink1)
 
-        def set_deployment_altitude_tc_send(self, dpl_altitude, force_mavlink1=False):
-                '''
-                Sets the deployment altitude for the main parachute
+    def set_cooling_time_tc_encode(self, timing: int) -> MAVLink_set_cooling_time_tc_message:
+        """
+        Sets the time in ms that the system will wait before disarming after
+        firing
 
-                dpl_altitude              : Deployment altitude [m] (type:float)
+        timing                    : Timing in [ms] [ms] (type:uint32_t)
 
-                '''
-                return self.send(self.set_deployment_altitude_tc_encode(dpl_altitude), force_mavlink1=force_mavlink1)
+        """
+        return MAVLink_set_cooling_time_tc_message(timing)
 
-        def set_target_coordinates_tc_encode(self, latitude, longitude):
-                '''
-                Sets the target coordinates
+    def set_cooling_time_tc_send(self, timing: int, force_mavlink1: bool = False) -> None:
+        """
+        Sets the time in ms that the system will wait before disarming after
+        firing
 
-                latitude                  : Latitude [deg] (type:float)
-                longitude                 : Longitude [deg] (type:float)
+        timing                    : Timing in [ms] [ms] (type:uint32_t)
 
-                '''
-                return MAVLink_set_target_coordinates_tc_message(latitude, longitude)
+        """
+        self.send(self.set_cooling_time_tc_encode(timing), force_mavlink1=force_mavlink1)
 
-        def set_target_coordinates_tc_send(self, latitude, longitude, force_mavlink1=False):
-                '''
-                Sets the target coordinates
+    def set_stepper_multiplier_tc_encode(self, stepper_id: int, multiplier: float) -> MAVLink_set_stepper_multiplier_tc_message:
+        """
+        Set the multiplier of the stepper
 
-                latitude                  : Latitude [deg] (type:float)
-                longitude                 : Longitude [deg] (type:float)
+        stepper_id                : A member of the StepperList enum (type:uint8_t)
+        multiplier                : Multiplier (type:float)
 
-                '''
-                return self.send(self.set_target_coordinates_tc_encode(latitude, longitude), force_mavlink1=force_mavlink1)
+        """
+        return MAVLink_set_stepper_multiplier_tc_message(stepper_id, multiplier)
 
-        def set_algorithm_tc_encode(self, algorithm_number):
-                '''
-                Sets the algorithm number (for parafoil guidance and GSE tars)
+    def set_stepper_multiplier_tc_send(self, stepper_id: int, multiplier: float, force_mavlink1: bool = False) -> None:
+        """
+        Set the multiplier of the stepper
 
-                algorithm_number          : Algorithm number (type:uint8_t)
+        stepper_id                : A member of the StepperList enum (type:uint8_t)
+        multiplier                : Multiplier (type:float)
 
-                '''
-                return MAVLink_set_algorithm_tc_message(algorithm_number)
+        """
+        self.send(self.set_stepper_multiplier_tc_encode(stepper_id, multiplier), force_mavlink1=force_mavlink1)
 
-        def set_algorithm_tc_send(self, algorithm_number, force_mavlink1=False):
-                '''
-                Sets the algorithm number (for parafoil guidance and GSE tars)
+    def set_antenna_coordinates_arp_tc_encode(self, latitude: float, longitude: float, height: float) -> MAVLink_set_antenna_coordinates_arp_tc_message:
+        """
+        Sets current antennas coordinates
 
-                algorithm_number          : Algorithm number (type:uint8_t)
+        latitude                  : Latitude [deg] (type:float)
+        longitude                 : Longitude [deg] (type:float)
+        height                    : Height [m] (type:float)
 
-                '''
-                return self.send(self.set_algorithm_tc_encode(algorithm_number), force_mavlink1=force_mavlink1)
+        """
+        return MAVLink_set_antenna_coordinates_arp_tc_message(latitude, longitude, height)
 
-        def set_atomic_valve_timing_tc_encode(self, servo_id, maximum_timing):
-                '''
-                Sets the maximum time that the valves can be open atomically
+    def set_antenna_coordinates_arp_tc_send(self, latitude: float, longitude: float, height: float, force_mavlink1: bool = False) -> None:
+        """
+        Sets current antennas coordinates
 
-                servo_id                  : A member of the ServosList enum (type:uint8_t)
-                maximum_timing            : Maximum timing in [ms] [ms] (type:uint32_t)
+        latitude                  : Latitude [deg] (type:float)
+        longitude                 : Longitude [deg] (type:float)
+        height                    : Height [m] (type:float)
 
-                '''
-                return MAVLink_set_atomic_valve_timing_tc_message(servo_id, maximum_timing)
+        """
+        self.send(self.set_antenna_coordinates_arp_tc_encode(latitude, longitude, height), force_mavlink1=force_mavlink1)
 
-        def set_atomic_valve_timing_tc_send(self, servo_id, maximum_timing, force_mavlink1=False):
-                '''
-                Sets the maximum time that the valves can be open atomically
+    def set_rocket_coordinates_arp_tc_encode(self, latitude: float, longitude: float, height: float) -> MAVLink_set_rocket_coordinates_arp_tc_message:
+        """
+        Sets current rocket coordinates
 
-                servo_id                  : A member of the ServosList enum (type:uint8_t)
-                maximum_timing            : Maximum timing in [ms] [ms] (type:uint32_t)
+        latitude                  : Latitude [deg] (type:float)
+        longitude                 : Longitude [deg] (type:float)
+        height                    : Height [m] (type:float)
 
-                '''
-                return self.send(self.set_atomic_valve_timing_tc_encode(servo_id, maximum_timing), force_mavlink1=force_mavlink1)
+        """
+        return MAVLink_set_rocket_coordinates_arp_tc_message(latitude, longitude, height)
 
-        def set_valve_maximum_aperture_tc_encode(self, servo_id, maximum_aperture):
-                '''
-                Sets the maximum aperture of the specified valve. Set as value from 0
-                to 1
+    def set_rocket_coordinates_arp_tc_send(self, latitude: float, longitude: float, height: float, force_mavlink1: bool = False) -> None:
+        """
+        Sets current rocket coordinates
 
-                servo_id                  : A member of the ServosList enum (type:uint8_t)
-                maximum_aperture          : Maximum aperture (type:float)
+        latitude                  : Latitude [deg] (type:float)
+        longitude                 : Longitude [deg] (type:float)
+        height                    : Height [m] (type:float)
+
+        """
+        self.send(self.set_rocket_coordinates_arp_tc_encode(latitude, longitude, height), force_mavlink1=force_mavlink1)
+
+    def arp_command_tc_encode(self, command_id: int) -> MAVLink_arp_command_tc_message:
+        """
+        TC containing a command with no parameters that trigger some action
+
+        command_id                : A member of the MavArpCommandList enum (type:uint8_t)
 
-                '''
-                return MAVLink_set_valve_maximum_aperture_tc_message(servo_id, maximum_aperture)
+        """
+        return MAVLink_arp_command_tc_message(command_id)
+
+    def arp_command_tc_send(self, command_id: int, force_mavlink1: bool = False) -> None:
+        """
+        TC containing a command with no parameters that trigger some action
+
+        command_id                : A member of the MavArpCommandList enum (type:uint8_t)
+
+        """
+        self.send(self.arp_command_tc_encode(command_id), force_mavlink1=force_mavlink1)
+
+    def ack_tm_encode(self, recv_msgid: int, seq_ack: int) -> MAVLink_ack_tm_message:
+        """
+        TM containing an ACK message to notify that the message has been
+        received
+
+        recv_msgid                : Message id of the received message (type:uint8_t)
+        seq_ack                   : Sequence number of the received message (type:uint8_t)
+
+        """
+        return MAVLink_ack_tm_message(recv_msgid, seq_ack)
+
+    def ack_tm_send(self, recv_msgid: int, seq_ack: int, force_mavlink1: bool = False) -> None:
+        """
+        TM containing an ACK message to notify that the message has been
+        received
+
+        recv_msgid                : Message id of the received message (type:uint8_t)
+        seq_ack                   : Sequence number of the received message (type:uint8_t)
+
+        """
+        self.send(self.ack_tm_encode(recv_msgid, seq_ack), force_mavlink1=force_mavlink1)
+
+    def nack_tm_encode(self, recv_msgid: int, seq_ack: int) -> MAVLink_nack_tm_message:
+        """
+        TM containing a NACK message to notify that the received message was
+        invalid
+
+        recv_msgid                : Message id of the received message (type:uint8_t)
+        seq_ack                   : Sequence number of the received message (type:uint8_t)
+
+        """
+        return MAVLink_nack_tm_message(recv_msgid, seq_ack)
+
+    def nack_tm_send(self, recv_msgid: int, seq_ack: int, force_mavlink1: bool = False) -> None:
+        """
+        TM containing a NACK message to notify that the received message was
+        invalid
+
+        recv_msgid                : Message id of the received message (type:uint8_t)
+        seq_ack                   : Sequence number of the received message (type:uint8_t)
+
+        """
+        self.send(self.nack_tm_encode(recv_msgid, seq_ack), force_mavlink1=force_mavlink1)
+
+    def gps_tm_encode(self, timestamp: int, sensor_name: bytes, fix: int, latitude: float, longitude: float, height: float, vel_north: float, vel_east: float, vel_down: float, speed: float, track: float, n_satellites: int) -> MAVLink_gps_tm_message:
+        """
+        
+
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        sensor_name               : Sensor name (type:char)
+        fix                       : Wether the GPS has a FIX (type:uint8_t)
+        latitude                  : Latitude [deg] (type:double)
+        longitude                 : Longitude [deg] (type:double)
+        height                    : Altitude [m] (type:double)
+        vel_north                 : Velocity in NED frame (north) [m/s] (type:float)
+        vel_east                  : Velocity in NED frame (east) [m/s] (type:float)
+        vel_down                  : Velocity in NED frame (down) [m/s] (type:float)
+        speed                     : Speed [m/s] (type:float)
+        track                     : Track [deg] (type:float)
+        n_satellites              : Number of connected satellites (type:uint8_t)
+
+        """
+        return MAVLink_gps_tm_message(timestamp, sensor_name, fix, latitude, longitude, height, vel_north, vel_east, vel_down, speed, track, n_satellites)
+
+    def gps_tm_send(self, timestamp: int, sensor_name: bytes, fix: int, latitude: float, longitude: float, height: float, vel_north: float, vel_east: float, vel_down: float, speed: float, track: float, n_satellites: int, force_mavlink1: bool = False) -> None:
+        """
+        
+
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        sensor_name               : Sensor name (type:char)
+        fix                       : Wether the GPS has a FIX (type:uint8_t)
+        latitude                  : Latitude [deg] (type:double)
+        longitude                 : Longitude [deg] (type:double)
+        height                    : Altitude [m] (type:double)
+        vel_north                 : Velocity in NED frame (north) [m/s] (type:float)
+        vel_east                  : Velocity in NED frame (east) [m/s] (type:float)
+        vel_down                  : Velocity in NED frame (down) [m/s] (type:float)
+        speed                     : Speed [m/s] (type:float)
+        track                     : Track [deg] (type:float)
+        n_satellites              : Number of connected satellites (type:uint8_t)
+
+        """
+        self.send(self.gps_tm_encode(timestamp, sensor_name, fix, latitude, longitude, height, vel_north, vel_east, vel_down, speed, track, n_satellites), force_mavlink1=force_mavlink1)
+
+    def imu_tm_encode(self, timestamp: int, sensor_name: bytes, acc_x: float, acc_y: float, acc_z: float, gyro_x: float, gyro_y: float, gyro_z: float, mag_x: float, mag_y: float, mag_z: float) -> MAVLink_imu_tm_message:
+        """
+        
+
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        sensor_name               : Sensor name (type:char)
+        acc_x                     : X axis acceleration [m/s2] (type:float)
+        acc_y                     : Y axis acceleration [m/s2] (type:float)
+        acc_z                     : Z axis acceleration [m/s2] (type:float)
+        gyro_x                    : X axis gyro [rad/s] (type:float)
+        gyro_y                    : Y axis gyro [rad/s] (type:float)
+        gyro_z                    : Z axis gyro [rad/s] (type:float)
+        mag_x                     : X axis compass [uT] (type:float)
+        mag_y                     : Y axis compass [uT] (type:float)
+        mag_z                     : Z axis compass [uT] (type:float)
+
+        """
+        return MAVLink_imu_tm_message(timestamp, sensor_name, acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z, mag_x, mag_y, mag_z)
+
+    def imu_tm_send(self, timestamp: int, sensor_name: bytes, acc_x: float, acc_y: float, acc_z: float, gyro_x: float, gyro_y: float, gyro_z: float, mag_x: float, mag_y: float, mag_z: float, force_mavlink1: bool = False) -> None:
+        """
+        
+
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        sensor_name               : Sensor name (type:char)
+        acc_x                     : X axis acceleration [m/s2] (type:float)
+        acc_y                     : Y axis acceleration [m/s2] (type:float)
+        acc_z                     : Z axis acceleration [m/s2] (type:float)
+        gyro_x                    : X axis gyro [rad/s] (type:float)
+        gyro_y                    : Y axis gyro [rad/s] (type:float)
+        gyro_z                    : Z axis gyro [rad/s] (type:float)
+        mag_x                     : X axis compass [uT] (type:float)
+        mag_y                     : Y axis compass [uT] (type:float)
+        mag_z                     : Z axis compass [uT] (type:float)
+
+        """
+        self.send(self.imu_tm_encode(timestamp, sensor_name, acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z, mag_x, mag_y, mag_z), force_mavlink1=force_mavlink1)
+
+    def pressure_tm_encode(self, timestamp: int, sensor_name: bytes, pressure: float) -> MAVLink_pressure_tm_message:
+        """
+        
+
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        sensor_name               : Sensor name (type:char)
+        pressure                  : Pressure of the digital barometer [Pa] (type:float)
+
+        """
+        return MAVLink_pressure_tm_message(timestamp, sensor_name, pressure)
+
+    def pressure_tm_send(self, timestamp: int, sensor_name: bytes, pressure: float, force_mavlink1: bool = False) -> None:
+        """
+        
+
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        sensor_name               : Sensor name (type:char)
+        pressure                  : Pressure of the digital barometer [Pa] (type:float)
+
+        """
+        self.send(self.pressure_tm_encode(timestamp, sensor_name, pressure), force_mavlink1=force_mavlink1)
+
+    def adc_tm_encode(self, timestamp: int, sensor_name: bytes, channel_0: float, channel_1: float, channel_2: float, channel_3: float, channel_4: float, channel_5: float, channel_6: float, channel_7: float) -> MAVLink_adc_tm_message:
+        """
+        
+
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        sensor_name               : Sensor name (type:char)
+        channel_0                 : ADC voltage measured on channel 0 [V] (type:float)
+        channel_1                 : ADC voltage measured on channel 1 [V] (type:float)
+        channel_2                 : ADC voltage measured on channel 2 [V] (type:float)
+        channel_3                 : ADC voltage measured on channel 3 [V] (type:float)
+        channel_4                 : ADC voltage measured on channel 4 [V] (type:float)
+        channel_5                 : ADC voltage measured on channel 5 [V] (type:float)
+        channel_6                 : ADC voltage measured on channel 6 [V] (type:float)
+        channel_7                 : ADC voltage measured on channel 7 [V] (type:float)
+
+        """
+        return MAVLink_adc_tm_message(timestamp, sensor_name, channel_0, channel_1, channel_2, channel_3, channel_4, channel_5, channel_6, channel_7)
+
+    def adc_tm_send(self, timestamp: int, sensor_name: bytes, channel_0: float, channel_1: float, channel_2: float, channel_3: float, channel_4: float, channel_5: float, channel_6: float, channel_7: float, force_mavlink1: bool = False) -> None:
+        """
+        
+
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        sensor_name               : Sensor name (type:char)
+        channel_0                 : ADC voltage measured on channel 0 [V] (type:float)
+        channel_1                 : ADC voltage measured on channel 1 [V] (type:float)
+        channel_2                 : ADC voltage measured on channel 2 [V] (type:float)
+        channel_3                 : ADC voltage measured on channel 3 [V] (type:float)
+        channel_4                 : ADC voltage measured on channel 4 [V] (type:float)
+        channel_5                 : ADC voltage measured on channel 5 [V] (type:float)
+        channel_6                 : ADC voltage measured on channel 6 [V] (type:float)
+        channel_7                 : ADC voltage measured on channel 7 [V] (type:float)
+
+        """
+        self.send(self.adc_tm_encode(timestamp, sensor_name, channel_0, channel_1, channel_2, channel_3, channel_4, channel_5, channel_6, channel_7), force_mavlink1=force_mavlink1)
+
+    def voltage_tm_encode(self, timestamp: int, sensor_name: bytes, voltage: float) -> MAVLink_voltage_tm_message:
+        """
+        
+
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        sensor_name               : Sensor name (type:char)
+        voltage                   : Voltage [V] (type:float)
+
+        """
+        return MAVLink_voltage_tm_message(timestamp, sensor_name, voltage)
+
+    def voltage_tm_send(self, timestamp: int, sensor_name: bytes, voltage: float, force_mavlink1: bool = False) -> None:
+        """
+        
+
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        sensor_name               : Sensor name (type:char)
+        voltage                   : Voltage [V] (type:float)
+
+        """
+        self.send(self.voltage_tm_encode(timestamp, sensor_name, voltage), force_mavlink1=force_mavlink1)
+
+    def current_tm_encode(self, timestamp: int, sensor_name: bytes, current: float) -> MAVLink_current_tm_message:
+        """
+        
+
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        sensor_name               : Sensor name (type:char)
+        current                   : Current [A] (type:float)
+
+        """
+        return MAVLink_current_tm_message(timestamp, sensor_name, current)
+
+    def current_tm_send(self, timestamp: int, sensor_name: bytes, current: float, force_mavlink1: bool = False) -> None:
+        """
+        
+
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        sensor_name               : Sensor name (type:char)
+        current                   : Current [A] (type:float)
+
+        """
+        self.send(self.current_tm_encode(timestamp, sensor_name, current), force_mavlink1=force_mavlink1)
+
+    def temp_tm_encode(self, timestamp: int, sensor_name: bytes, temperature: float) -> MAVLink_temp_tm_message:
+        """
+        
+
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        sensor_name               : Sensor name (type:char)
+        temperature               : Temperature [deg] (type:float)
+
+        """
+        return MAVLink_temp_tm_message(timestamp, sensor_name, temperature)
+
+    def temp_tm_send(self, timestamp: int, sensor_name: bytes, temperature: float, force_mavlink1: bool = False) -> None:
+        """
+        
+
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        sensor_name               : Sensor name (type:char)
+        temperature               : Temperature [deg] (type:float)
+
+        """
+        self.send(self.temp_tm_encode(timestamp, sensor_name, temperature), force_mavlink1=force_mavlink1)
+
+    def load_tm_encode(self, timestamp: int, sensor_name: bytes, load: float) -> MAVLink_load_tm_message:
+        """
+        
+
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        sensor_name               : Sensor name (type:char)
+        load                      : Load force [kg] (type:float)
+
+        """
+        return MAVLink_load_tm_message(timestamp, sensor_name, load)
 
-        def set_valve_maximum_aperture_tc_send(self, servo_id, maximum_aperture, force_mavlink1=False):
-                '''
-                Sets the maximum aperture of the specified valve. Set as value from 0
-                to 1
+    def load_tm_send(self, timestamp: int, sensor_name: bytes, load: float, force_mavlink1: bool = False) -> None:
+        """
+        
 
-                servo_id                  : A member of the ServosList enum (type:uint8_t)
-                maximum_aperture          : Maximum aperture (type:float)
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        sensor_name               : Sensor name (type:char)
+        load                      : Load force [kg] (type:float)
 
-                '''
-                return self.send(self.set_valve_maximum_aperture_tc_encode(servo_id, maximum_aperture), force_mavlink1=force_mavlink1)
+        """
+        self.send(self.load_tm_encode(timestamp, sensor_name, load), force_mavlink1=force_mavlink1)
 
-        def conrig_state_tc_encode(self, ignition_btn, filling_valve_btn, venting_valve_btn, release_pressure_btn, quick_connector_btn, start_tars_btn, arm_switch):
-                '''
-                Send the state of the conrig buttons
+    def attitude_tm_encode(self, timestamp: int, sensor_name: bytes, roll: float, pitch: float, yaw: float, quat_x: float, quat_y: float, quat_z: float, quat_w: float) -> MAVLink_attitude_tm_message:
+        """
+        
 
-                ignition_btn              : Ignition button pressed (type:uint8_t)
-                filling_valve_btn         : Open filling valve pressed (type:uint8_t)
-                venting_valve_btn         : Open venting valve pressed (type:uint8_t)
-                release_pressure_btn        : Release filling line pressure pressed (type:uint8_t)
-                quick_connector_btn        : Detach quick connector pressed (type:uint8_t)
-                start_tars_btn            : Startup TARS pressed (type:uint8_t)
-                arm_switch                : Arming switch state (type:uint8_t)
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        sensor_name               : Sensor name (type:char)
+        roll                      : Roll angle [deg] (type:float)
+        pitch                     : Pitch angle [deg] (type:float)
+        yaw                       : Yaw angle [deg] (type:float)
+        quat_x                    : Quaternion x component (type:float)
+        quat_y                    : Quaternion y component (type:float)
+        quat_z                    : Quaternion z component (type:float)
+        quat_w                    : Quaternion w component (type:float)
 
-                '''
-                return MAVLink_conrig_state_tc_message(ignition_btn, filling_valve_btn, venting_valve_btn, release_pressure_btn, quick_connector_btn, start_tars_btn, arm_switch)
+        """
+        return MAVLink_attitude_tm_message(timestamp, sensor_name, roll, pitch, yaw, quat_x, quat_y, quat_z, quat_w)
 
-        def conrig_state_tc_send(self, ignition_btn, filling_valve_btn, venting_valve_btn, release_pressure_btn, quick_connector_btn, start_tars_btn, arm_switch, force_mavlink1=False):
-                '''
-                Send the state of the conrig buttons
+    def attitude_tm_send(self, timestamp: int, sensor_name: bytes, roll: float, pitch: float, yaw: float, quat_x: float, quat_y: float, quat_z: float, quat_w: float, force_mavlink1: bool = False) -> None:
+        """
+        
 
-                ignition_btn              : Ignition button pressed (type:uint8_t)
-                filling_valve_btn         : Open filling valve pressed (type:uint8_t)
-                venting_valve_btn         : Open venting valve pressed (type:uint8_t)
-                release_pressure_btn        : Release filling line pressure pressed (type:uint8_t)
-                quick_connector_btn        : Detach quick connector pressed (type:uint8_t)
-                start_tars_btn            : Startup TARS pressed (type:uint8_t)
-                arm_switch                : Arming switch state (type:uint8_t)
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        sensor_name               : Sensor name (type:char)
+        roll                      : Roll angle [deg] (type:float)
+        pitch                     : Pitch angle [deg] (type:float)
+        yaw                       : Yaw angle [deg] (type:float)
+        quat_x                    : Quaternion x component (type:float)
+        quat_y                    : Quaternion y component (type:float)
+        quat_z                    : Quaternion z component (type:float)
+        quat_w                    : Quaternion w component (type:float)
 
-                '''
-                return self.send(self.conrig_state_tc_encode(ignition_btn, filling_valve_btn, venting_valve_btn, release_pressure_btn, quick_connector_btn, start_tars_btn, arm_switch), force_mavlink1=force_mavlink1)
+        """
+        self.send(self.attitude_tm_encode(timestamp, sensor_name, roll, pitch, yaw, quat_x, quat_y, quat_z, quat_w), force_mavlink1=force_mavlink1)
 
-        def set_ignition_time_tc_encode(self, timing):
-                '''
-                Sets the time in ms that the igniter stays on before the oxidant valve
-                is opened
+    def sensor_state_tm_encode(self, sensor_name: bytes, state: int) -> MAVLink_sensor_state_tm_message:
+        """
+        
 
-                timing                    : Timing in [ms] [ms] (type:uint32_t)
+        sensor_name               : Sensor name (type:char)
+        state                     : Boolean that represents the init state (type:uint8_t)
 
-                '''
-                return MAVLink_set_ignition_time_tc_message(timing)
+        """
+        return MAVLink_sensor_state_tm_message(sensor_name, state)
 
-        def set_ignition_time_tc_send(self, timing, force_mavlink1=False):
-                '''
-                Sets the time in ms that the igniter stays on before the oxidant valve
-                is opened
+    def sensor_state_tm_send(self, sensor_name: bytes, state: int, force_mavlink1: bool = False) -> None:
+        """
+        
 
-                timing                    : Timing in [ms] [ms] (type:uint32_t)
+        sensor_name               : Sensor name (type:char)
+        state                     : Boolean that represents the init state (type:uint8_t)
 
-                '''
-                return self.send(self.set_ignition_time_tc_encode(timing), force_mavlink1=force_mavlink1)
+        """
+        self.send(self.sensor_state_tm_encode(sensor_name, state), force_mavlink1=force_mavlink1)
 
-        def set_stepper_angle_tc_encode(self, stepper_id, angle):
-                '''
-                Move the stepper of a certain angle
+    def servo_tm_encode(self, servo_id: int, servo_position: float) -> MAVLink_servo_tm_message:
+        """
+        
 
-                stepper_id                : A member of the StepperList enum (type:uint8_t)
-                angle                     : Stepper angle in degrees (type:float)
+        servo_id                  : A member of the ServosList enum (type:uint8_t)
+        servo_position            : Position of the servo [0-1] (type:float)
 
-                '''
-                return MAVLink_set_stepper_angle_tc_message(stepper_id, angle)
+        """
+        return MAVLink_servo_tm_message(servo_id, servo_position)
 
-        def set_stepper_angle_tc_send(self, stepper_id, angle, force_mavlink1=False):
-                '''
-                Move the stepper of a certain angle
+    def servo_tm_send(self, servo_id: int, servo_position: float, force_mavlink1: bool = False) -> None:
+        """
+        
+
+        servo_id                  : A member of the ServosList enum (type:uint8_t)
+        servo_position            : Position of the servo [0-1] (type:float)
 
-                stepper_id                : A member of the StepperList enum (type:uint8_t)
-                angle                     : Stepper angle in degrees (type:float)
+        """
+        self.send(self.servo_tm_encode(servo_id, servo_position), force_mavlink1=force_mavlink1)
 
-                '''
-                return self.send(self.set_stepper_angle_tc_encode(stepper_id, angle), force_mavlink1=force_mavlink1)
+    def pin_tm_encode(self, timestamp: int, pin_id: int, last_change_timestamp: int, changes_counter: int, current_state: int) -> MAVLink_pin_tm_message:
+        """
+        
 
-        def set_stepper_steps_tc_encode(self, stepper_id, steps):
-                '''
-                Move the stepper of a certain amount of steps
+        timestamp                 : Timestamp [us] (type:uint64_t)
+        pin_id                    : A member of the PinsList enum (type:uint8_t)
+        last_change_timestamp        : Last change timestamp of pin (type:uint64_t)
+        changes_counter           : Number of changes of pin (type:uint8_t)
+        current_state             : Current state of pin (type:uint8_t)
+
+        """
+        return MAVLink_pin_tm_message(timestamp, pin_id, last_change_timestamp, changes_counter, current_state)
+
+    def pin_tm_send(self, timestamp: int, pin_id: int, last_change_timestamp: int, changes_counter: int, current_state: int, force_mavlink1: bool = False) -> None:
+        """
+        
+
+        timestamp                 : Timestamp [us] (type:uint64_t)
+        pin_id                    : A member of the PinsList enum (type:uint8_t)
+        last_change_timestamp        : Last change timestamp of pin (type:uint64_t)
+        changes_counter           : Number of changes of pin (type:uint8_t)
+        current_state             : Current state of pin (type:uint8_t)
+
+        """
+        self.send(self.pin_tm_encode(timestamp, pin_id, last_change_timestamp, changes_counter, current_state), force_mavlink1=force_mavlink1)
+
+    def registry_float_tm_encode(self, timestamp: int, key_id: int, key_name: bytes, value: float) -> MAVLink_registry_float_tm_message:
+        """
+        
+
+        timestamp                 : Timestamp [us] (type:uint64_t)
+        key_id                    : Id of this configuration entry (type:uint32_t)
+        key_name                  : Name of this configuration entry (type:char)
+        value                     : Value of this configuration (type:float)
+
+        """
+        return MAVLink_registry_float_tm_message(timestamp, key_id, key_name, value)
+
+    def registry_float_tm_send(self, timestamp: int, key_id: int, key_name: bytes, value: float, force_mavlink1: bool = False) -> None:
+        """
+        
+
+        timestamp                 : Timestamp [us] (type:uint64_t)
+        key_id                    : Id of this configuration entry (type:uint32_t)
+        key_name                  : Name of this configuration entry (type:char)
+        value                     : Value of this configuration (type:float)
+
+        """
+        self.send(self.registry_float_tm_encode(timestamp, key_id, key_name, value), force_mavlink1=force_mavlink1)
+
+    def registry_int_tm_encode(self, timestamp: int, key_id: int, key_name: bytes, value: int) -> MAVLink_registry_int_tm_message:
+        """
+        
+
+        timestamp                 : Timestamp [us] (type:uint64_t)
+        key_id                    : Id of this configuration entry (type:uint32_t)
+        key_name                  : Name of this configuration entry (type:char)
+        value                     : Value of this configuration (type:uint32_t)
+
+        """
+        return MAVLink_registry_int_tm_message(timestamp, key_id, key_name, value)
+
+    def registry_int_tm_send(self, timestamp: int, key_id: int, key_name: bytes, value: int, force_mavlink1: bool = False) -> None:
+        """
+        
+
+        timestamp                 : Timestamp [us] (type:uint64_t)
+        key_id                    : Id of this configuration entry (type:uint32_t)
+        key_name                  : Name of this configuration entry (type:char)
+        value                     : Value of this configuration (type:uint32_t)
+
+        """
+        self.send(self.registry_int_tm_encode(timestamp, key_id, key_name, value), force_mavlink1=force_mavlink1)
+
+    def registry_coord_tm_encode(self, timestamp: int, key_id: int, key_name: bytes, latitude: float, longitude: float) -> MAVLink_registry_coord_tm_message:
+        """
+        
+
+        timestamp                 : Timestamp [us] (type:uint64_t)
+        key_id                    : Id of this configuration entry (type:uint32_t)
+        key_name                  : Name of this configuration entry (type:char)
+        latitude                  : Latitude in this configuration [deg] (type:float)
+        longitude                 : Latitude in this configuration [deg] (type:float)
+
+        """
+        return MAVLink_registry_coord_tm_message(timestamp, key_id, key_name, latitude, longitude)
+
+    def registry_coord_tm_send(self, timestamp: int, key_id: int, key_name: bytes, latitude: float, longitude: float, force_mavlink1: bool = False) -> None:
+        """
+        
+
+        timestamp                 : Timestamp [us] (type:uint64_t)
+        key_id                    : Id of this configuration entry (type:uint32_t)
+        key_name                  : Name of this configuration entry (type:char)
+        latitude                  : Latitude in this configuration [deg] (type:float)
+        longitude                 : Latitude in this configuration [deg] (type:float)
+
+        """
+        self.send(self.registry_coord_tm_encode(timestamp, key_id, key_name, latitude, longitude), force_mavlink1=force_mavlink1)
+
+    def receiver_tm_encode(self, timestamp: int, main_radio_present: int, main_packet_tx_error_count: int, main_tx_bitrate: int, main_packet_rx_success_count: int, main_packet_rx_drop_count: int, main_rx_bitrate: int, main_rx_rssi: float, main_rx_fei: float, payload_radio_present: int, payload_packet_tx_error_count: int, payload_tx_bitrate: int, payload_packet_rx_success_count: int, payload_packet_rx_drop_count: int, payload_rx_bitrate: int, payload_rx_rssi: float, payload_rx_fei: float, ethernet_present: int, ethernet_status: int, battery_voltage: float) -> MAVLink_receiver_tm_message:
+        """
+        
+
+        timestamp                 : Timestamp [us] (type:uint64_t)
+        main_radio_present        : Boolean indicating the presence of the main radio (type:uint8_t)
+        main_packet_tx_error_count        : Number of errors during send (type:uint16_t)
+        main_tx_bitrate           : Send bitrate [b/s] (type:uint16_t)
+        main_packet_rx_success_count        : Number of succesfull received mavlink packets (type:uint16_t)
+        main_packet_rx_drop_count        : Number of dropped mavlink packets (type:uint16_t)
+        main_rx_bitrate           : Receive bitrate [b/s] (type:uint16_t)
+        main_rx_rssi              : Receive RSSI [dBm] (type:float)
+        main_rx_fei               : Receive frequency error index [Hz] (type:float)
+        payload_radio_present        : Boolean indicating the presence of the payload radio (type:uint8_t)
+        payload_packet_tx_error_count        : Number of errors during send (type:uint16_t)
+        payload_tx_bitrate        : Send bitrate [b/s] (type:uint16_t)
+        payload_packet_rx_success_count        : Number of succesfull received mavlink packets (type:uint16_t)
+        payload_packet_rx_drop_count        : Number of dropped mavlink packets (type:uint16_t)
+        payload_rx_bitrate        : Receive bitrate [b/s] (type:uint16_t)
+        payload_rx_rssi           : Receive RSSI [dBm] (type:float)
+        payload_rx_fei            : Receive frequency error index [Hz] (type:float)
+        ethernet_present          : Boolean indicating the presence of the ethernet module (type:uint8_t)
+        ethernet_status           : Status flag indicating the status of the ethernet PHY (type:uint8_t)
+        battery_voltage           : Battery voltage [V] (type:float)
+
+        """
+        return MAVLink_receiver_tm_message(timestamp, main_radio_present, main_packet_tx_error_count, main_tx_bitrate, main_packet_rx_success_count, main_packet_rx_drop_count, main_rx_bitrate, main_rx_rssi, main_rx_fei, payload_radio_present, payload_packet_tx_error_count, payload_tx_bitrate, payload_packet_rx_success_count, payload_packet_rx_drop_count, payload_rx_bitrate, payload_rx_rssi, payload_rx_fei, ethernet_present, ethernet_status, battery_voltage)
+
+    def receiver_tm_send(self, timestamp: int, main_radio_present: int, main_packet_tx_error_count: int, main_tx_bitrate: int, main_packet_rx_success_count: int, main_packet_rx_drop_count: int, main_rx_bitrate: int, main_rx_rssi: float, main_rx_fei: float, payload_radio_present: int, payload_packet_tx_error_count: int, payload_tx_bitrate: int, payload_packet_rx_success_count: int, payload_packet_rx_drop_count: int, payload_rx_bitrate: int, payload_rx_rssi: float, payload_rx_fei: float, ethernet_present: int, ethernet_status: int, battery_voltage: float, force_mavlink1: bool = False) -> None:
+        """
+        
+
+        timestamp                 : Timestamp [us] (type:uint64_t)
+        main_radio_present        : Boolean indicating the presence of the main radio (type:uint8_t)
+        main_packet_tx_error_count        : Number of errors during send (type:uint16_t)
+        main_tx_bitrate           : Send bitrate [b/s] (type:uint16_t)
+        main_packet_rx_success_count        : Number of succesfull received mavlink packets (type:uint16_t)
+        main_packet_rx_drop_count        : Number of dropped mavlink packets (type:uint16_t)
+        main_rx_bitrate           : Receive bitrate [b/s] (type:uint16_t)
+        main_rx_rssi              : Receive RSSI [dBm] (type:float)
+        main_rx_fei               : Receive frequency error index [Hz] (type:float)
+        payload_radio_present        : Boolean indicating the presence of the payload radio (type:uint8_t)
+        payload_packet_tx_error_count        : Number of errors during send (type:uint16_t)
+        payload_tx_bitrate        : Send bitrate [b/s] (type:uint16_t)
+        payload_packet_rx_success_count        : Number of succesfull received mavlink packets (type:uint16_t)
+        payload_packet_rx_drop_count        : Number of dropped mavlink packets (type:uint16_t)
+        payload_rx_bitrate        : Receive bitrate [b/s] (type:uint16_t)
+        payload_rx_rssi           : Receive RSSI [dBm] (type:float)
+        payload_rx_fei            : Receive frequency error index [Hz] (type:float)
+        ethernet_present          : Boolean indicating the presence of the ethernet module (type:uint8_t)
+        ethernet_status           : Status flag indicating the status of the ethernet PHY (type:uint8_t)
+        battery_voltage           : Battery voltage [V] (type:float)
+
+        """
+        self.send(self.receiver_tm_encode(timestamp, main_radio_present, main_packet_tx_error_count, main_tx_bitrate, main_packet_rx_success_count, main_packet_rx_drop_count, main_rx_bitrate, main_rx_rssi, main_rx_fei, payload_radio_present, payload_packet_tx_error_count, payload_tx_bitrate, payload_packet_rx_success_count, payload_packet_rx_drop_count, payload_rx_bitrate, payload_rx_rssi, payload_rx_fei, ethernet_present, ethernet_status, battery_voltage), force_mavlink1=force_mavlink1)
+
+    def arp_tm_encode(self, timestamp: int, state: int, yaw: float, pitch: float, roll: float, target_yaw: float, target_pitch: float, stepperX_pos: float, stepperX_delta: float, stepperX_speed: float, stepperY_pos: float, stepperY_delta: float, stepperY_speed: float, gps_latitude: float, gps_longitude: float, gps_height: float, gps_fix: int, main_radio_present: int, main_packet_tx_error_count: int, main_tx_bitrate: int, main_packet_rx_success_count: int, main_packet_rx_drop_count: int, main_rx_bitrate: int, main_rx_rssi: float, ethernet_present: int, ethernet_status: int, battery_voltage: float, log_number: int) -> MAVLink_arp_tm_message:
+        """
+        
+
+        timestamp                 : Timestamp [us] (type:uint64_t)
+        state                     : State Machine Controller State (type:uint8_t)
+        yaw                       : Current Yaw [deg] (type:float)
+        pitch                     : Current Pitch [deg] (type:float)
+        roll                      : Current Roll [deg] (type:float)
+        target_yaw                : Target Yaw [deg] (type:float)
+        target_pitch              : Target Pitch [deg] (type:float)
+        stepperX_pos              : StepperX current position wrt the boot position [deg] (type:float)
+        stepperX_delta            : StepperX last actuated delta angle [deg] (type:float)
+        stepperX_speed            : StepperX current speed [rps] (type:float)
+        stepperY_pos              : StepperY current position wrt the boot position [deg] (type:float)
+        stepperY_delta            : StepperY last actuated delta angle [deg] (type:float)
+        stepperY_speed            : StepperY current Speed [rps] (type:float)
+        gps_latitude              : Latitude [deg] (type:float)
+        gps_longitude             : Longitude [deg] (type:float)
+        gps_height                : Altitude [m] (type:float)
+        gps_fix                   : Wether the GPS has a FIX (type:uint8_t)
+        main_radio_present        : Boolean indicating the presence of the main radio (type:uint8_t)
+        main_packet_tx_error_count        : Number of errors during send (type:uint16_t)
+        main_tx_bitrate           : Send bitrate [b/s] (type:uint16_t)
+        main_packet_rx_success_count        : Number of succesfull received mavlink packets (type:uint16_t)
+        main_packet_rx_drop_count        : Number of dropped mavlink packets (type:uint16_t)
+        main_rx_bitrate           : Receive bitrate [b/s] (type:uint16_t)
+        main_rx_rssi              : Receive RSSI [dBm] (type:float)
+        ethernet_present          : Boolean indicating the presence of the ethernet module (type:uint8_t)
+        ethernet_status           : Status flag indicating the status of the ethernet PHY (type:uint8_t)
+        battery_voltage           : Battery voltage [V] (type:float)
+        log_number                : Currently active log file, -1 if the logger is inactive (type:int16_t)
+
+        """
+        return MAVLink_arp_tm_message(timestamp, state, yaw, pitch, roll, target_yaw, target_pitch, stepperX_pos, stepperX_delta, stepperX_speed, stepperY_pos, stepperY_delta, stepperY_speed, gps_latitude, gps_longitude, gps_height, gps_fix, main_radio_present, main_packet_tx_error_count, main_tx_bitrate, main_packet_rx_success_count, main_packet_rx_drop_count, main_rx_bitrate, main_rx_rssi, ethernet_present, ethernet_status, battery_voltage, log_number)
+
+    def arp_tm_send(self, timestamp: int, state: int, yaw: float, pitch: float, roll: float, target_yaw: float, target_pitch: float, stepperX_pos: float, stepperX_delta: float, stepperX_speed: float, stepperY_pos: float, stepperY_delta: float, stepperY_speed: float, gps_latitude: float, gps_longitude: float, gps_height: float, gps_fix: int, main_radio_present: int, main_packet_tx_error_count: int, main_tx_bitrate: int, main_packet_rx_success_count: int, main_packet_rx_drop_count: int, main_rx_bitrate: int, main_rx_rssi: float, ethernet_present: int, ethernet_status: int, battery_voltage: float, log_number: int, force_mavlink1: bool = False) -> None:
+        """
+        
+
+        timestamp                 : Timestamp [us] (type:uint64_t)
+        state                     : State Machine Controller State (type:uint8_t)
+        yaw                       : Current Yaw [deg] (type:float)
+        pitch                     : Current Pitch [deg] (type:float)
+        roll                      : Current Roll [deg] (type:float)
+        target_yaw                : Target Yaw [deg] (type:float)
+        target_pitch              : Target Pitch [deg] (type:float)
+        stepperX_pos              : StepperX current position wrt the boot position [deg] (type:float)
+        stepperX_delta            : StepperX last actuated delta angle [deg] (type:float)
+        stepperX_speed            : StepperX current speed [rps] (type:float)
+        stepperY_pos              : StepperY current position wrt the boot position [deg] (type:float)
+        stepperY_delta            : StepperY last actuated delta angle [deg] (type:float)
+        stepperY_speed            : StepperY current Speed [rps] (type:float)
+        gps_latitude              : Latitude [deg] (type:float)
+        gps_longitude             : Longitude [deg] (type:float)
+        gps_height                : Altitude [m] (type:float)
+        gps_fix                   : Wether the GPS has a FIX (type:uint8_t)
+        main_radio_present        : Boolean indicating the presence of the main radio (type:uint8_t)
+        main_packet_tx_error_count        : Number of errors during send (type:uint16_t)
+        main_tx_bitrate           : Send bitrate [b/s] (type:uint16_t)
+        main_packet_rx_success_count        : Number of succesfull received mavlink packets (type:uint16_t)
+        main_packet_rx_drop_count        : Number of dropped mavlink packets (type:uint16_t)
+        main_rx_bitrate           : Receive bitrate [b/s] (type:uint16_t)
+        main_rx_rssi              : Receive RSSI [dBm] (type:float)
+        ethernet_present          : Boolean indicating the presence of the ethernet module (type:uint8_t)
+        ethernet_status           : Status flag indicating the status of the ethernet PHY (type:uint8_t)
+        battery_voltage           : Battery voltage [V] (type:float)
+        log_number                : Currently active log file, -1 if the logger is inactive (type:int16_t)
+
+        """
+        self.send(self.arp_tm_encode(timestamp, state, yaw, pitch, roll, target_yaw, target_pitch, stepperX_pos, stepperX_delta, stepperX_speed, stepperY_pos, stepperY_delta, stepperY_speed, gps_latitude, gps_longitude, gps_height, gps_fix, main_radio_present, main_packet_tx_error_count, main_tx_bitrate, main_packet_rx_success_count, main_packet_rx_drop_count, main_rx_bitrate, main_rx_rssi, ethernet_present, ethernet_status, battery_voltage, log_number), force_mavlink1=force_mavlink1)
+
+    def sys_tm_encode(self, timestamp: int, logger: int, event_broker: int, radio: int, pin_observer: int, sensors: int, board_scheduler: int) -> MAVLink_sys_tm_message:
+        """
+        System status telemetry
 
-                stepper_id                : A member of the StepperList enum (type:uint8_t)
-                steps                     : Number of steps (type:float)
+        timestamp                 : Timestamp [us] (type:uint64_t)
+        logger                    : True if the logger started correctly (type:uint8_t)
+        event_broker              : True if the event broker started correctly (type:uint8_t)
+        radio                     : True if the radio started correctly (type:uint8_t)
+        pin_observer              : True if the pin observer started correctly (type:uint8_t)
+        sensors                   : True if the sensors started correctly (type:uint8_t)
+        board_scheduler           : True if the board scheduler is running (type:uint8_t)
 
-                '''
-                return MAVLink_set_stepper_steps_tc_message(stepper_id, steps)
+        """
+        return MAVLink_sys_tm_message(timestamp, logger, event_broker, radio, pin_observer, sensors, board_scheduler)
 
-        def set_stepper_steps_tc_send(self, stepper_id, steps, force_mavlink1=False):
-                '''
-                Move the stepper of a certain amount of steps
+    def sys_tm_send(self, timestamp: int, logger: int, event_broker: int, radio: int, pin_observer: int, sensors: int, board_scheduler: int, force_mavlink1: bool = False) -> None:
+        """
+        System status telemetry
 
-                stepper_id                : A member of the StepperList enum (type:uint8_t)
-                steps                     : Number of steps (type:float)
+        timestamp                 : Timestamp [us] (type:uint64_t)
+        logger                    : True if the logger started correctly (type:uint8_t)
+        event_broker              : True if the event broker started correctly (type:uint8_t)
+        radio                     : True if the radio started correctly (type:uint8_t)
+        pin_observer              : True if the pin observer started correctly (type:uint8_t)
+        sensors                   : True if the sensors started correctly (type:uint8_t)
+        board_scheduler           : True if the board scheduler is running (type:uint8_t)
 
-                '''
-                return self.send(self.set_stepper_steps_tc_encode(stepper_id, steps), force_mavlink1=force_mavlink1)
+        """
+        self.send(self.sys_tm_encode(timestamp, logger, event_broker, radio, pin_observer, sensors, board_scheduler), force_mavlink1=force_mavlink1)
 
-        def set_nitrogen_time_tc_encode(self, timing):
-                '''
-                Sets the time in ms that the nitrogen will stay open
+    def fsm_tm_encode(self, timestamp: int, ada_state: int, abk_state: int, dpl_state: int, fmm_state: int, nas_state: int, wes_state: int) -> MAVLink_fsm_tm_message:
+        """
+        Flight State Machine status telemetry
 
-                timing                    : Timing in [ms] [ms] (type:uint32_t)
+        timestamp                 : Timestamp [us] (type:uint64_t)
+        ada_state                 : Apogee Detection Algorithm state (type:uint8_t)
+        abk_state                 : Air Brakes state (type:uint8_t)
+        dpl_state                 : Deployment state (type:uint8_t)
+        fmm_state                 : Flight Mode Manager state (type:uint8_t)
+        nas_state                 : Navigation and Attitude System state (type:uint8_t)
+        wes_state                 : Wind Estimation System state (type:uint8_t)
 
-                '''
-                return MAVLink_set_nitrogen_time_tc_message(timing)
+        """
+        return MAVLink_fsm_tm_message(timestamp, ada_state, abk_state, dpl_state, fmm_state, nas_state, wes_state)
 
-        def set_nitrogen_time_tc_send(self, timing, force_mavlink1=False):
-                '''
-                Sets the time in ms that the nitrogen will stay open
+    def fsm_tm_send(self, timestamp: int, ada_state: int, abk_state: int, dpl_state: int, fmm_state: int, nas_state: int, wes_state: int, force_mavlink1: bool = False) -> None:
+        """
+        Flight State Machine status telemetry
 
-                timing                    : Timing in [ms] [ms] (type:uint32_t)
+        timestamp                 : Timestamp [us] (type:uint64_t)
+        ada_state                 : Apogee Detection Algorithm state (type:uint8_t)
+        abk_state                 : Air Brakes state (type:uint8_t)
+        dpl_state                 : Deployment state (type:uint8_t)
+        fmm_state                 : Flight Mode Manager state (type:uint8_t)
+        nas_state                 : Navigation and Attitude System state (type:uint8_t)
+        wes_state                 : Wind Estimation System state (type:uint8_t)
 
-                '''
-                return self.send(self.set_nitrogen_time_tc_encode(timing), force_mavlink1=force_mavlink1)
+        """
+        self.send(self.fsm_tm_encode(timestamp, ada_state, abk_state, dpl_state, fmm_state, nas_state, wes_state), force_mavlink1=force_mavlink1)
 
-        def set_cooling_time_tc_encode(self, timing):
-                '''
-                Sets the time in ms that the system will wait before disarming after
-                firing
+    def logger_tm_encode(self, timestamp: int, log_number: int, too_large_samples: int, dropped_samples: int, queued_samples: int, buffers_filled: int, buffers_written: int, writes_failed: int, last_write_error: int, average_write_time: int, max_write_time: int) -> MAVLink_logger_tm_message:
+        """
+        Logger status telemetry
 
-                timing                    : Timing in [ms] [ms] (type:uint32_t)
+        timestamp                 : Timestamp [us] (type:uint64_t)
+        log_number                : Currently active log file, -1 if the logger is inactive (type:int16_t)
+        too_large_samples         : Number of dropped samples because too large (type:int32_t)
+        dropped_samples           : Number of dropped samples due to fifo full (type:int32_t)
+        queued_samples            : Number of samples written to buffer (type:int32_t)
+        buffers_filled            : Number of buffers filled (type:int32_t)
+        buffers_written           : Number of buffers written to disk (type:int32_t)
+        writes_failed             : Number of fwrite() that failed (type:int32_t)
+        last_write_error          : Error of the last fwrite() that failed (type:int32_t)
+        average_write_time        : Average time to perform an fwrite() of a buffer (type:int32_t)
+        max_write_time            : Max time to perform an fwrite() of a buffer (type:int32_t)
+
+        """
+        return MAVLink_logger_tm_message(timestamp, log_number, too_large_samples, dropped_samples, queued_samples, buffers_filled, buffers_written, writes_failed, last_write_error, average_write_time, max_write_time)
+
+    def logger_tm_send(self, timestamp: int, log_number: int, too_large_samples: int, dropped_samples: int, queued_samples: int, buffers_filled: int, buffers_written: int, writes_failed: int, last_write_error: int, average_write_time: int, max_write_time: int, force_mavlink1: bool = False) -> None:
+        """
+        Logger status telemetry
 
-                '''
-                return MAVLink_set_cooling_time_tc_message(timing)
+        timestamp                 : Timestamp [us] (type:uint64_t)
+        log_number                : Currently active log file, -1 if the logger is inactive (type:int16_t)
+        too_large_samples         : Number of dropped samples because too large (type:int32_t)
+        dropped_samples           : Number of dropped samples due to fifo full (type:int32_t)
+        queued_samples            : Number of samples written to buffer (type:int32_t)
+        buffers_filled            : Number of buffers filled (type:int32_t)
+        buffers_written           : Number of buffers written to disk (type:int32_t)
+        writes_failed             : Number of fwrite() that failed (type:int32_t)
+        last_write_error          : Error of the last fwrite() that failed (type:int32_t)
+        average_write_time        : Average time to perform an fwrite() of a buffer (type:int32_t)
+        max_write_time            : Max time to perform an fwrite() of a buffer (type:int32_t)
+
+        """
+        self.send(self.logger_tm_encode(timestamp, log_number, too_large_samples, dropped_samples, queued_samples, buffers_filled, buffers_written, writes_failed, last_write_error, average_write_time, max_write_time), force_mavlink1=force_mavlink1)
+
+    def mavlink_stats_tm_encode(self, timestamp: int, n_send_queue: int, max_send_queue: int, n_send_errors: int, msg_received: int, buffer_overrun: int, parse_error: int, parse_state: int, packet_idx: int, current_rx_seq: int, current_tx_seq: int, packet_rx_success_count: int, packet_rx_drop_count: int) -> MAVLink_mavlink_stats_tm_message:
+        """
+        Status of the TMTCManager telemetry
 
-        def set_cooling_time_tc_send(self, timing, force_mavlink1=False):
-                '''
-                Sets the time in ms that the system will wait before disarming after
-                firing
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        n_send_queue              : Current len of the occupied portion of the queue (type:uint16_t)
+        max_send_queue            : Max occupied len of the queue (type:uint16_t)
+        n_send_errors             : Number of packet not sent correctly by the TMTC (type:uint16_t)
+        msg_received              : Number of received messages (type:uint8_t)
+        buffer_overrun            : Number of buffer overruns (type:uint8_t)
+        parse_error               : Number of parse errors (type:uint8_t)
+        parse_state               : Parsing state machine (type:uint32_t)
+        packet_idx                : Index in current packet (type:uint8_t)
+        current_rx_seq            : Sequence number of last packet received (type:uint8_t)
+        current_tx_seq            : Sequence number of last packet sent (type:uint8_t)
+        packet_rx_success_count        : Received packets (type:uint16_t)
+        packet_rx_drop_count        : Number of packet drops (type:uint16_t)
+
+        """
+        return MAVLink_mavlink_stats_tm_message(timestamp, n_send_queue, max_send_queue, n_send_errors, msg_received, buffer_overrun, parse_error, parse_state, packet_idx, current_rx_seq, current_tx_seq, packet_rx_success_count, packet_rx_drop_count)
+
+    def mavlink_stats_tm_send(self, timestamp: int, n_send_queue: int, max_send_queue: int, n_send_errors: int, msg_received: int, buffer_overrun: int, parse_error: int, parse_state: int, packet_idx: int, current_rx_seq: int, current_tx_seq: int, packet_rx_success_count: int, packet_rx_drop_count: int, force_mavlink1: bool = False) -> None:
+        """
+        Status of the TMTCManager telemetry
 
-                timing                    : Timing in [ms] [ms] (type:uint32_t)
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        n_send_queue              : Current len of the occupied portion of the queue (type:uint16_t)
+        max_send_queue            : Max occupied len of the queue (type:uint16_t)
+        n_send_errors             : Number of packet not sent correctly by the TMTC (type:uint16_t)
+        msg_received              : Number of received messages (type:uint8_t)
+        buffer_overrun            : Number of buffer overruns (type:uint8_t)
+        parse_error               : Number of parse errors (type:uint8_t)
+        parse_state               : Parsing state machine (type:uint32_t)
+        packet_idx                : Index in current packet (type:uint8_t)
+        current_rx_seq            : Sequence number of last packet received (type:uint8_t)
+        current_tx_seq            : Sequence number of last packet sent (type:uint8_t)
+        packet_rx_success_count        : Received packets (type:uint16_t)
+        packet_rx_drop_count        : Number of packet drops (type:uint16_t)
+
+        """
+        self.send(self.mavlink_stats_tm_encode(timestamp, n_send_queue, max_send_queue, n_send_errors, msg_received, buffer_overrun, parse_error, parse_state, packet_idx, current_rx_seq, current_tx_seq, packet_rx_success_count, packet_rx_drop_count), force_mavlink1=force_mavlink1)
+
+    def task_stats_tm_encode(self, timestamp: int, task_id: int, task_period: int, task_min: float, task_max: float, task_mean: float, task_stddev: float) -> MAVLink_task_stats_tm_message:
+        """
+        Statistics of the Task Scheduler
 
-                '''
-                return self.send(self.set_cooling_time_tc_encode(timing), force_mavlink1=force_mavlink1)
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        task_id                   : Task ID (type:uint8_t)
+        task_period               : Period of the task [ms] (type:uint16_t)
+        task_min                  : Task min period (type:float)
+        task_max                  : Task max period (type:float)
+        task_mean                 : Task mean period (type:float)
+        task_stddev               : Task period std deviation (type:float)
 
-        def ack_tm_encode(self, recv_msgid, seq_ack):
-                '''
-                TM containing an ACK message to notify that the message has been
-                received
+        """
+        return MAVLink_task_stats_tm_message(timestamp, task_id, task_period, task_min, task_max, task_mean, task_stddev)
 
-                recv_msgid                : Message id of the received message (type:uint8_t)
-                seq_ack                   : Sequence number of the received message (type:uint8_t)
+    def task_stats_tm_send(self, timestamp: int, task_id: int, task_period: int, task_min: float, task_max: float, task_mean: float, task_stddev: float, force_mavlink1: bool = False) -> None:
+        """
+        Statistics of the Task Scheduler
 
-                '''
-                return MAVLink_ack_tm_message(recv_msgid, seq_ack)
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        task_id                   : Task ID (type:uint8_t)
+        task_period               : Period of the task [ms] (type:uint16_t)
+        task_min                  : Task min period (type:float)
+        task_max                  : Task max period (type:float)
+        task_mean                 : Task mean period (type:float)
+        task_stddev               : Task period std deviation (type:float)
 
-        def ack_tm_send(self, recv_msgid, seq_ack, force_mavlink1=False):
-                '''
-                TM containing an ACK message to notify that the message has been
-                received
-
-                recv_msgid                : Message id of the received message (type:uint8_t)
-                seq_ack                   : Sequence number of the received message (type:uint8_t)
-
-                '''
-                return self.send(self.ack_tm_encode(recv_msgid, seq_ack), force_mavlink1=force_mavlink1)
-
-        def nack_tm_encode(self, recv_msgid, seq_ack):
-                '''
-                TM containing a NACK message to notify that the received message was
-                invalid
-
-                recv_msgid                : Message id of the received message (type:uint8_t)
-                seq_ack                   : Sequence number of the received message (type:uint8_t)
-
-                '''
-                return MAVLink_nack_tm_message(recv_msgid, seq_ack)
-
-        def nack_tm_send(self, recv_msgid, seq_ack, force_mavlink1=False):
-                '''
-                TM containing a NACK message to notify that the received message was
-                invalid
-
-                recv_msgid                : Message id of the received message (type:uint8_t)
-                seq_ack                   : Sequence number of the received message (type:uint8_t)
-
-                '''
-                return self.send(self.nack_tm_encode(recv_msgid, seq_ack), force_mavlink1=force_mavlink1)
-
-        def gps_tm_encode(self, timestamp, sensor_name, fix, latitude, longitude, height, vel_north, vel_east, vel_down, speed, track, n_satellites):
-                '''
-                
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                sensor_name               : Sensor name (type:char)
-                fix                       : Wether the GPS has a FIX (type:uint8_t)
-                latitude                  : Latitude [deg] (type:double)
-                longitude                 : Longitude [deg] (type:double)
-                height                    : Altitude [m] (type:double)
-                vel_north                 : Velocity in NED frame (north) [m/s] (type:float)
-                vel_east                  : Velocity in NED frame (east) [m/s] (type:float)
-                vel_down                  : Velocity in NED frame (down) [m/s] (type:float)
-                speed                     : Speed [m/s] (type:float)
-                track                     : Track [deg] (type:float)
-                n_satellites              : Number of connected satellites (type:uint8_t)
-
-                '''
-                return MAVLink_gps_tm_message(timestamp, sensor_name, fix, latitude, longitude, height, vel_north, vel_east, vel_down, speed, track, n_satellites)
-
-        def gps_tm_send(self, timestamp, sensor_name, fix, latitude, longitude, height, vel_north, vel_east, vel_down, speed, track, n_satellites, force_mavlink1=False):
-                '''
-                
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                sensor_name               : Sensor name (type:char)
-                fix                       : Wether the GPS has a FIX (type:uint8_t)
-                latitude                  : Latitude [deg] (type:double)
-                longitude                 : Longitude [deg] (type:double)
-                height                    : Altitude [m] (type:double)
-                vel_north                 : Velocity in NED frame (north) [m/s] (type:float)
-                vel_east                  : Velocity in NED frame (east) [m/s] (type:float)
-                vel_down                  : Velocity in NED frame (down) [m/s] (type:float)
-                speed                     : Speed [m/s] (type:float)
-                track                     : Track [deg] (type:float)
-                n_satellites              : Number of connected satellites (type:uint8_t)
-
-                '''
-                return self.send(self.gps_tm_encode(timestamp, sensor_name, fix, latitude, longitude, height, vel_north, vel_east, vel_down, speed, track, n_satellites), force_mavlink1=force_mavlink1)
-
-        def imu_tm_encode(self, timestamp, sensor_name, acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z, mag_x, mag_y, mag_z):
-                '''
-                
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                sensor_name               : Sensor name (type:char)
-                acc_x                     : X axis acceleration [m/s2] (type:float)
-                acc_y                     : Y axis acceleration [m/s2] (type:float)
-                acc_z                     : Z axis acceleration [m/s2] (type:float)
-                gyro_x                    : X axis gyro [rad/s] (type:float)
-                gyro_y                    : Y axis gyro [rad/s] (type:float)
-                gyro_z                    : Z axis gyro [rad/s] (type:float)
-                mag_x                     : X axis compass [uT] (type:float)
-                mag_y                     : Y axis compass [uT] (type:float)
-                mag_z                     : Z axis compass [uT] (type:float)
-
-                '''
-                return MAVLink_imu_tm_message(timestamp, sensor_name, acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z, mag_x, mag_y, mag_z)
-
-        def imu_tm_send(self, timestamp, sensor_name, acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z, mag_x, mag_y, mag_z, force_mavlink1=False):
-                '''
-                
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                sensor_name               : Sensor name (type:char)
-                acc_x                     : X axis acceleration [m/s2] (type:float)
-                acc_y                     : Y axis acceleration [m/s2] (type:float)
-                acc_z                     : Z axis acceleration [m/s2] (type:float)
-                gyro_x                    : X axis gyro [rad/s] (type:float)
-                gyro_y                    : Y axis gyro [rad/s] (type:float)
-                gyro_z                    : Z axis gyro [rad/s] (type:float)
-                mag_x                     : X axis compass [uT] (type:float)
-                mag_y                     : Y axis compass [uT] (type:float)
-                mag_z                     : Z axis compass [uT] (type:float)
-
-                '''
-                return self.send(self.imu_tm_encode(timestamp, sensor_name, acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z, mag_x, mag_y, mag_z), force_mavlink1=force_mavlink1)
-
-        def pressure_tm_encode(self, timestamp, sensor_name, pressure):
-                '''
-                
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                sensor_name               : Sensor name (type:char)
-                pressure                  : Pressure of the digital barometer [Pa] (type:float)
-
-                '''
-                return MAVLink_pressure_tm_message(timestamp, sensor_name, pressure)
-
-        def pressure_tm_send(self, timestamp, sensor_name, pressure, force_mavlink1=False):
-                '''
-                
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                sensor_name               : Sensor name (type:char)
-                pressure                  : Pressure of the digital barometer [Pa] (type:float)
-
-                '''
-                return self.send(self.pressure_tm_encode(timestamp, sensor_name, pressure), force_mavlink1=force_mavlink1)
-
-        def adc_tm_encode(self, timestamp, sensor_name, channel_0, channel_1, channel_2, channel_3, channel_4, channel_5, channel_6, channel_7):
-                '''
-                
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                sensor_name               : Sensor name (type:char)
-                channel_0                 : ADC voltage measured on channel 0 [V] (type:float)
-                channel_1                 : ADC voltage measured on channel 1 [V] (type:float)
-                channel_2                 : ADC voltage measured on channel 2 [V] (type:float)
-                channel_3                 : ADC voltage measured on channel 3 [V] (type:float)
-                channel_4                 : ADC voltage measured on channel 4 [V] (type:float)
-                channel_5                 : ADC voltage measured on channel 5 [V] (type:float)
-                channel_6                 : ADC voltage measured on channel 6 [V] (type:float)
-                channel_7                 : ADC voltage measured on channel 7 [V] (type:float)
-
-                '''
-                return MAVLink_adc_tm_message(timestamp, sensor_name, channel_0, channel_1, channel_2, channel_3, channel_4, channel_5, channel_6, channel_7)
-
-        def adc_tm_send(self, timestamp, sensor_name, channel_0, channel_1, channel_2, channel_3, channel_4, channel_5, channel_6, channel_7, force_mavlink1=False):
-                '''
-                
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                sensor_name               : Sensor name (type:char)
-                channel_0                 : ADC voltage measured on channel 0 [V] (type:float)
-                channel_1                 : ADC voltage measured on channel 1 [V] (type:float)
-                channel_2                 : ADC voltage measured on channel 2 [V] (type:float)
-                channel_3                 : ADC voltage measured on channel 3 [V] (type:float)
-                channel_4                 : ADC voltage measured on channel 4 [V] (type:float)
-                channel_5                 : ADC voltage measured on channel 5 [V] (type:float)
-                channel_6                 : ADC voltage measured on channel 6 [V] (type:float)
-                channel_7                 : ADC voltage measured on channel 7 [V] (type:float)
-
-                '''
-                return self.send(self.adc_tm_encode(timestamp, sensor_name, channel_0, channel_1, channel_2, channel_3, channel_4, channel_5, channel_6, channel_7), force_mavlink1=force_mavlink1)
-
-        def voltage_tm_encode(self, timestamp, sensor_name, voltage):
-                '''
-                
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                sensor_name               : Sensor name (type:char)
-                voltage                   : Voltage [V] (type:float)
-
-                '''
-                return MAVLink_voltage_tm_message(timestamp, sensor_name, voltage)
-
-        def voltage_tm_send(self, timestamp, sensor_name, voltage, force_mavlink1=False):
-                '''
-                
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                sensor_name               : Sensor name (type:char)
-                voltage                   : Voltage [V] (type:float)
-
-                '''
-                return self.send(self.voltage_tm_encode(timestamp, sensor_name, voltage), force_mavlink1=force_mavlink1)
-
-        def current_tm_encode(self, timestamp, sensor_name, current):
-                '''
-                
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                sensor_name               : Sensor name (type:char)
-                current                   : Current [A] (type:float)
-
-                '''
-                return MAVLink_current_tm_message(timestamp, sensor_name, current)
-
-        def current_tm_send(self, timestamp, sensor_name, current, force_mavlink1=False):
-                '''
-                
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                sensor_name               : Sensor name (type:char)
-                current                   : Current [A] (type:float)
-
-                '''
-                return self.send(self.current_tm_encode(timestamp, sensor_name, current), force_mavlink1=force_mavlink1)
-
-        def temp_tm_encode(self, timestamp, sensor_name, temperature):
-                '''
-                
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                sensor_name               : Sensor name (type:char)
-                temperature               : Temperature [deg] (type:float)
-
-                '''
-                return MAVLink_temp_tm_message(timestamp, sensor_name, temperature)
-
-        def temp_tm_send(self, timestamp, sensor_name, temperature, force_mavlink1=False):
-                '''
-                
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                sensor_name               : Sensor name (type:char)
-                temperature               : Temperature [deg] (type:float)
-
-                '''
-                return self.send(self.temp_tm_encode(timestamp, sensor_name, temperature), force_mavlink1=force_mavlink1)
-
-        def load_tm_encode(self, timestamp, sensor_name, load):
-                '''
-                
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                sensor_name               : Sensor name (type:char)
-                load                      : Load force [kg] (type:float)
-
-                '''
-                return MAVLink_load_tm_message(timestamp, sensor_name, load)
+        """
+        self.send(self.task_stats_tm_encode(timestamp, task_id, task_period, task_min, task_max, task_mean, task_stddev), force_mavlink1=force_mavlink1)
 
-        def load_tm_send(self, timestamp, sensor_name, load, force_mavlink1=False):
-                '''
-                
+    def ada_tm_encode(self, timestamp: int, state: int, kalman_x0: float, kalman_x1: float, kalman_x2: float, vertical_speed: float, msl_altitude: float, ref_pressure: float, ref_altitude: float, ref_temperature: float, msl_pressure: float, msl_temperature: float, dpl_altitude: float) -> MAVLink_ada_tm_message:
+        """
+        Apogee Detection Algorithm status telemetry
 
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                sensor_name               : Sensor name (type:char)
-                load                      : Load force [kg] (type:float)
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        state                     : ADA current state (type:uint8_t)
+        kalman_x0                 : Kalman state variable 0 (pressure) (type:float)
+        kalman_x1                 : Kalman state variable 1 (pressure velocity) (type:float)
+        kalman_x2                 : Kalman state variable 2 (pressure acceleration) (type:float)
+        vertical_speed            : Vertical speed computed by the ADA [m/s] (type:float)
+        msl_altitude              : Altitude w.r.t. mean sea level [m] (type:float)
+        ref_pressure              : Calibration pressure [Pa] (type:float)
+        ref_altitude              : Calibration altitude [m] (type:float)
+        ref_temperature           : Calibration temperature [degC] (type:float)
+        msl_pressure              : Expected pressure at mean sea level [Pa] (type:float)
+        msl_temperature           : Expected temperature at mean sea level [degC] (type:float)
+        dpl_altitude              : Main parachute deployment altituyde [m] (type:float)
+
+        """
+        return MAVLink_ada_tm_message(timestamp, state, kalman_x0, kalman_x1, kalman_x2, vertical_speed, msl_altitude, ref_pressure, ref_altitude, ref_temperature, msl_pressure, msl_temperature, dpl_altitude)
+
+    def ada_tm_send(self, timestamp: int, state: int, kalman_x0: float, kalman_x1: float, kalman_x2: float, vertical_speed: float, msl_altitude: float, ref_pressure: float, ref_altitude: float, ref_temperature: float, msl_pressure: float, msl_temperature: float, dpl_altitude: float, force_mavlink1: bool = False) -> None:
+        """
+        Apogee Detection Algorithm status telemetry
 
-                '''
-                return self.send(self.load_tm_encode(timestamp, sensor_name, load), force_mavlink1=force_mavlink1)
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        state                     : ADA current state (type:uint8_t)
+        kalman_x0                 : Kalman state variable 0 (pressure) (type:float)
+        kalman_x1                 : Kalman state variable 1 (pressure velocity) (type:float)
+        kalman_x2                 : Kalman state variable 2 (pressure acceleration) (type:float)
+        vertical_speed            : Vertical speed computed by the ADA [m/s] (type:float)
+        msl_altitude              : Altitude w.r.t. mean sea level [m] (type:float)
+        ref_pressure              : Calibration pressure [Pa] (type:float)
+        ref_altitude              : Calibration altitude [m] (type:float)
+        ref_temperature           : Calibration temperature [degC] (type:float)
+        msl_pressure              : Expected pressure at mean sea level [Pa] (type:float)
+        msl_temperature           : Expected temperature at mean sea level [degC] (type:float)
+        dpl_altitude              : Main parachute deployment altituyde [m] (type:float)
+
+        """
+        self.send(self.ada_tm_encode(timestamp, state, kalman_x0, kalman_x1, kalman_x2, vertical_speed, msl_altitude, ref_pressure, ref_altitude, ref_temperature, msl_pressure, msl_temperature, dpl_altitude), force_mavlink1=force_mavlink1)
+
+    def nas_tm_encode(self, timestamp: int, state: int, nas_n: float, nas_e: float, nas_d: float, nas_vn: float, nas_ve: float, nas_vd: float, nas_qx: float, nas_qy: float, nas_qz: float, nas_qw: float, nas_bias_x: float, nas_bias_y: float, nas_bias_z: float, ref_pressure: float, ref_temperature: float, ref_latitude: float, ref_longitude: float) -> MAVLink_nas_tm_message:
+        """
+        Navigation System status telemetry
 
-        def attitude_tm_encode(self, timestamp, sensor_name, roll, pitch, yaw, quat_x, quat_y, quat_z, quat_w):
-                '''
-                
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        state                     : NAS current state (type:uint8_t)
+        nas_n                     : Navigation system estimated noth position [deg] (type:float)
+        nas_e                     : Navigation system estimated east position [deg] (type:float)
+        nas_d                     : Navigation system estimated down position [m] (type:float)
+        nas_vn                    : Navigation system estimated north velocity [m/s] (type:float)
+        nas_ve                    : Navigation system estimated east velocity [m/s] (type:float)
+        nas_vd                    : Navigation system estimated down velocity [m/s] (type:float)
+        nas_qx                    : Navigation system estimated attitude (qx) [deg] (type:float)
+        nas_qy                    : Navigation system estimated attitude (qy) [deg] (type:float)
+        nas_qz                    : Navigation system estimated attitude (qz) [deg] (type:float)
+        nas_qw                    : Navigation system estimated attitude (qw) [deg] (type:float)
+        nas_bias_x                : Navigation system gyroscope bias on x axis (type:float)
+        nas_bias_y                : Navigation system gyroscope bias on y axis (type:float)
+        nas_bias_z                : Navigation system gyroscope bias on z axis (type:float)
+        ref_pressure              : Calibration pressure [Pa] (type:float)
+        ref_temperature           : Calibration temperature [degC] (type:float)
+        ref_latitude              : Calibration latitude [deg] (type:float)
+        ref_longitude             : Calibration longitude [deg] (type:float)
+
+        """
+        return MAVLink_nas_tm_message(timestamp, state, nas_n, nas_e, nas_d, nas_vn, nas_ve, nas_vd, nas_qx, nas_qy, nas_qz, nas_qw, nas_bias_x, nas_bias_y, nas_bias_z, ref_pressure, ref_temperature, ref_latitude, ref_longitude)
+
+    def nas_tm_send(self, timestamp: int, state: int, nas_n: float, nas_e: float, nas_d: float, nas_vn: float, nas_ve: float, nas_vd: float, nas_qx: float, nas_qy: float, nas_qz: float, nas_qw: float, nas_bias_x: float, nas_bias_y: float, nas_bias_z: float, ref_pressure: float, ref_temperature: float, ref_latitude: float, ref_longitude: float, force_mavlink1: bool = False) -> None:
+        """
+        Navigation System status telemetry
 
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                sensor_name               : Sensor name (type:char)
-                roll                      : Roll angle [deg] (type:float)
-                pitch                     : Pitch angle [deg] (type:float)
-                yaw                       : Yaw angle [deg] (type:float)
-                quat_x                    : Quaternion x component (type:float)
-                quat_y                    : Quaternion y component (type:float)
-                quat_z                    : Quaternion z component (type:float)
-                quat_w                    : Quaternion w component (type:float)
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        state                     : NAS current state (type:uint8_t)
+        nas_n                     : Navigation system estimated noth position [deg] (type:float)
+        nas_e                     : Navigation system estimated east position [deg] (type:float)
+        nas_d                     : Navigation system estimated down position [m] (type:float)
+        nas_vn                    : Navigation system estimated north velocity [m/s] (type:float)
+        nas_ve                    : Navigation system estimated east velocity [m/s] (type:float)
+        nas_vd                    : Navigation system estimated down velocity [m/s] (type:float)
+        nas_qx                    : Navigation system estimated attitude (qx) [deg] (type:float)
+        nas_qy                    : Navigation system estimated attitude (qy) [deg] (type:float)
+        nas_qz                    : Navigation system estimated attitude (qz) [deg] (type:float)
+        nas_qw                    : Navigation system estimated attitude (qw) [deg] (type:float)
+        nas_bias_x                : Navigation system gyroscope bias on x axis (type:float)
+        nas_bias_y                : Navigation system gyroscope bias on y axis (type:float)
+        nas_bias_z                : Navigation system gyroscope bias on z axis (type:float)
+        ref_pressure              : Calibration pressure [Pa] (type:float)
+        ref_temperature           : Calibration temperature [degC] (type:float)
+        ref_latitude              : Calibration latitude [deg] (type:float)
+        ref_longitude             : Calibration longitude [deg] (type:float)
+
+        """
+        self.send(self.nas_tm_encode(timestamp, state, nas_n, nas_e, nas_d, nas_vn, nas_ve, nas_vd, nas_qx, nas_qy, nas_qz, nas_qw, nas_bias_x, nas_bias_y, nas_bias_z, ref_pressure, ref_temperature, ref_latitude, ref_longitude), force_mavlink1=force_mavlink1)
+
+    def mea_tm_encode(self, timestamp: int, state: int, kalman_x0: float, kalman_x1: float, kalman_x2: float, mass: float, corrected_pressure: float) -> MAVLink_mea_tm_message:
+        """
+        Mass Estimation Algorithm status telemetry
 
-                '''
-                return MAVLink_attitude_tm_message(timestamp, sensor_name, roll, pitch, yaw, quat_x, quat_y, quat_z, quat_w)
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        state                     : MEA current state (type:uint8_t)
+        kalman_x0                 : Kalman state variable 0 (corrected pressure) (type:float)
+        kalman_x1                 : Kalman state variable 1 (type:float)
+        kalman_x2                 : Kalman state variable 2 (mass) (type:float)
+        mass                      : Mass estimated [kg] (type:float)
+        corrected_pressure        : Corrected pressure [kg] (type:float)
 
-        def attitude_tm_send(self, timestamp, sensor_name, roll, pitch, yaw, quat_x, quat_y, quat_z, quat_w, force_mavlink1=False):
-                '''
-                
+        """
+        return MAVLink_mea_tm_message(timestamp, state, kalman_x0, kalman_x1, kalman_x2, mass, corrected_pressure)
 
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                sensor_name               : Sensor name (type:char)
-                roll                      : Roll angle [deg] (type:float)
-                pitch                     : Pitch angle [deg] (type:float)
-                yaw                       : Yaw angle [deg] (type:float)
-                quat_x                    : Quaternion x component (type:float)
-                quat_y                    : Quaternion y component (type:float)
-                quat_z                    : Quaternion z component (type:float)
-                quat_w                    : Quaternion w component (type:float)
+    def mea_tm_send(self, timestamp: int, state: int, kalman_x0: float, kalman_x1: float, kalman_x2: float, mass: float, corrected_pressure: float, force_mavlink1: bool = False) -> None:
+        """
+        Mass Estimation Algorithm status telemetry
 
-                '''
-                return self.send(self.attitude_tm_encode(timestamp, sensor_name, roll, pitch, yaw, quat_x, quat_y, quat_z, quat_w), force_mavlink1=force_mavlink1)
+        timestamp                 : When was this logged [us] (type:uint64_t)
+        state                     : MEA current state (type:uint8_t)
+        kalman_x0                 : Kalman state variable 0 (corrected pressure) (type:float)
+        kalman_x1                 : Kalman state variable 1 (type:float)
+        kalman_x2                 : Kalman state variable 2 (mass) (type:float)
+        mass                      : Mass estimated [kg] (type:float)
+        corrected_pressure        : Corrected pressure [kg] (type:float)
 
-        def sensor_state_tm_encode(self, sensor_name, state):
-                '''
-                
+        """
+        self.send(self.mea_tm_encode(timestamp, state, kalman_x0, kalman_x1, kalman_x2, mass, corrected_pressure), force_mavlink1=force_mavlink1)
 
-                sensor_name               : Sensor name (type:char)
-                state                     : Boolean that represents the init state (type:uint8_t)
+    def rocket_flight_tm_encode(self, timestamp: int, ada_state: int, fmm_state: int, dpl_state: int, abk_state: int, nas_state: int, mea_state: int, pressure_ada: float, pressure_digi: float, pressure_static: float, pressure_dpl: float, airspeed_pitot: float, altitude_agl: float, ada_vert_speed: float, mea_mass: float, acc_x: float, acc_y: float, acc_z: float, gyro_x: float, gyro_y: float, gyro_z: float, mag_x: float, mag_y: float, mag_z: float, gps_fix: int, gps_lat: float, gps_lon: float, gps_alt: float, abk_angle: float, nas_n: float, nas_e: float, nas_d: float, nas_vn: float, nas_ve: float, nas_vd: float, nas_qx: float, nas_qy: float, nas_qz: float, nas_qw: float, nas_bias_x: float, nas_bias_y: float, nas_bias_z: float, pin_quick_connector: float, pin_launch: int, pin_nosecone: int, pin_expulsion: int, cutter_presence: int, battery_voltage: float, cam_battery_voltage: float, current_consumption: float, temperature: float, logger_error: int) -> MAVLink_rocket_flight_tm_message:
+        """
+        High Rate Telemetry
 
-                '''
-                return MAVLink_sensor_state_tm_message(sensor_name, state)
+        timestamp                 : Timestamp in microseconds [us] (type:uint64_t)
+        ada_state                 : ADA Controller State (type:uint8_t)
+        fmm_state                 : Flight Mode Manager State (type:uint8_t)
+        dpl_state                 : Deployment Controller State (type:uint8_t)
+        abk_state                 : Airbrake FSM state (type:uint8_t)
+        nas_state                 : Navigation System FSM State (type:uint8_t)
+        mea_state                 : MEA Controller State (type:uint8_t)
+        pressure_ada              : Atmospheric pressure estimated by ADA [Pa] (type:float)
+        pressure_digi             : Pressure from digital sensor [Pa] (type:float)
+        pressure_static           : Pressure from static port [Pa] (type:float)
+        pressure_dpl              : Pressure from deployment vane sensor [Pa] (type:float)
+        airspeed_pitot            : Pitot airspeed [m/s] (type:float)
+        altitude_agl              : Altitude above ground level [m] (type:float)
+        ada_vert_speed            : Vertical speed estimated by ADA [m/s] (type:float)
+        mea_mass                  : Mass estimated by MEA [kg] (type:float)
+        acc_x                     : Acceleration on X axis (body) [m/s^2] (type:float)
+        acc_y                     : Acceleration on Y axis (body) [m/s^2] (type:float)
+        acc_z                     : Acceleration on Z axis (body) [m/s^2] (type:float)
+        gyro_x                    : Angular speed on X axis (body) [rad/s] (type:float)
+        gyro_y                    : Angular speed on Y axis (body) [rad/s] (type:float)
+        gyro_z                    : Angular speed on Z axis (body) [rad/s] (type:float)
+        mag_x                     : Magnetic field on X axis (body) [uT] (type:float)
+        mag_y                     : Magnetic field on Y axis (body) [uT] (type:float)
+        mag_z                     : Magnetic field on Z axis (body) [uT] (type:float)
+        gps_fix                   : GPS fix (1 = fix, 0 = no fix) (type:uint8_t)
+        gps_lat                   : Latitude [deg] (type:float)
+        gps_lon                   : Longitude [deg] (type:float)
+        gps_alt                   : GPS Altitude [m] (type:float)
+        abk_angle                 : Air Brakes angle [deg] (type:float)
+        nas_n                     : Navigation system estimated noth position [deg] (type:float)
+        nas_e                     : Navigation system estimated east position [deg] (type:float)
+        nas_d                     : Navigation system estimated down position [m] (type:float)
+        nas_vn                    : Navigation system estimated north velocity [m/s] (type:float)
+        nas_ve                    : Navigation system estimated east velocity [m/s] (type:float)
+        nas_vd                    : Navigation system estimated down velocity [m/s] (type:float)
+        nas_qx                    : Navigation system estimated attitude (qx) [deg] (type:float)
+        nas_qy                    : Navigation system estimated attitude (qy) [deg] (type:float)
+        nas_qz                    : Navigation system estimated attitude (qz) [deg] (type:float)
+        nas_qw                    : Navigation system estimated attitude (qw) [deg] (type:float)
+        nas_bias_x                : Navigation system gyroscope bias on x axis (type:float)
+        nas_bias_y                : Navigation system gyroscope bias on y axis (type:float)
+        nas_bias_z                : Navigation system gyroscope bias on z axis (type:float)
+        pin_quick_connector        : Quick connector detach pin (type:float)
+        pin_launch                : Launch pin status (1 = connected, 0 = disconnected) (type:uint8_t)
+        pin_nosecone              : Nosecone pin status (1 = connected, 0 = disconnected) (type:uint8_t)
+        pin_expulsion             : Servo sensor status (1 = actuated, 0 = idle) (type:uint8_t)
+        cutter_presence           : Cutter presence status (1 = present, 0 = missing) (type:uint8_t)
+        battery_voltage           : Battery voltage [V] (type:float)
+        cam_battery_voltage        : Camera battery voltage [V] (type:float)
+        current_consumption        : Battery current [A] (type:float)
+        temperature               : Temperature [degC] (type:float)
+        logger_error              : Logger error (0 = no error, -1 otherwise) (type:int8_t)
+
+        """
+        return MAVLink_rocket_flight_tm_message(timestamp, ada_state, fmm_state, dpl_state, abk_state, nas_state, mea_state, pressure_ada, pressure_digi, pressure_static, pressure_dpl, airspeed_pitot, altitude_agl, ada_vert_speed, mea_mass, acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z, mag_x, mag_y, mag_z, gps_fix, gps_lat, gps_lon, gps_alt, abk_angle, nas_n, nas_e, nas_d, nas_vn, nas_ve, nas_vd, nas_qx, nas_qy, nas_qz, nas_qw, nas_bias_x, nas_bias_y, nas_bias_z, pin_quick_connector, pin_launch, pin_nosecone, pin_expulsion, cutter_presence, battery_voltage, cam_battery_voltage, current_consumption, temperature, logger_error)
+
+    def rocket_flight_tm_send(self, timestamp: int, ada_state: int, fmm_state: int, dpl_state: int, abk_state: int, nas_state: int, mea_state: int, pressure_ada: float, pressure_digi: float, pressure_static: float, pressure_dpl: float, airspeed_pitot: float, altitude_agl: float, ada_vert_speed: float, mea_mass: float, acc_x: float, acc_y: float, acc_z: float, gyro_x: float, gyro_y: float, gyro_z: float, mag_x: float, mag_y: float, mag_z: float, gps_fix: int, gps_lat: float, gps_lon: float, gps_alt: float, abk_angle: float, nas_n: float, nas_e: float, nas_d: float, nas_vn: float, nas_ve: float, nas_vd: float, nas_qx: float, nas_qy: float, nas_qz: float, nas_qw: float, nas_bias_x: float, nas_bias_y: float, nas_bias_z: float, pin_quick_connector: float, pin_launch: int, pin_nosecone: int, pin_expulsion: int, cutter_presence: int, battery_voltage: float, cam_battery_voltage: float, current_consumption: float, temperature: float, logger_error: int, force_mavlink1: bool = False) -> None:
+        """
+        High Rate Telemetry
 
-        def sensor_state_tm_send(self, sensor_name, state, force_mavlink1=False):
-                '''
-                
+        timestamp                 : Timestamp in microseconds [us] (type:uint64_t)
+        ada_state                 : ADA Controller State (type:uint8_t)
+        fmm_state                 : Flight Mode Manager State (type:uint8_t)
+        dpl_state                 : Deployment Controller State (type:uint8_t)
+        abk_state                 : Airbrake FSM state (type:uint8_t)
+        nas_state                 : Navigation System FSM State (type:uint8_t)
+        mea_state                 : MEA Controller State (type:uint8_t)
+        pressure_ada              : Atmospheric pressure estimated by ADA [Pa] (type:float)
+        pressure_digi             : Pressure from digital sensor [Pa] (type:float)
+        pressure_static           : Pressure from static port [Pa] (type:float)
+        pressure_dpl              : Pressure from deployment vane sensor [Pa] (type:float)
+        airspeed_pitot            : Pitot airspeed [m/s] (type:float)
+        altitude_agl              : Altitude above ground level [m] (type:float)
+        ada_vert_speed            : Vertical speed estimated by ADA [m/s] (type:float)
+        mea_mass                  : Mass estimated by MEA [kg] (type:float)
+        acc_x                     : Acceleration on X axis (body) [m/s^2] (type:float)
+        acc_y                     : Acceleration on Y axis (body) [m/s^2] (type:float)
+        acc_z                     : Acceleration on Z axis (body) [m/s^2] (type:float)
+        gyro_x                    : Angular speed on X axis (body) [rad/s] (type:float)
+        gyro_y                    : Angular speed on Y axis (body) [rad/s] (type:float)
+        gyro_z                    : Angular speed on Z axis (body) [rad/s] (type:float)
+        mag_x                     : Magnetic field on X axis (body) [uT] (type:float)
+        mag_y                     : Magnetic field on Y axis (body) [uT] (type:float)
+        mag_z                     : Magnetic field on Z axis (body) [uT] (type:float)
+        gps_fix                   : GPS fix (1 = fix, 0 = no fix) (type:uint8_t)
+        gps_lat                   : Latitude [deg] (type:float)
+        gps_lon                   : Longitude [deg] (type:float)
+        gps_alt                   : GPS Altitude [m] (type:float)
+        abk_angle                 : Air Brakes angle [deg] (type:float)
+        nas_n                     : Navigation system estimated noth position [deg] (type:float)
+        nas_e                     : Navigation system estimated east position [deg] (type:float)
+        nas_d                     : Navigation system estimated down position [m] (type:float)
+        nas_vn                    : Navigation system estimated north velocity [m/s] (type:float)
+        nas_ve                    : Navigation system estimated east velocity [m/s] (type:float)
+        nas_vd                    : Navigation system estimated down velocity [m/s] (type:float)
+        nas_qx                    : Navigation system estimated attitude (qx) [deg] (type:float)
+        nas_qy                    : Navigation system estimated attitude (qy) [deg] (type:float)
+        nas_qz                    : Navigation system estimated attitude (qz) [deg] (type:float)
+        nas_qw                    : Navigation system estimated attitude (qw) [deg] (type:float)
+        nas_bias_x                : Navigation system gyroscope bias on x axis (type:float)
+        nas_bias_y                : Navigation system gyroscope bias on y axis (type:float)
+        nas_bias_z                : Navigation system gyroscope bias on z axis (type:float)
+        pin_quick_connector        : Quick connector detach pin (type:float)
+        pin_launch                : Launch pin status (1 = connected, 0 = disconnected) (type:uint8_t)
+        pin_nosecone              : Nosecone pin status (1 = connected, 0 = disconnected) (type:uint8_t)
+        pin_expulsion             : Servo sensor status (1 = actuated, 0 = idle) (type:uint8_t)
+        cutter_presence           : Cutter presence status (1 = present, 0 = missing) (type:uint8_t)
+        battery_voltage           : Battery voltage [V] (type:float)
+        cam_battery_voltage        : Camera battery voltage [V] (type:float)
+        current_consumption        : Battery current [A] (type:float)
+        temperature               : Temperature [degC] (type:float)
+        logger_error              : Logger error (0 = no error, -1 otherwise) (type:int8_t)
+
+        """
+        self.send(self.rocket_flight_tm_encode(timestamp, ada_state, fmm_state, dpl_state, abk_state, nas_state, mea_state, pressure_ada, pressure_digi, pressure_static, pressure_dpl, airspeed_pitot, altitude_agl, ada_vert_speed, mea_mass, acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z, mag_x, mag_y, mag_z, gps_fix, gps_lat, gps_lon, gps_alt, abk_angle, nas_n, nas_e, nas_d, nas_vn, nas_ve, nas_vd, nas_qx, nas_qy, nas_qz, nas_qw, nas_bias_x, nas_bias_y, nas_bias_z, pin_quick_connector, pin_launch, pin_nosecone, pin_expulsion, cutter_presence, battery_voltage, cam_battery_voltage, current_consumption, temperature, logger_error), force_mavlink1=force_mavlink1)
+
+    def payload_flight_tm_encode(self, timestamp: int, fmm_state: int, nas_state: int, wes_state: int, pressure_digi: float, pressure_static: float, airspeed_pitot: float, altitude_agl: float, acc_x: float, acc_y: float, acc_z: float, gyro_x: float, gyro_y: float, gyro_z: float, mag_x: float, mag_y: float, mag_z: float, gps_fix: int, gps_lat: float, gps_lon: float, gps_alt: float, left_servo_angle: float, right_servo_angle: float, nas_n: float, nas_e: float, nas_d: float, nas_vn: float, nas_ve: float, nas_vd: float, nas_qx: float, nas_qy: float, nas_qz: float, nas_qw: float, nas_bias_x: float, nas_bias_y: float, nas_bias_z: float, wes_n: float, wes_e: float, pin_nosecone: int, battery_voltage: float, cam_battery_voltage: float, current_consumption: float, cutter_presence: int, temperature: float, logger_error: int) -> MAVLink_payload_flight_tm_message:
+        """
+        High Rate Telemetry
 
-                sensor_name               : Sensor name (type:char)
-                state                     : Boolean that represents the init state (type:uint8_t)
+        timestamp                 : Timestamp in microseconds [us] (type:uint64_t)
+        fmm_state                 : Flight Mode Manager State (type:uint8_t)
+        nas_state                 : Navigation System FSM State (type:uint8_t)
+        wes_state                 : Wind Estimation System FSM State (type:uint8_t)
+        pressure_digi             : Pressure from digital sensor [Pa] (type:float)
+        pressure_static           : Pressure from static port [Pa] (type:float)
+        airspeed_pitot            : Pitot airspeed [m/s] (type:float)
+        altitude_agl              : Altitude above ground level [m] (type:float)
+        acc_x                     : Acceleration on X axis (body) [m/s^2] (type:float)
+        acc_y                     : Acceleration on Y axis (body) [m/s^2] (type:float)
+        acc_z                     : Acceleration on Z axis (body) [m/s^2] (type:float)
+        gyro_x                    : Angular speed on X axis (body) [rad/s] (type:float)
+        gyro_y                    : Angular speed on Y axis (body) [rad/s] (type:float)
+        gyro_z                    : Angular speed on Z axis (body) [rad/s] (type:float)
+        mag_x                     : Magnetic field on X axis (body) [uT] (type:float)
+        mag_y                     : Magnetic field on Y axis (body) [uT] (type:float)
+        mag_z                     : Magnetic field on Z axis (body) [uT] (type:float)
+        gps_fix                   : GPS fix (1 = fix, 0 = no fix) (type:uint8_t)
+        gps_lat                   : Latitude [deg] (type:float)
+        gps_lon                   : Longitude [deg] (type:float)
+        gps_alt                   : GPS Altitude [m] (type:float)
+        left_servo_angle          : Left servo motor angle [deg] (type:float)
+        right_servo_angle         : Right servo motor angle [deg] (type:float)
+        nas_n                     : Navigation system estimated noth position [deg] (type:float)
+        nas_e                     : Navigation system estimated east position [deg] (type:float)
+        nas_d                     : Navigation system estimated down position [m] (type:float)
+        nas_vn                    : Navigation system estimated north velocity [m/s] (type:float)
+        nas_ve                    : Navigation system estimated east velocity [m/s] (type:float)
+        nas_vd                    : Navigation system estimated down velocity [m/s] (type:float)
+        nas_qx                    : Navigation system estimated attitude (qx) [deg] (type:float)
+        nas_qy                    : Navigation system estimated attitude (qy) [deg] (type:float)
+        nas_qz                    : Navigation system estimated attitude (qz) [deg] (type:float)
+        nas_qw                    : Navigation system estimated attitude (qw) [deg] (type:float)
+        nas_bias_x                : Navigation system gyroscope bias on x axis (type:float)
+        nas_bias_y                : Navigation system gyroscope bias on y axis (type:float)
+        nas_bias_z                : Navigation system gyroscope bias on z axis (type:float)
+        wes_n                     : Wind estimated north velocity [m/s] (type:float)
+        wes_e                     : Wind estimated east velocity [m/s] (type:float)
+        pin_nosecone              : Nosecone pin status (1 = connected, 0 = disconnected) (type:uint8_t)
+        battery_voltage           : Battery voltage [V] (type:float)
+        cam_battery_voltage        : Camera battery voltage [V] (type:float)
+        current_consumption        : Battery current [A] (type:float)
+        cutter_presence           : Cutter presence status (1 = present, 0 = missing) (type:uint8_t)
+        temperature               : Temperature [degC] (type:float)
+        logger_error              : Logger error (0 = no error) (type:int8_t)
+
+        """
+        return MAVLink_payload_flight_tm_message(timestamp, fmm_state, nas_state, wes_state, pressure_digi, pressure_static, airspeed_pitot, altitude_agl, acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z, mag_x, mag_y, mag_z, gps_fix, gps_lat, gps_lon, gps_alt, left_servo_angle, right_servo_angle, nas_n, nas_e, nas_d, nas_vn, nas_ve, nas_vd, nas_qx, nas_qy, nas_qz, nas_qw, nas_bias_x, nas_bias_y, nas_bias_z, wes_n, wes_e, pin_nosecone, battery_voltage, cam_battery_voltage, current_consumption, cutter_presence, temperature, logger_error)
+
+    def payload_flight_tm_send(self, timestamp: int, fmm_state: int, nas_state: int, wes_state: int, pressure_digi: float, pressure_static: float, airspeed_pitot: float, altitude_agl: float, acc_x: float, acc_y: float, acc_z: float, gyro_x: float, gyro_y: float, gyro_z: float, mag_x: float, mag_y: float, mag_z: float, gps_fix: int, gps_lat: float, gps_lon: float, gps_alt: float, left_servo_angle: float, right_servo_angle: float, nas_n: float, nas_e: float, nas_d: float, nas_vn: float, nas_ve: float, nas_vd: float, nas_qx: float, nas_qy: float, nas_qz: float, nas_qw: float, nas_bias_x: float, nas_bias_y: float, nas_bias_z: float, wes_n: float, wes_e: float, pin_nosecone: int, battery_voltage: float, cam_battery_voltage: float, current_consumption: float, cutter_presence: int, temperature: float, logger_error: int, force_mavlink1: bool = False) -> None:
+        """
+        High Rate Telemetry
 
-                '''
-                return self.send(self.sensor_state_tm_encode(sensor_name, state), force_mavlink1=force_mavlink1)
+        timestamp                 : Timestamp in microseconds [us] (type:uint64_t)
+        fmm_state                 : Flight Mode Manager State (type:uint8_t)
+        nas_state                 : Navigation System FSM State (type:uint8_t)
+        wes_state                 : Wind Estimation System FSM State (type:uint8_t)
+        pressure_digi             : Pressure from digital sensor [Pa] (type:float)
+        pressure_static           : Pressure from static port [Pa] (type:float)
+        airspeed_pitot            : Pitot airspeed [m/s] (type:float)
+        altitude_agl              : Altitude above ground level [m] (type:float)
+        acc_x                     : Acceleration on X axis (body) [m/s^2] (type:float)
+        acc_y                     : Acceleration on Y axis (body) [m/s^2] (type:float)
+        acc_z                     : Acceleration on Z axis (body) [m/s^2] (type:float)
+        gyro_x                    : Angular speed on X axis (body) [rad/s] (type:float)
+        gyro_y                    : Angular speed on Y axis (body) [rad/s] (type:float)
+        gyro_z                    : Angular speed on Z axis (body) [rad/s] (type:float)
+        mag_x                     : Magnetic field on X axis (body) [uT] (type:float)
+        mag_y                     : Magnetic field on Y axis (body) [uT] (type:float)
+        mag_z                     : Magnetic field on Z axis (body) [uT] (type:float)
+        gps_fix                   : GPS fix (1 = fix, 0 = no fix) (type:uint8_t)
+        gps_lat                   : Latitude [deg] (type:float)
+        gps_lon                   : Longitude [deg] (type:float)
+        gps_alt                   : GPS Altitude [m] (type:float)
+        left_servo_angle          : Left servo motor angle [deg] (type:float)
+        right_servo_angle         : Right servo motor angle [deg] (type:float)
+        nas_n                     : Navigation system estimated noth position [deg] (type:float)
+        nas_e                     : Navigation system estimated east position [deg] (type:float)
+        nas_d                     : Navigation system estimated down position [m] (type:float)
+        nas_vn                    : Navigation system estimated north velocity [m/s] (type:float)
+        nas_ve                    : Navigation system estimated east velocity [m/s] (type:float)
+        nas_vd                    : Navigation system estimated down velocity [m/s] (type:float)
+        nas_qx                    : Navigation system estimated attitude (qx) [deg] (type:float)
+        nas_qy                    : Navigation system estimated attitude (qy) [deg] (type:float)
+        nas_qz                    : Navigation system estimated attitude (qz) [deg] (type:float)
+        nas_qw                    : Navigation system estimated attitude (qw) [deg] (type:float)
+        nas_bias_x                : Navigation system gyroscope bias on x axis (type:float)
+        nas_bias_y                : Navigation system gyroscope bias on y axis (type:float)
+        nas_bias_z                : Navigation system gyroscope bias on z axis (type:float)
+        wes_n                     : Wind estimated north velocity [m/s] (type:float)
+        wes_e                     : Wind estimated east velocity [m/s] (type:float)
+        pin_nosecone              : Nosecone pin status (1 = connected, 0 = disconnected) (type:uint8_t)
+        battery_voltage           : Battery voltage [V] (type:float)
+        cam_battery_voltage        : Camera battery voltage [V] (type:float)
+        current_consumption        : Battery current [A] (type:float)
+        cutter_presence           : Cutter presence status (1 = present, 0 = missing) (type:uint8_t)
+        temperature               : Temperature [degC] (type:float)
+        logger_error              : Logger error (0 = no error) (type:int8_t)
+
+        """
+        self.send(self.payload_flight_tm_encode(timestamp, fmm_state, nas_state, wes_state, pressure_digi, pressure_static, airspeed_pitot, altitude_agl, acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z, mag_x, mag_y, mag_z, gps_fix, gps_lat, gps_lon, gps_alt, left_servo_angle, right_servo_angle, nas_n, nas_e, nas_d, nas_vn, nas_ve, nas_vd, nas_qx, nas_qy, nas_qz, nas_qw, nas_bias_x, nas_bias_y, nas_bias_z, wes_n, wes_e, pin_nosecone, battery_voltage, cam_battery_voltage, current_consumption, cutter_presence, temperature, logger_error), force_mavlink1=force_mavlink1)
+
+    def rocket_stats_tm_encode(self, liftoff_ts: int, liftoff_max_acc_ts: int, liftoff_max_acc: float, dpl_ts: int, dpl_max_acc: float, max_z_speed_ts: int, max_z_speed: float, max_airspeed_pitot: float, max_speed_altitude: float, apogee_ts: int, apogee_lat: float, apogee_lon: float, apogee_alt: float, min_pressure: float, ada_min_pressure: float, dpl_vane_max_pressure: float, cpu_load: float, free_heap: int) -> MAVLink_rocket_stats_tm_message:
+        """
+        Low Rate Telemetry
 
-        def servo_tm_encode(self, servo_id, servo_position):
-                '''
-                
+        liftoff_ts                : System clock at liftoff [us] (type:uint64_t)
+        liftoff_max_acc_ts        : System clock at the maximum liftoff acceleration [us] (type:uint64_t)
+        liftoff_max_acc           : Maximum liftoff acceleration [m/s2] (type:float)
+        dpl_ts                    : System clock at drouge deployment [us] (type:uint64_t)
+        dpl_max_acc               : Max acceleration during drouge deployment [m/s2] (type:float)
+        max_z_speed_ts            : System clock at ADA max vertical speed [us] (type:uint64_t)
+        max_z_speed               : Max measured vertical speed - ADA [m/s] (type:float)
+        max_airspeed_pitot        : Max speed read by the pitot tube [m/s] (type:float)
+        max_speed_altitude        : Altitude at max speed [m] (type:float)
+        apogee_ts                 : System clock at apogee [us] (type:uint64_t)
+        apogee_lat                : Apogee latitude [deg] (type:float)
+        apogee_lon                : Apogee longitude [deg] (type:float)
+        apogee_alt                : Apogee altitude [m] (type:float)
+        min_pressure              : Apogee pressure - Digital barometer [Pa] (type:float)
+        ada_min_pressure          : Apogee pressure - ADA filtered [Pa] (type:float)
+        dpl_vane_max_pressure        : Max pressure in the deployment bay during drogue deployment [Pa] (type:float)
+        cpu_load                  : CPU load in percentage (type:float)
+        free_heap                 : Amount of available heap in memory (type:uint32_t)
+
+        """
+        return MAVLink_rocket_stats_tm_message(liftoff_ts, liftoff_max_acc_ts, liftoff_max_acc, dpl_ts, dpl_max_acc, max_z_speed_ts, max_z_speed, max_airspeed_pitot, max_speed_altitude, apogee_ts, apogee_lat, apogee_lon, apogee_alt, min_pressure, ada_min_pressure, dpl_vane_max_pressure, cpu_load, free_heap)
+
+    def rocket_stats_tm_send(self, liftoff_ts: int, liftoff_max_acc_ts: int, liftoff_max_acc: float, dpl_ts: int, dpl_max_acc: float, max_z_speed_ts: int, max_z_speed: float, max_airspeed_pitot: float, max_speed_altitude: float, apogee_ts: int, apogee_lat: float, apogee_lon: float, apogee_alt: float, min_pressure: float, ada_min_pressure: float, dpl_vane_max_pressure: float, cpu_load: float, free_heap: int, force_mavlink1: bool = False) -> None:
+        """
+        Low Rate Telemetry
 
-                servo_id                  : A member of the ServosList enum (type:uint8_t)
-                servo_position            : Position of the servo [0-1] (type:float)
+        liftoff_ts                : System clock at liftoff [us] (type:uint64_t)
+        liftoff_max_acc_ts        : System clock at the maximum liftoff acceleration [us] (type:uint64_t)
+        liftoff_max_acc           : Maximum liftoff acceleration [m/s2] (type:float)
+        dpl_ts                    : System clock at drouge deployment [us] (type:uint64_t)
+        dpl_max_acc               : Max acceleration during drouge deployment [m/s2] (type:float)
+        max_z_speed_ts            : System clock at ADA max vertical speed [us] (type:uint64_t)
+        max_z_speed               : Max measured vertical speed - ADA [m/s] (type:float)
+        max_airspeed_pitot        : Max speed read by the pitot tube [m/s] (type:float)
+        max_speed_altitude        : Altitude at max speed [m] (type:float)
+        apogee_ts                 : System clock at apogee [us] (type:uint64_t)
+        apogee_lat                : Apogee latitude [deg] (type:float)
+        apogee_lon                : Apogee longitude [deg] (type:float)
+        apogee_alt                : Apogee altitude [m] (type:float)
+        min_pressure              : Apogee pressure - Digital barometer [Pa] (type:float)
+        ada_min_pressure          : Apogee pressure - ADA filtered [Pa] (type:float)
+        dpl_vane_max_pressure        : Max pressure in the deployment bay during drogue deployment [Pa] (type:float)
+        cpu_load                  : CPU load in percentage (type:float)
+        free_heap                 : Amount of available heap in memory (type:uint32_t)
+
+        """
+        self.send(self.rocket_stats_tm_encode(liftoff_ts, liftoff_max_acc_ts, liftoff_max_acc, dpl_ts, dpl_max_acc, max_z_speed_ts, max_z_speed, max_airspeed_pitot, max_speed_altitude, apogee_ts, apogee_lat, apogee_lon, apogee_alt, min_pressure, ada_min_pressure, dpl_vane_max_pressure, cpu_load, free_heap), force_mavlink1=force_mavlink1)
+
+    def payload_stats_tm_encode(self, liftoff_max_acc_ts: int, liftoff_max_acc: float, dpl_ts: int, dpl_max_acc: float, max_z_speed_ts: int, max_z_speed: float, max_airspeed_pitot: float, max_speed_altitude: float, apogee_ts: int, apogee_lat: float, apogee_lon: float, apogee_alt: float, min_pressure: float, cpu_load: float, free_heap: int) -> MAVLink_payload_stats_tm_message:
+        """
+        Low Rate Telemetry
 
-                '''
-                return MAVLink_servo_tm_message(servo_id, servo_position)
+        liftoff_max_acc_ts        : System clock at the maximum liftoff acceleration [us] (type:uint64_t)
+        liftoff_max_acc           : Maximum liftoff acceleration [m/s2] (type:float)
+        dpl_ts                    : System clock at drouge deployment [us] (type:uint64_t)
+        dpl_max_acc               : Max acceleration during drouge deployment [m/s2] (type:float)
+        max_z_speed_ts            : System clock at max vertical speed [us] (type:uint64_t)
+        max_z_speed               : Max measured vertical speed [m/s] (type:float)
+        max_airspeed_pitot        : Max speed read by the pitot tube [m/s] (type:float)
+        max_speed_altitude        : Altitude at max speed [m] (type:float)
+        apogee_ts                 : System clock at apogee [us] (type:uint64_t)
+        apogee_lat                : Apogee latitude [deg] (type:float)
+        apogee_lon                : Apogee longitude [deg] (type:float)
+        apogee_alt                : Apogee altitude [m] (type:float)
+        min_pressure              : Apogee pressure - Digital barometer [Pa] (type:float)
+        cpu_load                  : CPU load in percentage (type:float)
+        free_heap                 : Amount of available heap in memory (type:uint32_t)
+
+        """
+        return MAVLink_payload_stats_tm_message(liftoff_max_acc_ts, liftoff_max_acc, dpl_ts, dpl_max_acc, max_z_speed_ts, max_z_speed, max_airspeed_pitot, max_speed_altitude, apogee_ts, apogee_lat, apogee_lon, apogee_alt, min_pressure, cpu_load, free_heap)
+
+    def payload_stats_tm_send(self, liftoff_max_acc_ts: int, liftoff_max_acc: float, dpl_ts: int, dpl_max_acc: float, max_z_speed_ts: int, max_z_speed: float, max_airspeed_pitot: float, max_speed_altitude: float, apogee_ts: int, apogee_lat: float, apogee_lon: float, apogee_alt: float, min_pressure: float, cpu_load: float, free_heap: int, force_mavlink1: bool = False) -> None:
+        """
+        Low Rate Telemetry
 
-        def servo_tm_send(self, servo_id, servo_position, force_mavlink1=False):
-                '''
-                
-
-                servo_id                  : A member of the ServosList enum (type:uint8_t)
-                servo_position            : Position of the servo [0-1] (type:float)
+        liftoff_max_acc_ts        : System clock at the maximum liftoff acceleration [us] (type:uint64_t)
+        liftoff_max_acc           : Maximum liftoff acceleration [m/s2] (type:float)
+        dpl_ts                    : System clock at drouge deployment [us] (type:uint64_t)
+        dpl_max_acc               : Max acceleration during drouge deployment [m/s2] (type:float)
+        max_z_speed_ts            : System clock at max vertical speed [us] (type:uint64_t)
+        max_z_speed               : Max measured vertical speed [m/s] (type:float)
+        max_airspeed_pitot        : Max speed read by the pitot tube [m/s] (type:float)
+        max_speed_altitude        : Altitude at max speed [m] (type:float)
+        apogee_ts                 : System clock at apogee [us] (type:uint64_t)
+        apogee_lat                : Apogee latitude [deg] (type:float)
+        apogee_lon                : Apogee longitude [deg] (type:float)
+        apogee_alt                : Apogee altitude [m] (type:float)
+        min_pressure              : Apogee pressure - Digital barometer [Pa] (type:float)
+        cpu_load                  : CPU load in percentage (type:float)
+        free_heap                 : Amount of available heap in memory (type:uint32_t)
+
+        """
+        self.send(self.payload_stats_tm_encode(liftoff_max_acc_ts, liftoff_max_acc, dpl_ts, dpl_max_acc, max_z_speed_ts, max_z_speed, max_airspeed_pitot, max_speed_altitude, apogee_ts, apogee_lat, apogee_lon, apogee_alt, min_pressure, cpu_load, free_heap), force_mavlink1=force_mavlink1)
+
+    def gse_tm_encode(self, timestamp: int, loadcell_rocket: float, loadcell_vessel: float, filling_pressure: float, vessel_pressure: float, arming_state: int, filling_valve_state: int, venting_valve_state: int, release_valve_state: int, main_valve_state: int, nitrogen_valve_state: int, gmm_state: int, tars_state: int, battery_voltage: float, current_consumption: float, main_board_status: int, payload_board_status: int, motor_board_status: int) -> MAVLink_gse_tm_message:
+        """
+        Ground Segment Equipment telemetry
 
-                '''
-                return self.send(self.servo_tm_encode(servo_id, servo_position), force_mavlink1=force_mavlink1)
+        timestamp                 : Timestamp in microseconds [us] (type:uint64_t)
+        loadcell_rocket           : Rocket weight [kg] (type:float)
+        loadcell_vessel           : External tank weight [kg] (type:float)
+        filling_pressure          : Refueling line pressure [Bar] (type:float)
+        vessel_pressure           : Vessel tank pressure [Bar] (type:float)
+        arming_state              : 1 If the rocket is armed (type:uint8_t)
+        filling_valve_state        : 1 If the filling valve is open (type:uint8_t)
+        venting_valve_state        : 1 If the venting valve is open (type:uint8_t)
+        release_valve_state        : 1 If the release valve is open (type:uint8_t)
+        main_valve_state          : 1 If the main valve is open (type:uint8_t)
+        nitrogen_valve_state        : 1 If the nitrogen valve is open (type:uint8_t)
+        gmm_state                 : State of the GroundModeManager (type:uint8_t)
+        tars_state                : 1 If the TARS algorithm is running (type:uint8_t)
+        battery_voltage           : Battery voltage (type:float)
+        current_consumption        : RIG current (type:float)
+        main_board_status         : MAIN board status [0: not present, 1: online, 2: armed] (type:uint8_t)
+        payload_board_status        : PAYLOAD board status [0: not present, 1: online, 2: armed] (type:uint8_t)
+        motor_board_status        : MOTOR board status [0: not present, 1: online, 2: armed] (type:uint8_t)
+
+        """
+        return MAVLink_gse_tm_message(timestamp, loadcell_rocket, loadcell_vessel, filling_pressure, vessel_pressure, arming_state, filling_valve_state, venting_valve_state, release_valve_state, main_valve_state, nitrogen_valve_state, gmm_state, tars_state, battery_voltage, current_consumption, main_board_status, payload_board_status, motor_board_status)
+
+    def gse_tm_send(self, timestamp: int, loadcell_rocket: float, loadcell_vessel: float, filling_pressure: float, vessel_pressure: float, arming_state: int, filling_valve_state: int, venting_valve_state: int, release_valve_state: int, main_valve_state: int, nitrogen_valve_state: int, gmm_state: int, tars_state: int, battery_voltage: float, current_consumption: float, main_board_status: int, payload_board_status: int, motor_board_status: int, force_mavlink1: bool = False) -> None:
+        """
+        Ground Segment Equipment telemetry
 
-        def pin_tm_encode(self, timestamp, pin_id, last_change_timestamp, changes_counter, current_state):
-                '''
-                
+        timestamp                 : Timestamp in microseconds [us] (type:uint64_t)
+        loadcell_rocket           : Rocket weight [kg] (type:float)
+        loadcell_vessel           : External tank weight [kg] (type:float)
+        filling_pressure          : Refueling line pressure [Bar] (type:float)
+        vessel_pressure           : Vessel tank pressure [Bar] (type:float)
+        arming_state              : 1 If the rocket is armed (type:uint8_t)
+        filling_valve_state        : 1 If the filling valve is open (type:uint8_t)
+        venting_valve_state        : 1 If the venting valve is open (type:uint8_t)
+        release_valve_state        : 1 If the release valve is open (type:uint8_t)
+        main_valve_state          : 1 If the main valve is open (type:uint8_t)
+        nitrogen_valve_state        : 1 If the nitrogen valve is open (type:uint8_t)
+        gmm_state                 : State of the GroundModeManager (type:uint8_t)
+        tars_state                : 1 If the TARS algorithm is running (type:uint8_t)
+        battery_voltage           : Battery voltage (type:float)
+        current_consumption        : RIG current (type:float)
+        main_board_status         : MAIN board status [0: not present, 1: online, 2: armed] (type:uint8_t)
+        payload_board_status        : PAYLOAD board status [0: not present, 1: online, 2: armed] (type:uint8_t)
+        motor_board_status        : MOTOR board status [0: not present, 1: online, 2: armed] (type:uint8_t)
+
+        """
+        self.send(self.gse_tm_encode(timestamp, loadcell_rocket, loadcell_vessel, filling_pressure, vessel_pressure, arming_state, filling_valve_state, venting_valve_state, release_valve_state, main_valve_state, nitrogen_valve_state, gmm_state, tars_state, battery_voltage, current_consumption, main_board_status, payload_board_status, motor_board_status), force_mavlink1=force_mavlink1)
+
+    def motor_tm_encode(self, timestamp: int, top_tank_pressure: float, bottom_tank_pressure: float, combustion_chamber_pressure: float, floating_level: int, tank_temperature: float, main_valve_state: int, venting_valve_state: int, battery_voltage: float, current_consumption: float) -> MAVLink_motor_tm_message:
+        """
+        Motor rocket telemetry
 
-                timestamp                 : Timestamp [us] (type:uint64_t)
-                pin_id                    : A member of the PinsList enum (type:uint8_t)
-                last_change_timestamp        : Last change timestamp of pin (type:uint64_t)
-                changes_counter           : Number of changes of pin (type:uint8_t)
-                current_state             : Current state of pin (type:uint8_t)
-
-                '''
-                return MAVLink_pin_tm_message(timestamp, pin_id, last_change_timestamp, changes_counter, current_state)
-
-        def pin_tm_send(self, timestamp, pin_id, last_change_timestamp, changes_counter, current_state, force_mavlink1=False):
-                '''
-                
-
-                timestamp                 : Timestamp [us] (type:uint64_t)
-                pin_id                    : A member of the PinsList enum (type:uint8_t)
-                last_change_timestamp        : Last change timestamp of pin (type:uint64_t)
-                changes_counter           : Number of changes of pin (type:uint8_t)
-                current_state             : Current state of pin (type:uint8_t)
-
-                '''
-                return self.send(self.pin_tm_encode(timestamp, pin_id, last_change_timestamp, changes_counter, current_state), force_mavlink1=force_mavlink1)
-
-        def registry_float_tm_encode(self, timestamp, key_id, key_name, value):
-                '''
-                
-
-                timestamp                 : Timestamp [us] (type:uint64_t)
-                key_id                    : Id of this configuration entry (type:uint32_t)
-                key_name                  : Name of this configuration entry (type:char)
-                value                     : Value of this configuration (type:float)
-
-                '''
-                return MAVLink_registry_float_tm_message(timestamp, key_id, key_name, value)
-
-        def registry_float_tm_send(self, timestamp, key_id, key_name, value, force_mavlink1=False):
-                '''
-                
-
-                timestamp                 : Timestamp [us] (type:uint64_t)
-                key_id                    : Id of this configuration entry (type:uint32_t)
-                key_name                  : Name of this configuration entry (type:char)
-                value                     : Value of this configuration (type:float)
-
-                '''
-                return self.send(self.registry_float_tm_encode(timestamp, key_id, key_name, value), force_mavlink1=force_mavlink1)
-
-        def registry_int_tm_encode(self, timestamp, key_id, key_name, value):
-                '''
-                
-
-                timestamp                 : Timestamp [us] (type:uint64_t)
-                key_id                    : Id of this configuration entry (type:uint32_t)
-                key_name                  : Name of this configuration entry (type:char)
-                value                     : Value of this configuration (type:uint32_t)
-
-                '''
-                return MAVLink_registry_int_tm_message(timestamp, key_id, key_name, value)
-
-        def registry_int_tm_send(self, timestamp, key_id, key_name, value, force_mavlink1=False):
-                '''
-                
-
-                timestamp                 : Timestamp [us] (type:uint64_t)
-                key_id                    : Id of this configuration entry (type:uint32_t)
-                key_name                  : Name of this configuration entry (type:char)
-                value                     : Value of this configuration (type:uint32_t)
-
-                '''
-                return self.send(self.registry_int_tm_encode(timestamp, key_id, key_name, value), force_mavlink1=force_mavlink1)
-
-        def registry_coord_tm_encode(self, timestamp, key_id, key_name, latitude, longitude):
-                '''
-                
-
-                timestamp                 : Timestamp [us] (type:uint64_t)
-                key_id                    : Id of this configuration entry (type:uint32_t)
-                key_name                  : Name of this configuration entry (type:char)
-                latitude                  : Latitude in this configuration [deg] (type:float)
-                longitude                 : Latitude in this configuration [deg] (type:float)
-
-                '''
-                return MAVLink_registry_coord_tm_message(timestamp, key_id, key_name, latitude, longitude)
-
-        def registry_coord_tm_send(self, timestamp, key_id, key_name, latitude, longitude, force_mavlink1=False):
-                '''
-                
-
-                timestamp                 : Timestamp [us] (type:uint64_t)
-                key_id                    : Id of this configuration entry (type:uint32_t)
-                key_name                  : Name of this configuration entry (type:char)
-                latitude                  : Latitude in this configuration [deg] (type:float)
-                longitude                 : Latitude in this configuration [deg] (type:float)
-
-                '''
-                return self.send(self.registry_coord_tm_encode(timestamp, key_id, key_name, latitude, longitude), force_mavlink1=force_mavlink1)
-
-        def receiver_tm_encode(self, timestamp, main_radio_present, main_packet_tx_error_count, main_tx_bitrate, main_packet_rx_success_count, main_packet_rx_drop_count, main_rx_bitrate, main_rx_rssi, main_rx_fei, payload_radio_present, payload_packet_tx_error_count, payload_tx_bitrate, payload_packet_rx_success_count, payload_packet_rx_drop_count, payload_rx_bitrate, payload_rx_rssi, payload_rx_fei, ethernet_present, ethernet_status, battery_voltage):
-                '''
-                
-
-                timestamp                 : Timestamp [us] (type:uint64_t)
-                main_radio_present        : Boolean indicating the presence of the main radio (type:uint8_t)
-                main_packet_tx_error_count        : Number of errors during send (type:uint16_t)
-                main_tx_bitrate           : Send bitrate [b/s] (type:uint16_t)
-                main_packet_rx_success_count        : Number of succesfull received mavlink packets (type:uint16_t)
-                main_packet_rx_drop_count        : Number of dropped mavlink packets (type:uint16_t)
-                main_rx_bitrate           : Receive bitrate [b/s] (type:uint16_t)
-                main_rx_rssi              : Receive RSSI [dBm] (type:float)
-                main_rx_fei               : Receive frequency error index [Hz] (type:float)
-                payload_radio_present        : Boolean indicating the presence of the payload radio (type:uint8_t)
-                payload_packet_tx_error_count        : Number of errors during send (type:uint16_t)
-                payload_tx_bitrate        : Send bitrate [b/s] (type:uint16_t)
-                payload_packet_rx_success_count        : Number of succesfull received mavlink packets (type:uint16_t)
-                payload_packet_rx_drop_count        : Number of dropped mavlink packets (type:uint16_t)
-                payload_rx_bitrate        : Receive bitrate [b/s] (type:uint16_t)
-                payload_rx_rssi           : Receive RSSI [dBm] (type:float)
-                payload_rx_fei            : Receive frequency error index [Hz] (type:float)
-                ethernet_present          : Boolean indicating the presence of the ethernet module (type:uint8_t)
-                ethernet_status           : Status flag indicating the status of the ethernet PHY (type:uint8_t)
-                battery_voltage           : Battery voltage [V] (type:float)
-
-                '''
-                return MAVLink_receiver_tm_message(timestamp, main_radio_present, main_packet_tx_error_count, main_tx_bitrate, main_packet_rx_success_count, main_packet_rx_drop_count, main_rx_bitrate, main_rx_rssi, main_rx_fei, payload_radio_present, payload_packet_tx_error_count, payload_tx_bitrate, payload_packet_rx_success_count, payload_packet_rx_drop_count, payload_rx_bitrate, payload_rx_rssi, payload_rx_fei, ethernet_present, ethernet_status, battery_voltage)
-
-        def receiver_tm_send(self, timestamp, main_radio_present, main_packet_tx_error_count, main_tx_bitrate, main_packet_rx_success_count, main_packet_rx_drop_count, main_rx_bitrate, main_rx_rssi, main_rx_fei, payload_radio_present, payload_packet_tx_error_count, payload_tx_bitrate, payload_packet_rx_success_count, payload_packet_rx_drop_count, payload_rx_bitrate, payload_rx_rssi, payload_rx_fei, ethernet_present, ethernet_status, battery_voltage, force_mavlink1=False):
-                '''
-                
-
-                timestamp                 : Timestamp [us] (type:uint64_t)
-                main_radio_present        : Boolean indicating the presence of the main radio (type:uint8_t)
-                main_packet_tx_error_count        : Number of errors during send (type:uint16_t)
-                main_tx_bitrate           : Send bitrate [b/s] (type:uint16_t)
-                main_packet_rx_success_count        : Number of succesfull received mavlink packets (type:uint16_t)
-                main_packet_rx_drop_count        : Number of dropped mavlink packets (type:uint16_t)
-                main_rx_bitrate           : Receive bitrate [b/s] (type:uint16_t)
-                main_rx_rssi              : Receive RSSI [dBm] (type:float)
-                main_rx_fei               : Receive frequency error index [Hz] (type:float)
-                payload_radio_present        : Boolean indicating the presence of the payload radio (type:uint8_t)
-                payload_packet_tx_error_count        : Number of errors during send (type:uint16_t)
-                payload_tx_bitrate        : Send bitrate [b/s] (type:uint16_t)
-                payload_packet_rx_success_count        : Number of succesfull received mavlink packets (type:uint16_t)
-                payload_packet_rx_drop_count        : Number of dropped mavlink packets (type:uint16_t)
-                payload_rx_bitrate        : Receive bitrate [b/s] (type:uint16_t)
-                payload_rx_rssi           : Receive RSSI [dBm] (type:float)
-                payload_rx_fei            : Receive frequency error index [Hz] (type:float)
-                ethernet_present          : Boolean indicating the presence of the ethernet module (type:uint8_t)
-                ethernet_status           : Status flag indicating the status of the ethernet PHY (type:uint8_t)
-                battery_voltage           : Battery voltage [V] (type:float)
-
-                '''
-                return self.send(self.receiver_tm_encode(timestamp, main_radio_present, main_packet_tx_error_count, main_tx_bitrate, main_packet_rx_success_count, main_packet_rx_drop_count, main_rx_bitrate, main_rx_rssi, main_rx_fei, payload_radio_present, payload_packet_tx_error_count, payload_tx_bitrate, payload_packet_rx_success_count, payload_packet_rx_drop_count, payload_rx_bitrate, payload_rx_rssi, payload_rx_fei, ethernet_present, ethernet_status, battery_voltage), force_mavlink1=force_mavlink1)
-
-        def arp_tm_encode(self, timestamp, yaw, pitch, roll, target_yaw, target_pitch, stepperX_pos, stepperX_delta, stepperX_speed, stepperY_pos, stepperY_delta, stepperY_speed, gps_latitude, gps_longitude, gps_height, gps_fix, main_radio_present, main_packet_tx_error_count, main_tx_bitrate, main_packet_rx_success_count, main_packet_rx_drop_count, main_rx_bitrate, main_rx_rssi, ethernet_present, ethernet_status, battery_voltage):
-                '''
-                
-
-                timestamp                 : Timestamp [us] (type:uint64_t)
-                yaw                       : Current Yaw [deg] (type:float)
-                pitch                     : Current Pitch [deg] (type:float)
-                roll                      : Current Roll [deg] (type:float)
-                target_yaw                : Target Yaw [deg] (type:float)
-                target_pitch              : Target Pitch [deg] (type:float)
-                stepperX_pos              : StepperX current position wrt the boot position [deg] (type:float)
-                stepperX_delta            : StepperX last actuated delta angle [deg] (type:float)
-                stepperX_speed            : StepperX current speed [rps] (type:float)
-                stepperY_pos              : StepperY current position wrt the boot position [deg] (type:float)
-                stepperY_delta            : StepperY last actuated delta angle [deg] (type:float)
-                stepperY_speed            : StepperY current Speed [rps] (type:float)
-                gps_latitude              : Latitude [deg] (type:float)
-                gps_longitude             : Longitude [deg] (type:float)
-                gps_height                : Altitude [m] (type:float)
-                gps_fix                   : Wether the GPS has a FIX (type:uint8_t)
-                main_radio_present        : Boolean indicating the presence of the main radio (type:uint8_t)
-                main_packet_tx_error_count        : Number of errors during send (type:uint16_t)
-                main_tx_bitrate           : Send bitrate [b/s] (type:uint16_t)
-                main_packet_rx_success_count        : Number of succesfull received mavlink packets (type:uint16_t)
-                main_packet_rx_drop_count        : Number of dropped mavlink packets (type:uint16_t)
-                main_rx_bitrate           : Receive bitrate [b/s] (type:uint16_t)
-                main_rx_rssi              : Receive RSSI [dBm] (type:float)
-                ethernet_present          : Boolean indicating the presence of the ethernet module (type:uint8_t)
-                ethernet_status           : Status flag indicating the status of the ethernet PHY (type:uint8_t)
-                battery_voltage           : Battery voltage [V] (type:float)
-
-                '''
-                return MAVLink_arp_tm_message(timestamp, yaw, pitch, roll, target_yaw, target_pitch, stepperX_pos, stepperX_delta, stepperX_speed, stepperY_pos, stepperY_delta, stepperY_speed, gps_latitude, gps_longitude, gps_height, gps_fix, main_radio_present, main_packet_tx_error_count, main_tx_bitrate, main_packet_rx_success_count, main_packet_rx_drop_count, main_rx_bitrate, main_rx_rssi, ethernet_present, ethernet_status, battery_voltage)
-
-        def arp_tm_send(self, timestamp, yaw, pitch, roll, target_yaw, target_pitch, stepperX_pos, stepperX_delta, stepperX_speed, stepperY_pos, stepperY_delta, stepperY_speed, gps_latitude, gps_longitude, gps_height, gps_fix, main_radio_present, main_packet_tx_error_count, main_tx_bitrate, main_packet_rx_success_count, main_packet_rx_drop_count, main_rx_bitrate, main_rx_rssi, ethernet_present, ethernet_status, battery_voltage, force_mavlink1=False):
-                '''
-                
-
-                timestamp                 : Timestamp [us] (type:uint64_t)
-                yaw                       : Current Yaw [deg] (type:float)
-                pitch                     : Current Pitch [deg] (type:float)
-                roll                      : Current Roll [deg] (type:float)
-                target_yaw                : Target Yaw [deg] (type:float)
-                target_pitch              : Target Pitch [deg] (type:float)
-                stepperX_pos              : StepperX current position wrt the boot position [deg] (type:float)
-                stepperX_delta            : StepperX last actuated delta angle [deg] (type:float)
-                stepperX_speed            : StepperX current speed [rps] (type:float)
-                stepperY_pos              : StepperY current position wrt the boot position [deg] (type:float)
-                stepperY_delta            : StepperY last actuated delta angle [deg] (type:float)
-                stepperY_speed            : StepperY current Speed [rps] (type:float)
-                gps_latitude              : Latitude [deg] (type:float)
-                gps_longitude             : Longitude [deg] (type:float)
-                gps_height                : Altitude [m] (type:float)
-                gps_fix                   : Wether the GPS has a FIX (type:uint8_t)
-                main_radio_present        : Boolean indicating the presence of the main radio (type:uint8_t)
-                main_packet_tx_error_count        : Number of errors during send (type:uint16_t)
-                main_tx_bitrate           : Send bitrate [b/s] (type:uint16_t)
-                main_packet_rx_success_count        : Number of succesfull received mavlink packets (type:uint16_t)
-                main_packet_rx_drop_count        : Number of dropped mavlink packets (type:uint16_t)
-                main_rx_bitrate           : Receive bitrate [b/s] (type:uint16_t)
-                main_rx_rssi              : Receive RSSI [dBm] (type:float)
-                ethernet_present          : Boolean indicating the presence of the ethernet module (type:uint8_t)
-                ethernet_status           : Status flag indicating the status of the ethernet PHY (type:uint8_t)
-                battery_voltage           : Battery voltage [V] (type:float)
-
-                '''
-                return self.send(self.arp_tm_encode(timestamp, yaw, pitch, roll, target_yaw, target_pitch, stepperX_pos, stepperX_delta, stepperX_speed, stepperY_pos, stepperY_delta, stepperY_speed, gps_latitude, gps_longitude, gps_height, gps_fix, main_radio_present, main_packet_tx_error_count, main_tx_bitrate, main_packet_rx_success_count, main_packet_rx_drop_count, main_rx_bitrate, main_rx_rssi, ethernet_present, ethernet_status, battery_voltage), force_mavlink1=force_mavlink1)
-
-        def set_antenna_coordinates_arp_tc_encode(self, latitude, longitude):
-                '''
-                Sets current antennas coordinates
-
-                latitude                  : Latitude [deg] (type:float)
-                longitude                 : Longitude [deg] (type:float)
-
-                '''
-                return MAVLink_set_antenna_coordinates_arp_tc_message(latitude, longitude)
-
-        def set_antenna_coordinates_arp_tc_send(self, latitude, longitude, force_mavlink1=False):
-                '''
-                Sets current antennas coordinates
-
-                latitude                  : Latitude [deg] (type:float)
-                longitude                 : Longitude [deg] (type:float)
-
-                '''
-                return self.send(self.set_antenna_coordinates_arp_tc_encode(latitude, longitude), force_mavlink1=force_mavlink1)
-
-        def set_rocket_coordinates_arp_tc_encode(self, latitude, longitude):
-                '''
-                Sets current rocket coordinates
-
-                latitude                  : Latitude [deg] (type:float)
-                longitude                 : Longitude [deg] (type:float)
-
-                '''
-                return MAVLink_set_rocket_coordinates_arp_tc_message(latitude, longitude)
-
-        def set_rocket_coordinates_arp_tc_send(self, latitude, longitude, force_mavlink1=False):
-                '''
-                Sets current rocket coordinates
-
-                latitude                  : Latitude [deg] (type:float)
-                longitude                 : Longitude [deg] (type:float)
-
-                '''
-                return self.send(self.set_rocket_coordinates_arp_tc_encode(latitude, longitude), force_mavlink1=force_mavlink1)
-
-        def sys_tm_encode(self, timestamp, logger, event_broker, radio, pin_observer, sensors, board_scheduler):
-                '''
-                System status telemetry
-
-                timestamp                 : Timestamp [us] (type:uint64_t)
-                logger                    : True if the logger started correctly (type:uint8_t)
-                event_broker              : True if the event broker started correctly (type:uint8_t)
-                radio                     : True if the radio started correctly (type:uint8_t)
-                pin_observer              : True if the pin observer started correctly (type:uint8_t)
-                sensors                   : True if the sensors started correctly (type:uint8_t)
-                board_scheduler           : True if the board scheduler is running (type:uint8_t)
-
-                '''
-                return MAVLink_sys_tm_message(timestamp, logger, event_broker, radio, pin_observer, sensors, board_scheduler)
-
-        def sys_tm_send(self, timestamp, logger, event_broker, radio, pin_observer, sensors, board_scheduler, force_mavlink1=False):
-                '''
-                System status telemetry
-
-                timestamp                 : Timestamp [us] (type:uint64_t)
-                logger                    : True if the logger started correctly (type:uint8_t)
-                event_broker              : True if the event broker started correctly (type:uint8_t)
-                radio                     : True if the radio started correctly (type:uint8_t)
-                pin_observer              : True if the pin observer started correctly (type:uint8_t)
-                sensors                   : True if the sensors started correctly (type:uint8_t)
-                board_scheduler           : True if the board scheduler is running (type:uint8_t)
-
-                '''
-                return self.send(self.sys_tm_encode(timestamp, logger, event_broker, radio, pin_observer, sensors, board_scheduler), force_mavlink1=force_mavlink1)
-
-        def fsm_tm_encode(self, timestamp, ada_state, abk_state, dpl_state, fmm_state, nas_state, wes_state):
-                '''
-                Flight State Machine status telemetry
-
-                timestamp                 : Timestamp [us] (type:uint64_t)
-                ada_state                 : Apogee Detection Algorithm state (type:uint8_t)
-                abk_state                 : Air Brakes state (type:uint8_t)
-                dpl_state                 : Deployment state (type:uint8_t)
-                fmm_state                 : Flight Mode Manager state (type:uint8_t)
-                nas_state                 : Navigation and Attitude System state (type:uint8_t)
-                wes_state                 : Wind Estimation System state (type:uint8_t)
-
-                '''
-                return MAVLink_fsm_tm_message(timestamp, ada_state, abk_state, dpl_state, fmm_state, nas_state, wes_state)
-
-        def fsm_tm_send(self, timestamp, ada_state, abk_state, dpl_state, fmm_state, nas_state, wes_state, force_mavlink1=False):
-                '''
-                Flight State Machine status telemetry
-
-                timestamp                 : Timestamp [us] (type:uint64_t)
-                ada_state                 : Apogee Detection Algorithm state (type:uint8_t)
-                abk_state                 : Air Brakes state (type:uint8_t)
-                dpl_state                 : Deployment state (type:uint8_t)
-                fmm_state                 : Flight Mode Manager state (type:uint8_t)
-                nas_state                 : Navigation and Attitude System state (type:uint8_t)
-                wes_state                 : Wind Estimation System state (type:uint8_t)
-
-                '''
-                return self.send(self.fsm_tm_encode(timestamp, ada_state, abk_state, dpl_state, fmm_state, nas_state, wes_state), force_mavlink1=force_mavlink1)
-
-        def logger_tm_encode(self, timestamp, log_number, too_large_samples, dropped_samples, queued_samples, buffers_filled, buffers_written, writes_failed, last_write_error, average_write_time, max_write_time):
-                '''
-                Logger status telemetry
-
-                timestamp                 : Timestamp [us] (type:uint64_t)
-                log_number                : Currently active log file, -1 if the logger is inactive (type:int16_t)
-                too_large_samples         : Number of dropped samples because too large (type:int32_t)
-                dropped_samples           : Number of dropped samples due to fifo full (type:int32_t)
-                queued_samples            : Number of samples written to buffer (type:int32_t)
-                buffers_filled            : Number of buffers filled (type:int32_t)
-                buffers_written           : Number of buffers written to disk (type:int32_t)
-                writes_failed             : Number of fwrite() that failed (type:int32_t)
-                last_write_error          : Error of the last fwrite() that failed (type:int32_t)
-                average_write_time        : Average time to perform an fwrite() of a buffer (type:int32_t)
-                max_write_time            : Max time to perform an fwrite() of a buffer (type:int32_t)
-
-                '''
-                return MAVLink_logger_tm_message(timestamp, log_number, too_large_samples, dropped_samples, queued_samples, buffers_filled, buffers_written, writes_failed, last_write_error, average_write_time, max_write_time)
-
-        def logger_tm_send(self, timestamp, log_number, too_large_samples, dropped_samples, queued_samples, buffers_filled, buffers_written, writes_failed, last_write_error, average_write_time, max_write_time, force_mavlink1=False):
-                '''
-                Logger status telemetry
-
-                timestamp                 : Timestamp [us] (type:uint64_t)
-                log_number                : Currently active log file, -1 if the logger is inactive (type:int16_t)
-                too_large_samples         : Number of dropped samples because too large (type:int32_t)
-                dropped_samples           : Number of dropped samples due to fifo full (type:int32_t)
-                queued_samples            : Number of samples written to buffer (type:int32_t)
-                buffers_filled            : Number of buffers filled (type:int32_t)
-                buffers_written           : Number of buffers written to disk (type:int32_t)
-                writes_failed             : Number of fwrite() that failed (type:int32_t)
-                last_write_error          : Error of the last fwrite() that failed (type:int32_t)
-                average_write_time        : Average time to perform an fwrite() of a buffer (type:int32_t)
-                max_write_time            : Max time to perform an fwrite() of a buffer (type:int32_t)
-
-                '''
-                return self.send(self.logger_tm_encode(timestamp, log_number, too_large_samples, dropped_samples, queued_samples, buffers_filled, buffers_written, writes_failed, last_write_error, average_write_time, max_write_time), force_mavlink1=force_mavlink1)
-
-        def mavlink_stats_tm_encode(self, timestamp, n_send_queue, max_send_queue, n_send_errors, msg_received, buffer_overrun, parse_error, parse_state, packet_idx, current_rx_seq, current_tx_seq, packet_rx_success_count, packet_rx_drop_count):
-                '''
-                Status of the TMTCManager telemetry
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                n_send_queue              : Current len of the occupied portion of the queue (type:uint16_t)
-                max_send_queue            : Max occupied len of the queue (type:uint16_t)
-                n_send_errors             : Number of packet not sent correctly by the TMTC (type:uint16_t)
-                msg_received              : Number of received messages (type:uint8_t)
-                buffer_overrun            : Number of buffer overruns (type:uint8_t)
-                parse_error               : Number of parse errors (type:uint8_t)
-                parse_state               : Parsing state machine (type:uint32_t)
-                packet_idx                : Index in current packet (type:uint8_t)
-                current_rx_seq            : Sequence number of last packet received (type:uint8_t)
-                current_tx_seq            : Sequence number of last packet sent (type:uint8_t)
-                packet_rx_success_count        : Received packets (type:uint16_t)
-                packet_rx_drop_count        : Number of packet drops (type:uint16_t)
-
-                '''
-                return MAVLink_mavlink_stats_tm_message(timestamp, n_send_queue, max_send_queue, n_send_errors, msg_received, buffer_overrun, parse_error, parse_state, packet_idx, current_rx_seq, current_tx_seq, packet_rx_success_count, packet_rx_drop_count)
-
-        def mavlink_stats_tm_send(self, timestamp, n_send_queue, max_send_queue, n_send_errors, msg_received, buffer_overrun, parse_error, parse_state, packet_idx, current_rx_seq, current_tx_seq, packet_rx_success_count, packet_rx_drop_count, force_mavlink1=False):
-                '''
-                Status of the TMTCManager telemetry
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                n_send_queue              : Current len of the occupied portion of the queue (type:uint16_t)
-                max_send_queue            : Max occupied len of the queue (type:uint16_t)
-                n_send_errors             : Number of packet not sent correctly by the TMTC (type:uint16_t)
-                msg_received              : Number of received messages (type:uint8_t)
-                buffer_overrun            : Number of buffer overruns (type:uint8_t)
-                parse_error               : Number of parse errors (type:uint8_t)
-                parse_state               : Parsing state machine (type:uint32_t)
-                packet_idx                : Index in current packet (type:uint8_t)
-                current_rx_seq            : Sequence number of last packet received (type:uint8_t)
-                current_tx_seq            : Sequence number of last packet sent (type:uint8_t)
-                packet_rx_success_count        : Received packets (type:uint16_t)
-                packet_rx_drop_count        : Number of packet drops (type:uint16_t)
-
-                '''
-                return self.send(self.mavlink_stats_tm_encode(timestamp, n_send_queue, max_send_queue, n_send_errors, msg_received, buffer_overrun, parse_error, parse_state, packet_idx, current_rx_seq, current_tx_seq, packet_rx_success_count, packet_rx_drop_count), force_mavlink1=force_mavlink1)
-
-        def task_stats_tm_encode(self, timestamp, task_id, task_period, task_min, task_max, task_mean, task_stddev):
-                '''
-                Statistics of the Task Scheduler
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                task_id                   : Task ID (type:uint8_t)
-                task_period               : Period of the task [ms] (type:uint16_t)
-                task_min                  : Task min period (type:float)
-                task_max                  : Task max period (type:float)
-                task_mean                 : Task mean period (type:float)
-                task_stddev               : Task period std deviation (type:float)
-
-                '''
-                return MAVLink_task_stats_tm_message(timestamp, task_id, task_period, task_min, task_max, task_mean, task_stddev)
-
-        def task_stats_tm_send(self, timestamp, task_id, task_period, task_min, task_max, task_mean, task_stddev, force_mavlink1=False):
-                '''
-                Statistics of the Task Scheduler
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                task_id                   : Task ID (type:uint8_t)
-                task_period               : Period of the task [ms] (type:uint16_t)
-                task_min                  : Task min period (type:float)
-                task_max                  : Task max period (type:float)
-                task_mean                 : Task mean period (type:float)
-                task_stddev               : Task period std deviation (type:float)
-
-                '''
-                return self.send(self.task_stats_tm_encode(timestamp, task_id, task_period, task_min, task_max, task_mean, task_stddev), force_mavlink1=force_mavlink1)
-
-        def ada_tm_encode(self, timestamp, state, kalman_x0, kalman_x1, kalman_x2, vertical_speed, msl_altitude, ref_pressure, ref_altitude, ref_temperature, msl_pressure, msl_temperature, dpl_altitude):
-                '''
-                Apogee Detection Algorithm status telemetry
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                state                     : ADA current state (type:uint8_t)
-                kalman_x0                 : Kalman state variable 0 (pressure) (type:float)
-                kalman_x1                 : Kalman state variable 1 (pressure velocity) (type:float)
-                kalman_x2                 : Kalman state variable 2 (pressure acceleration) (type:float)
-                vertical_speed            : Vertical speed computed by the ADA [m/s] (type:float)
-                msl_altitude              : Altitude w.r.t. mean sea level [m] (type:float)
-                ref_pressure              : Calibration pressure [Pa] (type:float)
-                ref_altitude              : Calibration altitude [m] (type:float)
-                ref_temperature           : Calibration temperature [degC] (type:float)
-                msl_pressure              : Expected pressure at mean sea level [Pa] (type:float)
-                msl_temperature           : Expected temperature at mean sea level [degC] (type:float)
-                dpl_altitude              : Main parachute deployment altituyde [m] (type:float)
-
-                '''
-                return MAVLink_ada_tm_message(timestamp, state, kalman_x0, kalman_x1, kalman_x2, vertical_speed, msl_altitude, ref_pressure, ref_altitude, ref_temperature, msl_pressure, msl_temperature, dpl_altitude)
-
-        def ada_tm_send(self, timestamp, state, kalman_x0, kalman_x1, kalman_x2, vertical_speed, msl_altitude, ref_pressure, ref_altitude, ref_temperature, msl_pressure, msl_temperature, dpl_altitude, force_mavlink1=False):
-                '''
-                Apogee Detection Algorithm status telemetry
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                state                     : ADA current state (type:uint8_t)
-                kalman_x0                 : Kalman state variable 0 (pressure) (type:float)
-                kalman_x1                 : Kalman state variable 1 (pressure velocity) (type:float)
-                kalman_x2                 : Kalman state variable 2 (pressure acceleration) (type:float)
-                vertical_speed            : Vertical speed computed by the ADA [m/s] (type:float)
-                msl_altitude              : Altitude w.r.t. mean sea level [m] (type:float)
-                ref_pressure              : Calibration pressure [Pa] (type:float)
-                ref_altitude              : Calibration altitude [m] (type:float)
-                ref_temperature           : Calibration temperature [degC] (type:float)
-                msl_pressure              : Expected pressure at mean sea level [Pa] (type:float)
-                msl_temperature           : Expected temperature at mean sea level [degC] (type:float)
-                dpl_altitude              : Main parachute deployment altituyde [m] (type:float)
-
-                '''
-                return self.send(self.ada_tm_encode(timestamp, state, kalman_x0, kalman_x1, kalman_x2, vertical_speed, msl_altitude, ref_pressure, ref_altitude, ref_temperature, msl_pressure, msl_temperature, dpl_altitude), force_mavlink1=force_mavlink1)
-
-        def nas_tm_encode(self, timestamp, state, nas_n, nas_e, nas_d, nas_vn, nas_ve, nas_vd, nas_qx, nas_qy, nas_qz, nas_qw, nas_bias_x, nas_bias_y, nas_bias_z, ref_pressure, ref_temperature, ref_latitude, ref_longitude):
-                '''
-                Navigation System status telemetry
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                state                     : NAS current state (type:uint8_t)
-                nas_n                     : Navigation system estimated noth position [deg] (type:float)
-                nas_e                     : Navigation system estimated east position [deg] (type:float)
-                nas_d                     : Navigation system estimated down position [m] (type:float)
-                nas_vn                    : Navigation system estimated north velocity [m/s] (type:float)
-                nas_ve                    : Navigation system estimated east velocity [m/s] (type:float)
-                nas_vd                    : Navigation system estimated down velocity [m/s] (type:float)
-                nas_qx                    : Navigation system estimated attitude (qx) [deg] (type:float)
-                nas_qy                    : Navigation system estimated attitude (qy) [deg] (type:float)
-                nas_qz                    : Navigation system estimated attitude (qz) [deg] (type:float)
-                nas_qw                    : Navigation system estimated attitude (qw) [deg] (type:float)
-                nas_bias_x                : Navigation system gyroscope bias on x axis (type:float)
-                nas_bias_y                : Navigation system gyroscope bias on y axis (type:float)
-                nas_bias_z                : Navigation system gyroscope bias on z axis (type:float)
-                ref_pressure              : Calibration pressure [Pa] (type:float)
-                ref_temperature           : Calibration temperature [degC] (type:float)
-                ref_latitude              : Calibration latitude [deg] (type:float)
-                ref_longitude             : Calibration longitude [deg] (type:float)
-
-                '''
-                return MAVLink_nas_tm_message(timestamp, state, nas_n, nas_e, nas_d, nas_vn, nas_ve, nas_vd, nas_qx, nas_qy, nas_qz, nas_qw, nas_bias_x, nas_bias_y, nas_bias_z, ref_pressure, ref_temperature, ref_latitude, ref_longitude)
-
-        def nas_tm_send(self, timestamp, state, nas_n, nas_e, nas_d, nas_vn, nas_ve, nas_vd, nas_qx, nas_qy, nas_qz, nas_qw, nas_bias_x, nas_bias_y, nas_bias_z, ref_pressure, ref_temperature, ref_latitude, ref_longitude, force_mavlink1=False):
-                '''
-                Navigation System status telemetry
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                state                     : NAS current state (type:uint8_t)
-                nas_n                     : Navigation system estimated noth position [deg] (type:float)
-                nas_e                     : Navigation system estimated east position [deg] (type:float)
-                nas_d                     : Navigation system estimated down position [m] (type:float)
-                nas_vn                    : Navigation system estimated north velocity [m/s] (type:float)
-                nas_ve                    : Navigation system estimated east velocity [m/s] (type:float)
-                nas_vd                    : Navigation system estimated down velocity [m/s] (type:float)
-                nas_qx                    : Navigation system estimated attitude (qx) [deg] (type:float)
-                nas_qy                    : Navigation system estimated attitude (qy) [deg] (type:float)
-                nas_qz                    : Navigation system estimated attitude (qz) [deg] (type:float)
-                nas_qw                    : Navigation system estimated attitude (qw) [deg] (type:float)
-                nas_bias_x                : Navigation system gyroscope bias on x axis (type:float)
-                nas_bias_y                : Navigation system gyroscope bias on y axis (type:float)
-                nas_bias_z                : Navigation system gyroscope bias on z axis (type:float)
-                ref_pressure              : Calibration pressure [Pa] (type:float)
-                ref_temperature           : Calibration temperature [degC] (type:float)
-                ref_latitude              : Calibration latitude [deg] (type:float)
-                ref_longitude             : Calibration longitude [deg] (type:float)
-
-                '''
-                return self.send(self.nas_tm_encode(timestamp, state, nas_n, nas_e, nas_d, nas_vn, nas_ve, nas_vd, nas_qx, nas_qy, nas_qz, nas_qw, nas_bias_x, nas_bias_y, nas_bias_z, ref_pressure, ref_temperature, ref_latitude, ref_longitude), force_mavlink1=force_mavlink1)
-
-        def mea_tm_encode(self, timestamp, state, kalman_x0, kalman_x1, kalman_x2, mass, corrected_pressure):
-                '''
-                Mass Estimation Algorithm status telemetry
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                state                     : MEA current state (type:uint8_t)
-                kalman_x0                 : Kalman state variable 0 (corrected pressure) (type:float)
-                kalman_x1                 : Kalman state variable 1 (type:float)
-                kalman_x2                 : Kalman state variable 2 (mass) (type:float)
-                mass                      : Mass estimated [kg] (type:float)
-                corrected_pressure        : Corrected pressure [kg] (type:float)
-
-                '''
-                return MAVLink_mea_tm_message(timestamp, state, kalman_x0, kalman_x1, kalman_x2, mass, corrected_pressure)
-
-        def mea_tm_send(self, timestamp, state, kalman_x0, kalman_x1, kalman_x2, mass, corrected_pressure, force_mavlink1=False):
-                '''
-                Mass Estimation Algorithm status telemetry
-
-                timestamp                 : When was this logged [us] (type:uint64_t)
-                state                     : MEA current state (type:uint8_t)
-                kalman_x0                 : Kalman state variable 0 (corrected pressure) (type:float)
-                kalman_x1                 : Kalman state variable 1 (type:float)
-                kalman_x2                 : Kalman state variable 2 (mass) (type:float)
-                mass                      : Mass estimated [kg] (type:float)
-                corrected_pressure        : Corrected pressure [kg] (type:float)
-
-                '''
-                return self.send(self.mea_tm_encode(timestamp, state, kalman_x0, kalman_x1, kalman_x2, mass, corrected_pressure), force_mavlink1=force_mavlink1)
-
-        def rocket_flight_tm_encode(self, timestamp, ada_state, fmm_state, dpl_state, abk_state, nas_state, mea_state, pressure_ada, pressure_digi, pressure_static, pressure_dpl, airspeed_pitot, altitude_agl, ada_vert_speed, mea_mass, acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z, mag_x, mag_y, mag_z, gps_fix, gps_lat, gps_lon, gps_alt, abk_angle, nas_n, nas_e, nas_d, nas_vn, nas_ve, nas_vd, nas_qx, nas_qy, nas_qz, nas_qw, nas_bias_x, nas_bias_y, nas_bias_z, pin_quick_connector, pin_launch, pin_nosecone, pin_expulsion, cutter_presence, battery_voltage, cam_battery_voltage, current_consumption, temperature, logger_error):
-                '''
-                High Rate Telemetry
-
-                timestamp                 : Timestamp in microseconds [us] (type:uint64_t)
-                ada_state                 : ADA Controller State (type:uint8_t)
-                fmm_state                 : Flight Mode Manager State (type:uint8_t)
-                dpl_state                 : Deployment Controller State (type:uint8_t)
-                abk_state                 : Airbrake FSM state (type:uint8_t)
-                nas_state                 : Navigation System FSM State (type:uint8_t)
-                mea_state                 : MEA Controller State (type:uint8_t)
-                pressure_ada              : Atmospheric pressure estimated by ADA [Pa] (type:float)
-                pressure_digi             : Pressure from digital sensor [Pa] (type:float)
-                pressure_static           : Pressure from static port [Pa] (type:float)
-                pressure_dpl              : Pressure from deployment vane sensor [Pa] (type:float)
-                airspeed_pitot            : Pitot airspeed [m/s] (type:float)
-                altitude_agl              : Altitude above ground level [m] (type:float)
-                ada_vert_speed            : Vertical speed estimated by ADA [m/s] (type:float)
-                mea_mass                  : Mass estimated by MEA [kg] (type:float)
-                acc_x                     : Acceleration on X axis (body) [m/s^2] (type:float)
-                acc_y                     : Acceleration on Y axis (body) [m/s^2] (type:float)
-                acc_z                     : Acceleration on Z axis (body) [m/s^2] (type:float)
-                gyro_x                    : Angular speed on X axis (body) [rad/s] (type:float)
-                gyro_y                    : Angular speed on Y axis (body) [rad/s] (type:float)
-                gyro_z                    : Angular speed on Z axis (body) [rad/s] (type:float)
-                mag_x                     : Magnetic field on X axis (body) [uT] (type:float)
-                mag_y                     : Magnetic field on Y axis (body) [uT] (type:float)
-                mag_z                     : Magnetic field on Z axis (body) [uT] (type:float)
-                gps_fix                   : GPS fix (1 = fix, 0 = no fix) (type:uint8_t)
-                gps_lat                   : Latitude [deg] (type:float)
-                gps_lon                   : Longitude [deg] (type:float)
-                gps_alt                   : GPS Altitude [m] (type:float)
-                abk_angle                 : Air Brakes angle [deg] (type:float)
-                nas_n                     : Navigation system estimated noth position [deg] (type:float)
-                nas_e                     : Navigation system estimated east position [deg] (type:float)
-                nas_d                     : Navigation system estimated down position [m] (type:float)
-                nas_vn                    : Navigation system estimated north velocity [m/s] (type:float)
-                nas_ve                    : Navigation system estimated east velocity [m/s] (type:float)
-                nas_vd                    : Navigation system estimated down velocity [m/s] (type:float)
-                nas_qx                    : Navigation system estimated attitude (qx) [deg] (type:float)
-                nas_qy                    : Navigation system estimated attitude (qy) [deg] (type:float)
-                nas_qz                    : Navigation system estimated attitude (qz) [deg] (type:float)
-                nas_qw                    : Navigation system estimated attitude (qw) [deg] (type:float)
-                nas_bias_x                : Navigation system gyroscope bias on x axis (type:float)
-                nas_bias_y                : Navigation system gyroscope bias on y axis (type:float)
-                nas_bias_z                : Navigation system gyroscope bias on z axis (type:float)
-                pin_quick_connector        : Quick connector detach pin (type:float)
-                pin_launch                : Launch pin status (1 = connected, 0 = disconnected) (type:uint8_t)
-                pin_nosecone              : Nosecone pin status (1 = connected, 0 = disconnected) (type:uint8_t)
-                pin_expulsion             : Servo sensor status (1 = actuated, 0 = idle) (type:uint8_t)
-                cutter_presence           : Cutter presence status (1 = present, 0 = missing) (type:uint8_t)
-                battery_voltage           : Battery voltage [V] (type:float)
-                cam_battery_voltage        : Camera battery voltage [V] (type:float)
-                current_consumption        : Battery current [A] (type:float)
-                temperature               : Temperature [degC] (type:float)
-                logger_error              : Logger error (0 = no error, -1 otherwise) (type:int8_t)
-
-                '''
-                return MAVLink_rocket_flight_tm_message(timestamp, ada_state, fmm_state, dpl_state, abk_state, nas_state, mea_state, pressure_ada, pressure_digi, pressure_static, pressure_dpl, airspeed_pitot, altitude_agl, ada_vert_speed, mea_mass, acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z, mag_x, mag_y, mag_z, gps_fix, gps_lat, gps_lon, gps_alt, abk_angle, nas_n, nas_e, nas_d, nas_vn, nas_ve, nas_vd, nas_qx, nas_qy, nas_qz, nas_qw, nas_bias_x, nas_bias_y, nas_bias_z, pin_quick_connector, pin_launch, pin_nosecone, pin_expulsion, cutter_presence, battery_voltage, cam_battery_voltage, current_consumption, temperature, logger_error)
-
-        def rocket_flight_tm_send(self, timestamp, ada_state, fmm_state, dpl_state, abk_state, nas_state, mea_state, pressure_ada, pressure_digi, pressure_static, pressure_dpl, airspeed_pitot, altitude_agl, ada_vert_speed, mea_mass, acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z, mag_x, mag_y, mag_z, gps_fix, gps_lat, gps_lon, gps_alt, abk_angle, nas_n, nas_e, nas_d, nas_vn, nas_ve, nas_vd, nas_qx, nas_qy, nas_qz, nas_qw, nas_bias_x, nas_bias_y, nas_bias_z, pin_quick_connector, pin_launch, pin_nosecone, pin_expulsion, cutter_presence, battery_voltage, cam_battery_voltage, current_consumption, temperature, logger_error, force_mavlink1=False):
-                '''
-                High Rate Telemetry
-
-                timestamp                 : Timestamp in microseconds [us] (type:uint64_t)
-                ada_state                 : ADA Controller State (type:uint8_t)
-                fmm_state                 : Flight Mode Manager State (type:uint8_t)
-                dpl_state                 : Deployment Controller State (type:uint8_t)
-                abk_state                 : Airbrake FSM state (type:uint8_t)
-                nas_state                 : Navigation System FSM State (type:uint8_t)
-                mea_state                 : MEA Controller State (type:uint8_t)
-                pressure_ada              : Atmospheric pressure estimated by ADA [Pa] (type:float)
-                pressure_digi             : Pressure from digital sensor [Pa] (type:float)
-                pressure_static           : Pressure from static port [Pa] (type:float)
-                pressure_dpl              : Pressure from deployment vane sensor [Pa] (type:float)
-                airspeed_pitot            : Pitot airspeed [m/s] (type:float)
-                altitude_agl              : Altitude above ground level [m] (type:float)
-                ada_vert_speed            : Vertical speed estimated by ADA [m/s] (type:float)
-                mea_mass                  : Mass estimated by MEA [kg] (type:float)
-                acc_x                     : Acceleration on X axis (body) [m/s^2] (type:float)
-                acc_y                     : Acceleration on Y axis (body) [m/s^2] (type:float)
-                acc_z                     : Acceleration on Z axis (body) [m/s^2] (type:float)
-                gyro_x                    : Angular speed on X axis (body) [rad/s] (type:float)
-                gyro_y                    : Angular speed on Y axis (body) [rad/s] (type:float)
-                gyro_z                    : Angular speed on Z axis (body) [rad/s] (type:float)
-                mag_x                     : Magnetic field on X axis (body) [uT] (type:float)
-                mag_y                     : Magnetic field on Y axis (body) [uT] (type:float)
-                mag_z                     : Magnetic field on Z axis (body) [uT] (type:float)
-                gps_fix                   : GPS fix (1 = fix, 0 = no fix) (type:uint8_t)
-                gps_lat                   : Latitude [deg] (type:float)
-                gps_lon                   : Longitude [deg] (type:float)
-                gps_alt                   : GPS Altitude [m] (type:float)
-                abk_angle                 : Air Brakes angle [deg] (type:float)
-                nas_n                     : Navigation system estimated noth position [deg] (type:float)
-                nas_e                     : Navigation system estimated east position [deg] (type:float)
-                nas_d                     : Navigation system estimated down position [m] (type:float)
-                nas_vn                    : Navigation system estimated north velocity [m/s] (type:float)
-                nas_ve                    : Navigation system estimated east velocity [m/s] (type:float)
-                nas_vd                    : Navigation system estimated down velocity [m/s] (type:float)
-                nas_qx                    : Navigation system estimated attitude (qx) [deg] (type:float)
-                nas_qy                    : Navigation system estimated attitude (qy) [deg] (type:float)
-                nas_qz                    : Navigation system estimated attitude (qz) [deg] (type:float)
-                nas_qw                    : Navigation system estimated attitude (qw) [deg] (type:float)
-                nas_bias_x                : Navigation system gyroscope bias on x axis (type:float)
-                nas_bias_y                : Navigation system gyroscope bias on y axis (type:float)
-                nas_bias_z                : Navigation system gyroscope bias on z axis (type:float)
-                pin_quick_connector        : Quick connector detach pin (type:float)
-                pin_launch                : Launch pin status (1 = connected, 0 = disconnected) (type:uint8_t)
-                pin_nosecone              : Nosecone pin status (1 = connected, 0 = disconnected) (type:uint8_t)
-                pin_expulsion             : Servo sensor status (1 = actuated, 0 = idle) (type:uint8_t)
-                cutter_presence           : Cutter presence status (1 = present, 0 = missing) (type:uint8_t)
-                battery_voltage           : Battery voltage [V] (type:float)
-                cam_battery_voltage        : Camera battery voltage [V] (type:float)
-                current_consumption        : Battery current [A] (type:float)
-                temperature               : Temperature [degC] (type:float)
-                logger_error              : Logger error (0 = no error, -1 otherwise) (type:int8_t)
-
-                '''
-                return self.send(self.rocket_flight_tm_encode(timestamp, ada_state, fmm_state, dpl_state, abk_state, nas_state, mea_state, pressure_ada, pressure_digi, pressure_static, pressure_dpl, airspeed_pitot, altitude_agl, ada_vert_speed, mea_mass, acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z, mag_x, mag_y, mag_z, gps_fix, gps_lat, gps_lon, gps_alt, abk_angle, nas_n, nas_e, nas_d, nas_vn, nas_ve, nas_vd, nas_qx, nas_qy, nas_qz, nas_qw, nas_bias_x, nas_bias_y, nas_bias_z, pin_quick_connector, pin_launch, pin_nosecone, pin_expulsion, cutter_presence, battery_voltage, cam_battery_voltage, current_consumption, temperature, logger_error), force_mavlink1=force_mavlink1)
-
-        def payload_flight_tm_encode(self, timestamp, fmm_state, nas_state, wes_state, pressure_digi, pressure_static, airspeed_pitot, altitude_agl, acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z, mag_x, mag_y, mag_z, gps_fix, gps_lat, gps_lon, gps_alt, left_servo_angle, right_servo_angle, nas_n, nas_e, nas_d, nas_vn, nas_ve, nas_vd, nas_qx, nas_qy, nas_qz, nas_qw, nas_bias_x, nas_bias_y, nas_bias_z, wes_n, wes_e, pin_nosecone, battery_voltage, cam_battery_voltage, current_consumption, cutter_presence, temperature, logger_error):
-                '''
-                High Rate Telemetry
-
-                timestamp                 : Timestamp in microseconds [us] (type:uint64_t)
-                fmm_state                 : Flight Mode Manager State (type:uint8_t)
-                nas_state                 : Navigation System FSM State (type:uint8_t)
-                wes_state                 : Wind Estimation System FSM State (type:uint8_t)
-                pressure_digi             : Pressure from digital sensor [Pa] (type:float)
-                pressure_static           : Pressure from static port [Pa] (type:float)
-                airspeed_pitot            : Pitot airspeed [m/s] (type:float)
-                altitude_agl              : Altitude above ground level [m] (type:float)
-                acc_x                     : Acceleration on X axis (body) [m/s^2] (type:float)
-                acc_y                     : Acceleration on Y axis (body) [m/s^2] (type:float)
-                acc_z                     : Acceleration on Z axis (body) [m/s^2] (type:float)
-                gyro_x                    : Angular speed on X axis (body) [rad/s] (type:float)
-                gyro_y                    : Angular speed on Y axis (body) [rad/s] (type:float)
-                gyro_z                    : Angular speed on Z axis (body) [rad/s] (type:float)
-                mag_x                     : Magnetic field on X axis (body) [uT] (type:float)
-                mag_y                     : Magnetic field on Y axis (body) [uT] (type:float)
-                mag_z                     : Magnetic field on Z axis (body) [uT] (type:float)
-                gps_fix                   : GPS fix (1 = fix, 0 = no fix) (type:uint8_t)
-                gps_lat                   : Latitude [deg] (type:float)
-                gps_lon                   : Longitude [deg] (type:float)
-                gps_alt                   : GPS Altitude [m] (type:float)
-                left_servo_angle          : Left servo motor angle [deg] (type:float)
-                right_servo_angle         : Right servo motor angle [deg] (type:float)
-                nas_n                     : Navigation system estimated noth position [deg] (type:float)
-                nas_e                     : Navigation system estimated east position [deg] (type:float)
-                nas_d                     : Navigation system estimated down position [m] (type:float)
-                nas_vn                    : Navigation system estimated north velocity [m/s] (type:float)
-                nas_ve                    : Navigation system estimated east velocity [m/s] (type:float)
-                nas_vd                    : Navigation system estimated down velocity [m/s] (type:float)
-                nas_qx                    : Navigation system estimated attitude (qx) [deg] (type:float)
-                nas_qy                    : Navigation system estimated attitude (qy) [deg] (type:float)
-                nas_qz                    : Navigation system estimated attitude (qz) [deg] (type:float)
-                nas_qw                    : Navigation system estimated attitude (qw) [deg] (type:float)
-                nas_bias_x                : Navigation system gyroscope bias on x axis (type:float)
-                nas_bias_y                : Navigation system gyroscope bias on y axis (type:float)
-                nas_bias_z                : Navigation system gyroscope bias on z axis (type:float)
-                wes_n                     : Wind estimated north velocity [m/s] (type:float)
-                wes_e                     : Wind estimated east velocity [m/s] (type:float)
-                pin_nosecone              : Nosecone pin status (1 = connected, 0 = disconnected) (type:uint8_t)
-                battery_voltage           : Battery voltage [V] (type:float)
-                cam_battery_voltage        : Camera battery voltage [V] (type:float)
-                current_consumption        : Battery current [A] (type:float)
-                cutter_presence           : Cutter presence status (1 = present, 0 = missing) (type:uint8_t)
-                temperature               : Temperature [degC] (type:float)
-                logger_error              : Logger error (0 = no error) (type:int8_t)
-
-                '''
-                return MAVLink_payload_flight_tm_message(timestamp, fmm_state, nas_state, wes_state, pressure_digi, pressure_static, airspeed_pitot, altitude_agl, acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z, mag_x, mag_y, mag_z, gps_fix, gps_lat, gps_lon, gps_alt, left_servo_angle, right_servo_angle, nas_n, nas_e, nas_d, nas_vn, nas_ve, nas_vd, nas_qx, nas_qy, nas_qz, nas_qw, nas_bias_x, nas_bias_y, nas_bias_z, wes_n, wes_e, pin_nosecone, battery_voltage, cam_battery_voltage, current_consumption, cutter_presence, temperature, logger_error)
-
-        def payload_flight_tm_send(self, timestamp, fmm_state, nas_state, wes_state, pressure_digi, pressure_static, airspeed_pitot, altitude_agl, acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z, mag_x, mag_y, mag_z, gps_fix, gps_lat, gps_lon, gps_alt, left_servo_angle, right_servo_angle, nas_n, nas_e, nas_d, nas_vn, nas_ve, nas_vd, nas_qx, nas_qy, nas_qz, nas_qw, nas_bias_x, nas_bias_y, nas_bias_z, wes_n, wes_e, pin_nosecone, battery_voltage, cam_battery_voltage, current_consumption, cutter_presence, temperature, logger_error, force_mavlink1=False):
-                '''
-                High Rate Telemetry
-
-                timestamp                 : Timestamp in microseconds [us] (type:uint64_t)
-                fmm_state                 : Flight Mode Manager State (type:uint8_t)
-                nas_state                 : Navigation System FSM State (type:uint8_t)
-                wes_state                 : Wind Estimation System FSM State (type:uint8_t)
-                pressure_digi             : Pressure from digital sensor [Pa] (type:float)
-                pressure_static           : Pressure from static port [Pa] (type:float)
-                airspeed_pitot            : Pitot airspeed [m/s] (type:float)
-                altitude_agl              : Altitude above ground level [m] (type:float)
-                acc_x                     : Acceleration on X axis (body) [m/s^2] (type:float)
-                acc_y                     : Acceleration on Y axis (body) [m/s^2] (type:float)
-                acc_z                     : Acceleration on Z axis (body) [m/s^2] (type:float)
-                gyro_x                    : Angular speed on X axis (body) [rad/s] (type:float)
-                gyro_y                    : Angular speed on Y axis (body) [rad/s] (type:float)
-                gyro_z                    : Angular speed on Z axis (body) [rad/s] (type:float)
-                mag_x                     : Magnetic field on X axis (body) [uT] (type:float)
-                mag_y                     : Magnetic field on Y axis (body) [uT] (type:float)
-                mag_z                     : Magnetic field on Z axis (body) [uT] (type:float)
-                gps_fix                   : GPS fix (1 = fix, 0 = no fix) (type:uint8_t)
-                gps_lat                   : Latitude [deg] (type:float)
-                gps_lon                   : Longitude [deg] (type:float)
-                gps_alt                   : GPS Altitude [m] (type:float)
-                left_servo_angle          : Left servo motor angle [deg] (type:float)
-                right_servo_angle         : Right servo motor angle [deg] (type:float)
-                nas_n                     : Navigation system estimated noth position [deg] (type:float)
-                nas_e                     : Navigation system estimated east position [deg] (type:float)
-                nas_d                     : Navigation system estimated down position [m] (type:float)
-                nas_vn                    : Navigation system estimated north velocity [m/s] (type:float)
-                nas_ve                    : Navigation system estimated east velocity [m/s] (type:float)
-                nas_vd                    : Navigation system estimated down velocity [m/s] (type:float)
-                nas_qx                    : Navigation system estimated attitude (qx) [deg] (type:float)
-                nas_qy                    : Navigation system estimated attitude (qy) [deg] (type:float)
-                nas_qz                    : Navigation system estimated attitude (qz) [deg] (type:float)
-                nas_qw                    : Navigation system estimated attitude (qw) [deg] (type:float)
-                nas_bias_x                : Navigation system gyroscope bias on x axis (type:float)
-                nas_bias_y                : Navigation system gyroscope bias on y axis (type:float)
-                nas_bias_z                : Navigation system gyroscope bias on z axis (type:float)
-                wes_n                     : Wind estimated north velocity [m/s] (type:float)
-                wes_e                     : Wind estimated east velocity [m/s] (type:float)
-                pin_nosecone              : Nosecone pin status (1 = connected, 0 = disconnected) (type:uint8_t)
-                battery_voltage           : Battery voltage [V] (type:float)
-                cam_battery_voltage        : Camera battery voltage [V] (type:float)
-                current_consumption        : Battery current [A] (type:float)
-                cutter_presence           : Cutter presence status (1 = present, 0 = missing) (type:uint8_t)
-                temperature               : Temperature [degC] (type:float)
-                logger_error              : Logger error (0 = no error) (type:int8_t)
-
-                '''
-                return self.send(self.payload_flight_tm_encode(timestamp, fmm_state, nas_state, wes_state, pressure_digi, pressure_static, airspeed_pitot, altitude_agl, acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z, mag_x, mag_y, mag_z, gps_fix, gps_lat, gps_lon, gps_alt, left_servo_angle, right_servo_angle, nas_n, nas_e, nas_d, nas_vn, nas_ve, nas_vd, nas_qx, nas_qy, nas_qz, nas_qw, nas_bias_x, nas_bias_y, nas_bias_z, wes_n, wes_e, pin_nosecone, battery_voltage, cam_battery_voltage, current_consumption, cutter_presence, temperature, logger_error), force_mavlink1=force_mavlink1)
-
-        def rocket_stats_tm_encode(self, liftoff_ts, liftoff_max_acc_ts, liftoff_max_acc, dpl_ts, dpl_max_acc, max_z_speed_ts, max_z_speed, max_airspeed_pitot, max_speed_altitude, apogee_ts, apogee_lat, apogee_lon, apogee_alt, min_pressure, ada_min_pressure, dpl_vane_max_pressure, cpu_load, free_heap):
-                '''
-                Low Rate Telemetry
-
-                liftoff_ts                : System clock at liftoff [us] (type:uint64_t)
-                liftoff_max_acc_ts        : System clock at the maximum liftoff acceleration [us] (type:uint64_t)
-                liftoff_max_acc           : Maximum liftoff acceleration [m/s2] (type:float)
-                dpl_ts                    : System clock at drouge deployment [us] (type:uint64_t)
-                dpl_max_acc               : Max acceleration during drouge deployment [m/s2] (type:float)
-                max_z_speed_ts            : System clock at ADA max vertical speed [us] (type:uint64_t)
-                max_z_speed               : Max measured vertical speed - ADA [m/s] (type:float)
-                max_airspeed_pitot        : Max speed read by the pitot tube [m/s] (type:float)
-                max_speed_altitude        : Altitude at max speed [m] (type:float)
-                apogee_ts                 : System clock at apogee [us] (type:uint64_t)
-                apogee_lat                : Apogee latitude [deg] (type:float)
-                apogee_lon                : Apogee longitude [deg] (type:float)
-                apogee_alt                : Apogee altitude [m] (type:float)
-                min_pressure              : Apogee pressure - Digital barometer [Pa] (type:float)
-                ada_min_pressure          : Apogee pressure - ADA filtered [Pa] (type:float)
-                dpl_vane_max_pressure        : Max pressure in the deployment bay during drogue deployment [Pa] (type:float)
-                cpu_load                  : CPU load in percentage (type:float)
-                free_heap                 : Amount of available heap in memory (type:uint32_t)
-
-                '''
-                return MAVLink_rocket_stats_tm_message(liftoff_ts, liftoff_max_acc_ts, liftoff_max_acc, dpl_ts, dpl_max_acc, max_z_speed_ts, max_z_speed, max_airspeed_pitot, max_speed_altitude, apogee_ts, apogee_lat, apogee_lon, apogee_alt, min_pressure, ada_min_pressure, dpl_vane_max_pressure, cpu_load, free_heap)
-
-        def rocket_stats_tm_send(self, liftoff_ts, liftoff_max_acc_ts, liftoff_max_acc, dpl_ts, dpl_max_acc, max_z_speed_ts, max_z_speed, max_airspeed_pitot, max_speed_altitude, apogee_ts, apogee_lat, apogee_lon, apogee_alt, min_pressure, ada_min_pressure, dpl_vane_max_pressure, cpu_load, free_heap, force_mavlink1=False):
-                '''
-                Low Rate Telemetry
-
-                liftoff_ts                : System clock at liftoff [us] (type:uint64_t)
-                liftoff_max_acc_ts        : System clock at the maximum liftoff acceleration [us] (type:uint64_t)
-                liftoff_max_acc           : Maximum liftoff acceleration [m/s2] (type:float)
-                dpl_ts                    : System clock at drouge deployment [us] (type:uint64_t)
-                dpl_max_acc               : Max acceleration during drouge deployment [m/s2] (type:float)
-                max_z_speed_ts            : System clock at ADA max vertical speed [us] (type:uint64_t)
-                max_z_speed               : Max measured vertical speed - ADA [m/s] (type:float)
-                max_airspeed_pitot        : Max speed read by the pitot tube [m/s] (type:float)
-                max_speed_altitude        : Altitude at max speed [m] (type:float)
-                apogee_ts                 : System clock at apogee [us] (type:uint64_t)
-                apogee_lat                : Apogee latitude [deg] (type:float)
-                apogee_lon                : Apogee longitude [deg] (type:float)
-                apogee_alt                : Apogee altitude [m] (type:float)
-                min_pressure              : Apogee pressure - Digital barometer [Pa] (type:float)
-                ada_min_pressure          : Apogee pressure - ADA filtered [Pa] (type:float)
-                dpl_vane_max_pressure        : Max pressure in the deployment bay during drogue deployment [Pa] (type:float)
-                cpu_load                  : CPU load in percentage (type:float)
-                free_heap                 : Amount of available heap in memory (type:uint32_t)
-
-                '''
-                return self.send(self.rocket_stats_tm_encode(liftoff_ts, liftoff_max_acc_ts, liftoff_max_acc, dpl_ts, dpl_max_acc, max_z_speed_ts, max_z_speed, max_airspeed_pitot, max_speed_altitude, apogee_ts, apogee_lat, apogee_lon, apogee_alt, min_pressure, ada_min_pressure, dpl_vane_max_pressure, cpu_load, free_heap), force_mavlink1=force_mavlink1)
-
-        def payload_stats_tm_encode(self, liftoff_max_acc_ts, liftoff_max_acc, dpl_ts, dpl_max_acc, max_z_speed_ts, max_z_speed, max_airspeed_pitot, max_speed_altitude, apogee_ts, apogee_lat, apogee_lon, apogee_alt, min_pressure, cpu_load, free_heap):
-                '''
-                Low Rate Telemetry
-
-                liftoff_max_acc_ts        : System clock at the maximum liftoff acceleration [us] (type:uint64_t)
-                liftoff_max_acc           : Maximum liftoff acceleration [m/s2] (type:float)
-                dpl_ts                    : System clock at drouge deployment [us] (type:uint64_t)
-                dpl_max_acc               : Max acceleration during drouge deployment [m/s2] (type:float)
-                max_z_speed_ts            : System clock at max vertical speed [us] (type:uint64_t)
-                max_z_speed               : Max measured vertical speed [m/s] (type:float)
-                max_airspeed_pitot        : Max speed read by the pitot tube [m/s] (type:float)
-                max_speed_altitude        : Altitude at max speed [m] (type:float)
-                apogee_ts                 : System clock at apogee [us] (type:uint64_t)
-                apogee_lat                : Apogee latitude [deg] (type:float)
-                apogee_lon                : Apogee longitude [deg] (type:float)
-                apogee_alt                : Apogee altitude [m] (type:float)
-                min_pressure              : Apogee pressure - Digital barometer [Pa] (type:float)
-                cpu_load                  : CPU load in percentage (type:float)
-                free_heap                 : Amount of available heap in memory (type:uint32_t)
-
-                '''
-                return MAVLink_payload_stats_tm_message(liftoff_max_acc_ts, liftoff_max_acc, dpl_ts, dpl_max_acc, max_z_speed_ts, max_z_speed, max_airspeed_pitot, max_speed_altitude, apogee_ts, apogee_lat, apogee_lon, apogee_alt, min_pressure, cpu_load, free_heap)
-
-        def payload_stats_tm_send(self, liftoff_max_acc_ts, liftoff_max_acc, dpl_ts, dpl_max_acc, max_z_speed_ts, max_z_speed, max_airspeed_pitot, max_speed_altitude, apogee_ts, apogee_lat, apogee_lon, apogee_alt, min_pressure, cpu_load, free_heap, force_mavlink1=False):
-                '''
-                Low Rate Telemetry
-
-                liftoff_max_acc_ts        : System clock at the maximum liftoff acceleration [us] (type:uint64_t)
-                liftoff_max_acc           : Maximum liftoff acceleration [m/s2] (type:float)
-                dpl_ts                    : System clock at drouge deployment [us] (type:uint64_t)
-                dpl_max_acc               : Max acceleration during drouge deployment [m/s2] (type:float)
-                max_z_speed_ts            : System clock at max vertical speed [us] (type:uint64_t)
-                max_z_speed               : Max measured vertical speed [m/s] (type:float)
-                max_airspeed_pitot        : Max speed read by the pitot tube [m/s] (type:float)
-                max_speed_altitude        : Altitude at max speed [m] (type:float)
-                apogee_ts                 : System clock at apogee [us] (type:uint64_t)
-                apogee_lat                : Apogee latitude [deg] (type:float)
-                apogee_lon                : Apogee longitude [deg] (type:float)
-                apogee_alt                : Apogee altitude [m] (type:float)
-                min_pressure              : Apogee pressure - Digital barometer [Pa] (type:float)
-                cpu_load                  : CPU load in percentage (type:float)
-                free_heap                 : Amount of available heap in memory (type:uint32_t)
-
-                '''
-                return self.send(self.payload_stats_tm_encode(liftoff_max_acc_ts, liftoff_max_acc, dpl_ts, dpl_max_acc, max_z_speed_ts, max_z_speed, max_airspeed_pitot, max_speed_altitude, apogee_ts, apogee_lat, apogee_lon, apogee_alt, min_pressure, cpu_load, free_heap), force_mavlink1=force_mavlink1)
-
-        def gse_tm_encode(self, timestamp, loadcell_rocket, loadcell_vessel, filling_pressure, vessel_pressure, arming_state, filling_valve_state, venting_valve_state, release_valve_state, main_valve_state, nitrogen_valve_state, gmm_state, tars_state, battery_voltage, current_consumption, main_board_status, payload_board_status, motor_board_status):
-                '''
-                Ground Segment Equipment telemetry
-
-                timestamp                 : Timestamp in microseconds [us] (type:uint64_t)
-                loadcell_rocket           : Rocket weight [kg] (type:float)
-                loadcell_vessel           : External tank weight [kg] (type:float)
-                filling_pressure          : Refueling line pressure [Bar] (type:float)
-                vessel_pressure           : Vessel tank pressure [Bar] (type:float)
-                arming_state              : 1 If the rocket is armed (type:uint8_t)
-                filling_valve_state        : 1 If the filling valve is open (type:uint8_t)
-                venting_valve_state        : 1 If the venting valve is open (type:uint8_t)
-                release_valve_state        : 1 If the release valve is open (type:uint8_t)
-                main_valve_state          : 1 If the main valve is open (type:uint8_t)
-                nitrogen_valve_state        : 1 If the nitrogen valve is open (type:uint8_t)
-                gmm_state                 : State of the GroundModeManager (type:uint8_t)
-                tars_state                : 1 If the TARS algorithm is running (type:uint8_t)
-                battery_voltage           : Battery voltage (type:float)
-                current_consumption        : RIG current (type:float)
-                main_board_status         : MAIN board status [0: not present, 1: online, 2: armed] (type:uint8_t)
-                payload_board_status        : PAYLOAD board status [0: not present, 1: online, 2: armed] (type:uint8_t)
-                motor_board_status        : MOTOR board status [0: not present, 1: online, 2: armed] (type:uint8_t)
-
-                '''
-                return MAVLink_gse_tm_message(timestamp, loadcell_rocket, loadcell_vessel, filling_pressure, vessel_pressure, arming_state, filling_valve_state, venting_valve_state, release_valve_state, main_valve_state, nitrogen_valve_state, gmm_state, tars_state, battery_voltage, current_consumption, main_board_status, payload_board_status, motor_board_status)
-
-        def gse_tm_send(self, timestamp, loadcell_rocket, loadcell_vessel, filling_pressure, vessel_pressure, arming_state, filling_valve_state, venting_valve_state, release_valve_state, main_valve_state, nitrogen_valve_state, gmm_state, tars_state, battery_voltage, current_consumption, main_board_status, payload_board_status, motor_board_status, force_mavlink1=False):
-                '''
-                Ground Segment Equipment telemetry
-
-                timestamp                 : Timestamp in microseconds [us] (type:uint64_t)
-                loadcell_rocket           : Rocket weight [kg] (type:float)
-                loadcell_vessel           : External tank weight [kg] (type:float)
-                filling_pressure          : Refueling line pressure [Bar] (type:float)
-                vessel_pressure           : Vessel tank pressure [Bar] (type:float)
-                arming_state              : 1 If the rocket is armed (type:uint8_t)
-                filling_valve_state        : 1 If the filling valve is open (type:uint8_t)
-                venting_valve_state        : 1 If the venting valve is open (type:uint8_t)
-                release_valve_state        : 1 If the release valve is open (type:uint8_t)
-                main_valve_state          : 1 If the main valve is open (type:uint8_t)
-                nitrogen_valve_state        : 1 If the nitrogen valve is open (type:uint8_t)
-                gmm_state                 : State of the GroundModeManager (type:uint8_t)
-                tars_state                : 1 If the TARS algorithm is running (type:uint8_t)
-                battery_voltage           : Battery voltage (type:float)
-                current_consumption        : RIG current (type:float)
-                main_board_status         : MAIN board status [0: not present, 1: online, 2: armed] (type:uint8_t)
-                payload_board_status        : PAYLOAD board status [0: not present, 1: online, 2: armed] (type:uint8_t)
-                motor_board_status        : MOTOR board status [0: not present, 1: online, 2: armed] (type:uint8_t)
-
-                '''
-                return self.send(self.gse_tm_encode(timestamp, loadcell_rocket, loadcell_vessel, filling_pressure, vessel_pressure, arming_state, filling_valve_state, venting_valve_state, release_valve_state, main_valve_state, nitrogen_valve_state, gmm_state, tars_state, battery_voltage, current_consumption, main_board_status, payload_board_status, motor_board_status), force_mavlink1=force_mavlink1)
-
-        def motor_tm_encode(self, timestamp, top_tank_pressure, bottom_tank_pressure, combustion_chamber_pressure, tank_temperature, main_valve_state, venting_valve_state, battery_voltage, current_consumption):
-                '''
-                Motor rocket telemetry
-
-                timestamp                 : Timestamp in microseconds [us] (type:uint64_t)
-                top_tank_pressure         : Tank upper pressure [Bar] (type:float)
-                bottom_tank_pressure        : Tank bottom pressure [Bar] (type:float)
-                combustion_chamber_pressure        : Pressure inside the combustion chamber used for automatic shutdown [Bar] (type:float)
-                tank_temperature          : Tank temperature (type:float)
-                main_valve_state          : 1 If the main valve is open (type:uint8_t)
-                venting_valve_state        : 1 If the venting valve is open (type:uint8_t)
-                battery_voltage           : Battery voltage [V] (type:float)
-                current_consumption        : Current drained from the battery [A] (type:float)
-
-                '''
-                return MAVLink_motor_tm_message(timestamp, top_tank_pressure, bottom_tank_pressure, combustion_chamber_pressure, tank_temperature, main_valve_state, venting_valve_state, battery_voltage, current_consumption)
-
-        def motor_tm_send(self, timestamp, top_tank_pressure, bottom_tank_pressure, combustion_chamber_pressure, tank_temperature, main_valve_state, venting_valve_state, battery_voltage, current_consumption, force_mavlink1=False):
-                '''
-                Motor rocket telemetry
-
-                timestamp                 : Timestamp in microseconds [us] (type:uint64_t)
-                top_tank_pressure         : Tank upper pressure [Bar] (type:float)
-                bottom_tank_pressure        : Tank bottom pressure [Bar] (type:float)
-                combustion_chamber_pressure        : Pressure inside the combustion chamber used for automatic shutdown [Bar] (type:float)
-                tank_temperature          : Tank temperature (type:float)
-                main_valve_state          : 1 If the main valve is open (type:uint8_t)
-                venting_valve_state        : 1 If the venting valve is open (type:uint8_t)
-                battery_voltage           : Battery voltage [V] (type:float)
-                current_consumption        : Current drained from the battery [A] (type:float)
-
-                '''
-                return self.send(self.motor_tm_encode(timestamp, top_tank_pressure, bottom_tank_pressure, combustion_chamber_pressure, tank_temperature, main_valve_state, venting_valve_state, battery_voltage, current_consumption), force_mavlink1=force_mavlink1)
+        timestamp                 : Timestamp in microseconds [us] (type:uint64_t)
+        top_tank_pressure         : Tank upper pressure [Bar] (type:float)
+        bottom_tank_pressure        : Tank bottom pressure [Bar] (type:float)
+        combustion_chamber_pressure        : Pressure inside the combustion chamber used for automatic shutdown [Bar] (type:float)
+        floating_level            : Floating level in tank (type:uint8_t)
+        tank_temperature          : Tank temperature (type:float)
+        main_valve_state          : 1 If the main valve is open (type:uint8_t)
+        venting_valve_state        : 1 If the venting valve is open (type:uint8_t)
+        battery_voltage           : Battery voltage [V] (type:float)
+        current_consumption        : Current drained from the battery [A] (type:float)
+
+        """
+        return MAVLink_motor_tm_message(timestamp, top_tank_pressure, bottom_tank_pressure, combustion_chamber_pressure, floating_level, tank_temperature, main_valve_state, venting_valve_state, battery_voltage, current_consumption)
+
+    def motor_tm_send(self, timestamp: int, top_tank_pressure: float, bottom_tank_pressure: float, combustion_chamber_pressure: float, floating_level: int, tank_temperature: float, main_valve_state: int, venting_valve_state: int, battery_voltage: float, current_consumption: float, force_mavlink1: bool = False) -> None:
+        """
+        Motor rocket telemetry
 
+        timestamp                 : Timestamp in microseconds [us] (type:uint64_t)
+        top_tank_pressure         : Tank upper pressure [Bar] (type:float)
+        bottom_tank_pressure        : Tank bottom pressure [Bar] (type:float)
+        combustion_chamber_pressure        : Pressure inside the combustion chamber used for automatic shutdown [Bar] (type:float)
+        floating_level            : Floating level in tank (type:uint8_t)
+        tank_temperature          : Tank temperature (type:float)
+        main_valve_state          : 1 If the main valve is open (type:uint8_t)
+        venting_valve_state        : 1 If the venting valve is open (type:uint8_t)
+        battery_voltage           : Battery voltage [V] (type:float)
+        current_consumption        : Current drained from the battery [A] (type:float)
+
+        """
+        self.send(self.motor_tm_encode(timestamp, top_tank_pressure, bottom_tank_pressure, combustion_chamber_pressure, floating_level, tank_temperature, main_valve_state, venting_valve_state, battery_voltage, current_consumption), force_mavlink1=force_mavlink1)
diff --git a/mavlink_lib/lyra/lyra.h b/mavlink_lib/lyra/lyra.h
index d33874abe17cf7dc1e4c74cef686c6a3b2a9c07d..59d98173a7a58ba9caaef4668db6ea44a55e7705 100644
--- a/mavlink_lib/lyra/lyra.h
+++ b/mavlink_lib/lyra/lyra.h
@@ -10,8 +10,7 @@
     #error Wrong include order: MAVLINK_LYRA.H MUST NOT BE DIRECTLY USED. Include mavlink.h from the same directory instead or set ALL AND EVERY defines from MAVLINK.H manually accordingly, including the #define MAVLINK_H call.
 #endif
 
-#undef MAVLINK_THIS_XML_HASH
-#define MAVLINK_THIS_XML_HASH -9164606166033445911
+#define MAVLINK_LYRA_XML_HASH 2631563271718360559
 
 #ifdef __cplusplus
 extern "C" {
@@ -20,11 +19,11 @@ extern "C" {
 // MESSAGE LENGTHS AND CRCS
 
 #ifndef MAVLINK_MESSAGE_LENGTHS
-#define MAVLINK_MESSAGE_LENGTHS {0, 8, 1, 1, 1, 1, 5, 1, 1, 4, 4, 12, 8, 2, 4, 8, 1, 5, 5, 7, 4, 5, 5, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 74, 64, 32, 60, 32, 32, 32, 32, 56, 21, 5, 19, 36, 36, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 46, 28, 27, 53, 77, 29, 176, 163, 92, 76, 43, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
+#define MAVLINK_MESSAGE_LENGTHS {0, 8, 1, 1, 1, 1, 5, 1, 1, 4, 4, 12, 8, 2, 4, 8, 1, 5, 5, 7, 4, 5, 5, 4, 4, 5, 12, 12, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 74, 64, 32, 60, 32, 32, 32, 32, 56, 21, 5, 19, 36, 36, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 46, 28, 27, 53, 77, 29, 176, 163, 92, 76, 43, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
 #endif
 
 #ifndef MAVLINK_MESSAGE_CRCS
-#define MAVLINK_MESSAGE_CRCS {0, 136, 198, 165, 248, 184, 215, 160, 226, 113, 38, 71, 67, 218, 44, 81, 181, 110, 22, 65, 79, 180, 246, 167, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 146, 57, 72, 87, 229, 245, 212, 140, 148, 6, 155, 87, 255, 9, 68, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 202, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 242, 142, 108, 133, 234, 66, 11, 214, 84, 245, 115, 81, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
+#define MAVLINK_MESSAGE_CRCS {0, 136, 198, 165, 248, 184, 215, 160, 226, 113, 38, 71, 67, 218, 44, 81, 181, 110, 22, 65, 79, 180, 246, 167, 84, 173, 183, 220, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 146, 57, 72, 87, 229, 245, 212, 140, 148, 6, 155, 87, 255, 9, 68, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 242, 142, 108, 133, 234, 66, 11, 214, 84, 245, 115, 81, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
 #endif
 
 #include "../protocol.h"
@@ -43,7 +42,8 @@ typedef enum SysIDs
    MAV_SYSID_PAYLOAD=2, /*  | */
    MAV_SYSID_RIG=3, /*  | */
    MAV_SYSID_GS=4, /*  | */
-   SysIDs_ENUM_END=5, /*  | */
+   MAV_SYSID_ARP=5, /*  | */
+   SysIDs_ENUM_END=6, /*  | */
 } SysIDs;
 #endif
 
@@ -67,8 +67,8 @@ typedef enum SystemTMList
    MAV_SENSORS_STATE_ID=13, /* Sensors init state telemetry | */
    MAV_GSE_ID=14, /* Ground Segnement Equipment | */
    MAV_MOTOR_ID=15, /* Rocket Motor data | */
-   MAV_REGISTRY_ID=22, /* Command to fetch all registry keys | */
-   SystemTMList_ENUM_END=23, /*  | */
+   MAV_REGISTRY_ID=16, /* Command to fetch all registry keys | */
+   SystemTMList_ENUM_END=17, /*  | */
 } SystemTMList;
 #endif
 
@@ -108,7 +108,7 @@ typedef enum SensorsTMList
 } SensorsTMList;
 #endif
 
-/** @brief Enum of the commands */
+/** @brief Enum of the rocket commands */
 #ifndef HAVE_ENUM_MavCommandList
 #define HAVE_ENUM_MavCommandList
 typedef enum MavCommandList
@@ -138,6 +138,25 @@ typedef enum MavCommandList
 } MavCommandList;
 #endif
 
+/** @brief Enum of the ARP commands */
+#ifndef HAVE_ENUM_MavArpCommandList
+#define HAVE_ENUM_MavArpCommandList
+typedef enum MavArpCommandList
+{
+   MAV_ARP_CMD_FORCE_INIT=1, /* Command to force the initialization of ARP | */
+   MAV_ARP_CMD_RESET_ALGORITHM=2, /* Command to reset the algorithm | */
+   MAV_ARP_CMD_RESET_BOARD=3, /* Command to force a reboot | */
+   MAV_ARP_CMD_FORCE_NO_FEEDBACK=4, /* Command to move ARP to the not-feedback mode | */
+   MAV_ARP_CMD_ARM=5, /* Command to arm ARP | */
+   MAV_ARP_CMD_DISARM=6, /* Command to disarm ARP | */
+   MAV_ARP_CMD_FOLLOW=7, /* Command to start Follow loop of ARP | */
+   MAV_ARP_CMD_CALIBRATE=8, /* Command to calibrate ARP | */
+   MAV_ARP_CMD_ENTER_TEST_MODE=9, /* Command to enter the test mode | */
+   MAV_ARP_CMD_EXIT_TEST_MODE=10, /* Command to exit the test mode | */
+   MavArpCommandList_ENUM_END=11, /*  | */
+} MavArpCommandList;
+#endif
+
 /** @brief Enum of all the servos used on Gemini */
 #ifndef HAVE_ENUM_ServosList
 #define HAVE_ENUM_ServosList
@@ -216,6 +235,10 @@ typedef enum PinsList
 #include "./mavlink_msg_set_stepper_steps_tc.h"
 #include "./mavlink_msg_set_nitrogen_time_tc.h"
 #include "./mavlink_msg_set_cooling_time_tc.h"
+#include "./mavlink_msg_set_stepper_multiplier_tc.h"
+#include "./mavlink_msg_set_antenna_coordinates_arp_tc.h"
+#include "./mavlink_msg_set_rocket_coordinates_arp_tc.h"
+#include "./mavlink_msg_arp_command_tc.h"
 #include "./mavlink_msg_ack_tm.h"
 #include "./mavlink_msg_nack_tm.h"
 #include "./mavlink_msg_gps_tm.h"
@@ -235,8 +258,6 @@ typedef enum PinsList
 #include "./mavlink_msg_registry_coord_tm.h"
 #include "./mavlink_msg_receiver_tm.h"
 #include "./mavlink_msg_arp_tm.h"
-#include "./mavlink_msg_set_antenna_coordinates_arp_tc.h"
-#include "./mavlink_msg_set_rocket_coordinates_arp_tc.h"
 #include "./mavlink_msg_sys_tm.h"
 #include "./mavlink_msg_fsm_tm.h"
 #include "./mavlink_msg_logger_tm.h"
@@ -255,12 +276,10 @@ typedef enum PinsList
 // base include
 
 
-#undef MAVLINK_THIS_XML_HASH
-#define MAVLINK_THIS_XML_HASH -9164606166033445911
 
-#if MAVLINK_THIS_XML_HASH == MAVLINK_PRIMARY_XML_HASH
-# define MAVLINK_MESSAGE_INFO {{"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, MAVLINK_MESSAGE_INFO_PING_TC, MAVLINK_MESSAGE_INFO_COMMAND_TC, MAVLINK_MESSAGE_INFO_SYSTEM_TM_REQUEST_TC, MAVLINK_MESSAGE_INFO_SENSOR_TM_REQUEST_TC, MAVLINK_MESSAGE_INFO_SERVO_TM_REQUEST_TC, MAVLINK_MESSAGE_INFO_SET_SERVO_ANGLE_TC, MAVLINK_MESSAGE_INFO_WIGGLE_SERVO_TC, MAVLINK_MESSAGE_INFO_RESET_SERVO_TC, MAVLINK_MESSAGE_INFO_SET_REFERENCE_ALTITUDE_TC, MAVLINK_MESSAGE_INFO_SET_REFERENCE_TEMPERATURE_TC, MAVLINK_MESSAGE_INFO_SET_ORIENTATION_TC, MAVLINK_MESSAGE_INFO_SET_COORDINATES_TC, MAVLINK_MESSAGE_INFO_RAW_EVENT_TC, MAVLINK_MESSAGE_INFO_SET_DEPLOYMENT_ALTITUDE_TC, MAVLINK_MESSAGE_INFO_SET_TARGET_COORDINATES_TC, MAVLINK_MESSAGE_INFO_SET_ALGORITHM_TC, MAVLINK_MESSAGE_INFO_SET_ATOMIC_VALVE_TIMING_TC, MAVLINK_MESSAGE_INFO_SET_VALVE_MAXIMUM_APERTURE_TC, MAVLINK_MESSAGE_INFO_CONRIG_STATE_TC, MAVLINK_MESSAGE_INFO_SET_IGNITION_TIME_TC, MAVLINK_MESSAGE_INFO_SET_STEPPER_ANGLE_TC, MAVLINK_MESSAGE_INFO_SET_STEPPER_STEPS_TC, MAVLINK_MESSAGE_INFO_SET_NITROGEN_TIME_TC, MAVLINK_MESSAGE_INFO_SET_COOLING_TIME_TC, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, MAVLINK_MESSAGE_INFO_ACK_TM, MAVLINK_MESSAGE_INFO_NACK_TM, MAVLINK_MESSAGE_INFO_GPS_TM, MAVLINK_MESSAGE_INFO_IMU_TM, MAVLINK_MESSAGE_INFO_PRESSURE_TM, MAVLINK_MESSAGE_INFO_ADC_TM, MAVLINK_MESSAGE_INFO_VOLTAGE_TM, MAVLINK_MESSAGE_INFO_CURRENT_TM, MAVLINK_MESSAGE_INFO_TEMP_TM, MAVLINK_MESSAGE_INFO_LOAD_TM, MAVLINK_MESSAGE_INFO_ATTITUDE_TM, MAVLINK_MESSAGE_INFO_SENSOR_STATE_TM, MAVLINK_MESSAGE_INFO_SERVO_TM, MAVLINK_MESSAGE_INFO_PIN_TM, MAVLINK_MESSAGE_INFO_REGISTRY_FLOAT_TM, MAVLINK_MESSAGE_INFO_REGISTRY_INT_TM, MAVLINK_MESSAGE_INFO_REGISTRY_COORD_TM, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, MAVLINK_MESSAGE_INFO_RECEIVER_TM, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, MAVLINK_MESSAGE_INFO_ARP_TM, MAVLINK_MESSAGE_INFO_SET_ANTENNA_COORDINATES_ARP_TC, MAVLINK_MESSAGE_INFO_SET_ROCKET_COORDINATES_ARP_TC, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, MAVLINK_MESSAGE_INFO_SYS_TM, MAVLINK_MESSAGE_INFO_FSM_TM, MAVLINK_MESSAGE_INFO_LOGGER_TM, MAVLINK_MESSAGE_INFO_MAVLINK_STATS_TM, MAVLINK_MESSAGE_INFO_TASK_STATS_TM, MAVLINK_MESSAGE_INFO_ADA_TM, MAVLINK_MESSAGE_INFO_NAS_TM, MAVLINK_MESSAGE_INFO_MEA_TM, MAVLINK_MESSAGE_INFO_ROCKET_FLIGHT_TM, MAVLINK_MESSAGE_INFO_PAYLOAD_FLIGHT_TM, MAVLINK_MESSAGE_INFO_ROCKET_STATS_TM, MAVLINK_MESSAGE_INFO_PAYLOAD_STATS_TM, MAVLINK_MESSAGE_INFO_GSE_TM, MAVLINK_MESSAGE_INFO_MOTOR_TM, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}}
-# define MAVLINK_MESSAGE_NAMES {{ "ACK_TM", 100 }, { "ADA_TM", 205 }, { "ADC_TM", 105 }, { "ARP_TM", 169 }, { "ATTITUDE_TM", 110 }, { "COMMAND_TC", 2 }, { "CONRIG_STATE_TC", 19 }, { "CURRENT_TM", 107 }, { "FSM_TM", 201 }, { "GPS_TM", 102 }, { "GSE_TM", 212 }, { "IMU_TM", 103 }, { "LOAD_TM", 109 }, { "LOGGER_TM", 202 }, { "MAVLINK_STATS_TM", 203 }, { "MEA_TM", 207 }, { "MOTOR_TM", 213 }, { "NACK_TM", 101 }, { "NAS_TM", 206 }, { "PAYLOAD_FLIGHT_TM", 209 }, { "PAYLOAD_STATS_TM", 211 }, { "PING_TC", 1 }, { "PIN_TM", 113 }, { "PRESSURE_TM", 104 }, { "RAW_EVENT_TC", 13 }, { "RECEIVER_TM", 150 }, { "REGISTRY_COORD_TM", 116 }, { "REGISTRY_FLOAT_TM", 114 }, { "REGISTRY_INT_TM", 115 }, { "RESET_SERVO_TC", 8 }, { "ROCKET_FLIGHT_TM", 208 }, { "ROCKET_STATS_TM", 210 }, { "SENSOR_STATE_TM", 111 }, { "SENSOR_TM_REQUEST_TC", 4 }, { "SERVO_TM", 112 }, { "SERVO_TM_REQUEST_TC", 5 }, { "SET_ALGORITHM_TC", 16 }, { "SET_ANTENNA_COORDINATES_ARP_TC", 170 }, { "SET_ATOMIC_VALVE_TIMING_TC", 17 }, { "SET_COOLING_TIME_TC", 24 }, { "SET_COORDINATES_TC", 12 }, { "SET_DEPLOYMENT_ALTITUDE_TC", 14 }, { "SET_IGNITION_TIME_TC", 20 }, { "SET_NITROGEN_TIME_TC", 23 }, { "SET_ORIENTATION_TC", 11 }, { "SET_REFERENCE_ALTITUDE_TC", 9 }, { "SET_REFERENCE_TEMPERATURE_TC", 10 }, { "SET_ROCKET_COORDINATES_ARP_TC", 171 }, { "SET_SERVO_ANGLE_TC", 6 }, { "SET_STEPPER_ANGLE_TC", 21 }, { "SET_STEPPER_STEPS_TC", 22 }, { "SET_TARGET_COORDINATES_TC", 15 }, { "SET_VALVE_MAXIMUM_APERTURE_TC", 18 }, { "SYSTEM_TM_REQUEST_TC", 3 }, { "SYS_TM", 200 }, { "TASK_STATS_TM", 204 }, { "TEMP_TM", 108 }, { "VOLTAGE_TM", 106 }, { "WIGGLE_SERVO_TC", 7 }}
+#if MAVLINK_LYRA_XML_HASH == MAVLINK_PRIMARY_XML_HASH
+# define MAVLINK_MESSAGE_INFO {{"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, MAVLINK_MESSAGE_INFO_PING_TC, MAVLINK_MESSAGE_INFO_COMMAND_TC, MAVLINK_MESSAGE_INFO_SYSTEM_TM_REQUEST_TC, MAVLINK_MESSAGE_INFO_SENSOR_TM_REQUEST_TC, MAVLINK_MESSAGE_INFO_SERVO_TM_REQUEST_TC, MAVLINK_MESSAGE_INFO_SET_SERVO_ANGLE_TC, MAVLINK_MESSAGE_INFO_WIGGLE_SERVO_TC, MAVLINK_MESSAGE_INFO_RESET_SERVO_TC, MAVLINK_MESSAGE_INFO_SET_REFERENCE_ALTITUDE_TC, MAVLINK_MESSAGE_INFO_SET_REFERENCE_TEMPERATURE_TC, MAVLINK_MESSAGE_INFO_SET_ORIENTATION_TC, MAVLINK_MESSAGE_INFO_SET_COORDINATES_TC, MAVLINK_MESSAGE_INFO_RAW_EVENT_TC, MAVLINK_MESSAGE_INFO_SET_DEPLOYMENT_ALTITUDE_TC, MAVLINK_MESSAGE_INFO_SET_TARGET_COORDINATES_TC, MAVLINK_MESSAGE_INFO_SET_ALGORITHM_TC, MAVLINK_MESSAGE_INFO_SET_ATOMIC_VALVE_TIMING_TC, MAVLINK_MESSAGE_INFO_SET_VALVE_MAXIMUM_APERTURE_TC, MAVLINK_MESSAGE_INFO_CONRIG_STATE_TC, MAVLINK_MESSAGE_INFO_SET_IGNITION_TIME_TC, MAVLINK_MESSAGE_INFO_SET_STEPPER_ANGLE_TC, MAVLINK_MESSAGE_INFO_SET_STEPPER_STEPS_TC, MAVLINK_MESSAGE_INFO_SET_NITROGEN_TIME_TC, MAVLINK_MESSAGE_INFO_SET_COOLING_TIME_TC, MAVLINK_MESSAGE_INFO_SET_STEPPER_MULTIPLIER_TC, MAVLINK_MESSAGE_INFO_SET_ANTENNA_COORDINATES_ARP_TC, MAVLINK_MESSAGE_INFO_SET_ROCKET_COORDINATES_ARP_TC, MAVLINK_MESSAGE_INFO_ARP_COMMAND_TC, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, MAVLINK_MESSAGE_INFO_ACK_TM, MAVLINK_MESSAGE_INFO_NACK_TM, MAVLINK_MESSAGE_INFO_GPS_TM, MAVLINK_MESSAGE_INFO_IMU_TM, MAVLINK_MESSAGE_INFO_PRESSURE_TM, MAVLINK_MESSAGE_INFO_ADC_TM, MAVLINK_MESSAGE_INFO_VOLTAGE_TM, MAVLINK_MESSAGE_INFO_CURRENT_TM, MAVLINK_MESSAGE_INFO_TEMP_TM, MAVLINK_MESSAGE_INFO_LOAD_TM, MAVLINK_MESSAGE_INFO_ATTITUDE_TM, MAVLINK_MESSAGE_INFO_SENSOR_STATE_TM, MAVLINK_MESSAGE_INFO_SERVO_TM, MAVLINK_MESSAGE_INFO_PIN_TM, MAVLINK_MESSAGE_INFO_REGISTRY_FLOAT_TM, MAVLINK_MESSAGE_INFO_REGISTRY_INT_TM, MAVLINK_MESSAGE_INFO_REGISTRY_COORD_TM, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, MAVLINK_MESSAGE_INFO_RECEIVER_TM, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, MAVLINK_MESSAGE_INFO_ARP_TM, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, MAVLINK_MESSAGE_INFO_SYS_TM, MAVLINK_MESSAGE_INFO_FSM_TM, MAVLINK_MESSAGE_INFO_LOGGER_TM, MAVLINK_MESSAGE_INFO_MAVLINK_STATS_TM, MAVLINK_MESSAGE_INFO_TASK_STATS_TM, MAVLINK_MESSAGE_INFO_ADA_TM, MAVLINK_MESSAGE_INFO_NAS_TM, MAVLINK_MESSAGE_INFO_MEA_TM, MAVLINK_MESSAGE_INFO_ROCKET_FLIGHT_TM, MAVLINK_MESSAGE_INFO_PAYLOAD_FLIGHT_TM, MAVLINK_MESSAGE_INFO_ROCKET_STATS_TM, MAVLINK_MESSAGE_INFO_PAYLOAD_STATS_TM, MAVLINK_MESSAGE_INFO_GSE_TM, MAVLINK_MESSAGE_INFO_MOTOR_TM, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}}
+# define MAVLINK_MESSAGE_NAMES {{ "ACK_TM", 100 }, { "ADA_TM", 205 }, { "ADC_TM", 105 }, { "ARP_COMMAND_TC", 28 }, { "ARP_TM", 169 }, { "ATTITUDE_TM", 110 }, { "COMMAND_TC", 2 }, { "CONRIG_STATE_TC", 19 }, { "CURRENT_TM", 107 }, { "FSM_TM", 201 }, { "GPS_TM", 102 }, { "GSE_TM", 212 }, { "IMU_TM", 103 }, { "LOAD_TM", 109 }, { "LOGGER_TM", 202 }, { "MAVLINK_STATS_TM", 203 }, { "MEA_TM", 207 }, { "MOTOR_TM", 213 }, { "NACK_TM", 101 }, { "NAS_TM", 206 }, { "PAYLOAD_FLIGHT_TM", 209 }, { "PAYLOAD_STATS_TM", 211 }, { "PING_TC", 1 }, { "PIN_TM", 113 }, { "PRESSURE_TM", 104 }, { "RAW_EVENT_TC", 13 }, { "RECEIVER_TM", 150 }, { "REGISTRY_COORD_TM", 116 }, { "REGISTRY_FLOAT_TM", 114 }, { "REGISTRY_INT_TM", 115 }, { "RESET_SERVO_TC", 8 }, { "ROCKET_FLIGHT_TM", 208 }, { "ROCKET_STATS_TM", 210 }, { "SENSOR_STATE_TM", 111 }, { "SENSOR_TM_REQUEST_TC", 4 }, { "SERVO_TM", 112 }, { "SERVO_TM_REQUEST_TC", 5 }, { "SET_ALGORITHM_TC", 16 }, { "SET_ANTENNA_COORDINATES_ARP_TC", 26 }, { "SET_ATOMIC_VALVE_TIMING_TC", 17 }, { "SET_COOLING_TIME_TC", 24 }, { "SET_COORDINATES_TC", 12 }, { "SET_DEPLOYMENT_ALTITUDE_TC", 14 }, { "SET_IGNITION_TIME_TC", 20 }, { "SET_NITROGEN_TIME_TC", 23 }, { "SET_ORIENTATION_TC", 11 }, { "SET_REFERENCE_ALTITUDE_TC", 9 }, { "SET_REFERENCE_TEMPERATURE_TC", 10 }, { "SET_ROCKET_COORDINATES_ARP_TC", 27 }, { "SET_SERVO_ANGLE_TC", 6 }, { "SET_STEPPER_ANGLE_TC", 21 }, { "SET_STEPPER_MULTIPLIER_TC", 25 }, { "SET_STEPPER_STEPS_TC", 22 }, { "SET_TARGET_COORDINATES_TC", 15 }, { "SET_VALVE_MAXIMUM_APERTURE_TC", 18 }, { "SYSTEM_TM_REQUEST_TC", 3 }, { "SYS_TM", 200 }, { "TASK_STATS_TM", 204 }, { "TEMP_TM", 108 }, { "VOLTAGE_TM", 106 }, { "WIGGLE_SERVO_TC", 7 }}
 # if MAVLINK_COMMAND_24BIT
 #  include "../mavlink_get_info.h"
 # endif
diff --git a/mavlink_lib/lyra/mavlink.h b/mavlink_lib/lyra/mavlink.h
index 3a7533da51c415914add0dc022ab334ae6d0af8f..15b0cad8048afbdae1b61806a30d5b6aea1c54ab 100644
--- a/mavlink_lib/lyra/mavlink.h
+++ b/mavlink_lib/lyra/mavlink.h
@@ -6,7 +6,7 @@
 #ifndef MAVLINK_H
 #define MAVLINK_H
 
-#define MAVLINK_PRIMARY_XML_HASH -9164606166033445911
+#define MAVLINK_PRIMARY_XML_HASH 2631563271718360559
 
 #ifndef MAVLINK_STX
 #define MAVLINK_STX 254
diff --git a/mavlink_lib/lyra/mavlink_msg_arp_command_tc.h b/mavlink_lib/lyra/mavlink_msg_arp_command_tc.h
index ba4c703143eb0b8bbcf8545c97ed52dec4ac1dc6..ff922e6e61a19a2e10fc862ae9502a6a9069221f 100644
--- a/mavlink_lib/lyra/mavlink_msg_arp_command_tc.h
+++ b/mavlink_lib/lyra/mavlink_msg_arp_command_tc.h
@@ -1,7 +1,7 @@
 #pragma once
 // MESSAGE ARP_COMMAND_TC PACKING
 
-#define MAVLINK_MSG_ID_ARP_COMMAND_TC 65
+#define MAVLINK_MSG_ID_ARP_COMMAND_TC 28
 
 
 typedef struct __mavlink_arp_command_tc_t {
@@ -10,17 +10,17 @@ typedef struct __mavlink_arp_command_tc_t {
 
 #define MAVLINK_MSG_ID_ARP_COMMAND_TC_LEN 1
 #define MAVLINK_MSG_ID_ARP_COMMAND_TC_MIN_LEN 1
-#define MAVLINK_MSG_ID_65_LEN 1
-#define MAVLINK_MSG_ID_65_MIN_LEN 1
+#define MAVLINK_MSG_ID_28_LEN 1
+#define MAVLINK_MSG_ID_28_MIN_LEN 1
 
 #define MAVLINK_MSG_ID_ARP_COMMAND_TC_CRC 181
-#define MAVLINK_MSG_ID_65_CRC 181
+#define MAVLINK_MSG_ID_28_CRC 181
 
 
 
 #if MAVLINK_COMMAND_24BIT
 #define MAVLINK_MESSAGE_INFO_ARP_COMMAND_TC { \
-    65, \
+    28, \
     "ARP_COMMAND_TC", \
     1, \
     {  { "command_id", NULL, MAVLINK_TYPE_UINT8_T, 0, 0, offsetof(mavlink_arp_command_tc_t, command_id) }, \
diff --git a/mavlink_lib/lyra/mavlink_msg_arp_tm.h b/mavlink_lib/lyra/mavlink_msg_arp_tm.h
index 0a20a8023588f8961ac5fdb386c407d53d138200..dee88c20ea4ecf1c76881bb5b1abdbd3d1361077 100644
--- a/mavlink_lib/lyra/mavlink_msg_arp_tm.h
+++ b/mavlink_lib/lyra/mavlink_msg_arp_tm.h
@@ -27,19 +27,21 @@ typedef struct __mavlink_arp_tm_t {
  uint16_t main_packet_rx_success_count; /*<  Number of succesfull received mavlink packets*/
  uint16_t main_packet_rx_drop_count; /*<  Number of dropped mavlink packets*/
  uint16_t main_rx_bitrate; /*< [b/s] Receive bitrate*/
+ int16_t log_number; /*<  Currently active log file, -1 if the logger is inactive*/
+ uint8_t state; /*<  State Machine Controller State*/
  uint8_t gps_fix; /*<  Wether the GPS has a FIX*/
  uint8_t main_radio_present; /*<  Boolean indicating the presence of the main radio*/
  uint8_t ethernet_present; /*<  Boolean indicating the presence of the ethernet module*/
  uint8_t ethernet_status; /*<  Status flag indicating the status of the ethernet PHY*/
 } mavlink_arp_tm_t;
 
-#define MAVLINK_MSG_ID_ARP_TM_LEN 86
-#define MAVLINK_MSG_ID_ARP_TM_MIN_LEN 86
-#define MAVLINK_MSG_ID_169_LEN 86
-#define MAVLINK_MSG_ID_169_MIN_LEN 86
+#define MAVLINK_MSG_ID_ARP_TM_LEN 89
+#define MAVLINK_MSG_ID_ARP_TM_MIN_LEN 89
+#define MAVLINK_MSG_ID_169_LEN 89
+#define MAVLINK_MSG_ID_169_MIN_LEN 89
 
-#define MAVLINK_MSG_ID_ARP_TM_CRC 2
-#define MAVLINK_MSG_ID_169_CRC 2
+#define MAVLINK_MSG_ID_ARP_TM_CRC 227
+#define MAVLINK_MSG_ID_169_CRC 227
 
 
 
@@ -47,8 +49,9 @@ typedef struct __mavlink_arp_tm_t {
 #define MAVLINK_MESSAGE_INFO_ARP_TM { \
     169, \
     "ARP_TM", \
-    26, \
+    28, \
     {  { "timestamp", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_arp_tm_t, timestamp) }, \
+         { "state", NULL, MAVLINK_TYPE_UINT8_T, 0, 84, offsetof(mavlink_arp_tm_t, state) }, \
          { "yaw", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_arp_tm_t, yaw) }, \
          { "pitch", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_arp_tm_t, pitch) }, \
          { "roll", NULL, MAVLINK_TYPE_FLOAT, 0, 16, offsetof(mavlink_arp_tm_t, roll) }, \
@@ -63,24 +66,26 @@ typedef struct __mavlink_arp_tm_t {
          { "gps_latitude", NULL, MAVLINK_TYPE_FLOAT, 0, 52, offsetof(mavlink_arp_tm_t, gps_latitude) }, \
          { "gps_longitude", NULL, MAVLINK_TYPE_FLOAT, 0, 56, offsetof(mavlink_arp_tm_t, gps_longitude) }, \
          { "gps_height", NULL, MAVLINK_TYPE_FLOAT, 0, 60, offsetof(mavlink_arp_tm_t, gps_height) }, \
-         { "gps_fix", NULL, MAVLINK_TYPE_UINT8_T, 0, 82, offsetof(mavlink_arp_tm_t, gps_fix) }, \
-         { "main_radio_present", NULL, MAVLINK_TYPE_UINT8_T, 0, 83, offsetof(mavlink_arp_tm_t, main_radio_present) }, \
+         { "gps_fix", NULL, MAVLINK_TYPE_UINT8_T, 0, 85, offsetof(mavlink_arp_tm_t, gps_fix) }, \
+         { "main_radio_present", NULL, MAVLINK_TYPE_UINT8_T, 0, 86, offsetof(mavlink_arp_tm_t, main_radio_present) }, \
          { "main_packet_tx_error_count", NULL, MAVLINK_TYPE_UINT16_T, 0, 72, offsetof(mavlink_arp_tm_t, main_packet_tx_error_count) }, \
          { "main_tx_bitrate", NULL, MAVLINK_TYPE_UINT16_T, 0, 74, offsetof(mavlink_arp_tm_t, main_tx_bitrate) }, \
          { "main_packet_rx_success_count", NULL, MAVLINK_TYPE_UINT16_T, 0, 76, offsetof(mavlink_arp_tm_t, main_packet_rx_success_count) }, \
          { "main_packet_rx_drop_count", NULL, MAVLINK_TYPE_UINT16_T, 0, 78, offsetof(mavlink_arp_tm_t, main_packet_rx_drop_count) }, \
          { "main_rx_bitrate", NULL, MAVLINK_TYPE_UINT16_T, 0, 80, offsetof(mavlink_arp_tm_t, main_rx_bitrate) }, \
          { "main_rx_rssi", NULL, MAVLINK_TYPE_FLOAT, 0, 64, offsetof(mavlink_arp_tm_t, main_rx_rssi) }, \
-         { "ethernet_present", NULL, MAVLINK_TYPE_UINT8_T, 0, 84, offsetof(mavlink_arp_tm_t, ethernet_present) }, \
-         { "ethernet_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 85, offsetof(mavlink_arp_tm_t, ethernet_status) }, \
+         { "ethernet_present", NULL, MAVLINK_TYPE_UINT8_T, 0, 87, offsetof(mavlink_arp_tm_t, ethernet_present) }, \
+         { "ethernet_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 88, offsetof(mavlink_arp_tm_t, ethernet_status) }, \
          { "battery_voltage", NULL, MAVLINK_TYPE_FLOAT, 0, 68, offsetof(mavlink_arp_tm_t, battery_voltage) }, \
+         { "log_number", NULL, MAVLINK_TYPE_INT16_T, 0, 82, offsetof(mavlink_arp_tm_t, log_number) }, \
          } \
 }
 #else
 #define MAVLINK_MESSAGE_INFO_ARP_TM { \
     "ARP_TM", \
-    26, \
+    28, \
     {  { "timestamp", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_arp_tm_t, timestamp) }, \
+         { "state", NULL, MAVLINK_TYPE_UINT8_T, 0, 84, offsetof(mavlink_arp_tm_t, state) }, \
          { "yaw", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_arp_tm_t, yaw) }, \
          { "pitch", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_arp_tm_t, pitch) }, \
          { "roll", NULL, MAVLINK_TYPE_FLOAT, 0, 16, offsetof(mavlink_arp_tm_t, roll) }, \
@@ -95,17 +100,18 @@ typedef struct __mavlink_arp_tm_t {
          { "gps_latitude", NULL, MAVLINK_TYPE_FLOAT, 0, 52, offsetof(mavlink_arp_tm_t, gps_latitude) }, \
          { "gps_longitude", NULL, MAVLINK_TYPE_FLOAT, 0, 56, offsetof(mavlink_arp_tm_t, gps_longitude) }, \
          { "gps_height", NULL, MAVLINK_TYPE_FLOAT, 0, 60, offsetof(mavlink_arp_tm_t, gps_height) }, \
-         { "gps_fix", NULL, MAVLINK_TYPE_UINT8_T, 0, 82, offsetof(mavlink_arp_tm_t, gps_fix) }, \
-         { "main_radio_present", NULL, MAVLINK_TYPE_UINT8_T, 0, 83, offsetof(mavlink_arp_tm_t, main_radio_present) }, \
+         { "gps_fix", NULL, MAVLINK_TYPE_UINT8_T, 0, 85, offsetof(mavlink_arp_tm_t, gps_fix) }, \
+         { "main_radio_present", NULL, MAVLINK_TYPE_UINT8_T, 0, 86, offsetof(mavlink_arp_tm_t, main_radio_present) }, \
          { "main_packet_tx_error_count", NULL, MAVLINK_TYPE_UINT16_T, 0, 72, offsetof(mavlink_arp_tm_t, main_packet_tx_error_count) }, \
          { "main_tx_bitrate", NULL, MAVLINK_TYPE_UINT16_T, 0, 74, offsetof(mavlink_arp_tm_t, main_tx_bitrate) }, \
          { "main_packet_rx_success_count", NULL, MAVLINK_TYPE_UINT16_T, 0, 76, offsetof(mavlink_arp_tm_t, main_packet_rx_success_count) }, \
          { "main_packet_rx_drop_count", NULL, MAVLINK_TYPE_UINT16_T, 0, 78, offsetof(mavlink_arp_tm_t, main_packet_rx_drop_count) }, \
          { "main_rx_bitrate", NULL, MAVLINK_TYPE_UINT16_T, 0, 80, offsetof(mavlink_arp_tm_t, main_rx_bitrate) }, \
          { "main_rx_rssi", NULL, MAVLINK_TYPE_FLOAT, 0, 64, offsetof(mavlink_arp_tm_t, main_rx_rssi) }, \
-         { "ethernet_present", NULL, MAVLINK_TYPE_UINT8_T, 0, 84, offsetof(mavlink_arp_tm_t, ethernet_present) }, \
-         { "ethernet_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 85, offsetof(mavlink_arp_tm_t, ethernet_status) }, \
+         { "ethernet_present", NULL, MAVLINK_TYPE_UINT8_T, 0, 87, offsetof(mavlink_arp_tm_t, ethernet_present) }, \
+         { "ethernet_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 88, offsetof(mavlink_arp_tm_t, ethernet_status) }, \
          { "battery_voltage", NULL, MAVLINK_TYPE_FLOAT, 0, 68, offsetof(mavlink_arp_tm_t, battery_voltage) }, \
+         { "log_number", NULL, MAVLINK_TYPE_INT16_T, 0, 82, offsetof(mavlink_arp_tm_t, log_number) }, \
          } \
 }
 #endif
@@ -117,6 +123,7 @@ typedef struct __mavlink_arp_tm_t {
  * @param msg The MAVLink message to compress the data into
  *
  * @param timestamp [us] Timestamp
+ * @param state  State Machine Controller State
  * @param yaw [deg] Current Yaw
  * @param pitch [deg] Current Pitch
  * @param roll [deg] Current Roll
@@ -142,10 +149,11 @@ typedef struct __mavlink_arp_tm_t {
  * @param ethernet_present  Boolean indicating the presence of the ethernet module
  * @param ethernet_status  Status flag indicating the status of the ethernet PHY
  * @param battery_voltage [V] Battery voltage
+ * @param log_number  Currently active log file, -1 if the logger is inactive
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_arp_tm_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
-                               uint64_t timestamp, float yaw, float pitch, float roll, float target_yaw, float target_pitch, float stepperX_pos, float stepperX_delta, float stepperX_speed, float stepperY_pos, float stepperY_delta, float stepperY_speed, float gps_latitude, float gps_longitude, float gps_height, uint8_t gps_fix, uint8_t main_radio_present, uint16_t main_packet_tx_error_count, uint16_t main_tx_bitrate, uint16_t main_packet_rx_success_count, uint16_t main_packet_rx_drop_count, uint16_t main_rx_bitrate, float main_rx_rssi, uint8_t ethernet_present, uint8_t ethernet_status, float battery_voltage)
+                               uint64_t timestamp, uint8_t state, float yaw, float pitch, float roll, float target_yaw, float target_pitch, float stepperX_pos, float stepperX_delta, float stepperX_speed, float stepperY_pos, float stepperY_delta, float stepperY_speed, float gps_latitude, float gps_longitude, float gps_height, uint8_t gps_fix, uint8_t main_radio_present, uint16_t main_packet_tx_error_count, uint16_t main_tx_bitrate, uint16_t main_packet_rx_success_count, uint16_t main_packet_rx_drop_count, uint16_t main_rx_bitrate, float main_rx_rssi, uint8_t ethernet_present, uint8_t ethernet_status, float battery_voltage, int16_t log_number)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_ARP_TM_LEN];
@@ -171,10 +179,12 @@ static inline uint16_t mavlink_msg_arp_tm_pack(uint8_t system_id, uint8_t compon
     _mav_put_uint16_t(buf, 76, main_packet_rx_success_count);
     _mav_put_uint16_t(buf, 78, main_packet_rx_drop_count);
     _mav_put_uint16_t(buf, 80, main_rx_bitrate);
-    _mav_put_uint8_t(buf, 82, gps_fix);
-    _mav_put_uint8_t(buf, 83, main_radio_present);
-    _mav_put_uint8_t(buf, 84, ethernet_present);
-    _mav_put_uint8_t(buf, 85, ethernet_status);
+    _mav_put_int16_t(buf, 82, log_number);
+    _mav_put_uint8_t(buf, 84, state);
+    _mav_put_uint8_t(buf, 85, gps_fix);
+    _mav_put_uint8_t(buf, 86, main_radio_present);
+    _mav_put_uint8_t(buf, 87, ethernet_present);
+    _mav_put_uint8_t(buf, 88, ethernet_status);
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_ARP_TM_LEN);
 #else
@@ -201,6 +211,8 @@ static inline uint16_t mavlink_msg_arp_tm_pack(uint8_t system_id, uint8_t compon
     packet.main_packet_rx_success_count = main_packet_rx_success_count;
     packet.main_packet_rx_drop_count = main_packet_rx_drop_count;
     packet.main_rx_bitrate = main_rx_bitrate;
+    packet.log_number = log_number;
+    packet.state = state;
     packet.gps_fix = gps_fix;
     packet.main_radio_present = main_radio_present;
     packet.ethernet_present = ethernet_present;
@@ -213,6 +225,120 @@ static inline uint16_t mavlink_msg_arp_tm_pack(uint8_t system_id, uint8_t compon
     return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_ARP_TM_MIN_LEN, MAVLINK_MSG_ID_ARP_TM_LEN, MAVLINK_MSG_ID_ARP_TM_CRC);
 }
 
+/**
+ * @brief Pack a arp_tm message
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param status MAVLink status structure
+ * @param msg The MAVLink message to compress the data into
+ *
+ * @param timestamp [us] Timestamp
+ * @param state  State Machine Controller State
+ * @param yaw [deg] Current Yaw
+ * @param pitch [deg] Current Pitch
+ * @param roll [deg] Current Roll
+ * @param target_yaw [deg] Target Yaw
+ * @param target_pitch [deg] Target Pitch
+ * @param stepperX_pos [deg] StepperX current position wrt the boot position
+ * @param stepperX_delta [deg] StepperX last actuated delta angle
+ * @param stepperX_speed [rps] StepperX current speed
+ * @param stepperY_pos [deg] StepperY current position wrt the boot position
+ * @param stepperY_delta [deg] StepperY last actuated delta angle
+ * @param stepperY_speed [rps] StepperY current Speed
+ * @param gps_latitude [deg] Latitude
+ * @param gps_longitude [deg] Longitude
+ * @param gps_height [m] Altitude
+ * @param gps_fix  Wether the GPS has a FIX
+ * @param main_radio_present  Boolean indicating the presence of the main radio
+ * @param main_packet_tx_error_count  Number of errors during send
+ * @param main_tx_bitrate [b/s] Send bitrate
+ * @param main_packet_rx_success_count  Number of succesfull received mavlink packets
+ * @param main_packet_rx_drop_count  Number of dropped mavlink packets
+ * @param main_rx_bitrate [b/s] Receive bitrate
+ * @param main_rx_rssi [dBm] Receive RSSI
+ * @param ethernet_present  Boolean indicating the presence of the ethernet module
+ * @param ethernet_status  Status flag indicating the status of the ethernet PHY
+ * @param battery_voltage [V] Battery voltage
+ * @param log_number  Currently active log file, -1 if the logger is inactive
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_arp_tm_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
+                               uint64_t timestamp, uint8_t state, float yaw, float pitch, float roll, float target_yaw, float target_pitch, float stepperX_pos, float stepperX_delta, float stepperX_speed, float stepperY_pos, float stepperY_delta, float stepperY_speed, float gps_latitude, float gps_longitude, float gps_height, uint8_t gps_fix, uint8_t main_radio_present, uint16_t main_packet_tx_error_count, uint16_t main_tx_bitrate, uint16_t main_packet_rx_success_count, uint16_t main_packet_rx_drop_count, uint16_t main_rx_bitrate, float main_rx_rssi, uint8_t ethernet_present, uint8_t ethernet_status, float battery_voltage, int16_t log_number)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_ARP_TM_LEN];
+    _mav_put_uint64_t(buf, 0, timestamp);
+    _mav_put_float(buf, 8, yaw);
+    _mav_put_float(buf, 12, pitch);
+    _mav_put_float(buf, 16, roll);
+    _mav_put_float(buf, 20, target_yaw);
+    _mav_put_float(buf, 24, target_pitch);
+    _mav_put_float(buf, 28, stepperX_pos);
+    _mav_put_float(buf, 32, stepperX_delta);
+    _mav_put_float(buf, 36, stepperX_speed);
+    _mav_put_float(buf, 40, stepperY_pos);
+    _mav_put_float(buf, 44, stepperY_delta);
+    _mav_put_float(buf, 48, stepperY_speed);
+    _mav_put_float(buf, 52, gps_latitude);
+    _mav_put_float(buf, 56, gps_longitude);
+    _mav_put_float(buf, 60, gps_height);
+    _mav_put_float(buf, 64, main_rx_rssi);
+    _mav_put_float(buf, 68, battery_voltage);
+    _mav_put_uint16_t(buf, 72, main_packet_tx_error_count);
+    _mav_put_uint16_t(buf, 74, main_tx_bitrate);
+    _mav_put_uint16_t(buf, 76, main_packet_rx_success_count);
+    _mav_put_uint16_t(buf, 78, main_packet_rx_drop_count);
+    _mav_put_uint16_t(buf, 80, main_rx_bitrate);
+    _mav_put_int16_t(buf, 82, log_number);
+    _mav_put_uint8_t(buf, 84, state);
+    _mav_put_uint8_t(buf, 85, gps_fix);
+    _mav_put_uint8_t(buf, 86, main_radio_present);
+    _mav_put_uint8_t(buf, 87, ethernet_present);
+    _mav_put_uint8_t(buf, 88, ethernet_status);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_ARP_TM_LEN);
+#else
+    mavlink_arp_tm_t packet;
+    packet.timestamp = timestamp;
+    packet.yaw = yaw;
+    packet.pitch = pitch;
+    packet.roll = roll;
+    packet.target_yaw = target_yaw;
+    packet.target_pitch = target_pitch;
+    packet.stepperX_pos = stepperX_pos;
+    packet.stepperX_delta = stepperX_delta;
+    packet.stepperX_speed = stepperX_speed;
+    packet.stepperY_pos = stepperY_pos;
+    packet.stepperY_delta = stepperY_delta;
+    packet.stepperY_speed = stepperY_speed;
+    packet.gps_latitude = gps_latitude;
+    packet.gps_longitude = gps_longitude;
+    packet.gps_height = gps_height;
+    packet.main_rx_rssi = main_rx_rssi;
+    packet.battery_voltage = battery_voltage;
+    packet.main_packet_tx_error_count = main_packet_tx_error_count;
+    packet.main_tx_bitrate = main_tx_bitrate;
+    packet.main_packet_rx_success_count = main_packet_rx_success_count;
+    packet.main_packet_rx_drop_count = main_packet_rx_drop_count;
+    packet.main_rx_bitrate = main_rx_bitrate;
+    packet.log_number = log_number;
+    packet.state = state;
+    packet.gps_fix = gps_fix;
+    packet.main_radio_present = main_radio_present;
+    packet.ethernet_present = ethernet_present;
+    packet.ethernet_status = ethernet_status;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ARP_TM_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_ARP_TM;
+#if MAVLINK_CRC_EXTRA
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_ARP_TM_MIN_LEN, MAVLINK_MSG_ID_ARP_TM_LEN, MAVLINK_MSG_ID_ARP_TM_CRC);
+#else
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_ARP_TM_MIN_LEN, MAVLINK_MSG_ID_ARP_TM_LEN);
+#endif
+}
+
 /**
  * @brief Pack a arp_tm message on a channel
  * @param system_id ID of this system
@@ -220,6 +346,7 @@ static inline uint16_t mavlink_msg_arp_tm_pack(uint8_t system_id, uint8_t compon
  * @param chan The MAVLink channel this message will be sent over
  * @param msg The MAVLink message to compress the data into
  * @param timestamp [us] Timestamp
+ * @param state  State Machine Controller State
  * @param yaw [deg] Current Yaw
  * @param pitch [deg] Current Pitch
  * @param roll [deg] Current Roll
@@ -245,11 +372,12 @@ static inline uint16_t mavlink_msg_arp_tm_pack(uint8_t system_id, uint8_t compon
  * @param ethernet_present  Boolean indicating the presence of the ethernet module
  * @param ethernet_status  Status flag indicating the status of the ethernet PHY
  * @param battery_voltage [V] Battery voltage
+ * @param log_number  Currently active log file, -1 if the logger is inactive
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_arp_tm_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
                                mavlink_message_t* msg,
-                                   uint64_t timestamp,float yaw,float pitch,float roll,float target_yaw,float target_pitch,float stepperX_pos,float stepperX_delta,float stepperX_speed,float stepperY_pos,float stepperY_delta,float stepperY_speed,float gps_latitude,float gps_longitude,float gps_height,uint8_t gps_fix,uint8_t main_radio_present,uint16_t main_packet_tx_error_count,uint16_t main_tx_bitrate,uint16_t main_packet_rx_success_count,uint16_t main_packet_rx_drop_count,uint16_t main_rx_bitrate,float main_rx_rssi,uint8_t ethernet_present,uint8_t ethernet_status,float battery_voltage)
+                                   uint64_t timestamp,uint8_t state,float yaw,float pitch,float roll,float target_yaw,float target_pitch,float stepperX_pos,float stepperX_delta,float stepperX_speed,float stepperY_pos,float stepperY_delta,float stepperY_speed,float gps_latitude,float gps_longitude,float gps_height,uint8_t gps_fix,uint8_t main_radio_present,uint16_t main_packet_tx_error_count,uint16_t main_tx_bitrate,uint16_t main_packet_rx_success_count,uint16_t main_packet_rx_drop_count,uint16_t main_rx_bitrate,float main_rx_rssi,uint8_t ethernet_present,uint8_t ethernet_status,float battery_voltage,int16_t log_number)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_ARP_TM_LEN];
@@ -275,10 +403,12 @@ static inline uint16_t mavlink_msg_arp_tm_pack_chan(uint8_t system_id, uint8_t c
     _mav_put_uint16_t(buf, 76, main_packet_rx_success_count);
     _mav_put_uint16_t(buf, 78, main_packet_rx_drop_count);
     _mav_put_uint16_t(buf, 80, main_rx_bitrate);
-    _mav_put_uint8_t(buf, 82, gps_fix);
-    _mav_put_uint8_t(buf, 83, main_radio_present);
-    _mav_put_uint8_t(buf, 84, ethernet_present);
-    _mav_put_uint8_t(buf, 85, ethernet_status);
+    _mav_put_int16_t(buf, 82, log_number);
+    _mav_put_uint8_t(buf, 84, state);
+    _mav_put_uint8_t(buf, 85, gps_fix);
+    _mav_put_uint8_t(buf, 86, main_radio_present);
+    _mav_put_uint8_t(buf, 87, ethernet_present);
+    _mav_put_uint8_t(buf, 88, ethernet_status);
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_ARP_TM_LEN);
 #else
@@ -305,6 +435,8 @@ static inline uint16_t mavlink_msg_arp_tm_pack_chan(uint8_t system_id, uint8_t c
     packet.main_packet_rx_success_count = main_packet_rx_success_count;
     packet.main_packet_rx_drop_count = main_packet_rx_drop_count;
     packet.main_rx_bitrate = main_rx_bitrate;
+    packet.log_number = log_number;
+    packet.state = state;
     packet.gps_fix = gps_fix;
     packet.main_radio_present = main_radio_present;
     packet.ethernet_present = ethernet_present;
@@ -327,7 +459,7 @@ static inline uint16_t mavlink_msg_arp_tm_pack_chan(uint8_t system_id, uint8_t c
  */
 static inline uint16_t mavlink_msg_arp_tm_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_arp_tm_t* arp_tm)
 {
-    return mavlink_msg_arp_tm_pack(system_id, component_id, msg, arp_tm->timestamp, arp_tm->yaw, arp_tm->pitch, arp_tm->roll, arp_tm->target_yaw, arp_tm->target_pitch, arp_tm->stepperX_pos, arp_tm->stepperX_delta, arp_tm->stepperX_speed, arp_tm->stepperY_pos, arp_tm->stepperY_delta, arp_tm->stepperY_speed, arp_tm->gps_latitude, arp_tm->gps_longitude, arp_tm->gps_height, arp_tm->gps_fix, arp_tm->main_radio_present, arp_tm->main_packet_tx_error_count, arp_tm->main_tx_bitrate, arp_tm->main_packet_rx_success_count, arp_tm->main_packet_rx_drop_count, arp_tm->main_rx_bitrate, arp_tm->main_rx_rssi, arp_tm->ethernet_present, arp_tm->ethernet_status, arp_tm->battery_voltage);
+    return mavlink_msg_arp_tm_pack(system_id, component_id, msg, arp_tm->timestamp, arp_tm->state, arp_tm->yaw, arp_tm->pitch, arp_tm->roll, arp_tm->target_yaw, arp_tm->target_pitch, arp_tm->stepperX_pos, arp_tm->stepperX_delta, arp_tm->stepperX_speed, arp_tm->stepperY_pos, arp_tm->stepperY_delta, arp_tm->stepperY_speed, arp_tm->gps_latitude, arp_tm->gps_longitude, arp_tm->gps_height, arp_tm->gps_fix, arp_tm->main_radio_present, arp_tm->main_packet_tx_error_count, arp_tm->main_tx_bitrate, arp_tm->main_packet_rx_success_count, arp_tm->main_packet_rx_drop_count, arp_tm->main_rx_bitrate, arp_tm->main_rx_rssi, arp_tm->ethernet_present, arp_tm->ethernet_status, arp_tm->battery_voltage, arp_tm->log_number);
 }
 
 /**
@@ -341,7 +473,21 @@ static inline uint16_t mavlink_msg_arp_tm_encode(uint8_t system_id, uint8_t comp
  */
 static inline uint16_t mavlink_msg_arp_tm_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_arp_tm_t* arp_tm)
 {
-    return mavlink_msg_arp_tm_pack_chan(system_id, component_id, chan, msg, arp_tm->timestamp, arp_tm->yaw, arp_tm->pitch, arp_tm->roll, arp_tm->target_yaw, arp_tm->target_pitch, arp_tm->stepperX_pos, arp_tm->stepperX_delta, arp_tm->stepperX_speed, arp_tm->stepperY_pos, arp_tm->stepperY_delta, arp_tm->stepperY_speed, arp_tm->gps_latitude, arp_tm->gps_longitude, arp_tm->gps_height, arp_tm->gps_fix, arp_tm->main_radio_present, arp_tm->main_packet_tx_error_count, arp_tm->main_tx_bitrate, arp_tm->main_packet_rx_success_count, arp_tm->main_packet_rx_drop_count, arp_tm->main_rx_bitrate, arp_tm->main_rx_rssi, arp_tm->ethernet_present, arp_tm->ethernet_status, arp_tm->battery_voltage);
+    return mavlink_msg_arp_tm_pack_chan(system_id, component_id, chan, msg, arp_tm->timestamp, arp_tm->state, arp_tm->yaw, arp_tm->pitch, arp_tm->roll, arp_tm->target_yaw, arp_tm->target_pitch, arp_tm->stepperX_pos, arp_tm->stepperX_delta, arp_tm->stepperX_speed, arp_tm->stepperY_pos, arp_tm->stepperY_delta, arp_tm->stepperY_speed, arp_tm->gps_latitude, arp_tm->gps_longitude, arp_tm->gps_height, arp_tm->gps_fix, arp_tm->main_radio_present, arp_tm->main_packet_tx_error_count, arp_tm->main_tx_bitrate, arp_tm->main_packet_rx_success_count, arp_tm->main_packet_rx_drop_count, arp_tm->main_rx_bitrate, arp_tm->main_rx_rssi, arp_tm->ethernet_present, arp_tm->ethernet_status, arp_tm->battery_voltage, arp_tm->log_number);
+}
+
+/**
+ * @brief Encode a arp_tm struct with provided status structure
+ *
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param status MAVLink status structure
+ * @param msg The MAVLink message to compress the data into
+ * @param arp_tm C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_arp_tm_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_arp_tm_t* arp_tm)
+{
+    return mavlink_msg_arp_tm_pack_status(system_id, component_id, _status, msg,  arp_tm->timestamp, arp_tm->state, arp_tm->yaw, arp_tm->pitch, arp_tm->roll, arp_tm->target_yaw, arp_tm->target_pitch, arp_tm->stepperX_pos, arp_tm->stepperX_delta, arp_tm->stepperX_speed, arp_tm->stepperY_pos, arp_tm->stepperY_delta, arp_tm->stepperY_speed, arp_tm->gps_latitude, arp_tm->gps_longitude, arp_tm->gps_height, arp_tm->gps_fix, arp_tm->main_radio_present, arp_tm->main_packet_tx_error_count, arp_tm->main_tx_bitrate, arp_tm->main_packet_rx_success_count, arp_tm->main_packet_rx_drop_count, arp_tm->main_rx_bitrate, arp_tm->main_rx_rssi, arp_tm->ethernet_present, arp_tm->ethernet_status, arp_tm->battery_voltage, arp_tm->log_number);
 }
 
 /**
@@ -349,6 +495,7 @@ static inline uint16_t mavlink_msg_arp_tm_encode_chan(uint8_t system_id, uint8_t
  * @param chan MAVLink channel to send the message
  *
  * @param timestamp [us] Timestamp
+ * @param state  State Machine Controller State
  * @param yaw [deg] Current Yaw
  * @param pitch [deg] Current Pitch
  * @param roll [deg] Current Roll
@@ -374,10 +521,11 @@ static inline uint16_t mavlink_msg_arp_tm_encode_chan(uint8_t system_id, uint8_t
  * @param ethernet_present  Boolean indicating the presence of the ethernet module
  * @param ethernet_status  Status flag indicating the status of the ethernet PHY
  * @param battery_voltage [V] Battery voltage
+ * @param log_number  Currently active log file, -1 if the logger is inactive
  */
 #ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
 
-static inline void mavlink_msg_arp_tm_send(mavlink_channel_t chan, uint64_t timestamp, float yaw, float pitch, float roll, float target_yaw, float target_pitch, float stepperX_pos, float stepperX_delta, float stepperX_speed, float stepperY_pos, float stepperY_delta, float stepperY_speed, float gps_latitude, float gps_longitude, float gps_height, uint8_t gps_fix, uint8_t main_radio_present, uint16_t main_packet_tx_error_count, uint16_t main_tx_bitrate, uint16_t main_packet_rx_success_count, uint16_t main_packet_rx_drop_count, uint16_t main_rx_bitrate, float main_rx_rssi, uint8_t ethernet_present, uint8_t ethernet_status, float battery_voltage)
+static inline void mavlink_msg_arp_tm_send(mavlink_channel_t chan, uint64_t timestamp, uint8_t state, float yaw, float pitch, float roll, float target_yaw, float target_pitch, float stepperX_pos, float stepperX_delta, float stepperX_speed, float stepperY_pos, float stepperY_delta, float stepperY_speed, float gps_latitude, float gps_longitude, float gps_height, uint8_t gps_fix, uint8_t main_radio_present, uint16_t main_packet_tx_error_count, uint16_t main_tx_bitrate, uint16_t main_packet_rx_success_count, uint16_t main_packet_rx_drop_count, uint16_t main_rx_bitrate, float main_rx_rssi, uint8_t ethernet_present, uint8_t ethernet_status, float battery_voltage, int16_t log_number)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_ARP_TM_LEN];
@@ -403,10 +551,12 @@ static inline void mavlink_msg_arp_tm_send(mavlink_channel_t chan, uint64_t time
     _mav_put_uint16_t(buf, 76, main_packet_rx_success_count);
     _mav_put_uint16_t(buf, 78, main_packet_rx_drop_count);
     _mav_put_uint16_t(buf, 80, main_rx_bitrate);
-    _mav_put_uint8_t(buf, 82, gps_fix);
-    _mav_put_uint8_t(buf, 83, main_radio_present);
-    _mav_put_uint8_t(buf, 84, ethernet_present);
-    _mav_put_uint8_t(buf, 85, ethernet_status);
+    _mav_put_int16_t(buf, 82, log_number);
+    _mav_put_uint8_t(buf, 84, state);
+    _mav_put_uint8_t(buf, 85, gps_fix);
+    _mav_put_uint8_t(buf, 86, main_radio_present);
+    _mav_put_uint8_t(buf, 87, ethernet_present);
+    _mav_put_uint8_t(buf, 88, ethernet_status);
 
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ARP_TM, buf, MAVLINK_MSG_ID_ARP_TM_MIN_LEN, MAVLINK_MSG_ID_ARP_TM_LEN, MAVLINK_MSG_ID_ARP_TM_CRC);
 #else
@@ -433,6 +583,8 @@ static inline void mavlink_msg_arp_tm_send(mavlink_channel_t chan, uint64_t time
     packet.main_packet_rx_success_count = main_packet_rx_success_count;
     packet.main_packet_rx_drop_count = main_packet_rx_drop_count;
     packet.main_rx_bitrate = main_rx_bitrate;
+    packet.log_number = log_number;
+    packet.state = state;
     packet.gps_fix = gps_fix;
     packet.main_radio_present = main_radio_present;
     packet.ethernet_present = ethernet_present;
@@ -450,7 +602,7 @@ static inline void mavlink_msg_arp_tm_send(mavlink_channel_t chan, uint64_t time
 static inline void mavlink_msg_arp_tm_send_struct(mavlink_channel_t chan, const mavlink_arp_tm_t* arp_tm)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
-    mavlink_msg_arp_tm_send(chan, arp_tm->timestamp, arp_tm->yaw, arp_tm->pitch, arp_tm->roll, arp_tm->target_yaw, arp_tm->target_pitch, arp_tm->stepperX_pos, arp_tm->stepperX_delta, arp_tm->stepperX_speed, arp_tm->stepperY_pos, arp_tm->stepperY_delta, arp_tm->stepperY_speed, arp_tm->gps_latitude, arp_tm->gps_longitude, arp_tm->gps_height, arp_tm->gps_fix, arp_tm->main_radio_present, arp_tm->main_packet_tx_error_count, arp_tm->main_tx_bitrate, arp_tm->main_packet_rx_success_count, arp_tm->main_packet_rx_drop_count, arp_tm->main_rx_bitrate, arp_tm->main_rx_rssi, arp_tm->ethernet_present, arp_tm->ethernet_status, arp_tm->battery_voltage);
+    mavlink_msg_arp_tm_send(chan, arp_tm->timestamp, arp_tm->state, arp_tm->yaw, arp_tm->pitch, arp_tm->roll, arp_tm->target_yaw, arp_tm->target_pitch, arp_tm->stepperX_pos, arp_tm->stepperX_delta, arp_tm->stepperX_speed, arp_tm->stepperY_pos, arp_tm->stepperY_delta, arp_tm->stepperY_speed, arp_tm->gps_latitude, arp_tm->gps_longitude, arp_tm->gps_height, arp_tm->gps_fix, arp_tm->main_radio_present, arp_tm->main_packet_tx_error_count, arp_tm->main_tx_bitrate, arp_tm->main_packet_rx_success_count, arp_tm->main_packet_rx_drop_count, arp_tm->main_rx_bitrate, arp_tm->main_rx_rssi, arp_tm->ethernet_present, arp_tm->ethernet_status, arp_tm->battery_voltage, arp_tm->log_number);
 #else
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ARP_TM, (const char *)arp_tm, MAVLINK_MSG_ID_ARP_TM_MIN_LEN, MAVLINK_MSG_ID_ARP_TM_LEN, MAVLINK_MSG_ID_ARP_TM_CRC);
 #endif
@@ -464,7 +616,7 @@ static inline void mavlink_msg_arp_tm_send_struct(mavlink_channel_t chan, const
   is usually the receive buffer for the channel, and allows a reply to an
   incoming message with minimum stack space usage.
  */
-static inline void mavlink_msg_arp_tm_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint64_t timestamp, float yaw, float pitch, float roll, float target_yaw, float target_pitch, float stepperX_pos, float stepperX_delta, float stepperX_speed, float stepperY_pos, float stepperY_delta, float stepperY_speed, float gps_latitude, float gps_longitude, float gps_height, uint8_t gps_fix, uint8_t main_radio_present, uint16_t main_packet_tx_error_count, uint16_t main_tx_bitrate, uint16_t main_packet_rx_success_count, uint16_t main_packet_rx_drop_count, uint16_t main_rx_bitrate, float main_rx_rssi, uint8_t ethernet_present, uint8_t ethernet_status, float battery_voltage)
+static inline void mavlink_msg_arp_tm_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint64_t timestamp, uint8_t state, float yaw, float pitch, float roll, float target_yaw, float target_pitch, float stepperX_pos, float stepperX_delta, float stepperX_speed, float stepperY_pos, float stepperY_delta, float stepperY_speed, float gps_latitude, float gps_longitude, float gps_height, uint8_t gps_fix, uint8_t main_radio_present, uint16_t main_packet_tx_error_count, uint16_t main_tx_bitrate, uint16_t main_packet_rx_success_count, uint16_t main_packet_rx_drop_count, uint16_t main_rx_bitrate, float main_rx_rssi, uint8_t ethernet_present, uint8_t ethernet_status, float battery_voltage, int16_t log_number)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char *buf = (char *)msgbuf;
@@ -490,10 +642,12 @@ static inline void mavlink_msg_arp_tm_send_buf(mavlink_message_t *msgbuf, mavlin
     _mav_put_uint16_t(buf, 76, main_packet_rx_success_count);
     _mav_put_uint16_t(buf, 78, main_packet_rx_drop_count);
     _mav_put_uint16_t(buf, 80, main_rx_bitrate);
-    _mav_put_uint8_t(buf, 82, gps_fix);
-    _mav_put_uint8_t(buf, 83, main_radio_present);
-    _mav_put_uint8_t(buf, 84, ethernet_present);
-    _mav_put_uint8_t(buf, 85, ethernet_status);
+    _mav_put_int16_t(buf, 82, log_number);
+    _mav_put_uint8_t(buf, 84, state);
+    _mav_put_uint8_t(buf, 85, gps_fix);
+    _mav_put_uint8_t(buf, 86, main_radio_present);
+    _mav_put_uint8_t(buf, 87, ethernet_present);
+    _mav_put_uint8_t(buf, 88, ethernet_status);
 
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ARP_TM, buf, MAVLINK_MSG_ID_ARP_TM_MIN_LEN, MAVLINK_MSG_ID_ARP_TM_LEN, MAVLINK_MSG_ID_ARP_TM_CRC);
 #else
@@ -520,6 +674,8 @@ static inline void mavlink_msg_arp_tm_send_buf(mavlink_message_t *msgbuf, mavlin
     packet->main_packet_rx_success_count = main_packet_rx_success_count;
     packet->main_packet_rx_drop_count = main_packet_rx_drop_count;
     packet->main_rx_bitrate = main_rx_bitrate;
+    packet->log_number = log_number;
+    packet->state = state;
     packet->gps_fix = gps_fix;
     packet->main_radio_present = main_radio_present;
     packet->ethernet_present = ethernet_present;
@@ -545,6 +701,16 @@ static inline uint64_t mavlink_msg_arp_tm_get_timestamp(const mavlink_message_t*
     return _MAV_RETURN_uint64_t(msg,  0);
 }
 
+/**
+ * @brief Get field state from arp_tm message
+ *
+ * @return  State Machine Controller State
+ */
+static inline uint8_t mavlink_msg_arp_tm_get_state(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint8_t(msg,  84);
+}
+
 /**
  * @brief Get field yaw from arp_tm message
  *
@@ -692,7 +858,7 @@ static inline float mavlink_msg_arp_tm_get_gps_height(const mavlink_message_t* m
  */
 static inline uint8_t mavlink_msg_arp_tm_get_gps_fix(const mavlink_message_t* msg)
 {
-    return _MAV_RETURN_uint8_t(msg,  82);
+    return _MAV_RETURN_uint8_t(msg,  85);
 }
 
 /**
@@ -702,7 +868,7 @@ static inline uint8_t mavlink_msg_arp_tm_get_gps_fix(const mavlink_message_t* ms
  */
 static inline uint8_t mavlink_msg_arp_tm_get_main_radio_present(const mavlink_message_t* msg)
 {
-    return _MAV_RETURN_uint8_t(msg,  83);
+    return _MAV_RETURN_uint8_t(msg,  86);
 }
 
 /**
@@ -772,7 +938,7 @@ static inline float mavlink_msg_arp_tm_get_main_rx_rssi(const mavlink_message_t*
  */
 static inline uint8_t mavlink_msg_arp_tm_get_ethernet_present(const mavlink_message_t* msg)
 {
-    return _MAV_RETURN_uint8_t(msg,  84);
+    return _MAV_RETURN_uint8_t(msg,  87);
 }
 
 /**
@@ -782,7 +948,7 @@ static inline uint8_t mavlink_msg_arp_tm_get_ethernet_present(const mavlink_mess
  */
 static inline uint8_t mavlink_msg_arp_tm_get_ethernet_status(const mavlink_message_t* msg)
 {
-    return _MAV_RETURN_uint8_t(msg,  85);
+    return _MAV_RETURN_uint8_t(msg,  88);
 }
 
 /**
@@ -795,6 +961,16 @@ static inline float mavlink_msg_arp_tm_get_battery_voltage(const mavlink_message
     return _MAV_RETURN_float(msg,  68);
 }
 
+/**
+ * @brief Get field log_number from arp_tm message
+ *
+ * @return  Currently active log file, -1 if the logger is inactive
+ */
+static inline int16_t mavlink_msg_arp_tm_get_log_number(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_int16_t(msg,  82);
+}
+
 /**
  * @brief Decode a arp_tm message into a struct
  *
@@ -826,6 +1002,8 @@ static inline void mavlink_msg_arp_tm_decode(const mavlink_message_t* msg, mavli
     arp_tm->main_packet_rx_success_count = mavlink_msg_arp_tm_get_main_packet_rx_success_count(msg);
     arp_tm->main_packet_rx_drop_count = mavlink_msg_arp_tm_get_main_packet_rx_drop_count(msg);
     arp_tm->main_rx_bitrate = mavlink_msg_arp_tm_get_main_rx_bitrate(msg);
+    arp_tm->log_number = mavlink_msg_arp_tm_get_log_number(msg);
+    arp_tm->state = mavlink_msg_arp_tm_get_state(msg);
     arp_tm->gps_fix = mavlink_msg_arp_tm_get_gps_fix(msg);
     arp_tm->main_radio_present = mavlink_msg_arp_tm_get_main_radio_present(msg);
     arp_tm->ethernet_present = mavlink_msg_arp_tm_get_ethernet_present(msg);
diff --git a/mavlink_lib/lyra/mavlink_msg_fsm_tm.h b/mavlink_lib/lyra/mavlink_msg_fsm_tm.h
index cc60afc359614defcc489ad0497c01e43dfc908a..26a6570b3eb206c73e195c6649f00ad945026c68 100644
--- a/mavlink_lib/lyra/mavlink_msg_fsm_tm.h
+++ b/mavlink_lib/lyra/mavlink_msg_fsm_tm.h
@@ -99,6 +99,57 @@ static inline uint16_t mavlink_msg_fsm_tm_pack(uint8_t system_id, uint8_t compon
     return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_FSM_TM_MIN_LEN, MAVLINK_MSG_ID_FSM_TM_LEN, MAVLINK_MSG_ID_FSM_TM_CRC);
 }
 
+/**
+ * @brief Pack a fsm_tm message
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param status MAVLink status structure
+ * @param msg The MAVLink message to compress the data into
+ *
+ * @param timestamp [us] Timestamp
+ * @param ada_state  Apogee Detection Algorithm state
+ * @param abk_state  Air Brakes state
+ * @param dpl_state  Deployment state
+ * @param fmm_state  Flight Mode Manager state
+ * @param nas_state  Navigation and Attitude System state
+ * @param wes_state  Wind Estimation System state
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_fsm_tm_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
+                               uint64_t timestamp, uint8_t ada_state, uint8_t abk_state, uint8_t dpl_state, uint8_t fmm_state, uint8_t nas_state, uint8_t wes_state)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_FSM_TM_LEN];
+    _mav_put_uint64_t(buf, 0, timestamp);
+    _mav_put_uint8_t(buf, 8, ada_state);
+    _mav_put_uint8_t(buf, 9, abk_state);
+    _mav_put_uint8_t(buf, 10, dpl_state);
+    _mav_put_uint8_t(buf, 11, fmm_state);
+    _mav_put_uint8_t(buf, 12, nas_state);
+    _mav_put_uint8_t(buf, 13, wes_state);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_FSM_TM_LEN);
+#else
+    mavlink_fsm_tm_t packet;
+    packet.timestamp = timestamp;
+    packet.ada_state = ada_state;
+    packet.abk_state = abk_state;
+    packet.dpl_state = dpl_state;
+    packet.fmm_state = fmm_state;
+    packet.nas_state = nas_state;
+    packet.wes_state = wes_state;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_FSM_TM_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_FSM_TM;
+#if MAVLINK_CRC_EXTRA
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_FSM_TM_MIN_LEN, MAVLINK_MSG_ID_FSM_TM_LEN, MAVLINK_MSG_ID_FSM_TM_CRC);
+#else
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_FSM_TM_MIN_LEN, MAVLINK_MSG_ID_FSM_TM_LEN);
+#endif
+}
+
 /**
  * @brief Pack a fsm_tm message on a channel
  * @param system_id ID of this system
@@ -173,6 +224,20 @@ static inline uint16_t mavlink_msg_fsm_tm_encode_chan(uint8_t system_id, uint8_t
     return mavlink_msg_fsm_tm_pack_chan(system_id, component_id, chan, msg, fsm_tm->timestamp, fsm_tm->ada_state, fsm_tm->abk_state, fsm_tm->dpl_state, fsm_tm->fmm_state, fsm_tm->nas_state, fsm_tm->wes_state);
 }
 
+/**
+ * @brief Encode a fsm_tm struct with provided status structure
+ *
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param status MAVLink status structure
+ * @param msg The MAVLink message to compress the data into
+ * @param fsm_tm C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_fsm_tm_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_fsm_tm_t* fsm_tm)
+{
+    return mavlink_msg_fsm_tm_pack_status(system_id, component_id, _status, msg,  fsm_tm->timestamp, fsm_tm->ada_state, fsm_tm->abk_state, fsm_tm->dpl_state, fsm_tm->fmm_state, fsm_tm->nas_state, fsm_tm->wes_state);
+}
+
 /**
  * @brief Send a fsm_tm message
  * @param chan MAVLink channel to send the message
diff --git a/mavlink_lib/lyra/mavlink_msg_gse_tm.h b/mavlink_lib/lyra/mavlink_msg_gse_tm.h
index dc01750b923ef1bb1ba108fa917949fcf22aede2..f96084f5178a05f8af050364fa32190938db54da 100644
--- a/mavlink_lib/lyra/mavlink_msg_gse_tm.h
+++ b/mavlink_lib/lyra/mavlink_msg_gse_tm.h
@@ -177,27 +177,23 @@ static inline uint16_t mavlink_msg_gse_tm_pack(uint8_t system_id, uint8_t compon
  * @param loadcell_vessel [kg] External tank weight
  * @param filling_pressure [Bar] Refueling line pressure
  * @param vessel_pressure [Bar] Vessel tank pressure
+ * @param arming_state  1 If the rocket is armed
  * @param filling_valve_state  1 If the filling valve is open
  * @param venting_valve_state  1 If the venting valve is open
  * @param release_valve_state  1 If the release valve is open
  * @param main_valve_state  1 If the main valve is open
  * @param nitrogen_valve_state   1 If the nitrogen valve is open
  * @param gmm_state  State of the GroundModeManager
- * @param tars_state  State of Tars
+ * @param tars_state  1 If the TARS algorithm is running
  * @param battery_voltage  Battery voltage
- * @param current_consumption [A] RIG current
- * @param umbilical_current_consumption [A] Umbilical current
- * @param main_board_status  Main board status (1 if armed)
- * @param payload_board_status  Payload board status (1 if armed)
- * @param main_can_status  Main CAN status
- * @param payload_can_status  Payload CAN status
- * @param motor_can_status  Motor CAN status
- * @param log_number  Currently active log file, -1 if the logger is inactive
- * @param writes_failed  Number of fwrite() that failed
+ * @param current_consumption   RIG current 
+ * @param main_board_status   MAIN board status [0: not present, 1: online, 2: armed]
+ * @param payload_board_status   PAYLOAD board status [0: not present, 1: online, 2: armed]
+ * @param motor_board_status   MOTOR board status [0: not present, 1: online, 2: armed]
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_gse_tm_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
-                               uint64_t timestamp, float loadcell_rocket, float loadcell_vessel, float filling_pressure, float vessel_pressure, uint8_t filling_valve_state, uint8_t venting_valve_state, uint8_t release_valve_state, uint8_t main_valve_state, uint8_t nitrogen_valve_state, uint8_t gmm_state, uint8_t tars_state, float battery_voltage, float current_consumption, float umbilical_current_consumption, uint8_t main_board_status, uint8_t payload_board_status, uint8_t main_can_status, uint8_t payload_can_status, uint8_t motor_can_status, int16_t log_number, int32_t writes_failed)
+                               uint64_t timestamp, float loadcell_rocket, float loadcell_vessel, float filling_pressure, float vessel_pressure, uint8_t arming_state, uint8_t filling_valve_state, uint8_t venting_valve_state, uint8_t release_valve_state, uint8_t main_valve_state, uint8_t nitrogen_valve_state, uint8_t gmm_state, uint8_t tars_state, float battery_voltage, float current_consumption, uint8_t main_board_status, uint8_t payload_board_status, uint8_t motor_board_status)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_GSE_TM_LEN];
@@ -208,21 +204,17 @@ static inline uint16_t mavlink_msg_gse_tm_pack_status(uint8_t system_id, uint8_t
     _mav_put_float(buf, 20, vessel_pressure);
     _mav_put_float(buf, 24, battery_voltage);
     _mav_put_float(buf, 28, current_consumption);
-    _mav_put_float(buf, 32, umbilical_current_consumption);
-    _mav_put_int32_t(buf, 36, writes_failed);
-    _mav_put_int16_t(buf, 40, log_number);
-    _mav_put_uint8_t(buf, 42, filling_valve_state);
-    _mav_put_uint8_t(buf, 43, venting_valve_state);
-    _mav_put_uint8_t(buf, 44, release_valve_state);
-    _mav_put_uint8_t(buf, 45, main_valve_state);
-    _mav_put_uint8_t(buf, 46, nitrogen_valve_state);
-    _mav_put_uint8_t(buf, 47, gmm_state);
-    _mav_put_uint8_t(buf, 48, tars_state);
-    _mav_put_uint8_t(buf, 49, main_board_status);
-    _mav_put_uint8_t(buf, 50, payload_board_status);
-    _mav_put_uint8_t(buf, 51, main_can_status);
-    _mav_put_uint8_t(buf, 52, payload_can_status);
-    _mav_put_uint8_t(buf, 53, motor_can_status);
+    _mav_put_uint8_t(buf, 32, arming_state);
+    _mav_put_uint8_t(buf, 33, filling_valve_state);
+    _mav_put_uint8_t(buf, 34, venting_valve_state);
+    _mav_put_uint8_t(buf, 35, release_valve_state);
+    _mav_put_uint8_t(buf, 36, main_valve_state);
+    _mav_put_uint8_t(buf, 37, nitrogen_valve_state);
+    _mav_put_uint8_t(buf, 38, gmm_state);
+    _mav_put_uint8_t(buf, 39, tars_state);
+    _mav_put_uint8_t(buf, 40, main_board_status);
+    _mav_put_uint8_t(buf, 41, payload_board_status);
+    _mav_put_uint8_t(buf, 42, motor_board_status);
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_GSE_TM_LEN);
 #else
@@ -234,9 +226,7 @@ static inline uint16_t mavlink_msg_gse_tm_pack_status(uint8_t system_id, uint8_t
     packet.vessel_pressure = vessel_pressure;
     packet.battery_voltage = battery_voltage;
     packet.current_consumption = current_consumption;
-    packet.umbilical_current_consumption = umbilical_current_consumption;
-    packet.writes_failed = writes_failed;
-    packet.log_number = log_number;
+    packet.arming_state = arming_state;
     packet.filling_valve_state = filling_valve_state;
     packet.venting_valve_state = venting_valve_state;
     packet.release_valve_state = release_valve_state;
@@ -246,9 +236,7 @@ static inline uint16_t mavlink_msg_gse_tm_pack_status(uint8_t system_id, uint8_t
     packet.tars_state = tars_state;
     packet.main_board_status = main_board_status;
     packet.payload_board_status = payload_board_status;
-    packet.main_can_status = main_can_status;
-    packet.payload_can_status = payload_can_status;
-    packet.motor_can_status = motor_can_status;
+    packet.motor_board_status = motor_board_status;
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_GSE_TM_LEN);
 #endif
@@ -379,7 +367,7 @@ static inline uint16_t mavlink_msg_gse_tm_encode_chan(uint8_t system_id, uint8_t
  */
 static inline uint16_t mavlink_msg_gse_tm_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_gse_tm_t* gse_tm)
 {
-    return mavlink_msg_gse_tm_pack_status(system_id, component_id, _status, msg,  gse_tm->timestamp, gse_tm->loadcell_rocket, gse_tm->loadcell_vessel, gse_tm->filling_pressure, gse_tm->vessel_pressure, gse_tm->filling_valve_state, gse_tm->venting_valve_state, gse_tm->release_valve_state, gse_tm->main_valve_state, gse_tm->nitrogen_valve_state, gse_tm->gmm_state, gse_tm->tars_state, gse_tm->battery_voltage, gse_tm->current_consumption, gse_tm->umbilical_current_consumption, gse_tm->main_board_status, gse_tm->payload_board_status, gse_tm->main_can_status, gse_tm->payload_can_status, gse_tm->motor_can_status, gse_tm->log_number, gse_tm->writes_failed);
+    return mavlink_msg_gse_tm_pack_status(system_id, component_id, _status, msg,  gse_tm->timestamp, gse_tm->loadcell_rocket, gse_tm->loadcell_vessel, gse_tm->filling_pressure, gse_tm->vessel_pressure, gse_tm->arming_state, gse_tm->filling_valve_state, gse_tm->venting_valve_state, gse_tm->release_valve_state, gse_tm->main_valve_state, gse_tm->nitrogen_valve_state, gse_tm->gmm_state, gse_tm->tars_state, gse_tm->battery_voltage, gse_tm->current_consumption, gse_tm->main_board_status, gse_tm->payload_board_status, gse_tm->motor_board_status);
 }
 
 /**
diff --git a/mavlink_lib/lyra/mavlink_msg_mea_tm.h b/mavlink_lib/lyra/mavlink_msg_mea_tm.h
index dbaa19f1bad15957b8f1b69a97737fa6a2d73098..c80ae2974d5746b89f1ccd5e552271bf6c737cc4 100644
--- a/mavlink_lib/lyra/mavlink_msg_mea_tm.h
+++ b/mavlink_lib/lyra/mavlink_msg_mea_tm.h
@@ -112,7 +112,7 @@ static inline uint16_t mavlink_msg_mea_tm_pack(uint8_t system_id, uint8_t compon
  * @param kalman_x1  Kalman state variable 1 
  * @param kalman_x2  Kalman state variable 2 (mass)
  * @param mass [kg] Mass estimated
- * @param corrected_pressure [Pa] Corrected pressure
+ * @param corrected_pressure [kg] Corrected pressure
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_mea_tm_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
diff --git a/mavlink_lib/lyra/mavlink_msg_motor_tm.h b/mavlink_lib/lyra/mavlink_msg_motor_tm.h
index 66102446f17e7a22ab85d5b45231838c7aa10695..a70ad83205752424bdfbbee121368891969bdd39 100644
--- a/mavlink_lib/lyra/mavlink_msg_motor_tm.h
+++ b/mavlink_lib/lyra/mavlink_msg_motor_tm.h
@@ -12,17 +12,18 @@ typedef struct __mavlink_motor_tm_t {
  float tank_temperature; /*<  Tank temperature*/
  float battery_voltage; /*< [V] Battery voltage*/
  float current_consumption; /*< [A] Current drained from the battery*/
+ uint8_t floating_level; /*<  Floating level in tank*/
  uint8_t main_valve_state; /*<  1 If the main valve is open */
  uint8_t venting_valve_state; /*<  1 If the venting valve is open */
 } mavlink_motor_tm_t;
 
-#define MAVLINK_MSG_ID_MOTOR_TM_LEN 34
-#define MAVLINK_MSG_ID_MOTOR_TM_MIN_LEN 34
-#define MAVLINK_MSG_ID_213_LEN 34
-#define MAVLINK_MSG_ID_213_MIN_LEN 34
+#define MAVLINK_MSG_ID_MOTOR_TM_LEN 35
+#define MAVLINK_MSG_ID_MOTOR_TM_MIN_LEN 35
+#define MAVLINK_MSG_ID_213_LEN 35
+#define MAVLINK_MSG_ID_213_MIN_LEN 35
 
-#define MAVLINK_MSG_ID_MOTOR_TM_CRC 89
-#define MAVLINK_MSG_ID_213_CRC 89
+#define MAVLINK_MSG_ID_MOTOR_TM_CRC 79
+#define MAVLINK_MSG_ID_213_CRC 79
 
 
 
@@ -30,14 +31,15 @@ typedef struct __mavlink_motor_tm_t {
 #define MAVLINK_MESSAGE_INFO_MOTOR_TM { \
     213, \
     "MOTOR_TM", \
-    9, \
+    10, \
     {  { "timestamp", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_motor_tm_t, timestamp) }, \
          { "top_tank_pressure", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_motor_tm_t, top_tank_pressure) }, \
          { "bottom_tank_pressure", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_motor_tm_t, bottom_tank_pressure) }, \
          { "combustion_chamber_pressure", NULL, MAVLINK_TYPE_FLOAT, 0, 16, offsetof(mavlink_motor_tm_t, combustion_chamber_pressure) }, \
+         { "floating_level", NULL, MAVLINK_TYPE_UINT8_T, 0, 32, offsetof(mavlink_motor_tm_t, floating_level) }, \
          { "tank_temperature", NULL, MAVLINK_TYPE_FLOAT, 0, 20, offsetof(mavlink_motor_tm_t, tank_temperature) }, \
-         { "main_valve_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 32, offsetof(mavlink_motor_tm_t, main_valve_state) }, \
-         { "venting_valve_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 33, offsetof(mavlink_motor_tm_t, venting_valve_state) }, \
+         { "main_valve_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 33, offsetof(mavlink_motor_tm_t, main_valve_state) }, \
+         { "venting_valve_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 34, offsetof(mavlink_motor_tm_t, venting_valve_state) }, \
          { "battery_voltage", NULL, MAVLINK_TYPE_FLOAT, 0, 24, offsetof(mavlink_motor_tm_t, battery_voltage) }, \
          { "current_consumption", NULL, MAVLINK_TYPE_FLOAT, 0, 28, offsetof(mavlink_motor_tm_t, current_consumption) }, \
          } \
@@ -45,14 +47,15 @@ typedef struct __mavlink_motor_tm_t {
 #else
 #define MAVLINK_MESSAGE_INFO_MOTOR_TM { \
     "MOTOR_TM", \
-    9, \
+    10, \
     {  { "timestamp", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_motor_tm_t, timestamp) }, \
          { "top_tank_pressure", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_motor_tm_t, top_tank_pressure) }, \
          { "bottom_tank_pressure", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_motor_tm_t, bottom_tank_pressure) }, \
          { "combustion_chamber_pressure", NULL, MAVLINK_TYPE_FLOAT, 0, 16, offsetof(mavlink_motor_tm_t, combustion_chamber_pressure) }, \
+         { "floating_level", NULL, MAVLINK_TYPE_UINT8_T, 0, 32, offsetof(mavlink_motor_tm_t, floating_level) }, \
          { "tank_temperature", NULL, MAVLINK_TYPE_FLOAT, 0, 20, offsetof(mavlink_motor_tm_t, tank_temperature) }, \
-         { "main_valve_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 32, offsetof(mavlink_motor_tm_t, main_valve_state) }, \
-         { "venting_valve_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 33, offsetof(mavlink_motor_tm_t, venting_valve_state) }, \
+         { "main_valve_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 33, offsetof(mavlink_motor_tm_t, main_valve_state) }, \
+         { "venting_valve_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 34, offsetof(mavlink_motor_tm_t, venting_valve_state) }, \
          { "battery_voltage", NULL, MAVLINK_TYPE_FLOAT, 0, 24, offsetof(mavlink_motor_tm_t, battery_voltage) }, \
          { "current_consumption", NULL, MAVLINK_TYPE_FLOAT, 0, 28, offsetof(mavlink_motor_tm_t, current_consumption) }, \
          } \
@@ -69,6 +72,7 @@ typedef struct __mavlink_motor_tm_t {
  * @param top_tank_pressure [Bar] Tank upper pressure
  * @param bottom_tank_pressure [Bar] Tank bottom pressure
  * @param combustion_chamber_pressure [Bar] Pressure inside the combustion chamber used for automatic shutdown
+ * @param floating_level  Floating level in tank
  * @param tank_temperature  Tank temperature
  * @param main_valve_state  1 If the main valve is open 
  * @param venting_valve_state  1 If the venting valve is open 
@@ -77,7 +81,7 @@ typedef struct __mavlink_motor_tm_t {
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_motor_tm_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
-                               uint64_t timestamp, float top_tank_pressure, float bottom_tank_pressure, float combustion_chamber_pressure, float tank_temperature, uint8_t main_valve_state, uint8_t venting_valve_state, float battery_voltage, float current_consumption)
+                               uint64_t timestamp, float top_tank_pressure, float bottom_tank_pressure, float combustion_chamber_pressure, uint8_t floating_level, float tank_temperature, uint8_t main_valve_state, uint8_t venting_valve_state, float battery_voltage, float current_consumption)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_MOTOR_TM_LEN];
@@ -88,8 +92,9 @@ static inline uint16_t mavlink_msg_motor_tm_pack(uint8_t system_id, uint8_t comp
     _mav_put_float(buf, 20, tank_temperature);
     _mav_put_float(buf, 24, battery_voltage);
     _mav_put_float(buf, 28, current_consumption);
-    _mav_put_uint8_t(buf, 32, main_valve_state);
-    _mav_put_uint8_t(buf, 33, venting_valve_state);
+    _mav_put_uint8_t(buf, 32, floating_level);
+    _mav_put_uint8_t(buf, 33, main_valve_state);
+    _mav_put_uint8_t(buf, 34, venting_valve_state);
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_MOTOR_TM_LEN);
 #else
@@ -101,6 +106,7 @@ static inline uint16_t mavlink_msg_motor_tm_pack(uint8_t system_id, uint8_t comp
     packet.tank_temperature = tank_temperature;
     packet.battery_voltage = battery_voltage;
     packet.current_consumption = current_consumption;
+    packet.floating_level = floating_level;
     packet.main_valve_state = main_valve_state;
     packet.venting_valve_state = venting_valve_state;
 
@@ -111,6 +117,66 @@ static inline uint16_t mavlink_msg_motor_tm_pack(uint8_t system_id, uint8_t comp
     return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_MOTOR_TM_MIN_LEN, MAVLINK_MSG_ID_MOTOR_TM_LEN, MAVLINK_MSG_ID_MOTOR_TM_CRC);
 }
 
+/**
+ * @brief Pack a motor_tm message
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param status MAVLink status structure
+ * @param msg The MAVLink message to compress the data into
+ *
+ * @param timestamp [us] Timestamp in microseconds
+ * @param top_tank_pressure [Bar] Tank upper pressure
+ * @param bottom_tank_pressure [Bar] Tank bottom pressure
+ * @param combustion_chamber_pressure [Bar] Pressure inside the combustion chamber used for automatic shutdown
+ * @param floating_level  Floating level in tank
+ * @param tank_temperature  Tank temperature
+ * @param main_valve_state  1 If the main valve is open 
+ * @param venting_valve_state  1 If the venting valve is open 
+ * @param battery_voltage [V] Battery voltage
+ * @param current_consumption [A] Current drained from the battery
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_motor_tm_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
+                               uint64_t timestamp, float top_tank_pressure, float bottom_tank_pressure, float combustion_chamber_pressure, uint8_t floating_level, float tank_temperature, uint8_t main_valve_state, uint8_t venting_valve_state, float battery_voltage, float current_consumption)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_MOTOR_TM_LEN];
+    _mav_put_uint64_t(buf, 0, timestamp);
+    _mav_put_float(buf, 8, top_tank_pressure);
+    _mav_put_float(buf, 12, bottom_tank_pressure);
+    _mav_put_float(buf, 16, combustion_chamber_pressure);
+    _mav_put_float(buf, 20, tank_temperature);
+    _mav_put_float(buf, 24, battery_voltage);
+    _mav_put_float(buf, 28, current_consumption);
+    _mav_put_uint8_t(buf, 32, floating_level);
+    _mav_put_uint8_t(buf, 33, main_valve_state);
+    _mav_put_uint8_t(buf, 34, venting_valve_state);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_MOTOR_TM_LEN);
+#else
+    mavlink_motor_tm_t packet;
+    packet.timestamp = timestamp;
+    packet.top_tank_pressure = top_tank_pressure;
+    packet.bottom_tank_pressure = bottom_tank_pressure;
+    packet.combustion_chamber_pressure = combustion_chamber_pressure;
+    packet.tank_temperature = tank_temperature;
+    packet.battery_voltage = battery_voltage;
+    packet.current_consumption = current_consumption;
+    packet.floating_level = floating_level;
+    packet.main_valve_state = main_valve_state;
+    packet.venting_valve_state = venting_valve_state;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_MOTOR_TM_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_MOTOR_TM;
+#if MAVLINK_CRC_EXTRA
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_MOTOR_TM_MIN_LEN, MAVLINK_MSG_ID_MOTOR_TM_LEN, MAVLINK_MSG_ID_MOTOR_TM_CRC);
+#else
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_MOTOR_TM_MIN_LEN, MAVLINK_MSG_ID_MOTOR_TM_LEN);
+#endif
+}
+
 /**
  * @brief Pack a motor_tm message on a channel
  * @param system_id ID of this system
@@ -121,6 +187,7 @@ static inline uint16_t mavlink_msg_motor_tm_pack(uint8_t system_id, uint8_t comp
  * @param top_tank_pressure [Bar] Tank upper pressure
  * @param bottom_tank_pressure [Bar] Tank bottom pressure
  * @param combustion_chamber_pressure [Bar] Pressure inside the combustion chamber used for automatic shutdown
+ * @param floating_level  Floating level in tank
  * @param tank_temperature  Tank temperature
  * @param main_valve_state  1 If the main valve is open 
  * @param venting_valve_state  1 If the venting valve is open 
@@ -130,7 +197,7 @@ static inline uint16_t mavlink_msg_motor_tm_pack(uint8_t system_id, uint8_t comp
  */
 static inline uint16_t mavlink_msg_motor_tm_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
                                mavlink_message_t* msg,
-                                   uint64_t timestamp,float top_tank_pressure,float bottom_tank_pressure,float combustion_chamber_pressure,float tank_temperature,uint8_t main_valve_state,uint8_t venting_valve_state,float battery_voltage,float current_consumption)
+                                   uint64_t timestamp,float top_tank_pressure,float bottom_tank_pressure,float combustion_chamber_pressure,uint8_t floating_level,float tank_temperature,uint8_t main_valve_state,uint8_t venting_valve_state,float battery_voltage,float current_consumption)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_MOTOR_TM_LEN];
@@ -141,8 +208,9 @@ static inline uint16_t mavlink_msg_motor_tm_pack_chan(uint8_t system_id, uint8_t
     _mav_put_float(buf, 20, tank_temperature);
     _mav_put_float(buf, 24, battery_voltage);
     _mav_put_float(buf, 28, current_consumption);
-    _mav_put_uint8_t(buf, 32, main_valve_state);
-    _mav_put_uint8_t(buf, 33, venting_valve_state);
+    _mav_put_uint8_t(buf, 32, floating_level);
+    _mav_put_uint8_t(buf, 33, main_valve_state);
+    _mav_put_uint8_t(buf, 34, venting_valve_state);
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_MOTOR_TM_LEN);
 #else
@@ -154,6 +222,7 @@ static inline uint16_t mavlink_msg_motor_tm_pack_chan(uint8_t system_id, uint8_t
     packet.tank_temperature = tank_temperature;
     packet.battery_voltage = battery_voltage;
     packet.current_consumption = current_consumption;
+    packet.floating_level = floating_level;
     packet.main_valve_state = main_valve_state;
     packet.venting_valve_state = venting_valve_state;
 
@@ -174,7 +243,7 @@ static inline uint16_t mavlink_msg_motor_tm_pack_chan(uint8_t system_id, uint8_t
  */
 static inline uint16_t mavlink_msg_motor_tm_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_motor_tm_t* motor_tm)
 {
-    return mavlink_msg_motor_tm_pack(system_id, component_id, msg, motor_tm->timestamp, motor_tm->top_tank_pressure, motor_tm->bottom_tank_pressure, motor_tm->combustion_chamber_pressure, motor_tm->tank_temperature, motor_tm->main_valve_state, motor_tm->venting_valve_state, motor_tm->battery_voltage, motor_tm->current_consumption);
+    return mavlink_msg_motor_tm_pack(system_id, component_id, msg, motor_tm->timestamp, motor_tm->top_tank_pressure, motor_tm->bottom_tank_pressure, motor_tm->combustion_chamber_pressure, motor_tm->floating_level, motor_tm->tank_temperature, motor_tm->main_valve_state, motor_tm->venting_valve_state, motor_tm->battery_voltage, motor_tm->current_consumption);
 }
 
 /**
@@ -188,7 +257,21 @@ static inline uint16_t mavlink_msg_motor_tm_encode(uint8_t system_id, uint8_t co
  */
 static inline uint16_t mavlink_msg_motor_tm_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_motor_tm_t* motor_tm)
 {
-    return mavlink_msg_motor_tm_pack_chan(system_id, component_id, chan, msg, motor_tm->timestamp, motor_tm->top_tank_pressure, motor_tm->bottom_tank_pressure, motor_tm->combustion_chamber_pressure, motor_tm->tank_temperature, motor_tm->main_valve_state, motor_tm->venting_valve_state, motor_tm->battery_voltage, motor_tm->current_consumption);
+    return mavlink_msg_motor_tm_pack_chan(system_id, component_id, chan, msg, motor_tm->timestamp, motor_tm->top_tank_pressure, motor_tm->bottom_tank_pressure, motor_tm->combustion_chamber_pressure, motor_tm->floating_level, motor_tm->tank_temperature, motor_tm->main_valve_state, motor_tm->venting_valve_state, motor_tm->battery_voltage, motor_tm->current_consumption);
+}
+
+/**
+ * @brief Encode a motor_tm struct with provided status structure
+ *
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param status MAVLink status structure
+ * @param msg The MAVLink message to compress the data into
+ * @param motor_tm C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_motor_tm_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_motor_tm_t* motor_tm)
+{
+    return mavlink_msg_motor_tm_pack_status(system_id, component_id, _status, msg,  motor_tm->timestamp, motor_tm->top_tank_pressure, motor_tm->bottom_tank_pressure, motor_tm->combustion_chamber_pressure, motor_tm->floating_level, motor_tm->tank_temperature, motor_tm->main_valve_state, motor_tm->venting_valve_state, motor_tm->battery_voltage, motor_tm->current_consumption);
 }
 
 /**
@@ -199,6 +282,7 @@ static inline uint16_t mavlink_msg_motor_tm_encode_chan(uint8_t system_id, uint8
  * @param top_tank_pressure [Bar] Tank upper pressure
  * @param bottom_tank_pressure [Bar] Tank bottom pressure
  * @param combustion_chamber_pressure [Bar] Pressure inside the combustion chamber used for automatic shutdown
+ * @param floating_level  Floating level in tank
  * @param tank_temperature  Tank temperature
  * @param main_valve_state  1 If the main valve is open 
  * @param venting_valve_state  1 If the venting valve is open 
@@ -207,7 +291,7 @@ static inline uint16_t mavlink_msg_motor_tm_encode_chan(uint8_t system_id, uint8
  */
 #ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
 
-static inline void mavlink_msg_motor_tm_send(mavlink_channel_t chan, uint64_t timestamp, float top_tank_pressure, float bottom_tank_pressure, float combustion_chamber_pressure, float tank_temperature, uint8_t main_valve_state, uint8_t venting_valve_state, float battery_voltage, float current_consumption)
+static inline void mavlink_msg_motor_tm_send(mavlink_channel_t chan, uint64_t timestamp, float top_tank_pressure, float bottom_tank_pressure, float combustion_chamber_pressure, uint8_t floating_level, float tank_temperature, uint8_t main_valve_state, uint8_t venting_valve_state, float battery_voltage, float current_consumption)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_MOTOR_TM_LEN];
@@ -218,8 +302,9 @@ static inline void mavlink_msg_motor_tm_send(mavlink_channel_t chan, uint64_t ti
     _mav_put_float(buf, 20, tank_temperature);
     _mav_put_float(buf, 24, battery_voltage);
     _mav_put_float(buf, 28, current_consumption);
-    _mav_put_uint8_t(buf, 32, main_valve_state);
-    _mav_put_uint8_t(buf, 33, venting_valve_state);
+    _mav_put_uint8_t(buf, 32, floating_level);
+    _mav_put_uint8_t(buf, 33, main_valve_state);
+    _mav_put_uint8_t(buf, 34, venting_valve_state);
 
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_MOTOR_TM, buf, MAVLINK_MSG_ID_MOTOR_TM_MIN_LEN, MAVLINK_MSG_ID_MOTOR_TM_LEN, MAVLINK_MSG_ID_MOTOR_TM_CRC);
 #else
@@ -231,6 +316,7 @@ static inline void mavlink_msg_motor_tm_send(mavlink_channel_t chan, uint64_t ti
     packet.tank_temperature = tank_temperature;
     packet.battery_voltage = battery_voltage;
     packet.current_consumption = current_consumption;
+    packet.floating_level = floating_level;
     packet.main_valve_state = main_valve_state;
     packet.venting_valve_state = venting_valve_state;
 
@@ -246,7 +332,7 @@ static inline void mavlink_msg_motor_tm_send(mavlink_channel_t chan, uint64_t ti
 static inline void mavlink_msg_motor_tm_send_struct(mavlink_channel_t chan, const mavlink_motor_tm_t* motor_tm)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
-    mavlink_msg_motor_tm_send(chan, motor_tm->timestamp, motor_tm->top_tank_pressure, motor_tm->bottom_tank_pressure, motor_tm->combustion_chamber_pressure, motor_tm->tank_temperature, motor_tm->main_valve_state, motor_tm->venting_valve_state, motor_tm->battery_voltage, motor_tm->current_consumption);
+    mavlink_msg_motor_tm_send(chan, motor_tm->timestamp, motor_tm->top_tank_pressure, motor_tm->bottom_tank_pressure, motor_tm->combustion_chamber_pressure, motor_tm->floating_level, motor_tm->tank_temperature, motor_tm->main_valve_state, motor_tm->venting_valve_state, motor_tm->battery_voltage, motor_tm->current_consumption);
 #else
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_MOTOR_TM, (const char *)motor_tm, MAVLINK_MSG_ID_MOTOR_TM_MIN_LEN, MAVLINK_MSG_ID_MOTOR_TM_LEN, MAVLINK_MSG_ID_MOTOR_TM_CRC);
 #endif
@@ -260,7 +346,7 @@ static inline void mavlink_msg_motor_tm_send_struct(mavlink_channel_t chan, cons
   is usually the receive buffer for the channel, and allows a reply to an
   incoming message with minimum stack space usage.
  */
-static inline void mavlink_msg_motor_tm_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint64_t timestamp, float top_tank_pressure, float bottom_tank_pressure, float combustion_chamber_pressure, float tank_temperature, uint8_t main_valve_state, uint8_t venting_valve_state, float battery_voltage, float current_consumption)
+static inline void mavlink_msg_motor_tm_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint64_t timestamp, float top_tank_pressure, float bottom_tank_pressure, float combustion_chamber_pressure, uint8_t floating_level, float tank_temperature, uint8_t main_valve_state, uint8_t venting_valve_state, float battery_voltage, float current_consumption)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char *buf = (char *)msgbuf;
@@ -271,8 +357,9 @@ static inline void mavlink_msg_motor_tm_send_buf(mavlink_message_t *msgbuf, mavl
     _mav_put_float(buf, 20, tank_temperature);
     _mav_put_float(buf, 24, battery_voltage);
     _mav_put_float(buf, 28, current_consumption);
-    _mav_put_uint8_t(buf, 32, main_valve_state);
-    _mav_put_uint8_t(buf, 33, venting_valve_state);
+    _mav_put_uint8_t(buf, 32, floating_level);
+    _mav_put_uint8_t(buf, 33, main_valve_state);
+    _mav_put_uint8_t(buf, 34, venting_valve_state);
 
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_MOTOR_TM, buf, MAVLINK_MSG_ID_MOTOR_TM_MIN_LEN, MAVLINK_MSG_ID_MOTOR_TM_LEN, MAVLINK_MSG_ID_MOTOR_TM_CRC);
 #else
@@ -284,6 +371,7 @@ static inline void mavlink_msg_motor_tm_send_buf(mavlink_message_t *msgbuf, mavl
     packet->tank_temperature = tank_temperature;
     packet->battery_voltage = battery_voltage;
     packet->current_consumption = current_consumption;
+    packet->floating_level = floating_level;
     packet->main_valve_state = main_valve_state;
     packet->venting_valve_state = venting_valve_state;
 
@@ -337,6 +425,16 @@ static inline float mavlink_msg_motor_tm_get_combustion_chamber_pressure(const m
     return _MAV_RETURN_float(msg,  16);
 }
 
+/**
+ * @brief Get field floating_level from motor_tm message
+ *
+ * @return  Floating level in tank
+ */
+static inline uint8_t mavlink_msg_motor_tm_get_floating_level(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint8_t(msg,  32);
+}
+
 /**
  * @brief Get field tank_temperature from motor_tm message
  *
@@ -354,7 +452,7 @@ static inline float mavlink_msg_motor_tm_get_tank_temperature(const mavlink_mess
  */
 static inline uint8_t mavlink_msg_motor_tm_get_main_valve_state(const mavlink_message_t* msg)
 {
-    return _MAV_RETURN_uint8_t(msg,  32);
+    return _MAV_RETURN_uint8_t(msg,  33);
 }
 
 /**
@@ -364,7 +462,7 @@ static inline uint8_t mavlink_msg_motor_tm_get_main_valve_state(const mavlink_me
  */
 static inline uint8_t mavlink_msg_motor_tm_get_venting_valve_state(const mavlink_message_t* msg)
 {
-    return _MAV_RETURN_uint8_t(msg,  33);
+    return _MAV_RETURN_uint8_t(msg,  34);
 }
 
 /**
@@ -403,6 +501,7 @@ static inline void mavlink_msg_motor_tm_decode(const mavlink_message_t* msg, mav
     motor_tm->tank_temperature = mavlink_msg_motor_tm_get_tank_temperature(msg);
     motor_tm->battery_voltage = mavlink_msg_motor_tm_get_battery_voltage(msg);
     motor_tm->current_consumption = mavlink_msg_motor_tm_get_current_consumption(msg);
+    motor_tm->floating_level = mavlink_msg_motor_tm_get_floating_level(msg);
     motor_tm->main_valve_state = mavlink_msg_motor_tm_get_main_valve_state(msg);
     motor_tm->venting_valve_state = mavlink_msg_motor_tm_get_venting_valve_state(msg);
 #else
diff --git a/mavlink_lib/lyra/mavlink_msg_nack_tm.h b/mavlink_lib/lyra/mavlink_msg_nack_tm.h
index f8f24c372c18c4908c8b498b6a2a3283f252e41c..092540baf075db6efa3a1ffb1c54ae7d50f1311a 100644
--- a/mavlink_lib/lyra/mavlink_msg_nack_tm.h
+++ b/mavlink_lib/lyra/mavlink_msg_nack_tm.h
@@ -78,22 +78,19 @@ static inline uint16_t mavlink_msg_nack_tm_pack(uint8_t system_id, uint8_t compo
  *
  * @param recv_msgid  Message id of the received message
  * @param seq_ack  Sequence number of the received message
- * @param err_id  Error core that generated the NACK
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_nack_tm_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
-                               uint8_t recv_msgid, uint8_t seq_ack, uint16_t err_id)
+                               uint8_t recv_msgid, uint8_t seq_ack)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_NACK_TM_LEN];
-    _mav_put_uint16_t(buf, 0, err_id);
-    _mav_put_uint8_t(buf, 2, recv_msgid);
-    _mav_put_uint8_t(buf, 3, seq_ack);
+    _mav_put_uint8_t(buf, 0, recv_msgid);
+    _mav_put_uint8_t(buf, 1, seq_ack);
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_NACK_TM_LEN);
 #else
     mavlink_nack_tm_t packet;
-    packet.err_id = err_id;
     packet.recv_msgid = recv_msgid;
     packet.seq_ack = seq_ack;
 
@@ -178,7 +175,7 @@ static inline uint16_t mavlink_msg_nack_tm_encode_chan(uint8_t system_id, uint8_
  */
 static inline uint16_t mavlink_msg_nack_tm_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_nack_tm_t* nack_tm)
 {
-    return mavlink_msg_nack_tm_pack_status(system_id, component_id, _status, msg,  nack_tm->recv_msgid, nack_tm->seq_ack, nack_tm->err_id);
+    return mavlink_msg_nack_tm_pack_status(system_id, component_id, _status, msg,  nack_tm->recv_msgid, nack_tm->seq_ack);
 }
 
 /**
diff --git a/mavlink_lib/lyra/mavlink_msg_payload_flight_tm.h b/mavlink_lib/lyra/mavlink_msg_payload_flight_tm.h
index 71dc7ec37f730658f6a46e2e8aa23dc07a56cc23..affdfe56d8b55b42e7e8fa83cc5664e51a986868 100644
--- a/mavlink_lib/lyra/mavlink_msg_payload_flight_tm.h
+++ b/mavlink_lib/lyra/mavlink_msg_payload_flight_tm.h
@@ -336,7 +336,7 @@ static inline uint16_t mavlink_msg_payload_flight_tm_pack(uint8_t system_id, uin
  *
  * @param timestamp [us] Timestamp in microseconds
  * @param fmm_state  Flight Mode Manager State
- * @param nas_state  NAS FSM State
+ * @param nas_state  Navigation System FSM State
  * @param wes_state  Wind Estimation System FSM State
  * @param pressure_digi [Pa] Pressure from digital sensor
  * @param pressure_static [Pa] Pressure from static port
@@ -357,33 +357,32 @@ static inline uint16_t mavlink_msg_payload_flight_tm_pack(uint8_t system_id, uin
  * @param gps_alt [m] GPS Altitude
  * @param left_servo_angle [deg] Left servo motor angle
  * @param right_servo_angle [deg] Right servo motor angle
- * @param nas_n [deg] NAS estimated noth position
- * @param nas_e [deg] NAS estimated east position
- * @param nas_d [m] NAS estimated down position
- * @param nas_vn [m/s] NAS estimated north velocity
- * @param nas_ve [m/s] NAS estimated east velocity
- * @param nas_vd [m/s] NAS estimated down velocity
- * @param nas_qx [deg] NAS estimated attitude (qx)
- * @param nas_qy [deg] NAS estimated attitude (qy)
- * @param nas_qz [deg] NAS estimated attitude (qz)
- * @param nas_qw [deg] NAS estimated attitude (qw)
- * @param nas_bias_x  NAS gyroscope bias on x axis
- * @param nas_bias_y  NAS gyroscope bias on y axis
- * @param nas_bias_z  NAS gyroscope bias on z axis
+ * @param nas_n [deg] Navigation system estimated noth position
+ * @param nas_e [deg] Navigation system estimated east position
+ * @param nas_d [m] Navigation system estimated down position
+ * @param nas_vn [m/s] Navigation system estimated north velocity
+ * @param nas_ve [m/s] Navigation system estimated east velocity
+ * @param nas_vd [m/s] Navigation system estimated down velocity
+ * @param nas_qx [deg] Navigation system estimated attitude (qx)
+ * @param nas_qy [deg] Navigation system estimated attitude (qy)
+ * @param nas_qz [deg] Navigation system estimated attitude (qz)
+ * @param nas_qw [deg] Navigation system estimated attitude (qw)
+ * @param nas_bias_x  Navigation system gyroscope bias on x axis
+ * @param nas_bias_y  Navigation system gyroscope bias on y axis
+ * @param nas_bias_z  Navigation system gyroscope bias on z axis
  * @param wes_n [m/s] Wind estimated north velocity
  * @param wes_e [m/s] Wind estimated east velocity
  * @param pin_nosecone  Nosecone pin status (1 = connected, 0 = disconnected)
  * @param battery_voltage [V] Battery voltage
  * @param cam_battery_voltage [V] Camera battery voltage
+ * @param current_consumption [A] Battery current
  * @param cutter_presence  Cutter presence status (1 = present, 0 = missing)
  * @param temperature [degC] Temperature
- * @param main_can_status  Main CAN status
- * @param motor_can_status  Motor CAN status
- * @param rig_can_status  RIG CAN status
+ * @param logger_error  Logger error (0 = no error)
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_payload_flight_tm_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
-                               uint64_t timestamp, uint8_t fmm_state, uint8_t nas_state, uint8_t wes_state, float pressure_digi, float pressure_static, float airspeed_pitot, float altitude_agl, float acc_x, float acc_y, float acc_z, float gyro_x, float gyro_y, float gyro_z, float mag_x, float mag_y, float mag_z, uint8_t gps_fix, float gps_lat, float gps_lon, float gps_alt, float left_servo_angle, float right_servo_angle, float nas_n, float nas_e, float nas_d, float nas_vn, float nas_ve, float nas_vd, float nas_qx, float nas_qy, float nas_qz, float nas_qw, float nas_bias_x, float nas_bias_y, float nas_bias_z, float wes_n, float wes_e, uint8_t pin_nosecone, float battery_voltage, float cam_battery_voltage, uint8_t cutter_presence, float temperature, uint8_t main_can_status, uint8_t motor_can_status, uint8_t rig_can_status)
+                               uint64_t timestamp, uint8_t fmm_state, uint8_t nas_state, uint8_t wes_state, float pressure_digi, float pressure_static, float airspeed_pitot, float altitude_agl, float acc_x, float acc_y, float acc_z, float gyro_x, float gyro_y, float gyro_z, float mag_x, float mag_y, float mag_z, uint8_t gps_fix, float gps_lat, float gps_lon, float gps_alt, float left_servo_angle, float right_servo_angle, float nas_n, float nas_e, float nas_d, float nas_vn, float nas_ve, float nas_vd, float nas_qx, float nas_qy, float nas_qz, float nas_qw, float nas_bias_x, float nas_bias_y, float nas_bias_z, float wes_n, float wes_e, uint8_t pin_nosecone, float battery_voltage, float cam_battery_voltage, float current_consumption, uint8_t cutter_presence, float temperature, int8_t logger_error)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_PAYLOAD_FLIGHT_TM_LEN];
@@ -423,16 +422,15 @@ static inline uint16_t mavlink_msg_payload_flight_tm_pack_status(uint8_t system_
     _mav_put_float(buf, 136, wes_e);
     _mav_put_float(buf, 140, battery_voltage);
     _mav_put_float(buf, 144, cam_battery_voltage);
-    _mav_put_float(buf, 148, temperature);
-    _mav_put_uint8_t(buf, 152, fmm_state);
-    _mav_put_uint8_t(buf, 153, nas_state);
-    _mav_put_uint8_t(buf, 154, wes_state);
-    _mav_put_uint8_t(buf, 155, gps_fix);
-    _mav_put_uint8_t(buf, 156, pin_nosecone);
-    _mav_put_uint8_t(buf, 157, cutter_presence);
-    _mav_put_uint8_t(buf, 158, main_can_status);
-    _mav_put_uint8_t(buf, 159, motor_can_status);
-    _mav_put_uint8_t(buf, 160, rig_can_status);
+    _mav_put_float(buf, 148, current_consumption);
+    _mav_put_float(buf, 152, temperature);
+    _mav_put_uint8_t(buf, 156, fmm_state);
+    _mav_put_uint8_t(buf, 157, nas_state);
+    _mav_put_uint8_t(buf, 158, wes_state);
+    _mav_put_uint8_t(buf, 159, gps_fix);
+    _mav_put_uint8_t(buf, 160, pin_nosecone);
+    _mav_put_uint8_t(buf, 161, cutter_presence);
+    _mav_put_int8_t(buf, 162, logger_error);
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_PAYLOAD_FLIGHT_TM_LEN);
 #else
@@ -473,6 +471,7 @@ static inline uint16_t mavlink_msg_payload_flight_tm_pack_status(uint8_t system_
     packet.wes_e = wes_e;
     packet.battery_voltage = battery_voltage;
     packet.cam_battery_voltage = cam_battery_voltage;
+    packet.current_consumption = current_consumption;
     packet.temperature = temperature;
     packet.fmm_state = fmm_state;
     packet.nas_state = nas_state;
@@ -480,9 +479,7 @@ static inline uint16_t mavlink_msg_payload_flight_tm_pack_status(uint8_t system_
     packet.gps_fix = gps_fix;
     packet.pin_nosecone = pin_nosecone;
     packet.cutter_presence = cutter_presence;
-    packet.main_can_status = main_can_status;
-    packet.motor_can_status = motor_can_status;
-    packet.rig_can_status = rig_can_status;
+    packet.logger_error = logger_error;
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_PAYLOAD_FLIGHT_TM_LEN);
 #endif
@@ -694,7 +691,7 @@ static inline uint16_t mavlink_msg_payload_flight_tm_encode_chan(uint8_t system_
  */
 static inline uint16_t mavlink_msg_payload_flight_tm_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_payload_flight_tm_t* payload_flight_tm)
 {
-    return mavlink_msg_payload_flight_tm_pack_status(system_id, component_id, _status, msg,  payload_flight_tm->timestamp, payload_flight_tm->fmm_state, payload_flight_tm->nas_state, payload_flight_tm->wes_state, payload_flight_tm->pressure_digi, payload_flight_tm->pressure_static, payload_flight_tm->airspeed_pitot, payload_flight_tm->altitude_agl, payload_flight_tm->acc_x, payload_flight_tm->acc_y, payload_flight_tm->acc_z, payload_flight_tm->gyro_x, payload_flight_tm->gyro_y, payload_flight_tm->gyro_z, payload_flight_tm->mag_x, payload_flight_tm->mag_y, payload_flight_tm->mag_z, payload_flight_tm->gps_fix, payload_flight_tm->gps_lat, payload_flight_tm->gps_lon, payload_flight_tm->gps_alt, payload_flight_tm->left_servo_angle, payload_flight_tm->right_servo_angle, payload_flight_tm->nas_n, payload_flight_tm->nas_e, payload_flight_tm->nas_d, payload_flight_tm->nas_vn, payload_flight_tm->nas_ve, payload_flight_tm->nas_vd, payload_flight_tm->nas_qx, payload_flight_tm->nas_qy, payload_flight_tm->nas_qz, payload_flight_tm->nas_qw, payload_flight_tm->nas_bias_x, payload_flight_tm->nas_bias_y, payload_flight_tm->nas_bias_z, payload_flight_tm->wes_n, payload_flight_tm->wes_e, payload_flight_tm->pin_nosecone, payload_flight_tm->battery_voltage, payload_flight_tm->cam_battery_voltage, payload_flight_tm->cutter_presence, payload_flight_tm->temperature, payload_flight_tm->main_can_status, payload_flight_tm->motor_can_status, payload_flight_tm->rig_can_status);
+    return mavlink_msg_payload_flight_tm_pack_status(system_id, component_id, _status, msg,  payload_flight_tm->timestamp, payload_flight_tm->fmm_state, payload_flight_tm->nas_state, payload_flight_tm->wes_state, payload_flight_tm->pressure_digi, payload_flight_tm->pressure_static, payload_flight_tm->airspeed_pitot, payload_flight_tm->altitude_agl, payload_flight_tm->acc_x, payload_flight_tm->acc_y, payload_flight_tm->acc_z, payload_flight_tm->gyro_x, payload_flight_tm->gyro_y, payload_flight_tm->gyro_z, payload_flight_tm->mag_x, payload_flight_tm->mag_y, payload_flight_tm->mag_z, payload_flight_tm->gps_fix, payload_flight_tm->gps_lat, payload_flight_tm->gps_lon, payload_flight_tm->gps_alt, payload_flight_tm->left_servo_angle, payload_flight_tm->right_servo_angle, payload_flight_tm->nas_n, payload_flight_tm->nas_e, payload_flight_tm->nas_d, payload_flight_tm->nas_vn, payload_flight_tm->nas_ve, payload_flight_tm->nas_vd, payload_flight_tm->nas_qx, payload_flight_tm->nas_qy, payload_flight_tm->nas_qz, payload_flight_tm->nas_qw, payload_flight_tm->nas_bias_x, payload_flight_tm->nas_bias_y, payload_flight_tm->nas_bias_z, payload_flight_tm->wes_n, payload_flight_tm->wes_e, payload_flight_tm->pin_nosecone, payload_flight_tm->battery_voltage, payload_flight_tm->cam_battery_voltage, payload_flight_tm->current_consumption, payload_flight_tm->cutter_presence, payload_flight_tm->temperature, payload_flight_tm->logger_error);
 }
 
 /**
diff --git a/mavlink_lib/lyra/mavlink_msg_payload_stats_tm.h b/mavlink_lib/lyra/mavlink_msg_payload_stats_tm.h
index c16476825c485c5b0ed15c2da1d389caa6a08db1..3f650683701f855c72bd8f4a1f79619603c5ddf5 100644
--- a/mavlink_lib/lyra/mavlink_msg_payload_stats_tm.h
+++ b/mavlink_lib/lyra/mavlink_msg_payload_stats_tm.h
@@ -169,13 +169,10 @@ static inline uint16_t mavlink_msg_payload_stats_tm_pack(uint8_t system_id, uint
  * @param min_pressure [Pa] Apogee pressure - Digital barometer
  * @param cpu_load  CPU load in percentage
  * @param free_heap  Amount of available heap in memory
- * @param log_number  Currently active log file, -1 if the logger is inactive
- * @param writes_failed  Number of fwrite() that failed
- * @param hil_state  1 if the board is currently in HIL mode
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_payload_stats_tm_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
-                               uint64_t liftoff_max_acc_ts, float liftoff_max_acc, uint64_t dpl_ts, float dpl_max_acc, uint64_t max_z_speed_ts, float max_z_speed, float max_airspeed_pitot, float max_speed_altitude, uint64_t apogee_ts, float apogee_lat, float apogee_lon, float apogee_alt, float min_pressure, float cpu_load, uint32_t free_heap, int16_t log_number, int32_t writes_failed, uint8_t hil_state)
+                               uint64_t liftoff_max_acc_ts, float liftoff_max_acc, uint64_t dpl_ts, float dpl_max_acc, uint64_t max_z_speed_ts, float max_z_speed, float max_airspeed_pitot, float max_speed_altitude, uint64_t apogee_ts, float apogee_lat, float apogee_lon, float apogee_alt, float min_pressure, float cpu_load, uint32_t free_heap)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_PAYLOAD_STATS_TM_LEN];
@@ -194,9 +191,6 @@ static inline uint16_t mavlink_msg_payload_stats_tm_pack_status(uint8_t system_i
     _mav_put_float(buf, 64, min_pressure);
     _mav_put_float(buf, 68, cpu_load);
     _mav_put_uint32_t(buf, 72, free_heap);
-    _mav_put_int32_t(buf, 76, writes_failed);
-    _mav_put_int16_t(buf, 80, log_number);
-    _mav_put_uint8_t(buf, 82, hil_state);
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_PAYLOAD_STATS_TM_LEN);
 #else
@@ -216,9 +210,6 @@ static inline uint16_t mavlink_msg_payload_stats_tm_pack_status(uint8_t system_i
     packet.min_pressure = min_pressure;
     packet.cpu_load = cpu_load;
     packet.free_heap = free_heap;
-    packet.writes_failed = writes_failed;
-    packet.log_number = log_number;
-    packet.hil_state = hil_state;
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_PAYLOAD_STATS_TM_LEN);
 #endif
@@ -340,7 +331,7 @@ static inline uint16_t mavlink_msg_payload_stats_tm_encode_chan(uint8_t system_i
  */
 static inline uint16_t mavlink_msg_payload_stats_tm_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_payload_stats_tm_t* payload_stats_tm)
 {
-    return mavlink_msg_payload_stats_tm_pack_status(system_id, component_id, _status, msg,  payload_stats_tm->liftoff_max_acc_ts, payload_stats_tm->liftoff_max_acc, payload_stats_tm->dpl_ts, payload_stats_tm->dpl_max_acc, payload_stats_tm->max_z_speed_ts, payload_stats_tm->max_z_speed, payload_stats_tm->max_airspeed_pitot, payload_stats_tm->max_speed_altitude, payload_stats_tm->apogee_ts, payload_stats_tm->apogee_lat, payload_stats_tm->apogee_lon, payload_stats_tm->apogee_alt, payload_stats_tm->min_pressure, payload_stats_tm->cpu_load, payload_stats_tm->free_heap, payload_stats_tm->log_number, payload_stats_tm->writes_failed, payload_stats_tm->hil_state);
+    return mavlink_msg_payload_stats_tm_pack_status(system_id, component_id, _status, msg,  payload_stats_tm->liftoff_max_acc_ts, payload_stats_tm->liftoff_max_acc, payload_stats_tm->dpl_ts, payload_stats_tm->dpl_max_acc, payload_stats_tm->max_z_speed_ts, payload_stats_tm->max_z_speed, payload_stats_tm->max_airspeed_pitot, payload_stats_tm->max_speed_altitude, payload_stats_tm->apogee_ts, payload_stats_tm->apogee_lat, payload_stats_tm->apogee_lon, payload_stats_tm->apogee_alt, payload_stats_tm->min_pressure, payload_stats_tm->cpu_load, payload_stats_tm->free_heap);
 }
 
 /**
diff --git a/mavlink_lib/lyra/mavlink_msg_receiver_tm.h b/mavlink_lib/lyra/mavlink_msg_receiver_tm.h
index d87647ee1d1ad1a8b59605721d6fca6469887093..c4c470187bd62a62c26ea11d800b63d1ba7bd292 100644
--- a/mavlink_lib/lyra/mavlink_msg_receiver_tm.h
+++ b/mavlink_lib/lyra/mavlink_msg_receiver_tm.h
@@ -177,6 +177,96 @@ static inline uint16_t mavlink_msg_receiver_tm_pack(uint8_t system_id, uint8_t c
     return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_RECEIVER_TM_MIN_LEN, MAVLINK_MSG_ID_RECEIVER_TM_LEN, MAVLINK_MSG_ID_RECEIVER_TM_CRC);
 }
 
+/**
+ * @brief Pack a receiver_tm message
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param status MAVLink status structure
+ * @param msg The MAVLink message to compress the data into
+ *
+ * @param timestamp [us] Timestamp
+ * @param main_radio_present  Boolean indicating the presence of the main radio
+ * @param main_packet_tx_error_count  Number of errors during send
+ * @param main_tx_bitrate [b/s] Send bitrate
+ * @param main_packet_rx_success_count  Number of succesfull received mavlink packets
+ * @param main_packet_rx_drop_count  Number of dropped mavlink packets
+ * @param main_rx_bitrate [b/s] Receive bitrate
+ * @param main_rx_rssi [dBm] Receive RSSI
+ * @param main_rx_fei [Hz] Receive frequency error index
+ * @param payload_radio_present  Boolean indicating the presence of the payload radio
+ * @param payload_packet_tx_error_count  Number of errors during send
+ * @param payload_tx_bitrate [b/s] Send bitrate
+ * @param payload_packet_rx_success_count  Number of succesfull received mavlink packets
+ * @param payload_packet_rx_drop_count  Number of dropped mavlink packets
+ * @param payload_rx_bitrate [b/s] Receive bitrate
+ * @param payload_rx_rssi [dBm] Receive RSSI
+ * @param payload_rx_fei [Hz] Receive frequency error index
+ * @param ethernet_present  Boolean indicating the presence of the ethernet module
+ * @param ethernet_status  Status flag indicating the status of the ethernet PHY
+ * @param battery_voltage [V] Battery voltage
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_receiver_tm_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
+                               uint64_t timestamp, uint8_t main_radio_present, uint16_t main_packet_tx_error_count, uint16_t main_tx_bitrate, uint16_t main_packet_rx_success_count, uint16_t main_packet_rx_drop_count, uint16_t main_rx_bitrate, float main_rx_rssi, float main_rx_fei, uint8_t payload_radio_present, uint16_t payload_packet_tx_error_count, uint16_t payload_tx_bitrate, uint16_t payload_packet_rx_success_count, uint16_t payload_packet_rx_drop_count, uint16_t payload_rx_bitrate, float payload_rx_rssi, float payload_rx_fei, uint8_t ethernet_present, uint8_t ethernet_status, float battery_voltage)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_RECEIVER_TM_LEN];
+    _mav_put_uint64_t(buf, 0, timestamp);
+    _mav_put_float(buf, 8, main_rx_rssi);
+    _mav_put_float(buf, 12, main_rx_fei);
+    _mav_put_float(buf, 16, payload_rx_rssi);
+    _mav_put_float(buf, 20, payload_rx_fei);
+    _mav_put_float(buf, 24, battery_voltage);
+    _mav_put_uint16_t(buf, 28, main_packet_tx_error_count);
+    _mav_put_uint16_t(buf, 30, main_tx_bitrate);
+    _mav_put_uint16_t(buf, 32, main_packet_rx_success_count);
+    _mav_put_uint16_t(buf, 34, main_packet_rx_drop_count);
+    _mav_put_uint16_t(buf, 36, main_rx_bitrate);
+    _mav_put_uint16_t(buf, 38, payload_packet_tx_error_count);
+    _mav_put_uint16_t(buf, 40, payload_tx_bitrate);
+    _mav_put_uint16_t(buf, 42, payload_packet_rx_success_count);
+    _mav_put_uint16_t(buf, 44, payload_packet_rx_drop_count);
+    _mav_put_uint16_t(buf, 46, payload_rx_bitrate);
+    _mav_put_uint8_t(buf, 48, main_radio_present);
+    _mav_put_uint8_t(buf, 49, payload_radio_present);
+    _mav_put_uint8_t(buf, 50, ethernet_present);
+    _mav_put_uint8_t(buf, 51, ethernet_status);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_RECEIVER_TM_LEN);
+#else
+    mavlink_receiver_tm_t packet;
+    packet.timestamp = timestamp;
+    packet.main_rx_rssi = main_rx_rssi;
+    packet.main_rx_fei = main_rx_fei;
+    packet.payload_rx_rssi = payload_rx_rssi;
+    packet.payload_rx_fei = payload_rx_fei;
+    packet.battery_voltage = battery_voltage;
+    packet.main_packet_tx_error_count = main_packet_tx_error_count;
+    packet.main_tx_bitrate = main_tx_bitrate;
+    packet.main_packet_rx_success_count = main_packet_rx_success_count;
+    packet.main_packet_rx_drop_count = main_packet_rx_drop_count;
+    packet.main_rx_bitrate = main_rx_bitrate;
+    packet.payload_packet_tx_error_count = payload_packet_tx_error_count;
+    packet.payload_tx_bitrate = payload_tx_bitrate;
+    packet.payload_packet_rx_success_count = payload_packet_rx_success_count;
+    packet.payload_packet_rx_drop_count = payload_packet_rx_drop_count;
+    packet.payload_rx_bitrate = payload_rx_bitrate;
+    packet.main_radio_present = main_radio_present;
+    packet.payload_radio_present = payload_radio_present;
+    packet.ethernet_present = ethernet_present;
+    packet.ethernet_status = ethernet_status;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_RECEIVER_TM_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_RECEIVER_TM;
+#if MAVLINK_CRC_EXTRA
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_RECEIVER_TM_MIN_LEN, MAVLINK_MSG_ID_RECEIVER_TM_LEN, MAVLINK_MSG_ID_RECEIVER_TM_CRC);
+#else
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_RECEIVER_TM_MIN_LEN, MAVLINK_MSG_ID_RECEIVER_TM_LEN);
+#endif
+}
+
 /**
  * @brief Pack a receiver_tm message on a channel
  * @param system_id ID of this system
@@ -290,6 +380,20 @@ static inline uint16_t mavlink_msg_receiver_tm_encode_chan(uint8_t system_id, ui
     return mavlink_msg_receiver_tm_pack_chan(system_id, component_id, chan, msg, receiver_tm->timestamp, receiver_tm->main_radio_present, receiver_tm->main_packet_tx_error_count, receiver_tm->main_tx_bitrate, receiver_tm->main_packet_rx_success_count, receiver_tm->main_packet_rx_drop_count, receiver_tm->main_rx_bitrate, receiver_tm->main_rx_rssi, receiver_tm->main_rx_fei, receiver_tm->payload_radio_present, receiver_tm->payload_packet_tx_error_count, receiver_tm->payload_tx_bitrate, receiver_tm->payload_packet_rx_success_count, receiver_tm->payload_packet_rx_drop_count, receiver_tm->payload_rx_bitrate, receiver_tm->payload_rx_rssi, receiver_tm->payload_rx_fei, receiver_tm->ethernet_present, receiver_tm->ethernet_status, receiver_tm->battery_voltage);
 }
 
+/**
+ * @brief Encode a receiver_tm struct with provided status structure
+ *
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param status MAVLink status structure
+ * @param msg The MAVLink message to compress the data into
+ * @param receiver_tm C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_receiver_tm_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_receiver_tm_t* receiver_tm)
+{
+    return mavlink_msg_receiver_tm_pack_status(system_id, component_id, _status, msg,  receiver_tm->timestamp, receiver_tm->main_radio_present, receiver_tm->main_packet_tx_error_count, receiver_tm->main_tx_bitrate, receiver_tm->main_packet_rx_success_count, receiver_tm->main_packet_rx_drop_count, receiver_tm->main_rx_bitrate, receiver_tm->main_rx_rssi, receiver_tm->main_rx_fei, receiver_tm->payload_radio_present, receiver_tm->payload_packet_tx_error_count, receiver_tm->payload_tx_bitrate, receiver_tm->payload_packet_rx_success_count, receiver_tm->payload_packet_rx_drop_count, receiver_tm->payload_rx_bitrate, receiver_tm->payload_rx_rssi, receiver_tm->payload_rx_fei, receiver_tm->ethernet_present, receiver_tm->ethernet_status, receiver_tm->battery_voltage);
+}
+
 /**
  * @brief Send a receiver_tm message
  * @param chan MAVLink channel to send the message
diff --git a/mavlink_lib/lyra/mavlink_msg_rocket_flight_tm.h b/mavlink_lib/lyra/mavlink_msg_rocket_flight_tm.h
index 20f78796707d8f75b5b5ee22c28373b56ad4b95e..116f9dfbb84eecfd223b2750784d1907f29c7f25 100644
--- a/mavlink_lib/lyra/mavlink_msg_rocket_flight_tm.h
+++ b/mavlink_lib/lyra/mavlink_msg_rocket_flight_tm.h
@@ -381,7 +381,7 @@ static inline uint16_t mavlink_msg_rocket_flight_tm_pack(uint8_t system_id, uint
  * @param fmm_state  Flight Mode Manager State
  * @param dpl_state  Deployment Controller State
  * @param abk_state  Airbrake FSM state
- * @param nas_state  NAS FSM State
+ * @param nas_state  Navigation System FSM State
  * @param mea_state  MEA Controller State
  * @param pressure_ada [Pa] Atmospheric pressure estimated by ADA
  * @param pressure_digi [Pa] Pressure from digital sensor
@@ -405,33 +405,33 @@ static inline uint16_t mavlink_msg_rocket_flight_tm_pack(uint8_t system_id, uint
  * @param gps_lon [deg] Longitude
  * @param gps_alt [m] GPS Altitude
  * @param abk_angle [deg] Air Brakes angle
- * @param nas_n [deg] NAS estimated noth position
- * @param nas_e [deg] NAS estimated east position
- * @param nas_d [m] NAS estimated down position
- * @param nas_vn [m/s] NAS estimated north velocity
- * @param nas_ve [m/s] NAS estimated east velocity
- * @param nas_vd [m/s] NAS estimated down velocity
- * @param nas_qx [deg] NAS estimated attitude (qx)
- * @param nas_qy [deg] NAS estimated attitude (qy)
- * @param nas_qz [deg] NAS estimated attitude (qz)
- * @param nas_qw [deg] NAS estimated attitude (qw)
- * @param nas_bias_x  NAS gyroscope bias on x axis
- * @param nas_bias_y  NAS gyroscope bias on y axis
- * @param nas_bias_z  NAS gyroscope bias on z axis
+ * @param nas_n [deg] Navigation system estimated noth position
+ * @param nas_e [deg] Navigation system estimated east position
+ * @param nas_d [m] Navigation system estimated down position
+ * @param nas_vn [m/s] Navigation system estimated north velocity
+ * @param nas_ve [m/s] Navigation system estimated east velocity
+ * @param nas_vd [m/s] Navigation system estimated down velocity
+ * @param nas_qx [deg] Navigation system estimated attitude (qx)
+ * @param nas_qy [deg] Navigation system estimated attitude (qy)
+ * @param nas_qz [deg] Navigation system estimated attitude (qz)
+ * @param nas_qw [deg] Navigation system estimated attitude (qw)
+ * @param nas_bias_x  Navigation system gyroscope bias on x axis
+ * @param nas_bias_y  Navigation system gyroscope bias on y axis
+ * @param nas_bias_z  Navigation system gyroscope bias on z axis
+ * @param pin_quick_connector   Quick connector detach pin 
  * @param pin_launch  Launch pin status (1 = connected, 0 = disconnected)
  * @param pin_nosecone  Nosecone pin status (1 = connected, 0 = disconnected)
  * @param pin_expulsion  Servo sensor status (1 = actuated, 0 = idle)
  * @param cutter_presence  Cutter presence status (1 = present, 0 = missing)
  * @param battery_voltage [V] Battery voltage
  * @param cam_battery_voltage [V] Camera battery voltage
+ * @param current_consumption [A] Battery current
  * @param temperature [degC] Temperature
- * @param payload_can_status  Payload CAN status
- * @param motor_can_status  Motor CAN status
- * @param rig_can_status  RIG CAN status
+ * @param logger_error  Logger error (0 = no error, -1 otherwise)
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_rocket_flight_tm_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
-                               uint64_t timestamp, uint8_t ada_state, uint8_t fmm_state, uint8_t dpl_state, uint8_t abk_state, uint8_t nas_state, uint8_t mea_state, float pressure_ada, float pressure_digi, float pressure_static, float pressure_dpl, float airspeed_pitot, float altitude_agl, float ada_vert_speed, float mea_mass, float acc_x, float acc_y, float acc_z, float gyro_x, float gyro_y, float gyro_z, float mag_x, float mag_y, float mag_z, uint8_t gps_fix, float gps_lat, float gps_lon, float gps_alt, float abk_angle, float nas_n, float nas_e, float nas_d, float nas_vn, float nas_ve, float nas_vd, float nas_qx, float nas_qy, float nas_qz, float nas_qw, float nas_bias_x, float nas_bias_y, float nas_bias_z, uint8_t pin_launch, uint8_t pin_nosecone, uint8_t pin_expulsion, uint8_t cutter_presence, float battery_voltage, float cam_battery_voltage, float temperature, uint8_t payload_can_status, uint8_t motor_can_status, uint8_t rig_can_status)
+                               uint64_t timestamp, uint8_t ada_state, uint8_t fmm_state, uint8_t dpl_state, uint8_t abk_state, uint8_t nas_state, uint8_t mea_state, float pressure_ada, float pressure_digi, float pressure_static, float pressure_dpl, float airspeed_pitot, float altitude_agl, float ada_vert_speed, float mea_mass, float acc_x, float acc_y, float acc_z, float gyro_x, float gyro_y, float gyro_z, float mag_x, float mag_y, float mag_z, uint8_t gps_fix, float gps_lat, float gps_lon, float gps_alt, float abk_angle, float nas_n, float nas_e, float nas_d, float nas_vn, float nas_ve, float nas_vd, float nas_qx, float nas_qy, float nas_qz, float nas_qw, float nas_bias_x, float nas_bias_y, float nas_bias_z, float pin_quick_connector, uint8_t pin_launch, uint8_t pin_nosecone, uint8_t pin_expulsion, uint8_t cutter_presence, float battery_voltage, float cam_battery_voltage, float current_consumption, float temperature, int8_t logger_error)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_ROCKET_FLIGHT_TM_LEN];
@@ -470,23 +470,23 @@ static inline uint16_t mavlink_msg_rocket_flight_tm_pack_status(uint8_t system_i
     _mav_put_float(buf, 132, nas_bias_x);
     _mav_put_float(buf, 136, nas_bias_y);
     _mav_put_float(buf, 140, nas_bias_z);
-    _mav_put_float(buf, 144, battery_voltage);
-    _mav_put_float(buf, 148, cam_battery_voltage);
-    _mav_put_float(buf, 152, temperature);
-    _mav_put_uint8_t(buf, 156, ada_state);
-    _mav_put_uint8_t(buf, 157, fmm_state);
-    _mav_put_uint8_t(buf, 158, dpl_state);
-    _mav_put_uint8_t(buf, 159, abk_state);
-    _mav_put_uint8_t(buf, 160, nas_state);
-    _mav_put_uint8_t(buf, 161, mea_state);
-    _mav_put_uint8_t(buf, 162, gps_fix);
-    _mav_put_uint8_t(buf, 163, pin_launch);
-    _mav_put_uint8_t(buf, 164, pin_nosecone);
-    _mav_put_uint8_t(buf, 165, pin_expulsion);
-    _mav_put_uint8_t(buf, 166, cutter_presence);
-    _mav_put_uint8_t(buf, 167, payload_can_status);
-    _mav_put_uint8_t(buf, 168, motor_can_status);
-    _mav_put_uint8_t(buf, 169, rig_can_status);
+    _mav_put_float(buf, 144, pin_quick_connector);
+    _mav_put_float(buf, 148, battery_voltage);
+    _mav_put_float(buf, 152, cam_battery_voltage);
+    _mav_put_float(buf, 156, current_consumption);
+    _mav_put_float(buf, 160, temperature);
+    _mav_put_uint8_t(buf, 164, ada_state);
+    _mav_put_uint8_t(buf, 165, fmm_state);
+    _mav_put_uint8_t(buf, 166, dpl_state);
+    _mav_put_uint8_t(buf, 167, abk_state);
+    _mav_put_uint8_t(buf, 168, nas_state);
+    _mav_put_uint8_t(buf, 169, mea_state);
+    _mav_put_uint8_t(buf, 170, gps_fix);
+    _mav_put_uint8_t(buf, 171, pin_launch);
+    _mav_put_uint8_t(buf, 172, pin_nosecone);
+    _mav_put_uint8_t(buf, 173, pin_expulsion);
+    _mav_put_uint8_t(buf, 174, cutter_presence);
+    _mav_put_int8_t(buf, 175, logger_error);
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_ROCKET_FLIGHT_TM_LEN);
 #else
@@ -526,8 +526,10 @@ static inline uint16_t mavlink_msg_rocket_flight_tm_pack_status(uint8_t system_i
     packet.nas_bias_x = nas_bias_x;
     packet.nas_bias_y = nas_bias_y;
     packet.nas_bias_z = nas_bias_z;
+    packet.pin_quick_connector = pin_quick_connector;
     packet.battery_voltage = battery_voltage;
     packet.cam_battery_voltage = cam_battery_voltage;
+    packet.current_consumption = current_consumption;
     packet.temperature = temperature;
     packet.ada_state = ada_state;
     packet.fmm_state = fmm_state;
@@ -540,9 +542,7 @@ static inline uint16_t mavlink_msg_rocket_flight_tm_pack_status(uint8_t system_i
     packet.pin_nosecone = pin_nosecone;
     packet.pin_expulsion = pin_expulsion;
     packet.cutter_presence = cutter_presence;
-    packet.payload_can_status = payload_can_status;
-    packet.motor_can_status = motor_can_status;
-    packet.rig_can_status = rig_can_status;
+    packet.logger_error = logger_error;
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ROCKET_FLIGHT_TM_LEN);
 #endif
@@ -775,7 +775,7 @@ static inline uint16_t mavlink_msg_rocket_flight_tm_encode_chan(uint8_t system_i
  */
 static inline uint16_t mavlink_msg_rocket_flight_tm_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_rocket_flight_tm_t* rocket_flight_tm)
 {
-    return mavlink_msg_rocket_flight_tm_pack_status(system_id, component_id, _status, msg,  rocket_flight_tm->timestamp, rocket_flight_tm->ada_state, rocket_flight_tm->fmm_state, rocket_flight_tm->dpl_state, rocket_flight_tm->abk_state, rocket_flight_tm->nas_state, rocket_flight_tm->mea_state, rocket_flight_tm->pressure_ada, rocket_flight_tm->pressure_digi, rocket_flight_tm->pressure_static, rocket_flight_tm->pressure_dpl, rocket_flight_tm->airspeed_pitot, rocket_flight_tm->altitude_agl, rocket_flight_tm->ada_vert_speed, rocket_flight_tm->mea_mass, rocket_flight_tm->acc_x, rocket_flight_tm->acc_y, rocket_flight_tm->acc_z, rocket_flight_tm->gyro_x, rocket_flight_tm->gyro_y, rocket_flight_tm->gyro_z, rocket_flight_tm->mag_x, rocket_flight_tm->mag_y, rocket_flight_tm->mag_z, rocket_flight_tm->gps_fix, rocket_flight_tm->gps_lat, rocket_flight_tm->gps_lon, rocket_flight_tm->gps_alt, rocket_flight_tm->abk_angle, rocket_flight_tm->nas_n, rocket_flight_tm->nas_e, rocket_flight_tm->nas_d, rocket_flight_tm->nas_vn, rocket_flight_tm->nas_ve, rocket_flight_tm->nas_vd, rocket_flight_tm->nas_qx, rocket_flight_tm->nas_qy, rocket_flight_tm->nas_qz, rocket_flight_tm->nas_qw, rocket_flight_tm->nas_bias_x, rocket_flight_tm->nas_bias_y, rocket_flight_tm->nas_bias_z, rocket_flight_tm->pin_launch, rocket_flight_tm->pin_nosecone, rocket_flight_tm->pin_expulsion, rocket_flight_tm->cutter_presence, rocket_flight_tm->battery_voltage, rocket_flight_tm->cam_battery_voltage, rocket_flight_tm->temperature, rocket_flight_tm->payload_can_status, rocket_flight_tm->motor_can_status, rocket_flight_tm->rig_can_status);
+    return mavlink_msg_rocket_flight_tm_pack_status(system_id, component_id, _status, msg,  rocket_flight_tm->timestamp, rocket_flight_tm->ada_state, rocket_flight_tm->fmm_state, rocket_flight_tm->dpl_state, rocket_flight_tm->abk_state, rocket_flight_tm->nas_state, rocket_flight_tm->mea_state, rocket_flight_tm->pressure_ada, rocket_flight_tm->pressure_digi, rocket_flight_tm->pressure_static, rocket_flight_tm->pressure_dpl, rocket_flight_tm->airspeed_pitot, rocket_flight_tm->altitude_agl, rocket_flight_tm->ada_vert_speed, rocket_flight_tm->mea_mass, rocket_flight_tm->acc_x, rocket_flight_tm->acc_y, rocket_flight_tm->acc_z, rocket_flight_tm->gyro_x, rocket_flight_tm->gyro_y, rocket_flight_tm->gyro_z, rocket_flight_tm->mag_x, rocket_flight_tm->mag_y, rocket_flight_tm->mag_z, rocket_flight_tm->gps_fix, rocket_flight_tm->gps_lat, rocket_flight_tm->gps_lon, rocket_flight_tm->gps_alt, rocket_flight_tm->abk_angle, rocket_flight_tm->nas_n, rocket_flight_tm->nas_e, rocket_flight_tm->nas_d, rocket_flight_tm->nas_vn, rocket_flight_tm->nas_ve, rocket_flight_tm->nas_vd, rocket_flight_tm->nas_qx, rocket_flight_tm->nas_qy, rocket_flight_tm->nas_qz, rocket_flight_tm->nas_qw, rocket_flight_tm->nas_bias_x, rocket_flight_tm->nas_bias_y, rocket_flight_tm->nas_bias_z, rocket_flight_tm->pin_quick_connector, rocket_flight_tm->pin_launch, rocket_flight_tm->pin_nosecone, rocket_flight_tm->pin_expulsion, rocket_flight_tm->cutter_presence, rocket_flight_tm->battery_voltage, rocket_flight_tm->cam_battery_voltage, rocket_flight_tm->current_consumption, rocket_flight_tm->temperature, rocket_flight_tm->logger_error);
 }
 
 /**
diff --git a/mavlink_lib/lyra/mavlink_msg_rocket_stats_tm.h b/mavlink_lib/lyra/mavlink_msg_rocket_stats_tm.h
index 43a93063c06f8d0bcd8451372acef0ea13911cbb..d2ddec209211328134cd7ad36e4b3415249b5c6d 100644
--- a/mavlink_lib/lyra/mavlink_msg_rocket_stats_tm.h
+++ b/mavlink_lib/lyra/mavlink_msg_rocket_stats_tm.h
@@ -187,16 +187,13 @@ static inline uint16_t mavlink_msg_rocket_stats_tm_pack(uint8_t system_id, uint8
  * @param apogee_alt [m] Apogee altitude
  * @param min_pressure [Pa] Apogee pressure - Digital barometer
  * @param ada_min_pressure [Pa] Apogee pressure - ADA filtered
- * @param dpl_bay_max_pressure [Pa] Max pressure in the deployment bay during drogue deployment
+ * @param dpl_vane_max_pressure [Pa] Max pressure in the deployment bay during drogue deployment
  * @param cpu_load  CPU load in percentage
  * @param free_heap  Amount of available heap in memory
- * @param log_number  Currently active log file, -1 if the logger is inactive
- * @param writes_failed  Number of fwrite() that failed
- * @param hil_state  1 if the board is currently in HIL mode
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_rocket_stats_tm_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
-                               uint64_t liftoff_ts, uint64_t liftoff_max_acc_ts, float liftoff_max_acc, uint64_t dpl_ts, float dpl_max_acc, uint64_t max_z_speed_ts, float max_z_speed, float max_airspeed_pitot, float max_speed_altitude, uint64_t apogee_ts, float apogee_lat, float apogee_lon, float apogee_alt, float min_pressure, float ada_min_pressure, float dpl_bay_max_pressure, float cpu_load, uint32_t free_heap, int16_t log_number, int32_t writes_failed, uint8_t hil_state)
+                               uint64_t liftoff_ts, uint64_t liftoff_max_acc_ts, float liftoff_max_acc, uint64_t dpl_ts, float dpl_max_acc, uint64_t max_z_speed_ts, float max_z_speed, float max_airspeed_pitot, float max_speed_altitude, uint64_t apogee_ts, float apogee_lat, float apogee_lon, float apogee_alt, float min_pressure, float ada_min_pressure, float dpl_vane_max_pressure, float cpu_load, uint32_t free_heap)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_ROCKET_STATS_TM_LEN];
@@ -215,12 +212,9 @@ static inline uint16_t mavlink_msg_rocket_stats_tm_pack_status(uint8_t system_id
     _mav_put_float(buf, 68, apogee_alt);
     _mav_put_float(buf, 72, min_pressure);
     _mav_put_float(buf, 76, ada_min_pressure);
-    _mav_put_float(buf, 80, dpl_bay_max_pressure);
+    _mav_put_float(buf, 80, dpl_vane_max_pressure);
     _mav_put_float(buf, 84, cpu_load);
     _mav_put_uint32_t(buf, 88, free_heap);
-    _mav_put_int32_t(buf, 92, writes_failed);
-    _mav_put_int16_t(buf, 96, log_number);
-    _mav_put_uint8_t(buf, 98, hil_state);
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_ROCKET_STATS_TM_LEN);
 #else
@@ -240,12 +234,9 @@ static inline uint16_t mavlink_msg_rocket_stats_tm_pack_status(uint8_t system_id
     packet.apogee_alt = apogee_alt;
     packet.min_pressure = min_pressure;
     packet.ada_min_pressure = ada_min_pressure;
-    packet.dpl_bay_max_pressure = dpl_bay_max_pressure;
+    packet.dpl_vane_max_pressure = dpl_vane_max_pressure;
     packet.cpu_load = cpu_load;
     packet.free_heap = free_heap;
-    packet.writes_failed = writes_failed;
-    packet.log_number = log_number;
-    packet.hil_state = hil_state;
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ROCKET_STATS_TM_LEN);
 #endif
@@ -376,7 +367,7 @@ static inline uint16_t mavlink_msg_rocket_stats_tm_encode_chan(uint8_t system_id
  */
 static inline uint16_t mavlink_msg_rocket_stats_tm_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_rocket_stats_tm_t* rocket_stats_tm)
 {
-    return mavlink_msg_rocket_stats_tm_pack_status(system_id, component_id, _status, msg,  rocket_stats_tm->liftoff_ts, rocket_stats_tm->liftoff_max_acc_ts, rocket_stats_tm->liftoff_max_acc, rocket_stats_tm->dpl_ts, rocket_stats_tm->dpl_max_acc, rocket_stats_tm->max_z_speed_ts, rocket_stats_tm->max_z_speed, rocket_stats_tm->max_airspeed_pitot, rocket_stats_tm->max_speed_altitude, rocket_stats_tm->apogee_ts, rocket_stats_tm->apogee_lat, rocket_stats_tm->apogee_lon, rocket_stats_tm->apogee_alt, rocket_stats_tm->min_pressure, rocket_stats_tm->ada_min_pressure, rocket_stats_tm->dpl_bay_max_pressure, rocket_stats_tm->cpu_load, rocket_stats_tm->free_heap, rocket_stats_tm->log_number, rocket_stats_tm->writes_failed, rocket_stats_tm->hil_state);
+    return mavlink_msg_rocket_stats_tm_pack_status(system_id, component_id, _status, msg,  rocket_stats_tm->liftoff_ts, rocket_stats_tm->liftoff_max_acc_ts, rocket_stats_tm->liftoff_max_acc, rocket_stats_tm->dpl_ts, rocket_stats_tm->dpl_max_acc, rocket_stats_tm->max_z_speed_ts, rocket_stats_tm->max_z_speed, rocket_stats_tm->max_airspeed_pitot, rocket_stats_tm->max_speed_altitude, rocket_stats_tm->apogee_ts, rocket_stats_tm->apogee_lat, rocket_stats_tm->apogee_lon, rocket_stats_tm->apogee_alt, rocket_stats_tm->min_pressure, rocket_stats_tm->ada_min_pressure, rocket_stats_tm->dpl_vane_max_pressure, rocket_stats_tm->cpu_load, rocket_stats_tm->free_heap);
 }
 
 /**
diff --git a/mavlink_lib/lyra/mavlink_msg_sensor_state_tm.h b/mavlink_lib/lyra/mavlink_msg_sensor_state_tm.h
index d2552ba070f5c9376681f8ba6f20f7b3bfcd4c52..1136969538f4091935326669d6f1e0d885db4553 100644
--- a/mavlink_lib/lyra/mavlink_msg_sensor_state_tm.h
+++ b/mavlink_lib/lyra/mavlink_msg_sensor_state_tm.h
@@ -75,23 +75,20 @@ static inline uint16_t mavlink_msg_sensor_state_tm_pack(uint8_t system_id, uint8
  * @param msg The MAVLink message to compress the data into
  *
  * @param sensor_name  Sensor name
- * @param initialized  Boolean that represents the init state
- * @param enabled  Boolean that represents the enabled state
+ * @param state  Boolean that represents the init state
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_sensor_state_tm_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
-                               const char *sensor_name, uint8_t initialized, uint8_t enabled)
+                               const char *sensor_name, uint8_t state)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_SENSOR_STATE_TM_LEN];
-    _mav_put_uint8_t(buf, 20, initialized);
-    _mav_put_uint8_t(buf, 21, enabled);
+    _mav_put_uint8_t(buf, 20, state);
     _mav_put_char_array(buf, 0, sensor_name, 20);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_SENSOR_STATE_TM_LEN);
 #else
     mavlink_sensor_state_tm_t packet;
-    packet.initialized = initialized;
-    packet.enabled = enabled;
+    packet.state = state;
     mav_array_memcpy(packet.sensor_name, sensor_name, sizeof(char)*20);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_SENSOR_STATE_TM_LEN);
 #endif
@@ -172,7 +169,7 @@ static inline uint16_t mavlink_msg_sensor_state_tm_encode_chan(uint8_t system_id
  */
 static inline uint16_t mavlink_msg_sensor_state_tm_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_sensor_state_tm_t* sensor_state_tm)
 {
-    return mavlink_msg_sensor_state_tm_pack_status(system_id, component_id, _status, msg,  sensor_state_tm->sensor_name, sensor_state_tm->initialized, sensor_state_tm->enabled);
+    return mavlink_msg_sensor_state_tm_pack_status(system_id, component_id, _status, msg,  sensor_state_tm->sensor_name, sensor_state_tm->state);
 }
 
 /**
diff --git a/mavlink_lib/lyra/mavlink_msg_set_antenna_coordinates_arp_tc.h b/mavlink_lib/lyra/mavlink_msg_set_antenna_coordinates_arp_tc.h
index f24281f4327bf2e569f908cac94a679c428be1c2..e34db699d57cce445f76f73868be6f77335c6eb4 100644
--- a/mavlink_lib/lyra/mavlink_msg_set_antenna_coordinates_arp_tc.h
+++ b/mavlink_lib/lyra/mavlink_msg_set_antenna_coordinates_arp_tc.h
@@ -1,39 +1,42 @@
 #pragma once
 // MESSAGE SET_ANTENNA_COORDINATES_ARP_TC PACKING
 
-#define MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC 170
+#define MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC 26
 
 
 typedef struct __mavlink_set_antenna_coordinates_arp_tc_t {
  float latitude; /*< [deg] Latitude*/
  float longitude; /*< [deg] Longitude*/
+ float height; /*< [m] Height*/
 } mavlink_set_antenna_coordinates_arp_tc_t;
 
-#define MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_LEN 8
-#define MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_MIN_LEN 8
-#define MAVLINK_MSG_ID_170_LEN 8
-#define MAVLINK_MSG_ID_170_MIN_LEN 8
+#define MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_LEN 12
+#define MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_MIN_LEN 12
+#define MAVLINK_MSG_ID_26_LEN 12
+#define MAVLINK_MSG_ID_26_MIN_LEN 12
 
-#define MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_CRC 202
-#define MAVLINK_MSG_ID_170_CRC 202
+#define MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_CRC 183
+#define MAVLINK_MSG_ID_26_CRC 183
 
 
 
 #if MAVLINK_COMMAND_24BIT
 #define MAVLINK_MESSAGE_INFO_SET_ANTENNA_COORDINATES_ARP_TC { \
-    170, \
+    26, \
     "SET_ANTENNA_COORDINATES_ARP_TC", \
-    2, \
+    3, \
     {  { "latitude", NULL, MAVLINK_TYPE_FLOAT, 0, 0, offsetof(mavlink_set_antenna_coordinates_arp_tc_t, latitude) }, \
          { "longitude", NULL, MAVLINK_TYPE_FLOAT, 0, 4, offsetof(mavlink_set_antenna_coordinates_arp_tc_t, longitude) }, \
+         { "height", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_set_antenna_coordinates_arp_tc_t, height) }, \
          } \
 }
 #else
 #define MAVLINK_MESSAGE_INFO_SET_ANTENNA_COORDINATES_ARP_TC { \
     "SET_ANTENNA_COORDINATES_ARP_TC", \
-    2, \
+    3, \
     {  { "latitude", NULL, MAVLINK_TYPE_FLOAT, 0, 0, offsetof(mavlink_set_antenna_coordinates_arp_tc_t, latitude) }, \
          { "longitude", NULL, MAVLINK_TYPE_FLOAT, 0, 4, offsetof(mavlink_set_antenna_coordinates_arp_tc_t, longitude) }, \
+         { "height", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_set_antenna_coordinates_arp_tc_t, height) }, \
          } \
 }
 #endif
@@ -46,21 +49,24 @@ typedef struct __mavlink_set_antenna_coordinates_arp_tc_t {
  *
  * @param latitude [deg] Latitude
  * @param longitude [deg] Longitude
+ * @param height [m] Height
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_set_antenna_coordinates_arp_tc_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
-                               float latitude, float longitude)
+                               float latitude, float longitude, float height)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_LEN];
     _mav_put_float(buf, 0, latitude);
     _mav_put_float(buf, 4, longitude);
+    _mav_put_float(buf, 8, height);
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_LEN);
 #else
     mavlink_set_antenna_coordinates_arp_tc_t packet;
     packet.latitude = latitude;
     packet.longitude = longitude;
+    packet.height = height;
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_LEN);
 #endif
@@ -69,6 +75,45 @@ static inline uint16_t mavlink_msg_set_antenna_coordinates_arp_tc_pack(uint8_t s
     return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_MIN_LEN, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_LEN, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_CRC);
 }
 
+/**
+ * @brief Pack a set_antenna_coordinates_arp_tc message
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param status MAVLink status structure
+ * @param msg The MAVLink message to compress the data into
+ *
+ * @param latitude [deg] Latitude
+ * @param longitude [deg] Longitude
+ * @param height [m] Height
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_set_antenna_coordinates_arp_tc_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
+                               float latitude, float longitude, float height)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_LEN];
+    _mav_put_float(buf, 0, latitude);
+    _mav_put_float(buf, 4, longitude);
+    _mav_put_float(buf, 8, height);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_LEN);
+#else
+    mavlink_set_antenna_coordinates_arp_tc_t packet;
+    packet.latitude = latitude;
+    packet.longitude = longitude;
+    packet.height = height;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC;
+#if MAVLINK_CRC_EXTRA
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_MIN_LEN, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_LEN, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_CRC);
+#else
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_MIN_LEN, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_LEN);
+#endif
+}
+
 /**
  * @brief Pack a set_antenna_coordinates_arp_tc message on a channel
  * @param system_id ID of this system
@@ -77,22 +122,25 @@ static inline uint16_t mavlink_msg_set_antenna_coordinates_arp_tc_pack(uint8_t s
  * @param msg The MAVLink message to compress the data into
  * @param latitude [deg] Latitude
  * @param longitude [deg] Longitude
+ * @param height [m] Height
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_set_antenna_coordinates_arp_tc_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
                                mavlink_message_t* msg,
-                                   float latitude,float longitude)
+                                   float latitude,float longitude,float height)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_LEN];
     _mav_put_float(buf, 0, latitude);
     _mav_put_float(buf, 4, longitude);
+    _mav_put_float(buf, 8, height);
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_LEN);
 #else
     mavlink_set_antenna_coordinates_arp_tc_t packet;
     packet.latitude = latitude;
     packet.longitude = longitude;
+    packet.height = height;
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_LEN);
 #endif
@@ -111,7 +159,7 @@ static inline uint16_t mavlink_msg_set_antenna_coordinates_arp_tc_pack_chan(uint
  */
 static inline uint16_t mavlink_msg_set_antenna_coordinates_arp_tc_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_set_antenna_coordinates_arp_tc_t* set_antenna_coordinates_arp_tc)
 {
-    return mavlink_msg_set_antenna_coordinates_arp_tc_pack(system_id, component_id, msg, set_antenna_coordinates_arp_tc->latitude, set_antenna_coordinates_arp_tc->longitude);
+    return mavlink_msg_set_antenna_coordinates_arp_tc_pack(system_id, component_id, msg, set_antenna_coordinates_arp_tc->latitude, set_antenna_coordinates_arp_tc->longitude, set_antenna_coordinates_arp_tc->height);
 }
 
 /**
@@ -125,7 +173,21 @@ static inline uint16_t mavlink_msg_set_antenna_coordinates_arp_tc_encode(uint8_t
  */
 static inline uint16_t mavlink_msg_set_antenna_coordinates_arp_tc_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_set_antenna_coordinates_arp_tc_t* set_antenna_coordinates_arp_tc)
 {
-    return mavlink_msg_set_antenna_coordinates_arp_tc_pack_chan(system_id, component_id, chan, msg, set_antenna_coordinates_arp_tc->latitude, set_antenna_coordinates_arp_tc->longitude);
+    return mavlink_msg_set_antenna_coordinates_arp_tc_pack_chan(system_id, component_id, chan, msg, set_antenna_coordinates_arp_tc->latitude, set_antenna_coordinates_arp_tc->longitude, set_antenna_coordinates_arp_tc->height);
+}
+
+/**
+ * @brief Encode a set_antenna_coordinates_arp_tc struct with provided status structure
+ *
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param status MAVLink status structure
+ * @param msg The MAVLink message to compress the data into
+ * @param set_antenna_coordinates_arp_tc C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_set_antenna_coordinates_arp_tc_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_set_antenna_coordinates_arp_tc_t* set_antenna_coordinates_arp_tc)
+{
+    return mavlink_msg_set_antenna_coordinates_arp_tc_pack_status(system_id, component_id, _status, msg,  set_antenna_coordinates_arp_tc->latitude, set_antenna_coordinates_arp_tc->longitude, set_antenna_coordinates_arp_tc->height);
 }
 
 /**
@@ -134,21 +196,24 @@ static inline uint16_t mavlink_msg_set_antenna_coordinates_arp_tc_encode_chan(ui
  *
  * @param latitude [deg] Latitude
  * @param longitude [deg] Longitude
+ * @param height [m] Height
  */
 #ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
 
-static inline void mavlink_msg_set_antenna_coordinates_arp_tc_send(mavlink_channel_t chan, float latitude, float longitude)
+static inline void mavlink_msg_set_antenna_coordinates_arp_tc_send(mavlink_channel_t chan, float latitude, float longitude, float height)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_LEN];
     _mav_put_float(buf, 0, latitude);
     _mav_put_float(buf, 4, longitude);
+    _mav_put_float(buf, 8, height);
 
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC, buf, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_MIN_LEN, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_LEN, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_CRC);
 #else
     mavlink_set_antenna_coordinates_arp_tc_t packet;
     packet.latitude = latitude;
     packet.longitude = longitude;
+    packet.height = height;
 
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC, (const char *)&packet, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_MIN_LEN, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_LEN, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_CRC);
 #endif
@@ -162,7 +227,7 @@ static inline void mavlink_msg_set_antenna_coordinates_arp_tc_send(mavlink_chann
 static inline void mavlink_msg_set_antenna_coordinates_arp_tc_send_struct(mavlink_channel_t chan, const mavlink_set_antenna_coordinates_arp_tc_t* set_antenna_coordinates_arp_tc)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
-    mavlink_msg_set_antenna_coordinates_arp_tc_send(chan, set_antenna_coordinates_arp_tc->latitude, set_antenna_coordinates_arp_tc->longitude);
+    mavlink_msg_set_antenna_coordinates_arp_tc_send(chan, set_antenna_coordinates_arp_tc->latitude, set_antenna_coordinates_arp_tc->longitude, set_antenna_coordinates_arp_tc->height);
 #else
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC, (const char *)set_antenna_coordinates_arp_tc, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_MIN_LEN, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_LEN, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_CRC);
 #endif
@@ -176,18 +241,20 @@ static inline void mavlink_msg_set_antenna_coordinates_arp_tc_send_struct(mavlin
   is usually the receive buffer for the channel, and allows a reply to an
   incoming message with minimum stack space usage.
  */
-static inline void mavlink_msg_set_antenna_coordinates_arp_tc_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  float latitude, float longitude)
+static inline void mavlink_msg_set_antenna_coordinates_arp_tc_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  float latitude, float longitude, float height)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char *buf = (char *)msgbuf;
     _mav_put_float(buf, 0, latitude);
     _mav_put_float(buf, 4, longitude);
+    _mav_put_float(buf, 8, height);
 
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC, buf, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_MIN_LEN, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_LEN, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_CRC);
 #else
     mavlink_set_antenna_coordinates_arp_tc_t *packet = (mavlink_set_antenna_coordinates_arp_tc_t *)msgbuf;
     packet->latitude = latitude;
     packet->longitude = longitude;
+    packet->height = height;
 
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC, (const char *)packet, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_MIN_LEN, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_LEN, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_CRC);
 #endif
@@ -219,6 +286,16 @@ static inline float mavlink_msg_set_antenna_coordinates_arp_tc_get_longitude(con
     return _MAV_RETURN_float(msg,  4);
 }
 
+/**
+ * @brief Get field height from set_antenna_coordinates_arp_tc message
+ *
+ * @return [m] Height
+ */
+static inline float mavlink_msg_set_antenna_coordinates_arp_tc_get_height(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_float(msg,  8);
+}
+
 /**
  * @brief Decode a set_antenna_coordinates_arp_tc message into a struct
  *
@@ -230,6 +307,7 @@ static inline void mavlink_msg_set_antenna_coordinates_arp_tc_decode(const mavli
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     set_antenna_coordinates_arp_tc->latitude = mavlink_msg_set_antenna_coordinates_arp_tc_get_latitude(msg);
     set_antenna_coordinates_arp_tc->longitude = mavlink_msg_set_antenna_coordinates_arp_tc_get_longitude(msg);
+    set_antenna_coordinates_arp_tc->height = mavlink_msg_set_antenna_coordinates_arp_tc_get_height(msg);
 #else
         uint8_t len = msg->len < MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_LEN? msg->len : MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_LEN;
         memset(set_antenna_coordinates_arp_tc, 0, MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_LEN);
diff --git a/mavlink_lib/lyra/mavlink_msg_set_rocket_coordinates_arp_tc.h b/mavlink_lib/lyra/mavlink_msg_set_rocket_coordinates_arp_tc.h
index 0cca27cd5973de3fb8d91fc9743ffa980aaf41ba..58f8271af69c08828bc5d59fff56d469083ab61a 100644
--- a/mavlink_lib/lyra/mavlink_msg_set_rocket_coordinates_arp_tc.h
+++ b/mavlink_lib/lyra/mavlink_msg_set_rocket_coordinates_arp_tc.h
@@ -1,39 +1,42 @@
 #pragma once
 // MESSAGE SET_ROCKET_COORDINATES_ARP_TC PACKING
 
-#define MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC 171
+#define MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC 27
 
 
 typedef struct __mavlink_set_rocket_coordinates_arp_tc_t {
  float latitude; /*< [deg] Latitude*/
  float longitude; /*< [deg] Longitude*/
+ float height; /*< [m] Height*/
 } mavlink_set_rocket_coordinates_arp_tc_t;
 
-#define MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_LEN 8
-#define MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_MIN_LEN 8
-#define MAVLINK_MSG_ID_171_LEN 8
-#define MAVLINK_MSG_ID_171_MIN_LEN 8
+#define MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_LEN 12
+#define MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_MIN_LEN 12
+#define MAVLINK_MSG_ID_27_LEN 12
+#define MAVLINK_MSG_ID_27_MIN_LEN 12
 
-#define MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_CRC 164
-#define MAVLINK_MSG_ID_171_CRC 164
+#define MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_CRC 220
+#define MAVLINK_MSG_ID_27_CRC 220
 
 
 
 #if MAVLINK_COMMAND_24BIT
 #define MAVLINK_MESSAGE_INFO_SET_ROCKET_COORDINATES_ARP_TC { \
-    171, \
+    27, \
     "SET_ROCKET_COORDINATES_ARP_TC", \
-    2, \
+    3, \
     {  { "latitude", NULL, MAVLINK_TYPE_FLOAT, 0, 0, offsetof(mavlink_set_rocket_coordinates_arp_tc_t, latitude) }, \
          { "longitude", NULL, MAVLINK_TYPE_FLOAT, 0, 4, offsetof(mavlink_set_rocket_coordinates_arp_tc_t, longitude) }, \
+         { "height", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_set_rocket_coordinates_arp_tc_t, height) }, \
          } \
 }
 #else
 #define MAVLINK_MESSAGE_INFO_SET_ROCKET_COORDINATES_ARP_TC { \
     "SET_ROCKET_COORDINATES_ARP_TC", \
-    2, \
+    3, \
     {  { "latitude", NULL, MAVLINK_TYPE_FLOAT, 0, 0, offsetof(mavlink_set_rocket_coordinates_arp_tc_t, latitude) }, \
          { "longitude", NULL, MAVLINK_TYPE_FLOAT, 0, 4, offsetof(mavlink_set_rocket_coordinates_arp_tc_t, longitude) }, \
+         { "height", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_set_rocket_coordinates_arp_tc_t, height) }, \
          } \
 }
 #endif
@@ -46,21 +49,24 @@ typedef struct __mavlink_set_rocket_coordinates_arp_tc_t {
  *
  * @param latitude [deg] Latitude
  * @param longitude [deg] Longitude
+ * @param height [m] Height
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_set_rocket_coordinates_arp_tc_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
-                               float latitude, float longitude)
+                               float latitude, float longitude, float height)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_LEN];
     _mav_put_float(buf, 0, latitude);
     _mav_put_float(buf, 4, longitude);
+    _mav_put_float(buf, 8, height);
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_LEN);
 #else
     mavlink_set_rocket_coordinates_arp_tc_t packet;
     packet.latitude = latitude;
     packet.longitude = longitude;
+    packet.height = height;
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_LEN);
 #endif
@@ -69,6 +75,45 @@ static inline uint16_t mavlink_msg_set_rocket_coordinates_arp_tc_pack(uint8_t sy
     return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_MIN_LEN, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_LEN, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_CRC);
 }
 
+/**
+ * @brief Pack a set_rocket_coordinates_arp_tc message
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param status MAVLink status structure
+ * @param msg The MAVLink message to compress the data into
+ *
+ * @param latitude [deg] Latitude
+ * @param longitude [deg] Longitude
+ * @param height [m] Height
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_set_rocket_coordinates_arp_tc_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
+                               float latitude, float longitude, float height)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_LEN];
+    _mav_put_float(buf, 0, latitude);
+    _mav_put_float(buf, 4, longitude);
+    _mav_put_float(buf, 8, height);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_LEN);
+#else
+    mavlink_set_rocket_coordinates_arp_tc_t packet;
+    packet.latitude = latitude;
+    packet.longitude = longitude;
+    packet.height = height;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC;
+#if MAVLINK_CRC_EXTRA
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_MIN_LEN, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_LEN, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_CRC);
+#else
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_MIN_LEN, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_LEN);
+#endif
+}
+
 /**
  * @brief Pack a set_rocket_coordinates_arp_tc message on a channel
  * @param system_id ID of this system
@@ -77,22 +122,25 @@ static inline uint16_t mavlink_msg_set_rocket_coordinates_arp_tc_pack(uint8_t sy
  * @param msg The MAVLink message to compress the data into
  * @param latitude [deg] Latitude
  * @param longitude [deg] Longitude
+ * @param height [m] Height
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_set_rocket_coordinates_arp_tc_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
                                mavlink_message_t* msg,
-                                   float latitude,float longitude)
+                                   float latitude,float longitude,float height)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_LEN];
     _mav_put_float(buf, 0, latitude);
     _mav_put_float(buf, 4, longitude);
+    _mav_put_float(buf, 8, height);
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_LEN);
 #else
     mavlink_set_rocket_coordinates_arp_tc_t packet;
     packet.latitude = latitude;
     packet.longitude = longitude;
+    packet.height = height;
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_LEN);
 #endif
@@ -111,7 +159,7 @@ static inline uint16_t mavlink_msg_set_rocket_coordinates_arp_tc_pack_chan(uint8
  */
 static inline uint16_t mavlink_msg_set_rocket_coordinates_arp_tc_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_set_rocket_coordinates_arp_tc_t* set_rocket_coordinates_arp_tc)
 {
-    return mavlink_msg_set_rocket_coordinates_arp_tc_pack(system_id, component_id, msg, set_rocket_coordinates_arp_tc->latitude, set_rocket_coordinates_arp_tc->longitude);
+    return mavlink_msg_set_rocket_coordinates_arp_tc_pack(system_id, component_id, msg, set_rocket_coordinates_arp_tc->latitude, set_rocket_coordinates_arp_tc->longitude, set_rocket_coordinates_arp_tc->height);
 }
 
 /**
@@ -125,7 +173,21 @@ static inline uint16_t mavlink_msg_set_rocket_coordinates_arp_tc_encode(uint8_t
  */
 static inline uint16_t mavlink_msg_set_rocket_coordinates_arp_tc_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_set_rocket_coordinates_arp_tc_t* set_rocket_coordinates_arp_tc)
 {
-    return mavlink_msg_set_rocket_coordinates_arp_tc_pack_chan(system_id, component_id, chan, msg, set_rocket_coordinates_arp_tc->latitude, set_rocket_coordinates_arp_tc->longitude);
+    return mavlink_msg_set_rocket_coordinates_arp_tc_pack_chan(system_id, component_id, chan, msg, set_rocket_coordinates_arp_tc->latitude, set_rocket_coordinates_arp_tc->longitude, set_rocket_coordinates_arp_tc->height);
+}
+
+/**
+ * @brief Encode a set_rocket_coordinates_arp_tc struct with provided status structure
+ *
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param status MAVLink status structure
+ * @param msg The MAVLink message to compress the data into
+ * @param set_rocket_coordinates_arp_tc C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_set_rocket_coordinates_arp_tc_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_set_rocket_coordinates_arp_tc_t* set_rocket_coordinates_arp_tc)
+{
+    return mavlink_msg_set_rocket_coordinates_arp_tc_pack_status(system_id, component_id, _status, msg,  set_rocket_coordinates_arp_tc->latitude, set_rocket_coordinates_arp_tc->longitude, set_rocket_coordinates_arp_tc->height);
 }
 
 /**
@@ -134,21 +196,24 @@ static inline uint16_t mavlink_msg_set_rocket_coordinates_arp_tc_encode_chan(uin
  *
  * @param latitude [deg] Latitude
  * @param longitude [deg] Longitude
+ * @param height [m] Height
  */
 #ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
 
-static inline void mavlink_msg_set_rocket_coordinates_arp_tc_send(mavlink_channel_t chan, float latitude, float longitude)
+static inline void mavlink_msg_set_rocket_coordinates_arp_tc_send(mavlink_channel_t chan, float latitude, float longitude, float height)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_LEN];
     _mav_put_float(buf, 0, latitude);
     _mav_put_float(buf, 4, longitude);
+    _mav_put_float(buf, 8, height);
 
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC, buf, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_MIN_LEN, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_LEN, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_CRC);
 #else
     mavlink_set_rocket_coordinates_arp_tc_t packet;
     packet.latitude = latitude;
     packet.longitude = longitude;
+    packet.height = height;
 
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC, (const char *)&packet, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_MIN_LEN, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_LEN, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_CRC);
 #endif
@@ -162,7 +227,7 @@ static inline void mavlink_msg_set_rocket_coordinates_arp_tc_send(mavlink_channe
 static inline void mavlink_msg_set_rocket_coordinates_arp_tc_send_struct(mavlink_channel_t chan, const mavlink_set_rocket_coordinates_arp_tc_t* set_rocket_coordinates_arp_tc)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
-    mavlink_msg_set_rocket_coordinates_arp_tc_send(chan, set_rocket_coordinates_arp_tc->latitude, set_rocket_coordinates_arp_tc->longitude);
+    mavlink_msg_set_rocket_coordinates_arp_tc_send(chan, set_rocket_coordinates_arp_tc->latitude, set_rocket_coordinates_arp_tc->longitude, set_rocket_coordinates_arp_tc->height);
 #else
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC, (const char *)set_rocket_coordinates_arp_tc, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_MIN_LEN, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_LEN, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_CRC);
 #endif
@@ -176,18 +241,20 @@ static inline void mavlink_msg_set_rocket_coordinates_arp_tc_send_struct(mavlink
   is usually the receive buffer for the channel, and allows a reply to an
   incoming message with minimum stack space usage.
  */
-static inline void mavlink_msg_set_rocket_coordinates_arp_tc_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  float latitude, float longitude)
+static inline void mavlink_msg_set_rocket_coordinates_arp_tc_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  float latitude, float longitude, float height)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char *buf = (char *)msgbuf;
     _mav_put_float(buf, 0, latitude);
     _mav_put_float(buf, 4, longitude);
+    _mav_put_float(buf, 8, height);
 
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC, buf, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_MIN_LEN, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_LEN, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_CRC);
 #else
     mavlink_set_rocket_coordinates_arp_tc_t *packet = (mavlink_set_rocket_coordinates_arp_tc_t *)msgbuf;
     packet->latitude = latitude;
     packet->longitude = longitude;
+    packet->height = height;
 
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC, (const char *)packet, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_MIN_LEN, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_LEN, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_CRC);
 #endif
@@ -219,6 +286,16 @@ static inline float mavlink_msg_set_rocket_coordinates_arp_tc_get_longitude(cons
     return _MAV_RETURN_float(msg,  4);
 }
 
+/**
+ * @brief Get field height from set_rocket_coordinates_arp_tc message
+ *
+ * @return [m] Height
+ */
+static inline float mavlink_msg_set_rocket_coordinates_arp_tc_get_height(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_float(msg,  8);
+}
+
 /**
  * @brief Decode a set_rocket_coordinates_arp_tc message into a struct
  *
@@ -230,6 +307,7 @@ static inline void mavlink_msg_set_rocket_coordinates_arp_tc_decode(const mavlin
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     set_rocket_coordinates_arp_tc->latitude = mavlink_msg_set_rocket_coordinates_arp_tc_get_latitude(msg);
     set_rocket_coordinates_arp_tc->longitude = mavlink_msg_set_rocket_coordinates_arp_tc_get_longitude(msg);
+    set_rocket_coordinates_arp_tc->height = mavlink_msg_set_rocket_coordinates_arp_tc_get_height(msg);
 #else
         uint8_t len = msg->len < MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_LEN? msg->len : MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_LEN;
         memset(set_rocket_coordinates_arp_tc, 0, MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_LEN);
diff --git a/mavlink_lib/lyra/mavlink_msg_set_stepper_multiplier_tc.h b/mavlink_lib/lyra/mavlink_msg_set_stepper_multiplier_tc.h
index fc81eca75f8ec20832d33bb72346826ec9e778d8..bf7f81adc8969944a1603c3f82c79bbf5e22ab5f 100644
--- a/mavlink_lib/lyra/mavlink_msg_set_stepper_multiplier_tc.h
+++ b/mavlink_lib/lyra/mavlink_msg_set_stepper_multiplier_tc.h
@@ -1,7 +1,7 @@
 #pragma once
 // MESSAGE SET_STEPPER_MULTIPLIER_TC PACKING
 
-#define MAVLINK_MSG_ID_SET_STEPPER_MULTIPLIER_TC 62
+#define MAVLINK_MSG_ID_SET_STEPPER_MULTIPLIER_TC 25
 
 
 typedef struct __mavlink_set_stepper_multiplier_tc_t {
@@ -11,17 +11,17 @@ typedef struct __mavlink_set_stepper_multiplier_tc_t {
 
 #define MAVLINK_MSG_ID_SET_STEPPER_MULTIPLIER_TC_LEN 5
 #define MAVLINK_MSG_ID_SET_STEPPER_MULTIPLIER_TC_MIN_LEN 5
-#define MAVLINK_MSG_ID_62_LEN 5
-#define MAVLINK_MSG_ID_62_MIN_LEN 5
+#define MAVLINK_MSG_ID_25_LEN 5
+#define MAVLINK_MSG_ID_25_MIN_LEN 5
 
 #define MAVLINK_MSG_ID_SET_STEPPER_MULTIPLIER_TC_CRC 173
-#define MAVLINK_MSG_ID_62_CRC 173
+#define MAVLINK_MSG_ID_25_CRC 173
 
 
 
 #if MAVLINK_COMMAND_24BIT
 #define MAVLINK_MESSAGE_INFO_SET_STEPPER_MULTIPLIER_TC { \
-    62, \
+    25, \
     "SET_STEPPER_MULTIPLIER_TC", \
     2, \
     {  { "stepper_id", NULL, MAVLINK_TYPE_UINT8_T, 0, 4, offsetof(mavlink_set_stepper_multiplier_tc_t, stepper_id) }, \
diff --git a/mavlink_lib/lyra/mavlink_msg_sys_tm.h b/mavlink_lib/lyra/mavlink_msg_sys_tm.h
index e5daa0fd2134d7b9ec9e75d7018f2f731d1f25b5..cda22300cf4e6c76f4d2d94a1b476aba697afece 100644
--- a/mavlink_lib/lyra/mavlink_msg_sys_tm.h
+++ b/mavlink_lib/lyra/mavlink_msg_sys_tm.h
@@ -110,15 +110,13 @@ static inline uint16_t mavlink_msg_sys_tm_pack(uint8_t system_id, uint8_t compon
  * @param logger  True if the logger started correctly
  * @param event_broker  True if the event broker started correctly
  * @param radio  True if the radio started correctly
+ * @param pin_observer  True if the pin observer started correctly
  * @param sensors  True if the sensors started correctly
- * @param actuators  True if the sensors started correctly
- * @param pin_handler  True if the pin observer started correctly
- * @param can_handler  True if the can handler started correctly
- * @param scheduler  True if the board scheduler is running
+ * @param board_scheduler  True if the board scheduler is running
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_sys_tm_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
-                               uint64_t timestamp, uint8_t logger, uint8_t event_broker, uint8_t radio, uint8_t sensors, uint8_t actuators, uint8_t pin_handler, uint8_t can_handler, uint8_t scheduler)
+                               uint64_t timestamp, uint8_t logger, uint8_t event_broker, uint8_t radio, uint8_t pin_observer, uint8_t sensors, uint8_t board_scheduler)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_SYS_TM_LEN];
@@ -126,11 +124,9 @@ static inline uint16_t mavlink_msg_sys_tm_pack_status(uint8_t system_id, uint8_t
     _mav_put_uint8_t(buf, 8, logger);
     _mav_put_uint8_t(buf, 9, event_broker);
     _mav_put_uint8_t(buf, 10, radio);
-    _mav_put_uint8_t(buf, 11, sensors);
-    _mav_put_uint8_t(buf, 12, actuators);
-    _mav_put_uint8_t(buf, 13, pin_handler);
-    _mav_put_uint8_t(buf, 14, can_handler);
-    _mav_put_uint8_t(buf, 15, scheduler);
+    _mav_put_uint8_t(buf, 11, pin_observer);
+    _mav_put_uint8_t(buf, 12, sensors);
+    _mav_put_uint8_t(buf, 13, board_scheduler);
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_SYS_TM_LEN);
 #else
@@ -139,11 +135,9 @@ static inline uint16_t mavlink_msg_sys_tm_pack_status(uint8_t system_id, uint8_t
     packet.logger = logger;
     packet.event_broker = event_broker;
     packet.radio = radio;
+    packet.pin_observer = pin_observer;
     packet.sensors = sensors;
-    packet.actuators = actuators;
-    packet.pin_handler = pin_handler;
-    packet.can_handler = can_handler;
-    packet.scheduler = scheduler;
+    packet.board_scheduler = board_scheduler;
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_SYS_TM_LEN);
 #endif
@@ -241,7 +235,7 @@ static inline uint16_t mavlink_msg_sys_tm_encode_chan(uint8_t system_id, uint8_t
  */
 static inline uint16_t mavlink_msg_sys_tm_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_sys_tm_t* sys_tm)
 {
-    return mavlink_msg_sys_tm_pack_status(system_id, component_id, _status, msg,  sys_tm->timestamp, sys_tm->logger, sys_tm->event_broker, sys_tm->radio, sys_tm->sensors, sys_tm->actuators, sys_tm->pin_handler, sys_tm->can_handler, sys_tm->scheduler);
+    return mavlink_msg_sys_tm_pack_status(system_id, component_id, _status, msg,  sys_tm->timestamp, sys_tm->logger, sys_tm->event_broker, sys_tm->radio, sys_tm->pin_observer, sys_tm->sensors, sys_tm->board_scheduler);
 }
 
 /**
diff --git a/mavlink_lib/lyra/mavlink_msg_task_stats_tm.h b/mavlink_lib/lyra/mavlink_msg_task_stats_tm.h
index 5ab2825bef6f38cecfbbc6f2dd0e9e63f6208563..3120beea38bf39e37f4b0fcaac9c10b7aa25f294 100644
--- a/mavlink_lib/lyra/mavlink_msg_task_stats_tm.h
+++ b/mavlink_lib/lyra/mavlink_msg_task_stats_tm.h
@@ -108,48 +108,36 @@ static inline uint16_t mavlink_msg_task_stats_tm_pack(uint8_t system_id, uint8_t
  *
  * @param timestamp [us] When was this logged 
  * @param task_id  Task ID
- * @param task_period [ns] Period of the task
- * @param task_missed_events  Number of missed events
- * @param task_failed_events  Number of missed events
- * @param task_activation_mean  Task activation mean period
- * @param task_activation_stddev  Task activation mean standard deviation
- * @param task_period_mean  Task period mean period
- * @param task_period_stddev  Task period mean standard deviation
- * @param task_workload_mean  Task workload mean period
- * @param task_workload_stddev  Task workload mean standard deviation
+ * @param task_period [ms] Period of the task
+ * @param task_min  Task min period
+ * @param task_max  Task max period
+ * @param task_mean  Task mean period
+ * @param task_stddev  Task period std deviation
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_task_stats_tm_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
-                               uint64_t timestamp, uint16_t task_id, uint16_t task_period, uint32_t task_missed_events, uint32_t task_failed_events, float task_activation_mean, float task_activation_stddev, float task_period_mean, float task_period_stddev, float task_workload_mean, float task_workload_stddev)
+                               uint64_t timestamp, uint8_t task_id, uint16_t task_period, float task_min, float task_max, float task_mean, float task_stddev)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_TASK_STATS_TM_LEN];
     _mav_put_uint64_t(buf, 0, timestamp);
-    _mav_put_uint32_t(buf, 8, task_missed_events);
-    _mav_put_uint32_t(buf, 12, task_failed_events);
-    _mav_put_float(buf, 16, task_activation_mean);
-    _mav_put_float(buf, 20, task_activation_stddev);
-    _mav_put_float(buf, 24, task_period_mean);
-    _mav_put_float(buf, 28, task_period_stddev);
-    _mav_put_float(buf, 32, task_workload_mean);
-    _mav_put_float(buf, 36, task_workload_stddev);
-    _mav_put_uint16_t(buf, 40, task_id);
-    _mav_put_uint16_t(buf, 42, task_period);
+    _mav_put_float(buf, 8, task_min);
+    _mav_put_float(buf, 12, task_max);
+    _mav_put_float(buf, 16, task_mean);
+    _mav_put_float(buf, 20, task_stddev);
+    _mav_put_uint16_t(buf, 24, task_period);
+    _mav_put_uint8_t(buf, 26, task_id);
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_TASK_STATS_TM_LEN);
 #else
     mavlink_task_stats_tm_t packet;
     packet.timestamp = timestamp;
-    packet.task_missed_events = task_missed_events;
-    packet.task_failed_events = task_failed_events;
-    packet.task_activation_mean = task_activation_mean;
-    packet.task_activation_stddev = task_activation_stddev;
-    packet.task_period_mean = task_period_mean;
-    packet.task_period_stddev = task_period_stddev;
-    packet.task_workload_mean = task_workload_mean;
-    packet.task_workload_stddev = task_workload_stddev;
-    packet.task_id = task_id;
+    packet.task_min = task_min;
+    packet.task_max = task_max;
+    packet.task_mean = task_mean;
+    packet.task_stddev = task_stddev;
     packet.task_period = task_period;
+    packet.task_id = task_id;
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_TASK_STATS_TM_LEN);
 #endif
@@ -247,7 +235,7 @@ static inline uint16_t mavlink_msg_task_stats_tm_encode_chan(uint8_t system_id,
  */
 static inline uint16_t mavlink_msg_task_stats_tm_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_task_stats_tm_t* task_stats_tm)
 {
-    return mavlink_msg_task_stats_tm_pack_status(system_id, component_id, _status, msg,  task_stats_tm->timestamp, task_stats_tm->task_id, task_stats_tm->task_period, task_stats_tm->task_missed_events, task_stats_tm->task_failed_events, task_stats_tm->task_activation_mean, task_stats_tm->task_activation_stddev, task_stats_tm->task_period_mean, task_stats_tm->task_period_stddev, task_stats_tm->task_workload_mean, task_stats_tm->task_workload_stddev);
+    return mavlink_msg_task_stats_tm_pack_status(system_id, component_id, _status, msg,  task_stats_tm->timestamp, task_stats_tm->task_id, task_stats_tm->task_period, task_stats_tm->task_min, task_stats_tm->task_max, task_stats_tm->task_mean, task_stats_tm->task_stddev);
 }
 
 /**
diff --git a/mavlink_lib/lyra/testsuite.h b/mavlink_lib/lyra/testsuite.h
index d6a2e616166111b484220071fece2d068833e32d..bdd3b4028100fa69801e6a12b3e8c80753333483 100644
--- a/mavlink_lib/lyra/testsuite.h
+++ b/mavlink_lib/lyra/testsuite.h
@@ -1457,6 +1457,247 @@ static void mavlink_test_set_cooling_time_tc(uint8_t system_id, uint8_t componen
 #endif
 }
 
+static void mavlink_test_set_stepper_multiplier_tc(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
+{
+#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
+    mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
+        if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_SET_STEPPER_MULTIPLIER_TC >= 256) {
+            return;
+        }
+#endif
+    mavlink_message_t msg;
+        uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
+        uint16_t i;
+    mavlink_set_stepper_multiplier_tc_t packet_in = {
+        17.0,17
+    };
+    mavlink_set_stepper_multiplier_tc_t packet1, packet2;
+        memset(&packet1, 0, sizeof(packet1));
+        packet1.multiplier = packet_in.multiplier;
+        packet1.stepper_id = packet_in.stepper_id;
+        
+        
+#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
+        if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
+           // cope with extensions
+           memset(MAVLINK_MSG_ID_SET_STEPPER_MULTIPLIER_TC_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_SET_STEPPER_MULTIPLIER_TC_MIN_LEN);
+        }
+#endif
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_set_stepper_multiplier_tc_encode(system_id, component_id, &msg, &packet1);
+    mavlink_msg_set_stepper_multiplier_tc_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_set_stepper_multiplier_tc_pack(system_id, component_id, &msg , packet1.stepper_id , packet1.multiplier );
+    mavlink_msg_set_stepper_multiplier_tc_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_set_stepper_multiplier_tc_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.stepper_id , packet1.multiplier );
+    mavlink_msg_set_stepper_multiplier_tc_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+        mavlink_msg_to_send_buffer(buffer, &msg);
+        for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
+            comm_send_ch(MAVLINK_COMM_0, buffer[i]);
+        }
+    mavlink_msg_set_stepper_multiplier_tc_decode(last_msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+        
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_set_stepper_multiplier_tc_send(MAVLINK_COMM_1 , packet1.stepper_id , packet1.multiplier );
+    mavlink_msg_set_stepper_multiplier_tc_decode(last_msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+#ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
+    MAVLINK_ASSERT(mavlink_get_message_info_by_name("SET_STEPPER_MULTIPLIER_TC") != NULL);
+    MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_SET_STEPPER_MULTIPLIER_TC) != NULL);
+#endif
+}
+
+static void mavlink_test_set_antenna_coordinates_arp_tc(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
+{
+#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
+    mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
+        if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC >= 256) {
+            return;
+        }
+#endif
+    mavlink_message_t msg;
+        uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
+        uint16_t i;
+    mavlink_set_antenna_coordinates_arp_tc_t packet_in = {
+        17.0,45.0,73.0
+    };
+    mavlink_set_antenna_coordinates_arp_tc_t packet1, packet2;
+        memset(&packet1, 0, sizeof(packet1));
+        packet1.latitude = packet_in.latitude;
+        packet1.longitude = packet_in.longitude;
+        packet1.height = packet_in.height;
+        
+        
+#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
+        if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
+           // cope with extensions
+           memset(MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_MIN_LEN);
+        }
+#endif
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_set_antenna_coordinates_arp_tc_encode(system_id, component_id, &msg, &packet1);
+    mavlink_msg_set_antenna_coordinates_arp_tc_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_set_antenna_coordinates_arp_tc_pack(system_id, component_id, &msg , packet1.latitude , packet1.longitude , packet1.height );
+    mavlink_msg_set_antenna_coordinates_arp_tc_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_set_antenna_coordinates_arp_tc_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.latitude , packet1.longitude , packet1.height );
+    mavlink_msg_set_antenna_coordinates_arp_tc_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+        mavlink_msg_to_send_buffer(buffer, &msg);
+        for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
+            comm_send_ch(MAVLINK_COMM_0, buffer[i]);
+        }
+    mavlink_msg_set_antenna_coordinates_arp_tc_decode(last_msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+        
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_set_antenna_coordinates_arp_tc_send(MAVLINK_COMM_1 , packet1.latitude , packet1.longitude , packet1.height );
+    mavlink_msg_set_antenna_coordinates_arp_tc_decode(last_msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+#ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
+    MAVLINK_ASSERT(mavlink_get_message_info_by_name("SET_ANTENNA_COORDINATES_ARP_TC") != NULL);
+    MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC) != NULL);
+#endif
+}
+
+static void mavlink_test_set_rocket_coordinates_arp_tc(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
+{
+#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
+    mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
+        if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC >= 256) {
+            return;
+        }
+#endif
+    mavlink_message_t msg;
+        uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
+        uint16_t i;
+    mavlink_set_rocket_coordinates_arp_tc_t packet_in = {
+        17.0,45.0,73.0
+    };
+    mavlink_set_rocket_coordinates_arp_tc_t packet1, packet2;
+        memset(&packet1, 0, sizeof(packet1));
+        packet1.latitude = packet_in.latitude;
+        packet1.longitude = packet_in.longitude;
+        packet1.height = packet_in.height;
+        
+        
+#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
+        if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
+           // cope with extensions
+           memset(MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_MIN_LEN);
+        }
+#endif
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_set_rocket_coordinates_arp_tc_encode(system_id, component_id, &msg, &packet1);
+    mavlink_msg_set_rocket_coordinates_arp_tc_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_set_rocket_coordinates_arp_tc_pack(system_id, component_id, &msg , packet1.latitude , packet1.longitude , packet1.height );
+    mavlink_msg_set_rocket_coordinates_arp_tc_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_set_rocket_coordinates_arp_tc_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.latitude , packet1.longitude , packet1.height );
+    mavlink_msg_set_rocket_coordinates_arp_tc_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+        mavlink_msg_to_send_buffer(buffer, &msg);
+        for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
+            comm_send_ch(MAVLINK_COMM_0, buffer[i]);
+        }
+    mavlink_msg_set_rocket_coordinates_arp_tc_decode(last_msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+        
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_set_rocket_coordinates_arp_tc_send(MAVLINK_COMM_1 , packet1.latitude , packet1.longitude , packet1.height );
+    mavlink_msg_set_rocket_coordinates_arp_tc_decode(last_msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+#ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
+    MAVLINK_ASSERT(mavlink_get_message_info_by_name("SET_ROCKET_COORDINATES_ARP_TC") != NULL);
+    MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC) != NULL);
+#endif
+}
+
+static void mavlink_test_arp_command_tc(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
+{
+#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
+    mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
+        if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_ARP_COMMAND_TC >= 256) {
+            return;
+        }
+#endif
+    mavlink_message_t msg;
+        uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
+        uint16_t i;
+    mavlink_arp_command_tc_t packet_in = {
+        5
+    };
+    mavlink_arp_command_tc_t packet1, packet2;
+        memset(&packet1, 0, sizeof(packet1));
+        packet1.command_id = packet_in.command_id;
+        
+        
+#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
+        if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
+           // cope with extensions
+           memset(MAVLINK_MSG_ID_ARP_COMMAND_TC_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_ARP_COMMAND_TC_MIN_LEN);
+        }
+#endif
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_arp_command_tc_encode(system_id, component_id, &msg, &packet1);
+    mavlink_msg_arp_command_tc_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_arp_command_tc_pack(system_id, component_id, &msg , packet1.command_id );
+    mavlink_msg_arp_command_tc_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_arp_command_tc_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.command_id );
+    mavlink_msg_arp_command_tc_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+        mavlink_msg_to_send_buffer(buffer, &msg);
+        for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
+            comm_send_ch(MAVLINK_COMM_0, buffer[i]);
+        }
+    mavlink_msg_arp_command_tc_decode(last_msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+        
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_arp_command_tc_send(MAVLINK_COMM_1 , packet1.command_id );
+    mavlink_msg_arp_command_tc_decode(last_msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+#ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
+    MAVLINK_ASSERT(mavlink_get_message_info_by_name("ARP_COMMAND_TC") != NULL);
+    MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_ARP_COMMAND_TC) != NULL);
+#endif
+}
+
 static void mavlink_test_ack_tm(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
 {
 #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
@@ -2616,7 +2857,7 @@ static void mavlink_test_arp_tm(uint8_t system_id, uint8_t component_id, mavlink
         uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
         uint16_t i;
     mavlink_arp_tm_t packet_in = {
-        93372036854775807ULL,73.0,101.0,129.0,157.0,185.0,213.0,241.0,269.0,297.0,325.0,353.0,381.0,409.0,437.0,465.0,493.0,20979,21083,21187,21291,21395,123,190,1,68
+        93372036854775807ULL,73.0,101.0,129.0,157.0,185.0,213.0,241.0,269.0,297.0,325.0,353.0,381.0,409.0,437.0,465.0,493.0,20979,21083,21187,21291,21395,21499,1,68,135,202,13
     };
     mavlink_arp_tm_t packet1, packet2;
         memset(&packet1, 0, sizeof(packet1));
@@ -2642,6 +2883,8 @@ static void mavlink_test_arp_tm(uint8_t system_id, uint8_t component_id, mavlink
         packet1.main_packet_rx_success_count = packet_in.main_packet_rx_success_count;
         packet1.main_packet_rx_drop_count = packet_in.main_packet_rx_drop_count;
         packet1.main_rx_bitrate = packet_in.main_rx_bitrate;
+        packet1.log_number = packet_in.log_number;
+        packet1.state = packet_in.state;
         packet1.gps_fix = packet_in.gps_fix;
         packet1.main_radio_present = packet_in.main_radio_present;
         packet1.ethernet_present = packet_in.ethernet_present;
@@ -2660,12 +2903,12 @@ static void mavlink_test_arp_tm(uint8_t system_id, uint8_t component_id, mavlink
         MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
 
         memset(&packet2, 0, sizeof(packet2));
-    mavlink_msg_arp_tm_pack(system_id, component_id, &msg , packet1.timestamp , packet1.yaw , packet1.pitch , packet1.roll , packet1.target_yaw , packet1.target_pitch , packet1.stepperX_pos , packet1.stepperX_delta , packet1.stepperX_speed , packet1.stepperY_pos , packet1.stepperY_delta , packet1.stepperY_speed , packet1.gps_latitude , packet1.gps_longitude , packet1.gps_height , packet1.gps_fix , packet1.main_radio_present , packet1.main_packet_tx_error_count , packet1.main_tx_bitrate , packet1.main_packet_rx_success_count , packet1.main_packet_rx_drop_count , packet1.main_rx_bitrate , packet1.main_rx_rssi , packet1.ethernet_present , packet1.ethernet_status , packet1.battery_voltage );
+    mavlink_msg_arp_tm_pack(system_id, component_id, &msg , packet1.timestamp , packet1.state , packet1.yaw , packet1.pitch , packet1.roll , packet1.target_yaw , packet1.target_pitch , packet1.stepperX_pos , packet1.stepperX_delta , packet1.stepperX_speed , packet1.stepperY_pos , packet1.stepperY_delta , packet1.stepperY_speed , packet1.gps_latitude , packet1.gps_longitude , packet1.gps_height , packet1.gps_fix , packet1.main_radio_present , packet1.main_packet_tx_error_count , packet1.main_tx_bitrate , packet1.main_packet_rx_success_count , packet1.main_packet_rx_drop_count , packet1.main_rx_bitrate , packet1.main_rx_rssi , packet1.ethernet_present , packet1.ethernet_status , packet1.battery_voltage , packet1.log_number );
     mavlink_msg_arp_tm_decode(&msg, &packet2);
         MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
 
         memset(&packet2, 0, sizeof(packet2));
-    mavlink_msg_arp_tm_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.timestamp , packet1.yaw , packet1.pitch , packet1.roll , packet1.target_yaw , packet1.target_pitch , packet1.stepperX_pos , packet1.stepperX_delta , packet1.stepperX_speed , packet1.stepperY_pos , packet1.stepperY_delta , packet1.stepperY_speed , packet1.gps_latitude , packet1.gps_longitude , packet1.gps_height , packet1.gps_fix , packet1.main_radio_present , packet1.main_packet_tx_error_count , packet1.main_tx_bitrate , packet1.main_packet_rx_success_count , packet1.main_packet_rx_drop_count , packet1.main_rx_bitrate , packet1.main_rx_rssi , packet1.ethernet_present , packet1.ethernet_status , packet1.battery_voltage );
+    mavlink_msg_arp_tm_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.timestamp , packet1.state , packet1.yaw , packet1.pitch , packet1.roll , packet1.target_yaw , packet1.target_pitch , packet1.stepperX_pos , packet1.stepperX_delta , packet1.stepperX_speed , packet1.stepperY_pos , packet1.stepperY_delta , packet1.stepperY_speed , packet1.gps_latitude , packet1.gps_longitude , packet1.gps_height , packet1.gps_fix , packet1.main_radio_present , packet1.main_packet_tx_error_count , packet1.main_tx_bitrate , packet1.main_packet_rx_success_count , packet1.main_packet_rx_drop_count , packet1.main_rx_bitrate , packet1.main_rx_rssi , packet1.ethernet_present , packet1.ethernet_status , packet1.battery_voltage , packet1.log_number );
     mavlink_msg_arp_tm_decode(&msg, &packet2);
         MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
 
@@ -2678,7 +2921,7 @@ static void mavlink_test_arp_tm(uint8_t system_id, uint8_t component_id, mavlink
         MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
         
         memset(&packet2, 0, sizeof(packet2));
-    mavlink_msg_arp_tm_send(MAVLINK_COMM_1 , packet1.timestamp , packet1.yaw , packet1.pitch , packet1.roll , packet1.target_yaw , packet1.target_pitch , packet1.stepperX_pos , packet1.stepperX_delta , packet1.stepperX_speed , packet1.stepperY_pos , packet1.stepperY_delta , packet1.stepperY_speed , packet1.gps_latitude , packet1.gps_longitude , packet1.gps_height , packet1.gps_fix , packet1.main_radio_present , packet1.main_packet_tx_error_count , packet1.main_tx_bitrate , packet1.main_packet_rx_success_count , packet1.main_packet_rx_drop_count , packet1.main_rx_bitrate , packet1.main_rx_rssi , packet1.ethernet_present , packet1.ethernet_status , packet1.battery_voltage );
+    mavlink_msg_arp_tm_send(MAVLINK_COMM_1 , packet1.timestamp , packet1.state , packet1.yaw , packet1.pitch , packet1.roll , packet1.target_yaw , packet1.target_pitch , packet1.stepperX_pos , packet1.stepperX_delta , packet1.stepperX_speed , packet1.stepperY_pos , packet1.stepperY_delta , packet1.stepperY_speed , packet1.gps_latitude , packet1.gps_longitude , packet1.gps_height , packet1.gps_fix , packet1.main_radio_present , packet1.main_packet_tx_error_count , packet1.main_tx_bitrate , packet1.main_packet_rx_success_count , packet1.main_packet_rx_drop_count , packet1.main_rx_bitrate , packet1.main_rx_rssi , packet1.ethernet_present , packet1.ethernet_status , packet1.battery_voltage , packet1.log_number );
     mavlink_msg_arp_tm_decode(last_msg, &packet2);
         MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
 
@@ -2688,126 +2931,6 @@ static void mavlink_test_arp_tm(uint8_t system_id, uint8_t component_id, mavlink
 #endif
 }
 
-static void mavlink_test_set_antenna_coordinates_arp_tc(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
-{
-#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
-    mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
-        if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC >= 256) {
-            return;
-        }
-#endif
-    mavlink_message_t msg;
-        uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
-        uint16_t i;
-    mavlink_set_antenna_coordinates_arp_tc_t packet_in = {
-        17.0,45.0
-    };
-    mavlink_set_antenna_coordinates_arp_tc_t packet1, packet2;
-        memset(&packet1, 0, sizeof(packet1));
-        packet1.latitude = packet_in.latitude;
-        packet1.longitude = packet_in.longitude;
-        
-        
-#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
-        if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
-           // cope with extensions
-           memset(MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC_MIN_LEN);
-        }
-#endif
-        memset(&packet2, 0, sizeof(packet2));
-    mavlink_msg_set_antenna_coordinates_arp_tc_encode(system_id, component_id, &msg, &packet1);
-    mavlink_msg_set_antenna_coordinates_arp_tc_decode(&msg, &packet2);
-        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
-
-        memset(&packet2, 0, sizeof(packet2));
-    mavlink_msg_set_antenna_coordinates_arp_tc_pack(system_id, component_id, &msg , packet1.latitude , packet1.longitude );
-    mavlink_msg_set_antenna_coordinates_arp_tc_decode(&msg, &packet2);
-        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
-
-        memset(&packet2, 0, sizeof(packet2));
-    mavlink_msg_set_antenna_coordinates_arp_tc_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.latitude , packet1.longitude );
-    mavlink_msg_set_antenna_coordinates_arp_tc_decode(&msg, &packet2);
-        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
-
-        memset(&packet2, 0, sizeof(packet2));
-        mavlink_msg_to_send_buffer(buffer, &msg);
-        for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
-            comm_send_ch(MAVLINK_COMM_0, buffer[i]);
-        }
-    mavlink_msg_set_antenna_coordinates_arp_tc_decode(last_msg, &packet2);
-        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
-        
-        memset(&packet2, 0, sizeof(packet2));
-    mavlink_msg_set_antenna_coordinates_arp_tc_send(MAVLINK_COMM_1 , packet1.latitude , packet1.longitude );
-    mavlink_msg_set_antenna_coordinates_arp_tc_decode(last_msg, &packet2);
-        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
-
-#ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
-    MAVLINK_ASSERT(mavlink_get_message_info_by_name("SET_ANTENNA_COORDINATES_ARP_TC") != NULL);
-    MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_SET_ANTENNA_COORDINATES_ARP_TC) != NULL);
-#endif
-}
-
-static void mavlink_test_set_rocket_coordinates_arp_tc(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
-{
-#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
-    mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
-        if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC >= 256) {
-            return;
-        }
-#endif
-    mavlink_message_t msg;
-        uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
-        uint16_t i;
-    mavlink_set_rocket_coordinates_arp_tc_t packet_in = {
-        17.0,45.0
-    };
-    mavlink_set_rocket_coordinates_arp_tc_t packet1, packet2;
-        memset(&packet1, 0, sizeof(packet1));
-        packet1.latitude = packet_in.latitude;
-        packet1.longitude = packet_in.longitude;
-        
-        
-#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
-        if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
-           // cope with extensions
-           memset(MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC_MIN_LEN);
-        }
-#endif
-        memset(&packet2, 0, sizeof(packet2));
-    mavlink_msg_set_rocket_coordinates_arp_tc_encode(system_id, component_id, &msg, &packet1);
-    mavlink_msg_set_rocket_coordinates_arp_tc_decode(&msg, &packet2);
-        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
-
-        memset(&packet2, 0, sizeof(packet2));
-    mavlink_msg_set_rocket_coordinates_arp_tc_pack(system_id, component_id, &msg , packet1.latitude , packet1.longitude );
-    mavlink_msg_set_rocket_coordinates_arp_tc_decode(&msg, &packet2);
-        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
-
-        memset(&packet2, 0, sizeof(packet2));
-    mavlink_msg_set_rocket_coordinates_arp_tc_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.latitude , packet1.longitude );
-    mavlink_msg_set_rocket_coordinates_arp_tc_decode(&msg, &packet2);
-        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
-
-        memset(&packet2, 0, sizeof(packet2));
-        mavlink_msg_to_send_buffer(buffer, &msg);
-        for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
-            comm_send_ch(MAVLINK_COMM_0, buffer[i]);
-        }
-    mavlink_msg_set_rocket_coordinates_arp_tc_decode(last_msg, &packet2);
-        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
-        
-        memset(&packet2, 0, sizeof(packet2));
-    mavlink_msg_set_rocket_coordinates_arp_tc_send(MAVLINK_COMM_1 , packet1.latitude , packet1.longitude );
-    mavlink_msg_set_rocket_coordinates_arp_tc_decode(last_msg, &packet2);
-        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
-
-#ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
-    MAVLINK_ASSERT(mavlink_get_message_info_by_name("SET_ROCKET_COORDINATES_ARP_TC") != NULL);
-    MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_SET_ROCKET_COORDINATES_ARP_TC) != NULL);
-#endif
-}
-
 static void mavlink_test_sys_tm(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
 {
 #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
@@ -3806,7 +3929,7 @@ static void mavlink_test_motor_tm(uint8_t system_id, uint8_t component_id, mavli
         uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
         uint16_t i;
     mavlink_motor_tm_t packet_in = {
-        93372036854775807ULL,73.0,101.0,129.0,157.0,185.0,213.0,101,168
+        93372036854775807ULL,73.0,101.0,129.0,157.0,185.0,213.0,101,168,235
     };
     mavlink_motor_tm_t packet1, packet2;
         memset(&packet1, 0, sizeof(packet1));
@@ -3817,6 +3940,7 @@ static void mavlink_test_motor_tm(uint8_t system_id, uint8_t component_id, mavli
         packet1.tank_temperature = packet_in.tank_temperature;
         packet1.battery_voltage = packet_in.battery_voltage;
         packet1.current_consumption = packet_in.current_consumption;
+        packet1.floating_level = packet_in.floating_level;
         packet1.main_valve_state = packet_in.main_valve_state;
         packet1.venting_valve_state = packet_in.venting_valve_state;
         
@@ -3833,12 +3957,12 @@ static void mavlink_test_motor_tm(uint8_t system_id, uint8_t component_id, mavli
         MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
 
         memset(&packet2, 0, sizeof(packet2));
-    mavlink_msg_motor_tm_pack(system_id, component_id, &msg , packet1.timestamp , packet1.top_tank_pressure , packet1.bottom_tank_pressure , packet1.combustion_chamber_pressure , packet1.tank_temperature , packet1.main_valve_state , packet1.venting_valve_state , packet1.battery_voltage , packet1.current_consumption );
+    mavlink_msg_motor_tm_pack(system_id, component_id, &msg , packet1.timestamp , packet1.top_tank_pressure , packet1.bottom_tank_pressure , packet1.combustion_chamber_pressure , packet1.floating_level , packet1.tank_temperature , packet1.main_valve_state , packet1.venting_valve_state , packet1.battery_voltage , packet1.current_consumption );
     mavlink_msg_motor_tm_decode(&msg, &packet2);
         MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
 
         memset(&packet2, 0, sizeof(packet2));
-    mavlink_msg_motor_tm_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.timestamp , packet1.top_tank_pressure , packet1.bottom_tank_pressure , packet1.combustion_chamber_pressure , packet1.tank_temperature , packet1.main_valve_state , packet1.venting_valve_state , packet1.battery_voltage , packet1.current_consumption );
+    mavlink_msg_motor_tm_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.timestamp , packet1.top_tank_pressure , packet1.bottom_tank_pressure , packet1.combustion_chamber_pressure , packet1.floating_level , packet1.tank_temperature , packet1.main_valve_state , packet1.venting_valve_state , packet1.battery_voltage , packet1.current_consumption );
     mavlink_msg_motor_tm_decode(&msg, &packet2);
         MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
 
@@ -3851,7 +3975,7 @@ static void mavlink_test_motor_tm(uint8_t system_id, uint8_t component_id, mavli
         MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
         
         memset(&packet2, 0, sizeof(packet2));
-    mavlink_msg_motor_tm_send(MAVLINK_COMM_1 , packet1.timestamp , packet1.top_tank_pressure , packet1.bottom_tank_pressure , packet1.combustion_chamber_pressure , packet1.tank_temperature , packet1.main_valve_state , packet1.venting_valve_state , packet1.battery_voltage , packet1.current_consumption );
+    mavlink_msg_motor_tm_send(MAVLINK_COMM_1 , packet1.timestamp , packet1.top_tank_pressure , packet1.bottom_tank_pressure , packet1.combustion_chamber_pressure , packet1.floating_level , packet1.tank_temperature , packet1.main_valve_state , packet1.venting_valve_state , packet1.battery_voltage , packet1.current_consumption );
     mavlink_msg_motor_tm_decode(last_msg, &packet2);
         MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
 
@@ -3887,6 +4011,10 @@ static void mavlink_test_lyra(uint8_t system_id, uint8_t component_id, mavlink_m
     mavlink_test_set_stepper_steps_tc(system_id, component_id, last_msg);
     mavlink_test_set_nitrogen_time_tc(system_id, component_id, last_msg);
     mavlink_test_set_cooling_time_tc(system_id, component_id, last_msg);
+    mavlink_test_set_stepper_multiplier_tc(system_id, component_id, last_msg);
+    mavlink_test_set_antenna_coordinates_arp_tc(system_id, component_id, last_msg);
+    mavlink_test_set_rocket_coordinates_arp_tc(system_id, component_id, last_msg);
+    mavlink_test_arp_command_tc(system_id, component_id, last_msg);
     mavlink_test_ack_tm(system_id, component_id, last_msg);
     mavlink_test_nack_tm(system_id, component_id, last_msg);
     mavlink_test_gps_tm(system_id, component_id, last_msg);
@@ -3906,8 +4034,6 @@ static void mavlink_test_lyra(uint8_t system_id, uint8_t component_id, mavlink_m
     mavlink_test_registry_coord_tm(system_id, component_id, last_msg);
     mavlink_test_receiver_tm(system_id, component_id, last_msg);
     mavlink_test_arp_tm(system_id, component_id, last_msg);
-    mavlink_test_set_antenna_coordinates_arp_tc(system_id, component_id, last_msg);
-    mavlink_test_set_rocket_coordinates_arp_tc(system_id, component_id, last_msg);
     mavlink_test_sys_tm(system_id, component_id, last_msg);
     mavlink_test_fsm_tm(system_id, component_id, last_msg);
     mavlink_test_logger_tm(system_id, component_id, last_msg);
diff --git a/mavlink_lib/lyra/version.h b/mavlink_lib/lyra/version.h
index 7533ece1f3187c1f798f119bc474444f8c20707f..b127a1db7a93fefcb283d677e6c7b392c1ec31d8 100644
--- a/mavlink_lib/lyra/version.h
+++ b/mavlink_lib/lyra/version.h
@@ -7,7 +7,7 @@
 #ifndef MAVLINK_VERSION_H
 #define MAVLINK_VERSION_H
 
-#define MAVLINK_BUILD_DATE "Thu May 09 2024"
+#define MAVLINK_BUILD_DATE "Tue Jul 09 2024"
 #define MAVLINK_WIRE_PROTOCOL_VERSION "1.0"
 #define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 176
  
diff --git a/message_definitions/lyra.xml b/message_definitions/lyra.xml
index 581ba64674f7a39008291aabbf64262d1318d3db..70e4f1c8763e9e217fe0db78c87c6eac10a5d624 100644
--- a/message_definitions/lyra.xml
+++ b/message_definitions/lyra.xml
@@ -387,6 +387,7 @@
         <message id="24" name="SET_COOLING_TIME_TC">
             <description>Sets the time in ms that the system will wait before disarming after firing</description>
             <field name="timing" type="uint32_t" units="ms">Timing in [ms]</field>
+        </message>
         <message id="25" name="SET_STEPPER_MULTIPLIER_TC">
             <description>Set the multiplier of the stepper</description>
             <field name="stepper_id" type="uint8_t">A member of the StepperList enum</field>