diff --git a/src/shared/Modules/Mavlink/MavlinkCommandAdapter.cpp b/src/shared/Modules/Mavlink/MavlinkCommandAdapter.cpp
index 93e5db7f7a7650fa0143962359449f1640804768..d7f63b5527947d510c96f2023a32a7f6783cd9ce 100644
--- a/src/shared/Modules/Mavlink/MavlinkCommandAdapter.cpp
+++ b/src/shared/Modules/Mavlink/MavlinkCommandAdapter.cpp
@@ -151,6 +151,43 @@ bool MavlinkCommandAdapter::encodeCommand(const Message &msg,
             msg.getField("algorithm_number").getUnsignedInteger());
         return true;
     }
+    else if (messageName == "SET_ATOMIC_VALVE_TIMING_TC")
+    {
+        mavlink_msg_set_atomic_valve_timing_tc_pack(
+            MAV_SYS, MAV_CMP, &output,
+            msg.getField("servo_id").getUnsignedInteger(),
+            msg.getField("maximum_timing").getUnsignedInteger());
+        return true;
+    }
+    else if (messageName == "SET_VALVE_MAXIMUM_APERTURE_TC")
+    {
+        mavlink_msg_set_valve_maximum_aperture_tc_pack(
+            MAV_SYS, MAV_CMP, &output,
+            msg.getField("servo_id").getUnsignedInteger(),
+            msg.getField("maximum_aperture").getDouble());
+        return true;
+    }
+    else if (messageName == "SET_IGNITION_TIME_TC")
+    {
+        mavlink_msg_set_ignition_time_tc_pack(
+            MAV_SYS, MAV_CMP, &output,
+            msg.getField("timing").getUnsignedInteger());
+        return true;
+    }
+    else if (messageName == "CONRIG_STATE_TC")
+    {
+        mavlink_msg_conrig_state_tc_pack(
+            MAV_SYS, MAV_CMP, &output,
+            msg.getField("ignition_btn").getUnsignedInteger(),
+            msg.getField("filling_valve_btn").getUnsignedInteger(),
+            msg.getField("venting_valve_btn").getUnsignedInteger(),
+            msg.getField("release_pressure_btn").getUnsignedInteger(),
+            msg.getField("quick_connector_btn").getUnsignedInteger(),
+            msg.getField("start_tars_btn").getUnsignedInteger(),
+            msg.getField("arm_switch").getUnsignedInteger());
+        return true;
+    }
+
     return false;
 }