diff --git a/mavlink_lib.py b/mavlink_lib.py
index 88b070e5d3c619324a5a6946e43f5e95c7069f37..ec376da70577e23a70d13b34558bdd3becb0ad52 100644
--- a/mavlink_lib.py
+++ b/mavlink_lib.py
@@ -312,8 +312,10 @@ 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''')
-SystemTMList_ENUM_END = 16 # 
-enums['SystemTMList'][16] = EnumEntry('SystemTMList_ENUM_END', '''''')
+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', '''''')
 
 # SensorsTMList
 enums['SensorsTMList'] = {}
@@ -412,8 +414,16 @@ 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''')
-MavCommandList_ENUM_END = 18 # 
-enums['MavCommandList'][18] = EnumEntry('MavCommandList_ENUM_END', '''''')
+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', '''''')
 
 # ServosList
 enums['ServosList'] = {}
@@ -485,6 +495,8 @@ MAVLINK_MSG_ID_CONRIG_STATE_TC = 19
 MAVLINK_MSG_ID_SET_IGNITION_TIME_TC = 20
 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_ACK_TM = 100
 MAVLINK_MSG_ID_NACK_TM = 101
 MAVLINK_MSG_ID_GPS_TM = 102
@@ -499,6 +511,9 @@ MAVLINK_MSG_ID_ATTITUDE_TM = 110
 MAVLINK_MSG_ID_SENSOR_STATE_TM = 111
 MAVLINK_MSG_ID_SERVO_TM = 112
 MAVLINK_MSG_ID_PIN_TM = 113
+MAVLINK_MSG_ID_REGISTRY_FLOAT_TM = 114
+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
@@ -1242,6 +1257,71 @@ class MAVLink_set_stepper_steps_tc_message(MAVLink_message):
         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)
 
+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)
+
+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)
+
 class MAVLink_ack_tm_message(MAVLink_message):
         '''
         TM containing an ACK message to notify that the message has
@@ -1748,6 +1828,112 @@ class MAVLink_pin_tm_message(MAVLink_message):
         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)
 
+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)
+
+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)
+
+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)
+
 class MAVLink_receiver_tm_message(MAVLink_message):
         '''
 
@@ -2514,23 +2700,23 @@ class MAVLink_gse_tm_message(MAVLink_message):
         '''
         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', 'ignition_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', 'ignition_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', 'float', 'float', 'uint8_t', 'uint8_t', 'uint8_t']
+        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 = '<QffffffBBBBBBBBBB'
-        native_format = bytearray('<QffffffBBBBBBBBBB', 'ascii')
-        orders = [0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 5, 6, 14, 15, 16]
-        lengths = [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]
-        crc_extra = 63
-        unpacker = struct.Struct('<QffffffBBBBBBBBBB')
+        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, ignition_state, tars_state, battery_voltage, current_consumption, main_board_status, payload_board_status, motor_board_status):
+        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
@@ -2545,7 +2731,8 @@ class MAVLink_gse_tm_message(MAVLink_message):
                 self.venting_valve_state = venting_valve_state
                 self.release_valve_state = release_valve_state
                 self.main_valve_state = main_valve_state
-                self.ignition_state = ignition_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
@@ -2554,7 +2741,7 @@ class MAVLink_gse_tm_message(MAVLink_message):
                 self.motor_board_status = motor_board_status
 
         def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 63, struct.pack('<QffffffBBBBBBBBBB', 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.ignition_state, self.tars_state, self.main_board_status, self.payload_board_status, self.motor_board_status), force_mavlink1=force_mavlink1)
+                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)
 
 class MAVLink_motor_tm_message(MAVLink_message):
         '''
@@ -2562,23 +2749,23 @@ class MAVLink_motor_tm_message(MAVLink_message):
         '''
         id = MAVLINK_MSG_ID_MOTOR_TM
         name = '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']
+        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 = '<QffffffBBB'
-        native_format = bytearray('<QffffffBBB', 'ascii')
-        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')
+        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, floating_level, tank_temperature, main_valve_state, venting_valve_state, battery_voltage, current_consumption):
+        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
@@ -2587,7 +2774,6 @@ class MAVLink_motor_tm_message(MAVLink_message):
                 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
@@ -2595,7 +2781,7 @@ class MAVLink_motor_tm_message(MAVLink_message):
                 self.current_consumption = current_consumption
 
         def pack(self, mav, force_mavlink1=False):
-                return MAVLink_message.pack(self, mav, 79, struct.pack('<QffffffBBB', 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)
+                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 = {
@@ -2621,6 +2807,8 @@ mavlink_map = {
         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,
@@ -2635,6 +2823,9 @@ mavlink_map = {
         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,
@@ -3508,6 +3699,44 @@ class MAVLink(object):
                 '''
                 return self.send(self.set_stepper_steps_tc_encode(stepper_id, steps), force_mavlink1=force_mavlink1)
 
+        def set_nitrogen_time_tc_encode(self, timing):
+                '''
+                Sets the time in ms that the nitrogen will stay open
+
+                timing                    : Timing in [ms] [ms] (type:uint32_t)
+
+                '''
+                return MAVLink_set_nitrogen_time_tc_message(timing)
+
+        def set_nitrogen_time_tc_send(self, timing, force_mavlink1=False):
+                '''
+                Sets the time in ms that the nitrogen will stay open
+
+                timing                    : Timing in [ms] [ms] (type:uint32_t)
+
+                '''
+                return self.send(self.set_nitrogen_time_tc_encode(timing), 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
+
+                timing                    : Timing in [ms] [ms] (type:uint32_t)
+
+                '''
+                return MAVLink_set_cooling_time_tc_message(timing)
+
+        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
+
+                timing                    : Timing in [ms] [ms] (type:uint32_t)
+
+                '''
+                return self.send(self.set_cooling_time_tc_encode(timing), force_mavlink1=force_mavlink1)
+
         def ack_tm_encode(self, recv_msgid, seq_ack):
                 '''
                 TM containing an ACK message to notify that the message has been
@@ -3876,6 +4105,80 @@ class MAVLink(object):
                 '''
                 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):
                 '''
                 
@@ -4660,7 +4963,7 @@ class MAVLink(object):
                 '''
                 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, ignition_state, tars_state, battery_voltage, current_consumption, main_board_status, payload_board_status, motor_board_status):
+        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
 
@@ -4674,7 +4977,8 @@ class MAVLink(object):
                 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)
-                ignition_state            : 1 If the RIG is in ignition process (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)
@@ -4683,9 +4987,9 @@ class MAVLink(object):
                 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, ignition_state, tars_state, battery_voltage, current_consumption, main_board_status, payload_board_status, motor_board_status)
+                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, ignition_state, tars_state, battery_voltage, current_consumption, main_board_status, payload_board_status, motor_board_status, force_mavlink1=False):
+        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
 
@@ -4699,7 +5003,8 @@ class MAVLink(object):
                 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)
-                ignition_state            : 1 If the RIG is in ignition process (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)
@@ -4708,9 +5013,9 @@ class MAVLink(object):
                 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, ignition_state, tars_state, battery_voltage, current_consumption, main_board_status, payload_board_status, motor_board_status), force_mavlink1=force_mavlink1)
+                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, floating_level, tank_temperature, main_valve_state, venting_valve_state, battery_voltage, current_consumption):
+        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
 
@@ -4718,7 +5023,6 @@ class MAVLink(object):
                 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)
@@ -4726,9 +5030,9 @@ class MAVLink(object):
                 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)
+                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, floating_level, tank_temperature, main_valve_state, venting_valve_state, battery_voltage, current_consumption, force_mavlink1=False):
+        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
 
@@ -4736,7 +5040,6 @@ class MAVLink(object):
                 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)
@@ -4744,5 +5047,5 @@ class MAVLink(object):
                 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, floating_level, tank_temperature, main_valve_state, venting_valve_state, battery_voltage, current_consumption), force_mavlink1=force_mavlink1)
+                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)
 
diff --git a/mavlink_lib/lyra/lyra.h b/mavlink_lib/lyra/lyra.h
index aa09b7c7ddfe2d4e25915f8465aa7e99a5496f9a..d33874abe17cf7dc1e4c74cef686c6a3b2a9c07d 100644
--- a/mavlink_lib/lyra/lyra.h
+++ b/mavlink_lib/lyra/lyra.h
@@ -11,7 +11,7 @@
 #endif
 
 #undef MAVLINK_THIS_XML_HASH
-#define MAVLINK_THIS_XML_HASH -6834851485668065312
+#define MAVLINK_THIS_XML_HASH -9164606166033445911
 
 #ifdef __cplusplus
 extern "C" {
@@ -20,11 +20,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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 42, 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}
+#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}
 #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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 63, 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}
+#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}
 #endif
 
 #include "../protocol.h"
@@ -67,7 +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 | */
-   SystemTMList_ENUM_END=16, /*  | */
+   MAV_REGISTRY_ID=22, /* Command to fetch all registry keys | */
+   SystemTMList_ENUM_END=23, /*  | */
 } SystemTMList;
 #endif
 
@@ -129,7 +130,11 @@ typedef enum MavCommandList
    MAV_CMD_EXIT_TEST_MODE=15, /* Command to exit the test mode | */
    MAV_CMD_START_RECORDING=16, /* Command to start the internal cameras recordings | */
    MAV_CMD_STOP_RECORDING=17, /* Command to stop the internal cameras recordings | */
-   MavCommandList_ENUM_END=18, /*  | */
+   MAV_CMD_OPEN_NITROGEN=18, /* Command to open the nitrogen valve | */
+   MAV_CMD_REGISTRY_LOAD=19, /* Command to reload the registry from memory | */
+   MAV_CMD_REGISTRY_SAVE=20, /* Command to commit the registry to memory | */
+   MAV_CMD_REGISTRY_CLEAR=21, /* Command to clear the registry | */
+   MavCommandList_ENUM_END=22, /*  | */
 } MavCommandList;
 #endif
 
@@ -209,6 +214,8 @@ typedef enum PinsList
 #include "./mavlink_msg_set_ignition_time_tc.h"
 #include "./mavlink_msg_set_stepper_angle_tc.h"
 #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_ack_tm.h"
 #include "./mavlink_msg_nack_tm.h"
 #include "./mavlink_msg_gps_tm.h"
@@ -223,6 +230,9 @@ typedef enum PinsList
 #include "./mavlink_msg_sensor_state_tm.h"
 #include "./mavlink_msg_servo_tm.h"
 #include "./mavlink_msg_pin_tm.h"
+#include "./mavlink_msg_registry_float_tm.h"
+#include "./mavlink_msg_registry_int_tm.h"
+#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"
@@ -246,11 +256,11 @@ typedef enum PinsList
 
 
 #undef MAVLINK_THIS_XML_HASH
-#define MAVLINK_THIS_XML_HASH -6834851485668065312
+#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, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"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, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"EMPTY",0,{{"","",MAVLINK_TYPE_CHAR,0,0,0}}}, {"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 }, { "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_COORDINATES_TC", 12 }, { "SET_DEPLOYMENT_ALTITUDE_TC", 14 }, { "SET_IGNITION_TIME_TC", 20 }, { "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 }}
+# 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_COMMAND_24BIT
 #  include "../mavlink_get_info.h"
 # endif
diff --git a/mavlink_lib/lyra/mavlink.h b/mavlink_lib/lyra/mavlink.h
index 20de852be485f52799c1360308e7abec8122a18b..3a7533da51c415914add0dc022ab334ae6d0af8f 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 -6834851485668065312
+#define MAVLINK_PRIMARY_XML_HASH -9164606166033445911
 
 #ifndef MAVLINK_STX
 #define MAVLINK_STX 254
diff --git a/mavlink_lib/lyra/mavlink_msg_gse_tm.h b/mavlink_lib/lyra/mavlink_msg_gse_tm.h
index 5b5742e639f0cc49886bd5df0396e8821a9075b3..2719d6a99924abb8ac4fabe2b3a9b54e187d80b8 100644
--- a/mavlink_lib/lyra/mavlink_msg_gse_tm.h
+++ b/mavlink_lib/lyra/mavlink_msg_gse_tm.h
@@ -16,21 +16,22 @@ typedef struct __mavlink_gse_tm_t {
  uint8_t filling_valve_state; /*<  1 If the filling valve is open*/
  uint8_t venting_valve_state; /*<  1 If the venting valve is open*/
  uint8_t release_valve_state; /*<  1 If the release valve is open*/
- uint8_t main_valve_state; /*<   1 If the main valve is open */
- uint8_t ignition_state; /*<  1 If the RIG is in ignition process*/
+ uint8_t main_valve_state; /*<  1 If the main valve is open*/
+ uint8_t nitrogen_valve_state; /*<   1 If the nitrogen valve is open*/
+ uint8_t gmm_state; /*<  State of the GroundModeManager*/
  uint8_t tars_state; /*<  1 If the TARS algorithm is running*/
  uint8_t main_board_status; /*<   MAIN board status [0: not present, 1: online, 2: armed]*/
  uint8_t payload_board_status; /*<   PAYLOAD board status [0: not present, 1: online, 2: armed]*/
  uint8_t motor_board_status; /*<   MOTOR board status [0: not present, 1: online, 2: armed]*/
 } mavlink_gse_tm_t;
 
-#define MAVLINK_MSG_ID_GSE_TM_LEN 42
-#define MAVLINK_MSG_ID_GSE_TM_MIN_LEN 42
-#define MAVLINK_MSG_ID_212_LEN 42
-#define MAVLINK_MSG_ID_212_MIN_LEN 42
+#define MAVLINK_MSG_ID_GSE_TM_LEN 43
+#define MAVLINK_MSG_ID_GSE_TM_MIN_LEN 43
+#define MAVLINK_MSG_ID_212_LEN 43
+#define MAVLINK_MSG_ID_212_MIN_LEN 43
 
-#define MAVLINK_MSG_ID_GSE_TM_CRC 63
-#define MAVLINK_MSG_ID_212_CRC 63
+#define MAVLINK_MSG_ID_GSE_TM_CRC 81
+#define MAVLINK_MSG_ID_212_CRC 81
 
 
 
@@ -38,7 +39,7 @@ typedef struct __mavlink_gse_tm_t {
 #define MAVLINK_MESSAGE_INFO_GSE_TM { \
     212, \
     "GSE_TM", \
-    17, \
+    18, \
     {  { "timestamp", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_gse_tm_t, timestamp) }, \
          { "loadcell_rocket", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_gse_tm_t, loadcell_rocket) }, \
          { "loadcell_vessel", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_gse_tm_t, loadcell_vessel) }, \
@@ -49,19 +50,20 @@ typedef struct __mavlink_gse_tm_t {
          { "venting_valve_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 34, offsetof(mavlink_gse_tm_t, venting_valve_state) }, \
          { "release_valve_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 35, offsetof(mavlink_gse_tm_t, release_valve_state) }, \
          { "main_valve_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 36, offsetof(mavlink_gse_tm_t, main_valve_state) }, \
-         { "ignition_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 37, offsetof(mavlink_gse_tm_t, ignition_state) }, \
-         { "tars_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 38, offsetof(mavlink_gse_tm_t, tars_state) }, \
+         { "nitrogen_valve_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 37, offsetof(mavlink_gse_tm_t, nitrogen_valve_state) }, \
+         { "gmm_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 38, offsetof(mavlink_gse_tm_t, gmm_state) }, \
+         { "tars_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 39, offsetof(mavlink_gse_tm_t, tars_state) }, \
          { "battery_voltage", NULL, MAVLINK_TYPE_FLOAT, 0, 24, offsetof(mavlink_gse_tm_t, battery_voltage) }, \
          { "current_consumption", NULL, MAVLINK_TYPE_FLOAT, 0, 28, offsetof(mavlink_gse_tm_t, current_consumption) }, \
-         { "main_board_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 39, offsetof(mavlink_gse_tm_t, main_board_status) }, \
-         { "payload_board_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 40, offsetof(mavlink_gse_tm_t, payload_board_status) }, \
-         { "motor_board_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 41, offsetof(mavlink_gse_tm_t, motor_board_status) }, \
+         { "main_board_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 40, offsetof(mavlink_gse_tm_t, main_board_status) }, \
+         { "payload_board_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 41, offsetof(mavlink_gse_tm_t, payload_board_status) }, \
+         { "motor_board_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 42, offsetof(mavlink_gse_tm_t, motor_board_status) }, \
          } \
 }
 #else
 #define MAVLINK_MESSAGE_INFO_GSE_TM { \
     "GSE_TM", \
-    17, \
+    18, \
     {  { "timestamp", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_gse_tm_t, timestamp) }, \
          { "loadcell_rocket", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_gse_tm_t, loadcell_rocket) }, \
          { "loadcell_vessel", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_gse_tm_t, loadcell_vessel) }, \
@@ -72,13 +74,14 @@ typedef struct __mavlink_gse_tm_t {
          { "venting_valve_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 34, offsetof(mavlink_gse_tm_t, venting_valve_state) }, \
          { "release_valve_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 35, offsetof(mavlink_gse_tm_t, release_valve_state) }, \
          { "main_valve_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 36, offsetof(mavlink_gse_tm_t, main_valve_state) }, \
-         { "ignition_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 37, offsetof(mavlink_gse_tm_t, ignition_state) }, \
-         { "tars_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 38, offsetof(mavlink_gse_tm_t, tars_state) }, \
+         { "nitrogen_valve_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 37, offsetof(mavlink_gse_tm_t, nitrogen_valve_state) }, \
+         { "gmm_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 38, offsetof(mavlink_gse_tm_t, gmm_state) }, \
+         { "tars_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 39, offsetof(mavlink_gse_tm_t, tars_state) }, \
          { "battery_voltage", NULL, MAVLINK_TYPE_FLOAT, 0, 24, offsetof(mavlink_gse_tm_t, battery_voltage) }, \
          { "current_consumption", NULL, MAVLINK_TYPE_FLOAT, 0, 28, offsetof(mavlink_gse_tm_t, current_consumption) }, \
-         { "main_board_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 39, offsetof(mavlink_gse_tm_t, main_board_status) }, \
-         { "payload_board_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 40, offsetof(mavlink_gse_tm_t, payload_board_status) }, \
-         { "motor_board_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 41, offsetof(mavlink_gse_tm_t, motor_board_status) }, \
+         { "main_board_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 40, offsetof(mavlink_gse_tm_t, main_board_status) }, \
+         { "payload_board_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 41, offsetof(mavlink_gse_tm_t, payload_board_status) }, \
+         { "motor_board_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 42, offsetof(mavlink_gse_tm_t, motor_board_status) }, \
          } \
 }
 #endif
@@ -98,8 +101,9 @@ typedef struct __mavlink_gse_tm_t {
  * @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 ignition_state  1 If the RIG is in ignition process
+ * @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  1 If the TARS algorithm is running
  * @param battery_voltage  Battery voltage
  * @param current_consumption   RIG current 
@@ -109,7 +113,7 @@ typedef struct __mavlink_gse_tm_t {
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_gse_tm_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
-                               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 ignition_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)
+                               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];
@@ -125,11 +129,12 @@ static inline uint16_t mavlink_msg_gse_tm_pack(uint8_t system_id, uint8_t compon
     _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, ignition_state);
-    _mav_put_uint8_t(buf, 38, tars_state);
-    _mav_put_uint8_t(buf, 39, main_board_status);
-    _mav_put_uint8_t(buf, 40, payload_board_status);
-    _mav_put_uint8_t(buf, 41, motor_board_status);
+    _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
@@ -146,7 +151,8 @@ static inline uint16_t mavlink_msg_gse_tm_pack(uint8_t system_id, uint8_t compon
     packet.venting_valve_state = venting_valve_state;
     packet.release_valve_state = release_valve_state;
     packet.main_valve_state = main_valve_state;
-    packet.ignition_state = ignition_state;
+    packet.nitrogen_valve_state = nitrogen_valve_state;
+    packet.gmm_state = gmm_state;
     packet.tars_state = tars_state;
     packet.main_board_status = main_board_status;
     packet.payload_board_status = payload_board_status;
@@ -174,8 +180,9 @@ static inline uint16_t mavlink_msg_gse_tm_pack(uint8_t system_id, uint8_t compon
  * @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 ignition_state  1 If the RIG is in ignition process
+ * @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  1 If the TARS algorithm is running
  * @param battery_voltage  Battery voltage
  * @param current_consumption   RIG current 
@@ -186,7 +193,7 @@ static inline uint16_t mavlink_msg_gse_tm_pack(uint8_t system_id, uint8_t compon
  */
 static inline uint16_t mavlink_msg_gse_tm_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
                                mavlink_message_t* msg,
-                                   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 ignition_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)
+                                   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];
@@ -202,11 +209,12 @@ static inline uint16_t mavlink_msg_gse_tm_pack_chan(uint8_t system_id, uint8_t c
     _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, ignition_state);
-    _mav_put_uint8_t(buf, 38, tars_state);
-    _mav_put_uint8_t(buf, 39, main_board_status);
-    _mav_put_uint8_t(buf, 40, payload_board_status);
-    _mav_put_uint8_t(buf, 41, motor_board_status);
+    _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
@@ -223,7 +231,8 @@ static inline uint16_t mavlink_msg_gse_tm_pack_chan(uint8_t system_id, uint8_t c
     packet.venting_valve_state = venting_valve_state;
     packet.release_valve_state = release_valve_state;
     packet.main_valve_state = main_valve_state;
-    packet.ignition_state = ignition_state;
+    packet.nitrogen_valve_state = nitrogen_valve_state;
+    packet.gmm_state = gmm_state;
     packet.tars_state = tars_state;
     packet.main_board_status = main_board_status;
     packet.payload_board_status = payload_board_status;
@@ -246,7 +255,7 @@ static inline uint16_t mavlink_msg_gse_tm_pack_chan(uint8_t system_id, uint8_t c
  */
 static inline uint16_t mavlink_msg_gse_tm_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_gse_tm_t* gse_tm)
 {
-    return mavlink_msg_gse_tm_pack(system_id, component_id, 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->ignition_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);
+    return mavlink_msg_gse_tm_pack(system_id, component_id, 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);
 }
 
 /**
@@ -260,7 +269,7 @@ static inline uint16_t mavlink_msg_gse_tm_encode(uint8_t system_id, uint8_t comp
  */
 static inline uint16_t mavlink_msg_gse_tm_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_gse_tm_t* gse_tm)
 {
-    return mavlink_msg_gse_tm_pack_chan(system_id, component_id, chan, 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->ignition_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);
+    return mavlink_msg_gse_tm_pack_chan(system_id, component_id, chan, 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);
 }
 
 /**
@@ -276,8 +285,9 @@ static inline uint16_t mavlink_msg_gse_tm_encode_chan(uint8_t system_id, uint8_t
  * @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 ignition_state  1 If the RIG is in ignition process
+ * @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  1 If the TARS algorithm is running
  * @param battery_voltage  Battery voltage
  * @param current_consumption   RIG current 
@@ -287,7 +297,7 @@ static inline uint16_t mavlink_msg_gse_tm_encode_chan(uint8_t system_id, uint8_t
  */
 #ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
 
-static inline void mavlink_msg_gse_tm_send(mavlink_channel_t chan, 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 ignition_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)
+static inline void mavlink_msg_gse_tm_send(mavlink_channel_t chan, 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];
@@ -303,11 +313,12 @@ static inline void mavlink_msg_gse_tm_send(mavlink_channel_t chan, uint64_t time
     _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, ignition_state);
-    _mav_put_uint8_t(buf, 38, tars_state);
-    _mav_put_uint8_t(buf, 39, main_board_status);
-    _mav_put_uint8_t(buf, 40, payload_board_status);
-    _mav_put_uint8_t(buf, 41, motor_board_status);
+    _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);
 
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_GSE_TM, buf, MAVLINK_MSG_ID_GSE_TM_MIN_LEN, MAVLINK_MSG_ID_GSE_TM_LEN, MAVLINK_MSG_ID_GSE_TM_CRC);
 #else
@@ -324,7 +335,8 @@ static inline void mavlink_msg_gse_tm_send(mavlink_channel_t chan, uint64_t time
     packet.venting_valve_state = venting_valve_state;
     packet.release_valve_state = release_valve_state;
     packet.main_valve_state = main_valve_state;
-    packet.ignition_state = ignition_state;
+    packet.nitrogen_valve_state = nitrogen_valve_state;
+    packet.gmm_state = gmm_state;
     packet.tars_state = tars_state;
     packet.main_board_status = main_board_status;
     packet.payload_board_status = payload_board_status;
@@ -342,7 +354,7 @@ static inline void mavlink_msg_gse_tm_send(mavlink_channel_t chan, uint64_t time
 static inline void mavlink_msg_gse_tm_send_struct(mavlink_channel_t chan, const mavlink_gse_tm_t* gse_tm)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
-    mavlink_msg_gse_tm_send(chan, 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->ignition_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);
+    mavlink_msg_gse_tm_send(chan, 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);
 #else
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_GSE_TM, (const char *)gse_tm, MAVLINK_MSG_ID_GSE_TM_MIN_LEN, MAVLINK_MSG_ID_GSE_TM_LEN, MAVLINK_MSG_ID_GSE_TM_CRC);
 #endif
@@ -356,7 +368,7 @@ static inline void mavlink_msg_gse_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_gse_tm_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  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 ignition_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)
+static inline void mavlink_msg_gse_tm_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  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 = (char *)msgbuf;
@@ -372,11 +384,12 @@ static inline void mavlink_msg_gse_tm_send_buf(mavlink_message_t *msgbuf, mavlin
     _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, ignition_state);
-    _mav_put_uint8_t(buf, 38, tars_state);
-    _mav_put_uint8_t(buf, 39, main_board_status);
-    _mav_put_uint8_t(buf, 40, payload_board_status);
-    _mav_put_uint8_t(buf, 41, motor_board_status);
+    _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);
 
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_GSE_TM, buf, MAVLINK_MSG_ID_GSE_TM_MIN_LEN, MAVLINK_MSG_ID_GSE_TM_LEN, MAVLINK_MSG_ID_GSE_TM_CRC);
 #else
@@ -393,7 +406,8 @@ static inline void mavlink_msg_gse_tm_send_buf(mavlink_message_t *msgbuf, mavlin
     packet->venting_valve_state = venting_valve_state;
     packet->release_valve_state = release_valve_state;
     packet->main_valve_state = main_valve_state;
-    packet->ignition_state = ignition_state;
+    packet->nitrogen_valve_state = nitrogen_valve_state;
+    packet->gmm_state = gmm_state;
     packet->tars_state = tars_state;
     packet->main_board_status = main_board_status;
     packet->payload_board_status = payload_board_status;
@@ -502,7 +516,7 @@ static inline uint8_t mavlink_msg_gse_tm_get_release_valve_state(const mavlink_m
 /**
  * @brief Get field main_valve_state from gse_tm message
  *
- * @return   1 If the main valve is open 
+ * @return  1 If the main valve is open
  */
 static inline uint8_t mavlink_msg_gse_tm_get_main_valve_state(const mavlink_message_t* msg)
 {
@@ -510,15 +524,25 @@ static inline uint8_t mavlink_msg_gse_tm_get_main_valve_state(const mavlink_mess
 }
 
 /**
- * @brief Get field ignition_state from gse_tm message
+ * @brief Get field nitrogen_valve_state from gse_tm message
  *
- * @return  1 If the RIG is in ignition process
+ * @return   1 If the nitrogen valve is open
  */
-static inline uint8_t mavlink_msg_gse_tm_get_ignition_state(const mavlink_message_t* msg)
+static inline uint8_t mavlink_msg_gse_tm_get_nitrogen_valve_state(const mavlink_message_t* msg)
 {
     return _MAV_RETURN_uint8_t(msg,  37);
 }
 
+/**
+ * @brief Get field gmm_state from gse_tm message
+ *
+ * @return  State of the GroundModeManager
+ */
+static inline uint8_t mavlink_msg_gse_tm_get_gmm_state(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint8_t(msg,  38);
+}
+
 /**
  * @brief Get field tars_state from gse_tm message
  *
@@ -526,7 +550,7 @@ static inline uint8_t mavlink_msg_gse_tm_get_ignition_state(const mavlink_messag
  */
 static inline uint8_t mavlink_msg_gse_tm_get_tars_state(const mavlink_message_t* msg)
 {
-    return _MAV_RETURN_uint8_t(msg,  38);
+    return _MAV_RETURN_uint8_t(msg,  39);
 }
 
 /**
@@ -556,7 +580,7 @@ static inline float mavlink_msg_gse_tm_get_current_consumption(const mavlink_mes
  */
 static inline uint8_t mavlink_msg_gse_tm_get_main_board_status(const mavlink_message_t* msg)
 {
-    return _MAV_RETURN_uint8_t(msg,  39);
+    return _MAV_RETURN_uint8_t(msg,  40);
 }
 
 /**
@@ -566,7 +590,7 @@ static inline uint8_t mavlink_msg_gse_tm_get_main_board_status(const mavlink_mes
  */
 static inline uint8_t mavlink_msg_gse_tm_get_payload_board_status(const mavlink_message_t* msg)
 {
-    return _MAV_RETURN_uint8_t(msg,  40);
+    return _MAV_RETURN_uint8_t(msg,  41);
 }
 
 /**
@@ -576,7 +600,7 @@ static inline uint8_t mavlink_msg_gse_tm_get_payload_board_status(const mavlink_
  */
 static inline uint8_t mavlink_msg_gse_tm_get_motor_board_status(const mavlink_message_t* msg)
 {
-    return _MAV_RETURN_uint8_t(msg,  41);
+    return _MAV_RETURN_uint8_t(msg,  42);
 }
 
 /**
@@ -600,7 +624,8 @@ static inline void mavlink_msg_gse_tm_decode(const mavlink_message_t* msg, mavli
     gse_tm->venting_valve_state = mavlink_msg_gse_tm_get_venting_valve_state(msg);
     gse_tm->release_valve_state = mavlink_msg_gse_tm_get_release_valve_state(msg);
     gse_tm->main_valve_state = mavlink_msg_gse_tm_get_main_valve_state(msg);
-    gse_tm->ignition_state = mavlink_msg_gse_tm_get_ignition_state(msg);
+    gse_tm->nitrogen_valve_state = mavlink_msg_gse_tm_get_nitrogen_valve_state(msg);
+    gse_tm->gmm_state = mavlink_msg_gse_tm_get_gmm_state(msg);
     gse_tm->tars_state = mavlink_msg_gse_tm_get_tars_state(msg);
     gse_tm->main_board_status = mavlink_msg_gse_tm_get_main_board_status(msg);
     gse_tm->payload_board_status = mavlink_msg_gse_tm_get_payload_board_status(msg);
diff --git a/mavlink_lib/lyra/mavlink_msg_motor_tm.h b/mavlink_lib/lyra/mavlink_msg_motor_tm.h
index 25643d25c37da50e8d0f474b4649b81d103b7ab4..66102446f17e7a22ab85d5b45231838c7aa10695 100644
--- a/mavlink_lib/lyra/mavlink_msg_motor_tm.h
+++ b/mavlink_lib/lyra/mavlink_msg_motor_tm.h
@@ -12,18 +12,17 @@ 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 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_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_CRC 79
-#define MAVLINK_MSG_ID_213_CRC 79
+#define MAVLINK_MSG_ID_MOTOR_TM_CRC 89
+#define MAVLINK_MSG_ID_213_CRC 89
 
 
 
@@ -31,15 +30,14 @@ typedef struct __mavlink_motor_tm_t {
 #define MAVLINK_MESSAGE_INFO_MOTOR_TM { \
     213, \
     "MOTOR_TM", \
-    10, \
+    9, \
     {  { "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, 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) }, \
+         { "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) }, \
          { "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) }, \
          } \
@@ -47,15 +45,14 @@ typedef struct __mavlink_motor_tm_t {
 #else
 #define MAVLINK_MESSAGE_INFO_MOTOR_TM { \
     "MOTOR_TM", \
-    10, \
+    9, \
     {  { "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, 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) }, \
+         { "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) }, \
          { "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) }, \
          } \
@@ -72,7 +69,6 @@ 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 
@@ -81,7 +77,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, uint8_t floating_level, 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, 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];
@@ -92,9 +88,8 @@ 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, floating_level);
-    _mav_put_uint8_t(buf, 33, main_valve_state);
-    _mav_put_uint8_t(buf, 34, venting_valve_state);
+    _mav_put_uint8_t(buf, 32, main_valve_state);
+    _mav_put_uint8_t(buf, 33, venting_valve_state);
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_MOTOR_TM_LEN);
 #else
@@ -106,7 +101,6 @@ 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;
 
@@ -127,7 +121,6 @@ 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 
@@ -137,7 +130,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,uint8_t floating_level,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,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];
@@ -148,9 +141,8 @@ 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, floating_level);
-    _mav_put_uint8_t(buf, 33, main_valve_state);
-    _mav_put_uint8_t(buf, 34, venting_valve_state);
+    _mav_put_uint8_t(buf, 32, main_valve_state);
+    _mav_put_uint8_t(buf, 33, venting_valve_state);
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_MOTOR_TM_LEN);
 #else
@@ -162,7 +154,6 @@ 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;
 
@@ -183,7 +174,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->floating_level, 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->tank_temperature, motor_tm->main_valve_state, motor_tm->venting_valve_state, motor_tm->battery_voltage, motor_tm->current_consumption);
 }
 
 /**
@@ -197,7 +188,7 @@ 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->floating_level, 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->tank_temperature, motor_tm->main_valve_state, motor_tm->venting_valve_state, motor_tm->battery_voltage, motor_tm->current_consumption);
 }
 
 /**
@@ -208,7 +199,6 @@ 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 
@@ -217,7 +207,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, uint8_t floating_level, 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, 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];
@@ -228,9 +218,8 @@ 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, floating_level);
-    _mav_put_uint8_t(buf, 33, main_valve_state);
-    _mav_put_uint8_t(buf, 34, venting_valve_state);
+    _mav_put_uint8_t(buf, 32, main_valve_state);
+    _mav_put_uint8_t(buf, 33, 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
@@ -242,7 +231,6 @@ 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;
 
@@ -258,7 +246,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->floating_level, 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->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
@@ -272,7 +260,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, uint8_t floating_level, 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, 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;
@@ -283,9 +271,8 @@ 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, floating_level);
-    _mav_put_uint8_t(buf, 33, main_valve_state);
-    _mav_put_uint8_t(buf, 34, venting_valve_state);
+    _mav_put_uint8_t(buf, 32, main_valve_state);
+    _mav_put_uint8_t(buf, 33, 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
@@ -297,7 +284,6 @@ 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;
 
@@ -351,16 +337,6 @@ 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
  *
@@ -378,7 +354,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,  33);
+    return _MAV_RETURN_uint8_t(msg,  32);
 }
 
 /**
@@ -388,7 +364,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,  34);
+    return _MAV_RETURN_uint8_t(msg,  33);
 }
 
 /**
@@ -427,7 +403,6 @@ 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_registry_coord_tm.h b/mavlink_lib/lyra/mavlink_msg_registry_coord_tm.h
new file mode 100644
index 0000000000000000000000000000000000000000..f539c5d07179bc151c00bc673dc658bb397f5a80
--- /dev/null
+++ b/mavlink_lib/lyra/mavlink_msg_registry_coord_tm.h
@@ -0,0 +1,305 @@
+#pragma once
+// MESSAGE REGISTRY_COORD_TM PACKING
+
+#define MAVLINK_MSG_ID_REGISTRY_COORD_TM 116
+
+
+typedef struct __mavlink_registry_coord_tm_t {
+ uint64_t timestamp; /*< [us] Timestamp*/
+ uint32_t key_id; /*<  Id of this configuration entry*/
+ float latitude; /*< [deg] Latitude in this configuration*/
+ float longitude; /*< [deg] Latitude in this configuration*/
+ char key_name[20]; /*<  Name of this configuration entry*/
+} mavlink_registry_coord_tm_t;
+
+#define MAVLINK_MSG_ID_REGISTRY_COORD_TM_LEN 40
+#define MAVLINK_MSG_ID_REGISTRY_COORD_TM_MIN_LEN 40
+#define MAVLINK_MSG_ID_116_LEN 40
+#define MAVLINK_MSG_ID_116_MIN_LEN 40
+
+#define MAVLINK_MSG_ID_REGISTRY_COORD_TM_CRC 234
+#define MAVLINK_MSG_ID_116_CRC 234
+
+#define MAVLINK_MSG_REGISTRY_COORD_TM_FIELD_KEY_NAME_LEN 20
+
+#if MAVLINK_COMMAND_24BIT
+#define MAVLINK_MESSAGE_INFO_REGISTRY_COORD_TM { \
+    116, \
+    "REGISTRY_COORD_TM", \
+    5, \
+    {  { "timestamp", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_registry_coord_tm_t, timestamp) }, \
+         { "key_id", NULL, MAVLINK_TYPE_UINT32_T, 0, 8, offsetof(mavlink_registry_coord_tm_t, key_id) }, \
+         { "key_name", NULL, MAVLINK_TYPE_CHAR, 20, 20, offsetof(mavlink_registry_coord_tm_t, key_name) }, \
+         { "latitude", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_registry_coord_tm_t, latitude) }, \
+         { "longitude", NULL, MAVLINK_TYPE_FLOAT, 0, 16, offsetof(mavlink_registry_coord_tm_t, longitude) }, \
+         } \
+}
+#else
+#define MAVLINK_MESSAGE_INFO_REGISTRY_COORD_TM { \
+    "REGISTRY_COORD_TM", \
+    5, \
+    {  { "timestamp", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_registry_coord_tm_t, timestamp) }, \
+         { "key_id", NULL, MAVLINK_TYPE_UINT32_T, 0, 8, offsetof(mavlink_registry_coord_tm_t, key_id) }, \
+         { "key_name", NULL, MAVLINK_TYPE_CHAR, 20, 20, offsetof(mavlink_registry_coord_tm_t, key_name) }, \
+         { "latitude", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_registry_coord_tm_t, latitude) }, \
+         { "longitude", NULL, MAVLINK_TYPE_FLOAT, 0, 16, offsetof(mavlink_registry_coord_tm_t, longitude) }, \
+         } \
+}
+#endif
+
+/**
+ * @brief Pack a registry_coord_tm message
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param msg The MAVLink message to compress the data into
+ *
+ * @param timestamp [us] Timestamp
+ * @param key_id  Id of this configuration entry
+ * @param key_name  Name of this configuration entry
+ * @param latitude [deg] Latitude in this configuration
+ * @param longitude [deg] Latitude in this configuration
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_registry_coord_tm_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
+                               uint64_t timestamp, uint32_t key_id, const char *key_name, float latitude, float longitude)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_REGISTRY_COORD_TM_LEN];
+    _mav_put_uint64_t(buf, 0, timestamp);
+    _mav_put_uint32_t(buf, 8, key_id);
+    _mav_put_float(buf, 12, latitude);
+    _mav_put_float(buf, 16, longitude);
+    _mav_put_char_array(buf, 20, key_name, 20);
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_REGISTRY_COORD_TM_LEN);
+#else
+    mavlink_registry_coord_tm_t packet;
+    packet.timestamp = timestamp;
+    packet.key_id = key_id;
+    packet.latitude = latitude;
+    packet.longitude = longitude;
+    mav_array_memcpy(packet.key_name, key_name, sizeof(char)*20);
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_REGISTRY_COORD_TM_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_REGISTRY_COORD_TM;
+    return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_REGISTRY_COORD_TM_MIN_LEN, MAVLINK_MSG_ID_REGISTRY_COORD_TM_LEN, MAVLINK_MSG_ID_REGISTRY_COORD_TM_CRC);
+}
+
+/**
+ * @brief Pack a registry_coord_tm message on a channel
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @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 key_id  Id of this configuration entry
+ * @param key_name  Name of this configuration entry
+ * @param latitude [deg] Latitude in this configuration
+ * @param longitude [deg] Latitude in this configuration
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_registry_coord_tm_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
+                               mavlink_message_t* msg,
+                                   uint64_t timestamp,uint32_t key_id,const char *key_name,float latitude,float longitude)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_REGISTRY_COORD_TM_LEN];
+    _mav_put_uint64_t(buf, 0, timestamp);
+    _mav_put_uint32_t(buf, 8, key_id);
+    _mav_put_float(buf, 12, latitude);
+    _mav_put_float(buf, 16, longitude);
+    _mav_put_char_array(buf, 20, key_name, 20);
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_REGISTRY_COORD_TM_LEN);
+#else
+    mavlink_registry_coord_tm_t packet;
+    packet.timestamp = timestamp;
+    packet.key_id = key_id;
+    packet.latitude = latitude;
+    packet.longitude = longitude;
+    mav_array_memcpy(packet.key_name, key_name, sizeof(char)*20);
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_REGISTRY_COORD_TM_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_REGISTRY_COORD_TM;
+    return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_REGISTRY_COORD_TM_MIN_LEN, MAVLINK_MSG_ID_REGISTRY_COORD_TM_LEN, MAVLINK_MSG_ID_REGISTRY_COORD_TM_CRC);
+}
+
+/**
+ * @brief Encode a registry_coord_tm struct
+ *
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param msg The MAVLink message to compress the data into
+ * @param registry_coord_tm C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_registry_coord_tm_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_registry_coord_tm_t* registry_coord_tm)
+{
+    return mavlink_msg_registry_coord_tm_pack(system_id, component_id, msg, registry_coord_tm->timestamp, registry_coord_tm->key_id, registry_coord_tm->key_name, registry_coord_tm->latitude, registry_coord_tm->longitude);
+}
+
+/**
+ * @brief Encode a registry_coord_tm struct on a channel
+ *
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param chan The MAVLink channel this message will be sent over
+ * @param msg The MAVLink message to compress the data into
+ * @param registry_coord_tm C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_registry_coord_tm_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_registry_coord_tm_t* registry_coord_tm)
+{
+    return mavlink_msg_registry_coord_tm_pack_chan(system_id, component_id, chan, msg, registry_coord_tm->timestamp, registry_coord_tm->key_id, registry_coord_tm->key_name, registry_coord_tm->latitude, registry_coord_tm->longitude);
+}
+
+/**
+ * @brief Send a registry_coord_tm message
+ * @param chan MAVLink channel to send the message
+ *
+ * @param timestamp [us] Timestamp
+ * @param key_id  Id of this configuration entry
+ * @param key_name  Name of this configuration entry
+ * @param latitude [deg] Latitude in this configuration
+ * @param longitude [deg] Latitude in this configuration
+ */
+#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
+
+static inline void mavlink_msg_registry_coord_tm_send(mavlink_channel_t chan, uint64_t timestamp, uint32_t key_id, const char *key_name, float latitude, float longitude)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_REGISTRY_COORD_TM_LEN];
+    _mav_put_uint64_t(buf, 0, timestamp);
+    _mav_put_uint32_t(buf, 8, key_id);
+    _mav_put_float(buf, 12, latitude);
+    _mav_put_float(buf, 16, longitude);
+    _mav_put_char_array(buf, 20, key_name, 20);
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_REGISTRY_COORD_TM, buf, MAVLINK_MSG_ID_REGISTRY_COORD_TM_MIN_LEN, MAVLINK_MSG_ID_REGISTRY_COORD_TM_LEN, MAVLINK_MSG_ID_REGISTRY_COORD_TM_CRC);
+#else
+    mavlink_registry_coord_tm_t packet;
+    packet.timestamp = timestamp;
+    packet.key_id = key_id;
+    packet.latitude = latitude;
+    packet.longitude = longitude;
+    mav_array_memcpy(packet.key_name, key_name, sizeof(char)*20);
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_REGISTRY_COORD_TM, (const char *)&packet, MAVLINK_MSG_ID_REGISTRY_COORD_TM_MIN_LEN, MAVLINK_MSG_ID_REGISTRY_COORD_TM_LEN, MAVLINK_MSG_ID_REGISTRY_COORD_TM_CRC);
+#endif
+}
+
+/**
+ * @brief Send a registry_coord_tm message
+ * @param chan MAVLink channel to send the message
+ * @param struct The MAVLink struct to serialize
+ */
+static inline void mavlink_msg_registry_coord_tm_send_struct(mavlink_channel_t chan, const mavlink_registry_coord_tm_t* registry_coord_tm)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    mavlink_msg_registry_coord_tm_send(chan, registry_coord_tm->timestamp, registry_coord_tm->key_id, registry_coord_tm->key_name, registry_coord_tm->latitude, registry_coord_tm->longitude);
+#else
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_REGISTRY_COORD_TM, (const char *)registry_coord_tm, MAVLINK_MSG_ID_REGISTRY_COORD_TM_MIN_LEN, MAVLINK_MSG_ID_REGISTRY_COORD_TM_LEN, MAVLINK_MSG_ID_REGISTRY_COORD_TM_CRC);
+#endif
+}
+
+#if MAVLINK_MSG_ID_REGISTRY_COORD_TM_LEN <= MAVLINK_MAX_PAYLOAD_LEN
+/*
+  This variant of _send() can be used to save stack space by re-using
+  memory from the receive buffer.  The caller provides a
+  mavlink_message_t which is the size of a full mavlink message. This
+  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_registry_coord_tm_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint64_t timestamp, uint32_t key_id, const char *key_name, float latitude, float longitude)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char *buf = (char *)msgbuf;
+    _mav_put_uint64_t(buf, 0, timestamp);
+    _mav_put_uint32_t(buf, 8, key_id);
+    _mav_put_float(buf, 12, latitude);
+    _mav_put_float(buf, 16, longitude);
+    _mav_put_char_array(buf, 20, key_name, 20);
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_REGISTRY_COORD_TM, buf, MAVLINK_MSG_ID_REGISTRY_COORD_TM_MIN_LEN, MAVLINK_MSG_ID_REGISTRY_COORD_TM_LEN, MAVLINK_MSG_ID_REGISTRY_COORD_TM_CRC);
+#else
+    mavlink_registry_coord_tm_t *packet = (mavlink_registry_coord_tm_t *)msgbuf;
+    packet->timestamp = timestamp;
+    packet->key_id = key_id;
+    packet->latitude = latitude;
+    packet->longitude = longitude;
+    mav_array_memcpy(packet->key_name, key_name, sizeof(char)*20);
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_REGISTRY_COORD_TM, (const char *)packet, MAVLINK_MSG_ID_REGISTRY_COORD_TM_MIN_LEN, MAVLINK_MSG_ID_REGISTRY_COORD_TM_LEN, MAVLINK_MSG_ID_REGISTRY_COORD_TM_CRC);
+#endif
+}
+#endif
+
+#endif
+
+// MESSAGE REGISTRY_COORD_TM UNPACKING
+
+
+/**
+ * @brief Get field timestamp from registry_coord_tm message
+ *
+ * @return [us] Timestamp
+ */
+static inline uint64_t mavlink_msg_registry_coord_tm_get_timestamp(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint64_t(msg,  0);
+}
+
+/**
+ * @brief Get field key_id from registry_coord_tm message
+ *
+ * @return  Id of this configuration entry
+ */
+static inline uint32_t mavlink_msg_registry_coord_tm_get_key_id(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint32_t(msg,  8);
+}
+
+/**
+ * @brief Get field key_name from registry_coord_tm message
+ *
+ * @return  Name of this configuration entry
+ */
+static inline uint16_t mavlink_msg_registry_coord_tm_get_key_name(const mavlink_message_t* msg, char *key_name)
+{
+    return _MAV_RETURN_char_array(msg, key_name, 20,  20);
+}
+
+/**
+ * @brief Get field latitude from registry_coord_tm message
+ *
+ * @return [deg] Latitude in this configuration
+ */
+static inline float mavlink_msg_registry_coord_tm_get_latitude(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_float(msg,  12);
+}
+
+/**
+ * @brief Get field longitude from registry_coord_tm message
+ *
+ * @return [deg] Latitude in this configuration
+ */
+static inline float mavlink_msg_registry_coord_tm_get_longitude(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_float(msg,  16);
+}
+
+/**
+ * @brief Decode a registry_coord_tm message into a struct
+ *
+ * @param msg The message to decode
+ * @param registry_coord_tm C-struct to decode the message contents into
+ */
+static inline void mavlink_msg_registry_coord_tm_decode(const mavlink_message_t* msg, mavlink_registry_coord_tm_t* registry_coord_tm)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    registry_coord_tm->timestamp = mavlink_msg_registry_coord_tm_get_timestamp(msg);
+    registry_coord_tm->key_id = mavlink_msg_registry_coord_tm_get_key_id(msg);
+    registry_coord_tm->latitude = mavlink_msg_registry_coord_tm_get_latitude(msg);
+    registry_coord_tm->longitude = mavlink_msg_registry_coord_tm_get_longitude(msg);
+    mavlink_msg_registry_coord_tm_get_key_name(msg, registry_coord_tm->key_name);
+#else
+        uint8_t len = msg->len < MAVLINK_MSG_ID_REGISTRY_COORD_TM_LEN? msg->len : MAVLINK_MSG_ID_REGISTRY_COORD_TM_LEN;
+        memset(registry_coord_tm, 0, MAVLINK_MSG_ID_REGISTRY_COORD_TM_LEN);
+    memcpy(registry_coord_tm, _MAV_PAYLOAD(msg), len);
+#endif
+}
diff --git a/mavlink_lib/lyra/mavlink_msg_registry_float_tm.h b/mavlink_lib/lyra/mavlink_msg_registry_float_tm.h
new file mode 100644
index 0000000000000000000000000000000000000000..97e592634ff72dda0eb422480f6aad8b4caf4918
--- /dev/null
+++ b/mavlink_lib/lyra/mavlink_msg_registry_float_tm.h
@@ -0,0 +1,280 @@
+#pragma once
+// MESSAGE REGISTRY_FLOAT_TM PACKING
+
+#define MAVLINK_MSG_ID_REGISTRY_FLOAT_TM 114
+
+
+typedef struct __mavlink_registry_float_tm_t {
+ uint64_t timestamp; /*< [us] Timestamp*/
+ uint32_t key_id; /*<  Id of this configuration entry*/
+ float value; /*<  Value of this configuration*/
+ char key_name[20]; /*<  Name of this configuration entry*/
+} mavlink_registry_float_tm_t;
+
+#define MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_LEN 36
+#define MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_MIN_LEN 36
+#define MAVLINK_MSG_ID_114_LEN 36
+#define MAVLINK_MSG_ID_114_MIN_LEN 36
+
+#define MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_CRC 9
+#define MAVLINK_MSG_ID_114_CRC 9
+
+#define MAVLINK_MSG_REGISTRY_FLOAT_TM_FIELD_KEY_NAME_LEN 20
+
+#if MAVLINK_COMMAND_24BIT
+#define MAVLINK_MESSAGE_INFO_REGISTRY_FLOAT_TM { \
+    114, \
+    "REGISTRY_FLOAT_TM", \
+    4, \
+    {  { "timestamp", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_registry_float_tm_t, timestamp) }, \
+         { "key_id", NULL, MAVLINK_TYPE_UINT32_T, 0, 8, offsetof(mavlink_registry_float_tm_t, key_id) }, \
+         { "key_name", NULL, MAVLINK_TYPE_CHAR, 20, 16, offsetof(mavlink_registry_float_tm_t, key_name) }, \
+         { "value", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_registry_float_tm_t, value) }, \
+         } \
+}
+#else
+#define MAVLINK_MESSAGE_INFO_REGISTRY_FLOAT_TM { \
+    "REGISTRY_FLOAT_TM", \
+    4, \
+    {  { "timestamp", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_registry_float_tm_t, timestamp) }, \
+         { "key_id", NULL, MAVLINK_TYPE_UINT32_T, 0, 8, offsetof(mavlink_registry_float_tm_t, key_id) }, \
+         { "key_name", NULL, MAVLINK_TYPE_CHAR, 20, 16, offsetof(mavlink_registry_float_tm_t, key_name) }, \
+         { "value", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_registry_float_tm_t, value) }, \
+         } \
+}
+#endif
+
+/**
+ * @brief Pack a registry_float_tm message
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param msg The MAVLink message to compress the data into
+ *
+ * @param timestamp [us] Timestamp
+ * @param key_id  Id of this configuration entry
+ * @param key_name  Name of this configuration entry
+ * @param value  Value of this configuration
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_registry_float_tm_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
+                               uint64_t timestamp, uint32_t key_id, const char *key_name, float value)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_LEN];
+    _mav_put_uint64_t(buf, 0, timestamp);
+    _mav_put_uint32_t(buf, 8, key_id);
+    _mav_put_float(buf, 12, value);
+    _mav_put_char_array(buf, 16, key_name, 20);
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_LEN);
+#else
+    mavlink_registry_float_tm_t packet;
+    packet.timestamp = timestamp;
+    packet.key_id = key_id;
+    packet.value = value;
+    mav_array_memcpy(packet.key_name, key_name, sizeof(char)*20);
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_REGISTRY_FLOAT_TM;
+    return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_MIN_LEN, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_LEN, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_CRC);
+}
+
+/**
+ * @brief Pack a registry_float_tm message on a channel
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @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 key_id  Id of this configuration entry
+ * @param key_name  Name of this configuration entry
+ * @param value  Value of this configuration
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_registry_float_tm_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
+                               mavlink_message_t* msg,
+                                   uint64_t timestamp,uint32_t key_id,const char *key_name,float value)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_LEN];
+    _mav_put_uint64_t(buf, 0, timestamp);
+    _mav_put_uint32_t(buf, 8, key_id);
+    _mav_put_float(buf, 12, value);
+    _mav_put_char_array(buf, 16, key_name, 20);
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_LEN);
+#else
+    mavlink_registry_float_tm_t packet;
+    packet.timestamp = timestamp;
+    packet.key_id = key_id;
+    packet.value = value;
+    mav_array_memcpy(packet.key_name, key_name, sizeof(char)*20);
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_REGISTRY_FLOAT_TM;
+    return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_MIN_LEN, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_LEN, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_CRC);
+}
+
+/**
+ * @brief Encode a registry_float_tm struct
+ *
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param msg The MAVLink message to compress the data into
+ * @param registry_float_tm C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_registry_float_tm_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_registry_float_tm_t* registry_float_tm)
+{
+    return mavlink_msg_registry_float_tm_pack(system_id, component_id, msg, registry_float_tm->timestamp, registry_float_tm->key_id, registry_float_tm->key_name, registry_float_tm->value);
+}
+
+/**
+ * @brief Encode a registry_float_tm struct on a channel
+ *
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param chan The MAVLink channel this message will be sent over
+ * @param msg The MAVLink message to compress the data into
+ * @param registry_float_tm C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_registry_float_tm_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_registry_float_tm_t* registry_float_tm)
+{
+    return mavlink_msg_registry_float_tm_pack_chan(system_id, component_id, chan, msg, registry_float_tm->timestamp, registry_float_tm->key_id, registry_float_tm->key_name, registry_float_tm->value);
+}
+
+/**
+ * @brief Send a registry_float_tm message
+ * @param chan MAVLink channel to send the message
+ *
+ * @param timestamp [us] Timestamp
+ * @param key_id  Id of this configuration entry
+ * @param key_name  Name of this configuration entry
+ * @param value  Value of this configuration
+ */
+#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
+
+static inline void mavlink_msg_registry_float_tm_send(mavlink_channel_t chan, uint64_t timestamp, uint32_t key_id, const char *key_name, float value)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_LEN];
+    _mav_put_uint64_t(buf, 0, timestamp);
+    _mav_put_uint32_t(buf, 8, key_id);
+    _mav_put_float(buf, 12, value);
+    _mav_put_char_array(buf, 16, key_name, 20);
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM, buf, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_MIN_LEN, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_LEN, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_CRC);
+#else
+    mavlink_registry_float_tm_t packet;
+    packet.timestamp = timestamp;
+    packet.key_id = key_id;
+    packet.value = value;
+    mav_array_memcpy(packet.key_name, key_name, sizeof(char)*20);
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM, (const char *)&packet, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_MIN_LEN, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_LEN, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_CRC);
+#endif
+}
+
+/**
+ * @brief Send a registry_float_tm message
+ * @param chan MAVLink channel to send the message
+ * @param struct The MAVLink struct to serialize
+ */
+static inline void mavlink_msg_registry_float_tm_send_struct(mavlink_channel_t chan, const mavlink_registry_float_tm_t* registry_float_tm)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    mavlink_msg_registry_float_tm_send(chan, registry_float_tm->timestamp, registry_float_tm->key_id, registry_float_tm->key_name, registry_float_tm->value);
+#else
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM, (const char *)registry_float_tm, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_MIN_LEN, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_LEN, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_CRC);
+#endif
+}
+
+#if MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_LEN <= MAVLINK_MAX_PAYLOAD_LEN
+/*
+  This variant of _send() can be used to save stack space by re-using
+  memory from the receive buffer.  The caller provides a
+  mavlink_message_t which is the size of a full mavlink message. This
+  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_registry_float_tm_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint64_t timestamp, uint32_t key_id, const char *key_name, float value)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char *buf = (char *)msgbuf;
+    _mav_put_uint64_t(buf, 0, timestamp);
+    _mav_put_uint32_t(buf, 8, key_id);
+    _mav_put_float(buf, 12, value);
+    _mav_put_char_array(buf, 16, key_name, 20);
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM, buf, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_MIN_LEN, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_LEN, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_CRC);
+#else
+    mavlink_registry_float_tm_t *packet = (mavlink_registry_float_tm_t *)msgbuf;
+    packet->timestamp = timestamp;
+    packet->key_id = key_id;
+    packet->value = value;
+    mav_array_memcpy(packet->key_name, key_name, sizeof(char)*20);
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM, (const char *)packet, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_MIN_LEN, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_LEN, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_CRC);
+#endif
+}
+#endif
+
+#endif
+
+// MESSAGE REGISTRY_FLOAT_TM UNPACKING
+
+
+/**
+ * @brief Get field timestamp from registry_float_tm message
+ *
+ * @return [us] Timestamp
+ */
+static inline uint64_t mavlink_msg_registry_float_tm_get_timestamp(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint64_t(msg,  0);
+}
+
+/**
+ * @brief Get field key_id from registry_float_tm message
+ *
+ * @return  Id of this configuration entry
+ */
+static inline uint32_t mavlink_msg_registry_float_tm_get_key_id(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint32_t(msg,  8);
+}
+
+/**
+ * @brief Get field key_name from registry_float_tm message
+ *
+ * @return  Name of this configuration entry
+ */
+static inline uint16_t mavlink_msg_registry_float_tm_get_key_name(const mavlink_message_t* msg, char *key_name)
+{
+    return _MAV_RETURN_char_array(msg, key_name, 20,  16);
+}
+
+/**
+ * @brief Get field value from registry_float_tm message
+ *
+ * @return  Value of this configuration
+ */
+static inline float mavlink_msg_registry_float_tm_get_value(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_float(msg,  12);
+}
+
+/**
+ * @brief Decode a registry_float_tm message into a struct
+ *
+ * @param msg The message to decode
+ * @param registry_float_tm C-struct to decode the message contents into
+ */
+static inline void mavlink_msg_registry_float_tm_decode(const mavlink_message_t* msg, mavlink_registry_float_tm_t* registry_float_tm)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    registry_float_tm->timestamp = mavlink_msg_registry_float_tm_get_timestamp(msg);
+    registry_float_tm->key_id = mavlink_msg_registry_float_tm_get_key_id(msg);
+    registry_float_tm->value = mavlink_msg_registry_float_tm_get_value(msg);
+    mavlink_msg_registry_float_tm_get_key_name(msg, registry_float_tm->key_name);
+#else
+        uint8_t len = msg->len < MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_LEN? msg->len : MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_LEN;
+        memset(registry_float_tm, 0, MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_LEN);
+    memcpy(registry_float_tm, _MAV_PAYLOAD(msg), len);
+#endif
+}
diff --git a/mavlink_lib/lyra/mavlink_msg_registry_int_tm.h b/mavlink_lib/lyra/mavlink_msg_registry_int_tm.h
new file mode 100644
index 0000000000000000000000000000000000000000..233fd532e243b05951980dc1c9ff9bf56f7b2c23
--- /dev/null
+++ b/mavlink_lib/lyra/mavlink_msg_registry_int_tm.h
@@ -0,0 +1,280 @@
+#pragma once
+// MESSAGE REGISTRY_INT_TM PACKING
+
+#define MAVLINK_MSG_ID_REGISTRY_INT_TM 115
+
+
+typedef struct __mavlink_registry_int_tm_t {
+ uint64_t timestamp; /*< [us] Timestamp*/
+ uint32_t key_id; /*<  Id of this configuration entry*/
+ uint32_t value; /*<  Value of this configuration*/
+ char key_name[20]; /*<  Name of this configuration entry*/
+} mavlink_registry_int_tm_t;
+
+#define MAVLINK_MSG_ID_REGISTRY_INT_TM_LEN 36
+#define MAVLINK_MSG_ID_REGISTRY_INT_TM_MIN_LEN 36
+#define MAVLINK_MSG_ID_115_LEN 36
+#define MAVLINK_MSG_ID_115_MIN_LEN 36
+
+#define MAVLINK_MSG_ID_REGISTRY_INT_TM_CRC 68
+#define MAVLINK_MSG_ID_115_CRC 68
+
+#define MAVLINK_MSG_REGISTRY_INT_TM_FIELD_KEY_NAME_LEN 20
+
+#if MAVLINK_COMMAND_24BIT
+#define MAVLINK_MESSAGE_INFO_REGISTRY_INT_TM { \
+    115, \
+    "REGISTRY_INT_TM", \
+    4, \
+    {  { "timestamp", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_registry_int_tm_t, timestamp) }, \
+         { "key_id", NULL, MAVLINK_TYPE_UINT32_T, 0, 8, offsetof(mavlink_registry_int_tm_t, key_id) }, \
+         { "key_name", NULL, MAVLINK_TYPE_CHAR, 20, 16, offsetof(mavlink_registry_int_tm_t, key_name) }, \
+         { "value", NULL, MAVLINK_TYPE_UINT32_T, 0, 12, offsetof(mavlink_registry_int_tm_t, value) }, \
+         } \
+}
+#else
+#define MAVLINK_MESSAGE_INFO_REGISTRY_INT_TM { \
+    "REGISTRY_INT_TM", \
+    4, \
+    {  { "timestamp", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_registry_int_tm_t, timestamp) }, \
+         { "key_id", NULL, MAVLINK_TYPE_UINT32_T, 0, 8, offsetof(mavlink_registry_int_tm_t, key_id) }, \
+         { "key_name", NULL, MAVLINK_TYPE_CHAR, 20, 16, offsetof(mavlink_registry_int_tm_t, key_name) }, \
+         { "value", NULL, MAVLINK_TYPE_UINT32_T, 0, 12, offsetof(mavlink_registry_int_tm_t, value) }, \
+         } \
+}
+#endif
+
+/**
+ * @brief Pack a registry_int_tm message
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param msg The MAVLink message to compress the data into
+ *
+ * @param timestamp [us] Timestamp
+ * @param key_id  Id of this configuration entry
+ * @param key_name  Name of this configuration entry
+ * @param value  Value of this configuration
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_registry_int_tm_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
+                               uint64_t timestamp, uint32_t key_id, const char *key_name, uint32_t value)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_REGISTRY_INT_TM_LEN];
+    _mav_put_uint64_t(buf, 0, timestamp);
+    _mav_put_uint32_t(buf, 8, key_id);
+    _mav_put_uint32_t(buf, 12, value);
+    _mav_put_char_array(buf, 16, key_name, 20);
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_REGISTRY_INT_TM_LEN);
+#else
+    mavlink_registry_int_tm_t packet;
+    packet.timestamp = timestamp;
+    packet.key_id = key_id;
+    packet.value = value;
+    mav_array_memcpy(packet.key_name, key_name, sizeof(char)*20);
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_REGISTRY_INT_TM_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_REGISTRY_INT_TM;
+    return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_REGISTRY_INT_TM_MIN_LEN, MAVLINK_MSG_ID_REGISTRY_INT_TM_LEN, MAVLINK_MSG_ID_REGISTRY_INT_TM_CRC);
+}
+
+/**
+ * @brief Pack a registry_int_tm message on a channel
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @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 key_id  Id of this configuration entry
+ * @param key_name  Name of this configuration entry
+ * @param value  Value of this configuration
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_registry_int_tm_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
+                               mavlink_message_t* msg,
+                                   uint64_t timestamp,uint32_t key_id,const char *key_name,uint32_t value)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_REGISTRY_INT_TM_LEN];
+    _mav_put_uint64_t(buf, 0, timestamp);
+    _mav_put_uint32_t(buf, 8, key_id);
+    _mav_put_uint32_t(buf, 12, value);
+    _mav_put_char_array(buf, 16, key_name, 20);
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_REGISTRY_INT_TM_LEN);
+#else
+    mavlink_registry_int_tm_t packet;
+    packet.timestamp = timestamp;
+    packet.key_id = key_id;
+    packet.value = value;
+    mav_array_memcpy(packet.key_name, key_name, sizeof(char)*20);
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_REGISTRY_INT_TM_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_REGISTRY_INT_TM;
+    return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_REGISTRY_INT_TM_MIN_LEN, MAVLINK_MSG_ID_REGISTRY_INT_TM_LEN, MAVLINK_MSG_ID_REGISTRY_INT_TM_CRC);
+}
+
+/**
+ * @brief Encode a registry_int_tm struct
+ *
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param msg The MAVLink message to compress the data into
+ * @param registry_int_tm C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_registry_int_tm_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_registry_int_tm_t* registry_int_tm)
+{
+    return mavlink_msg_registry_int_tm_pack(system_id, component_id, msg, registry_int_tm->timestamp, registry_int_tm->key_id, registry_int_tm->key_name, registry_int_tm->value);
+}
+
+/**
+ * @brief Encode a registry_int_tm struct on a channel
+ *
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param chan The MAVLink channel this message will be sent over
+ * @param msg The MAVLink message to compress the data into
+ * @param registry_int_tm C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_registry_int_tm_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_registry_int_tm_t* registry_int_tm)
+{
+    return mavlink_msg_registry_int_tm_pack_chan(system_id, component_id, chan, msg, registry_int_tm->timestamp, registry_int_tm->key_id, registry_int_tm->key_name, registry_int_tm->value);
+}
+
+/**
+ * @brief Send a registry_int_tm message
+ * @param chan MAVLink channel to send the message
+ *
+ * @param timestamp [us] Timestamp
+ * @param key_id  Id of this configuration entry
+ * @param key_name  Name of this configuration entry
+ * @param value  Value of this configuration
+ */
+#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
+
+static inline void mavlink_msg_registry_int_tm_send(mavlink_channel_t chan, uint64_t timestamp, uint32_t key_id, const char *key_name, uint32_t value)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_REGISTRY_INT_TM_LEN];
+    _mav_put_uint64_t(buf, 0, timestamp);
+    _mav_put_uint32_t(buf, 8, key_id);
+    _mav_put_uint32_t(buf, 12, value);
+    _mav_put_char_array(buf, 16, key_name, 20);
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_REGISTRY_INT_TM, buf, MAVLINK_MSG_ID_REGISTRY_INT_TM_MIN_LEN, MAVLINK_MSG_ID_REGISTRY_INT_TM_LEN, MAVLINK_MSG_ID_REGISTRY_INT_TM_CRC);
+#else
+    mavlink_registry_int_tm_t packet;
+    packet.timestamp = timestamp;
+    packet.key_id = key_id;
+    packet.value = value;
+    mav_array_memcpy(packet.key_name, key_name, sizeof(char)*20);
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_REGISTRY_INT_TM, (const char *)&packet, MAVLINK_MSG_ID_REGISTRY_INT_TM_MIN_LEN, MAVLINK_MSG_ID_REGISTRY_INT_TM_LEN, MAVLINK_MSG_ID_REGISTRY_INT_TM_CRC);
+#endif
+}
+
+/**
+ * @brief Send a registry_int_tm message
+ * @param chan MAVLink channel to send the message
+ * @param struct The MAVLink struct to serialize
+ */
+static inline void mavlink_msg_registry_int_tm_send_struct(mavlink_channel_t chan, const mavlink_registry_int_tm_t* registry_int_tm)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    mavlink_msg_registry_int_tm_send(chan, registry_int_tm->timestamp, registry_int_tm->key_id, registry_int_tm->key_name, registry_int_tm->value);
+#else
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_REGISTRY_INT_TM, (const char *)registry_int_tm, MAVLINK_MSG_ID_REGISTRY_INT_TM_MIN_LEN, MAVLINK_MSG_ID_REGISTRY_INT_TM_LEN, MAVLINK_MSG_ID_REGISTRY_INT_TM_CRC);
+#endif
+}
+
+#if MAVLINK_MSG_ID_REGISTRY_INT_TM_LEN <= MAVLINK_MAX_PAYLOAD_LEN
+/*
+  This variant of _send() can be used to save stack space by re-using
+  memory from the receive buffer.  The caller provides a
+  mavlink_message_t which is the size of a full mavlink message. This
+  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_registry_int_tm_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint64_t timestamp, uint32_t key_id, const char *key_name, uint32_t value)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char *buf = (char *)msgbuf;
+    _mav_put_uint64_t(buf, 0, timestamp);
+    _mav_put_uint32_t(buf, 8, key_id);
+    _mav_put_uint32_t(buf, 12, value);
+    _mav_put_char_array(buf, 16, key_name, 20);
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_REGISTRY_INT_TM, buf, MAVLINK_MSG_ID_REGISTRY_INT_TM_MIN_LEN, MAVLINK_MSG_ID_REGISTRY_INT_TM_LEN, MAVLINK_MSG_ID_REGISTRY_INT_TM_CRC);
+#else
+    mavlink_registry_int_tm_t *packet = (mavlink_registry_int_tm_t *)msgbuf;
+    packet->timestamp = timestamp;
+    packet->key_id = key_id;
+    packet->value = value;
+    mav_array_memcpy(packet->key_name, key_name, sizeof(char)*20);
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_REGISTRY_INT_TM, (const char *)packet, MAVLINK_MSG_ID_REGISTRY_INT_TM_MIN_LEN, MAVLINK_MSG_ID_REGISTRY_INT_TM_LEN, MAVLINK_MSG_ID_REGISTRY_INT_TM_CRC);
+#endif
+}
+#endif
+
+#endif
+
+// MESSAGE REGISTRY_INT_TM UNPACKING
+
+
+/**
+ * @brief Get field timestamp from registry_int_tm message
+ *
+ * @return [us] Timestamp
+ */
+static inline uint64_t mavlink_msg_registry_int_tm_get_timestamp(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint64_t(msg,  0);
+}
+
+/**
+ * @brief Get field key_id from registry_int_tm message
+ *
+ * @return  Id of this configuration entry
+ */
+static inline uint32_t mavlink_msg_registry_int_tm_get_key_id(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint32_t(msg,  8);
+}
+
+/**
+ * @brief Get field key_name from registry_int_tm message
+ *
+ * @return  Name of this configuration entry
+ */
+static inline uint16_t mavlink_msg_registry_int_tm_get_key_name(const mavlink_message_t* msg, char *key_name)
+{
+    return _MAV_RETURN_char_array(msg, key_name, 20,  16);
+}
+
+/**
+ * @brief Get field value from registry_int_tm message
+ *
+ * @return  Value of this configuration
+ */
+static inline uint32_t mavlink_msg_registry_int_tm_get_value(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint32_t(msg,  12);
+}
+
+/**
+ * @brief Decode a registry_int_tm message into a struct
+ *
+ * @param msg The message to decode
+ * @param registry_int_tm C-struct to decode the message contents into
+ */
+static inline void mavlink_msg_registry_int_tm_decode(const mavlink_message_t* msg, mavlink_registry_int_tm_t* registry_int_tm)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    registry_int_tm->timestamp = mavlink_msg_registry_int_tm_get_timestamp(msg);
+    registry_int_tm->key_id = mavlink_msg_registry_int_tm_get_key_id(msg);
+    registry_int_tm->value = mavlink_msg_registry_int_tm_get_value(msg);
+    mavlink_msg_registry_int_tm_get_key_name(msg, registry_int_tm->key_name);
+#else
+        uint8_t len = msg->len < MAVLINK_MSG_ID_REGISTRY_INT_TM_LEN? msg->len : MAVLINK_MSG_ID_REGISTRY_INT_TM_LEN;
+        memset(registry_int_tm, 0, MAVLINK_MSG_ID_REGISTRY_INT_TM_LEN);
+    memcpy(registry_int_tm, _MAV_PAYLOAD(msg), len);
+#endif
+}
diff --git a/mavlink_lib/lyra/mavlink_msg_set_cooling_time_tc.h b/mavlink_lib/lyra/mavlink_msg_set_cooling_time_tc.h
new file mode 100644
index 0000000000000000000000000000000000000000..9e912d94cde7d2471bf020535417dd8d7f253014
--- /dev/null
+++ b/mavlink_lib/lyra/mavlink_msg_set_cooling_time_tc.h
@@ -0,0 +1,213 @@
+#pragma once
+// MESSAGE SET_COOLING_TIME_TC PACKING
+
+#define MAVLINK_MSG_ID_SET_COOLING_TIME_TC 24
+
+
+typedef struct __mavlink_set_cooling_time_tc_t {
+ uint32_t timing; /*< [ms] Timing in [ms]*/
+} mavlink_set_cooling_time_tc_t;
+
+#define MAVLINK_MSG_ID_SET_COOLING_TIME_TC_LEN 4
+#define MAVLINK_MSG_ID_SET_COOLING_TIME_TC_MIN_LEN 4
+#define MAVLINK_MSG_ID_24_LEN 4
+#define MAVLINK_MSG_ID_24_MIN_LEN 4
+
+#define MAVLINK_MSG_ID_SET_COOLING_TIME_TC_CRC 84
+#define MAVLINK_MSG_ID_24_CRC 84
+
+
+
+#if MAVLINK_COMMAND_24BIT
+#define MAVLINK_MESSAGE_INFO_SET_COOLING_TIME_TC { \
+    24, \
+    "SET_COOLING_TIME_TC", \
+    1, \
+    {  { "timing", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_set_cooling_time_tc_t, timing) }, \
+         } \
+}
+#else
+#define MAVLINK_MESSAGE_INFO_SET_COOLING_TIME_TC { \
+    "SET_COOLING_TIME_TC", \
+    1, \
+    {  { "timing", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_set_cooling_time_tc_t, timing) }, \
+         } \
+}
+#endif
+
+/**
+ * @brief Pack a set_cooling_time_tc message
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param msg The MAVLink message to compress the data into
+ *
+ * @param timing [ms] Timing in [ms]
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_set_cooling_time_tc_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
+                               uint32_t timing)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_SET_COOLING_TIME_TC_LEN];
+    _mav_put_uint32_t(buf, 0, timing);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_LEN);
+#else
+    mavlink_set_cooling_time_tc_t packet;
+    packet.timing = timing;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_SET_COOLING_TIME_TC;
+    return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_MIN_LEN, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_LEN, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_CRC);
+}
+
+/**
+ * @brief Pack a set_cooling_time_tc message on a channel
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param chan The MAVLink channel this message will be sent over
+ * @param msg The MAVLink message to compress the data into
+ * @param timing [ms] Timing in [ms]
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_set_cooling_time_tc_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
+                               mavlink_message_t* msg,
+                                   uint32_t timing)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_SET_COOLING_TIME_TC_LEN];
+    _mav_put_uint32_t(buf, 0, timing);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_LEN);
+#else
+    mavlink_set_cooling_time_tc_t packet;
+    packet.timing = timing;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_SET_COOLING_TIME_TC;
+    return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_MIN_LEN, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_LEN, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_CRC);
+}
+
+/**
+ * @brief Encode a set_cooling_time_tc struct
+ *
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param msg The MAVLink message to compress the data into
+ * @param set_cooling_time_tc C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_set_cooling_time_tc_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_set_cooling_time_tc_t* set_cooling_time_tc)
+{
+    return mavlink_msg_set_cooling_time_tc_pack(system_id, component_id, msg, set_cooling_time_tc->timing);
+}
+
+/**
+ * @brief Encode a set_cooling_time_tc struct on a channel
+ *
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param chan The MAVLink channel this message will be sent over
+ * @param msg The MAVLink message to compress the data into
+ * @param set_cooling_time_tc C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_set_cooling_time_tc_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_set_cooling_time_tc_t* set_cooling_time_tc)
+{
+    return mavlink_msg_set_cooling_time_tc_pack_chan(system_id, component_id, chan, msg, set_cooling_time_tc->timing);
+}
+
+/**
+ * @brief Send a set_cooling_time_tc message
+ * @param chan MAVLink channel to send the message
+ *
+ * @param timing [ms] Timing in [ms]
+ */
+#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
+
+static inline void mavlink_msg_set_cooling_time_tc_send(mavlink_channel_t chan, uint32_t timing)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_SET_COOLING_TIME_TC_LEN];
+    _mav_put_uint32_t(buf, 0, timing);
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_COOLING_TIME_TC, buf, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_MIN_LEN, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_LEN, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_CRC);
+#else
+    mavlink_set_cooling_time_tc_t packet;
+    packet.timing = timing;
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_COOLING_TIME_TC, (const char *)&packet, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_MIN_LEN, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_LEN, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_CRC);
+#endif
+}
+
+/**
+ * @brief Send a set_cooling_time_tc message
+ * @param chan MAVLink channel to send the message
+ * @param struct The MAVLink struct to serialize
+ */
+static inline void mavlink_msg_set_cooling_time_tc_send_struct(mavlink_channel_t chan, const mavlink_set_cooling_time_tc_t* set_cooling_time_tc)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    mavlink_msg_set_cooling_time_tc_send(chan, set_cooling_time_tc->timing);
+#else
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_COOLING_TIME_TC, (const char *)set_cooling_time_tc, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_MIN_LEN, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_LEN, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_CRC);
+#endif
+}
+
+#if MAVLINK_MSG_ID_SET_COOLING_TIME_TC_LEN <= MAVLINK_MAX_PAYLOAD_LEN
+/*
+  This variant of _send() can be used to save stack space by re-using
+  memory from the receive buffer.  The caller provides a
+  mavlink_message_t which is the size of a full mavlink message. This
+  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_cooling_time_tc_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint32_t timing)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char *buf = (char *)msgbuf;
+    _mav_put_uint32_t(buf, 0, timing);
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_COOLING_TIME_TC, buf, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_MIN_LEN, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_LEN, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_CRC);
+#else
+    mavlink_set_cooling_time_tc_t *packet = (mavlink_set_cooling_time_tc_t *)msgbuf;
+    packet->timing = timing;
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_COOLING_TIME_TC, (const char *)packet, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_MIN_LEN, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_LEN, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_CRC);
+#endif
+}
+#endif
+
+#endif
+
+// MESSAGE SET_COOLING_TIME_TC UNPACKING
+
+
+/**
+ * @brief Get field timing from set_cooling_time_tc message
+ *
+ * @return [ms] Timing in [ms]
+ */
+static inline uint32_t mavlink_msg_set_cooling_time_tc_get_timing(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint32_t(msg,  0);
+}
+
+/**
+ * @brief Decode a set_cooling_time_tc message into a struct
+ *
+ * @param msg The message to decode
+ * @param set_cooling_time_tc C-struct to decode the message contents into
+ */
+static inline void mavlink_msg_set_cooling_time_tc_decode(const mavlink_message_t* msg, mavlink_set_cooling_time_tc_t* set_cooling_time_tc)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    set_cooling_time_tc->timing = mavlink_msg_set_cooling_time_tc_get_timing(msg);
+#else
+        uint8_t len = msg->len < MAVLINK_MSG_ID_SET_COOLING_TIME_TC_LEN? msg->len : MAVLINK_MSG_ID_SET_COOLING_TIME_TC_LEN;
+        memset(set_cooling_time_tc, 0, MAVLINK_MSG_ID_SET_COOLING_TIME_TC_LEN);
+    memcpy(set_cooling_time_tc, _MAV_PAYLOAD(msg), len);
+#endif
+}
diff --git a/mavlink_lib/lyra/mavlink_msg_set_nitrogen_time_tc.h b/mavlink_lib/lyra/mavlink_msg_set_nitrogen_time_tc.h
new file mode 100644
index 0000000000000000000000000000000000000000..c6e48a238a1d9c202f9f218a75208dd8033cb754
--- /dev/null
+++ b/mavlink_lib/lyra/mavlink_msg_set_nitrogen_time_tc.h
@@ -0,0 +1,213 @@
+#pragma once
+// MESSAGE SET_NITROGEN_TIME_TC PACKING
+
+#define MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC 23
+
+
+typedef struct __mavlink_set_nitrogen_time_tc_t {
+ uint32_t timing; /*< [ms] Timing in [ms]*/
+} mavlink_set_nitrogen_time_tc_t;
+
+#define MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_LEN 4
+#define MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_MIN_LEN 4
+#define MAVLINK_MSG_ID_23_LEN 4
+#define MAVLINK_MSG_ID_23_MIN_LEN 4
+
+#define MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_CRC 167
+#define MAVLINK_MSG_ID_23_CRC 167
+
+
+
+#if MAVLINK_COMMAND_24BIT
+#define MAVLINK_MESSAGE_INFO_SET_NITROGEN_TIME_TC { \
+    23, \
+    "SET_NITROGEN_TIME_TC", \
+    1, \
+    {  { "timing", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_set_nitrogen_time_tc_t, timing) }, \
+         } \
+}
+#else
+#define MAVLINK_MESSAGE_INFO_SET_NITROGEN_TIME_TC { \
+    "SET_NITROGEN_TIME_TC", \
+    1, \
+    {  { "timing", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_set_nitrogen_time_tc_t, timing) }, \
+         } \
+}
+#endif
+
+/**
+ * @brief Pack a set_nitrogen_time_tc message
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param msg The MAVLink message to compress the data into
+ *
+ * @param timing [ms] Timing in [ms]
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_set_nitrogen_time_tc_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
+                               uint32_t timing)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_LEN];
+    _mav_put_uint32_t(buf, 0, timing);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_LEN);
+#else
+    mavlink_set_nitrogen_time_tc_t packet;
+    packet.timing = timing;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC;
+    return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_MIN_LEN, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_LEN, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_CRC);
+}
+
+/**
+ * @brief Pack a set_nitrogen_time_tc message on a channel
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param chan The MAVLink channel this message will be sent over
+ * @param msg The MAVLink message to compress the data into
+ * @param timing [ms] Timing in [ms]
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_set_nitrogen_time_tc_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
+                               mavlink_message_t* msg,
+                                   uint32_t timing)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_LEN];
+    _mav_put_uint32_t(buf, 0, timing);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_LEN);
+#else
+    mavlink_set_nitrogen_time_tc_t packet;
+    packet.timing = timing;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC;
+    return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_MIN_LEN, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_LEN, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_CRC);
+}
+
+/**
+ * @brief Encode a set_nitrogen_time_tc struct
+ *
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param msg The MAVLink message to compress the data into
+ * @param set_nitrogen_time_tc C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_set_nitrogen_time_tc_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_set_nitrogen_time_tc_t* set_nitrogen_time_tc)
+{
+    return mavlink_msg_set_nitrogen_time_tc_pack(system_id, component_id, msg, set_nitrogen_time_tc->timing);
+}
+
+/**
+ * @brief Encode a set_nitrogen_time_tc struct on a channel
+ *
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param chan The MAVLink channel this message will be sent over
+ * @param msg The MAVLink message to compress the data into
+ * @param set_nitrogen_time_tc C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_set_nitrogen_time_tc_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_set_nitrogen_time_tc_t* set_nitrogen_time_tc)
+{
+    return mavlink_msg_set_nitrogen_time_tc_pack_chan(system_id, component_id, chan, msg, set_nitrogen_time_tc->timing);
+}
+
+/**
+ * @brief Send a set_nitrogen_time_tc message
+ * @param chan MAVLink channel to send the message
+ *
+ * @param timing [ms] Timing in [ms]
+ */
+#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
+
+static inline void mavlink_msg_set_nitrogen_time_tc_send(mavlink_channel_t chan, uint32_t timing)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_LEN];
+    _mav_put_uint32_t(buf, 0, timing);
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC, buf, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_MIN_LEN, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_LEN, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_CRC);
+#else
+    mavlink_set_nitrogen_time_tc_t packet;
+    packet.timing = timing;
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC, (const char *)&packet, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_MIN_LEN, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_LEN, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_CRC);
+#endif
+}
+
+/**
+ * @brief Send a set_nitrogen_time_tc message
+ * @param chan MAVLink channel to send the message
+ * @param struct The MAVLink struct to serialize
+ */
+static inline void mavlink_msg_set_nitrogen_time_tc_send_struct(mavlink_channel_t chan, const mavlink_set_nitrogen_time_tc_t* set_nitrogen_time_tc)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    mavlink_msg_set_nitrogen_time_tc_send(chan, set_nitrogen_time_tc->timing);
+#else
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC, (const char *)set_nitrogen_time_tc, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_MIN_LEN, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_LEN, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_CRC);
+#endif
+}
+
+#if MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_LEN <= MAVLINK_MAX_PAYLOAD_LEN
+/*
+  This variant of _send() can be used to save stack space by re-using
+  memory from the receive buffer.  The caller provides a
+  mavlink_message_t which is the size of a full mavlink message. This
+  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_nitrogen_time_tc_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint32_t timing)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char *buf = (char *)msgbuf;
+    _mav_put_uint32_t(buf, 0, timing);
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC, buf, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_MIN_LEN, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_LEN, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_CRC);
+#else
+    mavlink_set_nitrogen_time_tc_t *packet = (mavlink_set_nitrogen_time_tc_t *)msgbuf;
+    packet->timing = timing;
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC, (const char *)packet, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_MIN_LEN, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_LEN, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_CRC);
+#endif
+}
+#endif
+
+#endif
+
+// MESSAGE SET_NITROGEN_TIME_TC UNPACKING
+
+
+/**
+ * @brief Get field timing from set_nitrogen_time_tc message
+ *
+ * @return [ms] Timing in [ms]
+ */
+static inline uint32_t mavlink_msg_set_nitrogen_time_tc_get_timing(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint32_t(msg,  0);
+}
+
+/**
+ * @brief Decode a set_nitrogen_time_tc message into a struct
+ *
+ * @param msg The message to decode
+ * @param set_nitrogen_time_tc C-struct to decode the message contents into
+ */
+static inline void mavlink_msg_set_nitrogen_time_tc_decode(const mavlink_message_t* msg, mavlink_set_nitrogen_time_tc_t* set_nitrogen_time_tc)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    set_nitrogen_time_tc->timing = mavlink_msg_set_nitrogen_time_tc_get_timing(msg);
+#else
+        uint8_t len = msg->len < MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_LEN? msg->len : MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_LEN;
+        memset(set_nitrogen_time_tc, 0, MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_LEN);
+    memcpy(set_nitrogen_time_tc, _MAV_PAYLOAD(msg), len);
+#endif
+}
diff --git a/mavlink_lib/lyra/testsuite.h b/mavlink_lib/lyra/testsuite.h
index cc485ecebc1914107c152c22331824516ca1683c..d6a2e616166111b484220071fece2d068833e32d 100644
--- a/mavlink_lib/lyra/testsuite.h
+++ b/mavlink_lib/lyra/testsuite.h
@@ -1339,6 +1339,124 @@ static void mavlink_test_set_stepper_steps_tc(uint8_t system_id, uint8_t compone
 #endif
 }
 
+static void mavlink_test_set_nitrogen_time_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_NITROGEN_TIME_TC >= 256) {
+            return;
+        }
+#endif
+    mavlink_message_t msg;
+        uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
+        uint16_t i;
+    mavlink_set_nitrogen_time_tc_t packet_in = {
+        963497464
+    };
+    mavlink_set_nitrogen_time_tc_t packet1, packet2;
+        memset(&packet1, 0, sizeof(packet1));
+        packet1.timing = packet_in.timing;
+        
+        
+#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
+        if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
+           // cope with extensions
+           memset(MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC_MIN_LEN);
+        }
+#endif
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_set_nitrogen_time_tc_encode(system_id, component_id, &msg, &packet1);
+    mavlink_msg_set_nitrogen_time_tc_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_set_nitrogen_time_tc_pack(system_id, component_id, &msg , packet1.timing );
+    mavlink_msg_set_nitrogen_time_tc_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_set_nitrogen_time_tc_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.timing );
+    mavlink_msg_set_nitrogen_time_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_nitrogen_time_tc_decode(last_msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+        
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_set_nitrogen_time_tc_send(MAVLINK_COMM_1 , packet1.timing );
+    mavlink_msg_set_nitrogen_time_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_NITROGEN_TIME_TC") != NULL);
+    MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_SET_NITROGEN_TIME_TC) != NULL);
+#endif
+}
+
+static void mavlink_test_set_cooling_time_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_COOLING_TIME_TC >= 256) {
+            return;
+        }
+#endif
+    mavlink_message_t msg;
+        uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
+        uint16_t i;
+    mavlink_set_cooling_time_tc_t packet_in = {
+        963497464
+    };
+    mavlink_set_cooling_time_tc_t packet1, packet2;
+        memset(&packet1, 0, sizeof(packet1));
+        packet1.timing = packet_in.timing;
+        
+        
+#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
+        if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
+           // cope with extensions
+           memset(MAVLINK_MSG_ID_SET_COOLING_TIME_TC_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_SET_COOLING_TIME_TC_MIN_LEN);
+        }
+#endif
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_set_cooling_time_tc_encode(system_id, component_id, &msg, &packet1);
+    mavlink_msg_set_cooling_time_tc_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_set_cooling_time_tc_pack(system_id, component_id, &msg , packet1.timing );
+    mavlink_msg_set_cooling_time_tc_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_set_cooling_time_tc_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.timing );
+    mavlink_msg_set_cooling_time_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_cooling_time_tc_decode(last_msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+        
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_set_cooling_time_tc_send(MAVLINK_COMM_1 , packet1.timing );
+    mavlink_msg_set_cooling_time_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_COOLING_TIME_TC") != NULL);
+    MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_SET_COOLING_TIME_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
@@ -2221,6 +2339,193 @@ static void mavlink_test_pin_tm(uint8_t system_id, uint8_t component_id, mavlink
 #endif
 }
 
+static void mavlink_test_registry_float_tm(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_REGISTRY_FLOAT_TM >= 256) {
+            return;
+        }
+#endif
+    mavlink_message_t msg;
+        uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
+        uint16_t i;
+    mavlink_registry_float_tm_t packet_in = {
+        93372036854775807ULL,963497880,101.0,"QRSTUVWXYZABCDEFGHI"
+    };
+    mavlink_registry_float_tm_t packet1, packet2;
+        memset(&packet1, 0, sizeof(packet1));
+        packet1.timestamp = packet_in.timestamp;
+        packet1.key_id = packet_in.key_id;
+        packet1.value = packet_in.value;
+        
+        mav_array_memcpy(packet1.key_name, packet_in.key_name, sizeof(char)*20);
+        
+#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
+        if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
+           // cope with extensions
+           memset(MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_REGISTRY_FLOAT_TM_MIN_LEN);
+        }
+#endif
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_registry_float_tm_encode(system_id, component_id, &msg, &packet1);
+    mavlink_msg_registry_float_tm_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_registry_float_tm_pack(system_id, component_id, &msg , packet1.timestamp , packet1.key_id , packet1.key_name , packet1.value );
+    mavlink_msg_registry_float_tm_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_registry_float_tm_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.timestamp , packet1.key_id , packet1.key_name , packet1.value );
+    mavlink_msg_registry_float_tm_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_registry_float_tm_decode(last_msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+        
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_registry_float_tm_send(MAVLINK_COMM_1 , packet1.timestamp , packet1.key_id , packet1.key_name , packet1.value );
+    mavlink_msg_registry_float_tm_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("REGISTRY_FLOAT_TM") != NULL);
+    MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_REGISTRY_FLOAT_TM) != NULL);
+#endif
+}
+
+static void mavlink_test_registry_int_tm(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_REGISTRY_INT_TM >= 256) {
+            return;
+        }
+#endif
+    mavlink_message_t msg;
+        uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
+        uint16_t i;
+    mavlink_registry_int_tm_t packet_in = {
+        93372036854775807ULL,963497880,963498088,"QRSTUVWXYZABCDEFGHI"
+    };
+    mavlink_registry_int_tm_t packet1, packet2;
+        memset(&packet1, 0, sizeof(packet1));
+        packet1.timestamp = packet_in.timestamp;
+        packet1.key_id = packet_in.key_id;
+        packet1.value = packet_in.value;
+        
+        mav_array_memcpy(packet1.key_name, packet_in.key_name, sizeof(char)*20);
+        
+#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
+        if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
+           // cope with extensions
+           memset(MAVLINK_MSG_ID_REGISTRY_INT_TM_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_REGISTRY_INT_TM_MIN_LEN);
+        }
+#endif
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_registry_int_tm_encode(system_id, component_id, &msg, &packet1);
+    mavlink_msg_registry_int_tm_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_registry_int_tm_pack(system_id, component_id, &msg , packet1.timestamp , packet1.key_id , packet1.key_name , packet1.value );
+    mavlink_msg_registry_int_tm_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_registry_int_tm_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.timestamp , packet1.key_id , packet1.key_name , packet1.value );
+    mavlink_msg_registry_int_tm_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_registry_int_tm_decode(last_msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+        
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_registry_int_tm_send(MAVLINK_COMM_1 , packet1.timestamp , packet1.key_id , packet1.key_name , packet1.value );
+    mavlink_msg_registry_int_tm_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("REGISTRY_INT_TM") != NULL);
+    MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_REGISTRY_INT_TM) != NULL);
+#endif
+}
+
+static void mavlink_test_registry_coord_tm(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_REGISTRY_COORD_TM >= 256) {
+            return;
+        }
+#endif
+    mavlink_message_t msg;
+        uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
+        uint16_t i;
+    mavlink_registry_coord_tm_t packet_in = {
+        93372036854775807ULL,963497880,101.0,129.0,"UVWXYZABCDEFGHIJKLM"
+    };
+    mavlink_registry_coord_tm_t packet1, packet2;
+        memset(&packet1, 0, sizeof(packet1));
+        packet1.timestamp = packet_in.timestamp;
+        packet1.key_id = packet_in.key_id;
+        packet1.latitude = packet_in.latitude;
+        packet1.longitude = packet_in.longitude;
+        
+        mav_array_memcpy(packet1.key_name, packet_in.key_name, sizeof(char)*20);
+        
+#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
+        if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
+           // cope with extensions
+           memset(MAVLINK_MSG_ID_REGISTRY_COORD_TM_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_REGISTRY_COORD_TM_MIN_LEN);
+        }
+#endif
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_registry_coord_tm_encode(system_id, component_id, &msg, &packet1);
+    mavlink_msg_registry_coord_tm_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_registry_coord_tm_pack(system_id, component_id, &msg , packet1.timestamp , packet1.key_id , packet1.key_name , packet1.latitude , packet1.longitude );
+    mavlink_msg_registry_coord_tm_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_registry_coord_tm_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.timestamp , packet1.key_id , packet1.key_name , packet1.latitude , packet1.longitude );
+    mavlink_msg_registry_coord_tm_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_registry_coord_tm_decode(last_msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+        
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_registry_coord_tm_send(MAVLINK_COMM_1 , packet1.timestamp , packet1.key_id , packet1.key_name , packet1.latitude , packet1.longitude );
+    mavlink_msg_registry_coord_tm_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("REGISTRY_COORD_TM") != NULL);
+    MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_REGISTRY_COORD_TM) != NULL);
+#endif
+}
+
 static void mavlink_test_receiver_tm(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
 {
 #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
@@ -3425,7 +3730,7 @@ static void mavlink_test_gse_tm(uint8_t system_id, uint8_t component_id, mavlink
         uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
         uint16_t i;
     mavlink_gse_tm_t packet_in = {
-        93372036854775807ULL,73.0,101.0,129.0,157.0,185.0,213.0,101,168,235,46,113,180,247,58,125,192
+        93372036854775807ULL,73.0,101.0,129.0,157.0,185.0,213.0,101,168,235,46,113,180,247,58,125,192,3
     };
     mavlink_gse_tm_t packet1, packet2;
         memset(&packet1, 0, sizeof(packet1));
@@ -3441,7 +3746,8 @@ static void mavlink_test_gse_tm(uint8_t system_id, uint8_t component_id, mavlink
         packet1.venting_valve_state = packet_in.venting_valve_state;
         packet1.release_valve_state = packet_in.release_valve_state;
         packet1.main_valve_state = packet_in.main_valve_state;
-        packet1.ignition_state = packet_in.ignition_state;
+        packet1.nitrogen_valve_state = packet_in.nitrogen_valve_state;
+        packet1.gmm_state = packet_in.gmm_state;
         packet1.tars_state = packet_in.tars_state;
         packet1.main_board_status = packet_in.main_board_status;
         packet1.payload_board_status = packet_in.payload_board_status;
@@ -3460,12 +3766,12 @@ static void mavlink_test_gse_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_gse_tm_pack(system_id, component_id, &msg , packet1.timestamp , packet1.loadcell_rocket , packet1.loadcell_vessel , packet1.filling_pressure , packet1.vessel_pressure , packet1.arming_state , packet1.filling_valve_state , packet1.venting_valve_state , packet1.release_valve_state , packet1.main_valve_state , packet1.ignition_state , packet1.tars_state , packet1.battery_voltage , packet1.current_consumption , packet1.main_board_status , packet1.payload_board_status , packet1.motor_board_status );
+    mavlink_msg_gse_tm_pack(system_id, component_id, &msg , packet1.timestamp , packet1.loadcell_rocket , packet1.loadcell_vessel , packet1.filling_pressure , packet1.vessel_pressure , packet1.arming_state , packet1.filling_valve_state , packet1.venting_valve_state , packet1.release_valve_state , packet1.main_valve_state , packet1.nitrogen_valve_state , packet1.gmm_state , packet1.tars_state , packet1.battery_voltage , packet1.current_consumption , packet1.main_board_status , packet1.payload_board_status , packet1.motor_board_status );
     mavlink_msg_gse_tm_decode(&msg, &packet2);
         MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
 
         memset(&packet2, 0, sizeof(packet2));
-    mavlink_msg_gse_tm_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.timestamp , packet1.loadcell_rocket , packet1.loadcell_vessel , packet1.filling_pressure , packet1.vessel_pressure , packet1.arming_state , packet1.filling_valve_state , packet1.venting_valve_state , packet1.release_valve_state , packet1.main_valve_state , packet1.ignition_state , packet1.tars_state , packet1.battery_voltage , packet1.current_consumption , packet1.main_board_status , packet1.payload_board_status , packet1.motor_board_status );
+    mavlink_msg_gse_tm_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.timestamp , packet1.loadcell_rocket , packet1.loadcell_vessel , packet1.filling_pressure , packet1.vessel_pressure , packet1.arming_state , packet1.filling_valve_state , packet1.venting_valve_state , packet1.release_valve_state , packet1.main_valve_state , packet1.nitrogen_valve_state , packet1.gmm_state , packet1.tars_state , packet1.battery_voltage , packet1.current_consumption , packet1.main_board_status , packet1.payload_board_status , packet1.motor_board_status );
     mavlink_msg_gse_tm_decode(&msg, &packet2);
         MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
 
@@ -3478,7 +3784,7 @@ static void mavlink_test_gse_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_gse_tm_send(MAVLINK_COMM_1 , packet1.timestamp , packet1.loadcell_rocket , packet1.loadcell_vessel , packet1.filling_pressure , packet1.vessel_pressure , packet1.arming_state , packet1.filling_valve_state , packet1.venting_valve_state , packet1.release_valve_state , packet1.main_valve_state , packet1.ignition_state , packet1.tars_state , packet1.battery_voltage , packet1.current_consumption , packet1.main_board_status , packet1.payload_board_status , packet1.motor_board_status );
+    mavlink_msg_gse_tm_send(MAVLINK_COMM_1 , packet1.timestamp , packet1.loadcell_rocket , packet1.loadcell_vessel , packet1.filling_pressure , packet1.vessel_pressure , packet1.arming_state , packet1.filling_valve_state , packet1.venting_valve_state , packet1.release_valve_state , packet1.main_valve_state , packet1.nitrogen_valve_state , packet1.gmm_state , packet1.tars_state , packet1.battery_voltage , packet1.current_consumption , packet1.main_board_status , packet1.payload_board_status , packet1.motor_board_status );
     mavlink_msg_gse_tm_decode(last_msg, &packet2);
         MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
 
@@ -3500,7 +3806,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,235
+        93372036854775807ULL,73.0,101.0,129.0,157.0,185.0,213.0,101,168
     };
     mavlink_motor_tm_t packet1, packet2;
         memset(&packet1, 0, sizeof(packet1));
@@ -3511,7 +3817,6 @@ 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;
         
@@ -3528,12 +3833,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.floating_level , 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.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.floating_level , 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.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);
 
@@ -3546,7 +3851,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.floating_level , 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.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);
 
@@ -3580,6 +3885,8 @@ static void mavlink_test_lyra(uint8_t system_id, uint8_t component_id, mavlink_m
     mavlink_test_set_ignition_time_tc(system_id, component_id, last_msg);
     mavlink_test_set_stepper_angle_tc(system_id, component_id, last_msg);
     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_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);
@@ -3594,6 +3901,9 @@ static void mavlink_test_lyra(uint8_t system_id, uint8_t component_id, mavlink_m
     mavlink_test_sensor_state_tm(system_id, component_id, last_msg);
     mavlink_test_servo_tm(system_id, component_id, last_msg);
     mavlink_test_pin_tm(system_id, component_id, last_msg);
+    mavlink_test_registry_float_tm(system_id, component_id, last_msg);
+    mavlink_test_registry_int_tm(system_id, component_id, last_msg);
+    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);
diff --git a/mavlink_lib/lyra/version.h b/mavlink_lib/lyra/version.h
index 3eba20e8566c37c8f5823d77a2ed5b11049235d7..7533ece1f3187c1f798f119bc474444f8c20707f 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 "Sun Dec 10 2023"
+#define MAVLINK_BUILD_DATE "Thu May 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 e2a924657e91af449a680481b2a3123c92089aa1..6387e3c9e87f6524e31ac8fdc3e4047adacbf531 100644
--- a/message_definitions/lyra.xml
+++ b/message_definitions/lyra.xml
@@ -56,6 +56,9 @@
             <entry name="MAV_MOTOR_ID" value="15">
                 <description>Rocket Motor data</description>
             </entry>
+            <entry name="MAV_REGISTRY_ID" value="16">
+                <description>Command to fetch all registry keys</description>
+            </entry>
         </enum>
         <enum name="SensorsTMList">
             <description>Enum list of all sensors telemetries that can be requested</description>
@@ -197,6 +200,18 @@
             <entry name="MAV_CMD_STOP_RECORDING" value="17">
                 <description>Command to stop the internal cameras recordings</description>
             </entry>
+            <entry name="MAV_CMD_OPEN_NITROGEN" value="18">
+                <description>Command to open the nitrogen valve</description>
+            </entry>
+            <entry name="MAV_CMD_REGISTRY_LOAD" value="19">
+                <description>Command to reload the registry from memory</description>
+            </entry>
+            <entry name="MAV_CMD_REGISTRY_SAVE" value="20">
+                <description>Command to commit the registry to memory</description>
+            </entry>
+            <entry name="MAV_CMD_REGISTRY_CLEAR" value="21">
+                <description>Command to clear the registry</description>
+            </entry>
         </enum>
         <enum name="ServosList">
             <description>Enum of all the servos used on Gemini</description>
@@ -331,6 +346,14 @@
             <field name="stepper_id" type="uint8_t">A member of the StepperList enum</field>
             <field name="steps" type="float">Number of steps</field>
         </message>
+        <message id="23" name="SET_NITROGEN_TIME_TC">
+            <description>Sets the time in ms that the nitrogen will stay open</description>
+            <field name="timing" type="uint32_t" units="ms">Timing in [ms]</field>
+        </message>
+        <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>
 
         <!-- FROM ROCKET TO GROUND: GENERIC -->
         <message id="100" name="ACK_TM">
@@ -445,6 +468,28 @@
             <field name="changes_counter" type="uint8_t">Number of changes of pin</field>
             <field name="current_state" type="uint8_t">Current state of pin</field>
         </message>
+        <message id="114" name="REGISTRY_FLOAT_TM">
+            <description></description>
+            <field name="timestamp" type="uint64_t" units="us">Timestamp</field>
+            <field name="key_id" type="uint32_t">Id of this configuration entry</field>
+            <field name="key_name" type="char[20]">Name of this configuration entry</field>
+            <field name="value" type="float">Value of this configuration</field>
+        </message>
+        <message id="115" name="REGISTRY_INT_TM">
+            <description></description>
+            <field name="timestamp" type="uint64_t" units="us">Timestamp</field>
+            <field name="key_id" type="uint32_t">Id of this configuration entry</field>
+            <field name="key_name" type="char[20]">Name of this configuration entry</field>
+            <field name="value" type="uint32_t">Value of this configuration</field>
+        </message>
+        <message id="116" name="REGISTRY_COORD_TM">
+            <description></description>
+            <field name="timestamp" type="uint64_t" units="us">Timestamp</field>
+            <field name="key_id" type="uint32_t">Id of this configuration entry</field>
+            <field name="key_name" type="char[20]">Name of this configuration entry</field>
+            <field name="latitude" type="float" units="deg">Latitude in this configuration</field>
+            <field name="longitude" type="float" units="deg">Latitude in this configuration</field>
+        </message>
 
         <!-- FROM RECEIVER TO GROUNDSTATION -->
         <message id="150" name="RECEIVER_TM">
@@ -774,8 +819,9 @@
             <field name="filling_valve_state" type="uint8_t">1 If the filling valve is open</field>
             <field name="venting_valve_state" type="uint8_t">1 If the venting valve is open</field>
             <field name="release_valve_state" type="uint8_t">1 If the release valve is open</field>
-            <field name="main_valve_state" type="uint8_t"> 1 If the main valve is open </field>
-            <field name="ignition_state" type="uint8_t">1 If the RIG is in ignition process</field>
+            <field name="main_valve_state" type="uint8_t">1 If the main valve is open</field>
+            <field name="nitrogen_valve_state" type="uint8_t"> 1 If the nitrogen valve is open</field>
+            <field name="gmm_state" type="uint8_t">State of the GroundModeManager</field>
             <field name="tars_state" type="uint8_t">1 If the TARS algorithm is running</field>
             <field name="battery_voltage" type="float">Battery voltage</field>
             <field name="current_consumption" type="float"> RIG current </field>
@@ -789,7 +835,6 @@
             <field name="top_tank_pressure" type="float" units="Bar">Tank upper pressure</field>
             <field name="bottom_tank_pressure" type="float" units="Bar">Tank bottom pressure</field>
             <field name="combustion_chamber_pressure" type="float" units="Bar">Pressure inside the combustion chamber used for automatic shutdown</field>
-            <field name="floating_level" type="uint8_t">Floating level in tank</field>
             <field name="tank_temperature" type="float">Tank temperature</field>
             <field name="main_valve_state" type="uint8_t">1 If the main valve is open </field>
             <field name="venting_valve_state" type="uint8_t">1 If the venting valve is open </field>