From a30306d9eb0cb8569a60e698e6b9e0fbf46665cf Mon Sep 17 00:00:00 2001
From: Matteo Pignataro <matteo.pignataro@skywarder.eu>
Date: Thu, 10 Aug 2023 11:27:10 +0000
Subject: [PATCH] [MCA] Added new Gemini commands

---
 .../Modules/Mavlink/MavlinkCommandAdapter.cpp | 37 +++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/src/shared/Modules/Mavlink/MavlinkCommandAdapter.cpp b/src/shared/Modules/Mavlink/MavlinkCommandAdapter.cpp
index 93e5db7f..d7f63b55 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;
 }
 
-- 
GitLab