diff --git a/src/shared/Modules/RefuelingButton/MessageFormElementRefButton.cpp b/src/shared/Modules/RefuelingButton/MessageFormElementRefButton.cpp
index 6817bd0b2678cf0a6eeac6bb6b880f26929b65bf..cc3d7d5851ebdba2ddc1834b9d2b9efd6426568f 100644
--- a/src/shared/Modules/RefuelingButton/MessageFormElementRefButton.cpp
+++ b/src/shared/Modules/RefuelingButton/MessageFormElementRefButton.cpp
@@ -262,13 +262,18 @@ void MessageFormElementRefButton::removeFromGridLayout(QGridLayout* layout)
 
 Message MessageFormElementRefButton::prepareMessage(const QString& messageId)
 {
-    Message message(Topic{SkywardHubStrings::commandsTopic + "/" + messageId});
+    Message message;
 
     for (auto key : comboBoxMap.keys())
     {
         auto comboBox = comboBoxMap[key].second;
         auto msg      = Field{(uint64_t)comboBox->currentData().toInt()};
-        message.setField(key, msg);
+        if (comboBox->currentIndex() == 0)
+            message.setField("floating_level", msg);
+        if (comboBox->currentIndex() == 1)
+            message.setField("tank_temperature", msg);
+        if (comboBox->currentIndex() == 2)
+            message.setField("timestamp", msg);
     }
 
     for (auto key : floatMap.keys())
diff --git a/src/shared/Modules/RefuelingButton/MessagesListRefButton.h b/src/shared/Modules/RefuelingButton/MessagesListRefButton.h
index 1af250e44a88320f543c77b69e25d7e73f7fe3d5..7d4745ad092f0f16a1ce340ee621e52376cfec7a 100644
--- a/src/shared/Modules/RefuelingButton/MessagesListRefButton.h
+++ b/src/shared/Modules/RefuelingButton/MessagesListRefButton.h
@@ -21,48 +21,73 @@
 #include <Modules/Mavlink/MavlinkVersionHeader.h>
 #include <Modules/RefuelingButton/MessageFormElementRefButton.h>
 
-#include <QList>
 #include <QMap>
 #include <QString>
 
 namespace MessagesListRefButton
 {
 
-enum class State : int
-{
-    INVALID = 0,
-    INIT,
-    INIT_ERROR,
-    SENSORS_CALIBRATION,
-    ALGOS_CALIBRATION,
-    DISARMED,
-    TEST_MODE,
-    ARMED,
-    ASCENDING,
-    DROGUE_DESCENT,
-    TERMINAL_DESCENT,
-    LANDED,
+// Groundstation labels
+static const QStringList messagesList{
+    "MOTOR_TM_FLOAT",
+    "MOTOR_TM_INTEGER",
+    "GSE_TM_FLOAT",
+    "GSE_TM_INTEGER",
 };
 
-// Groundstation labels
-static const QList<QString> messagesList{
-    "INIT",      "TEST_MODE",      "SENSORS_CALIBRATION", "DISARMED", "ARMED",
-    "ASCENDING", "DROGUE_DESCENT", "TERMINAL_DESCENT",    "LANDED",
+static const QMap<QString, int> MOTORcommandFloat{
+    {"top_tank_pressure", MAV_CMD_ARM},
+    {"bottom_tank_pressure", MAV_CMD_DISARM},
+    {"estimated_mass", MAV_CMD_FORCE_LAUNCH},
+};
+
+static const QMap<QString, int> MOTORcommandInteger{
+    {"timestamp", MAV_CMD_ARM},
+    {"floating_level", MAV_CMD_CALIBRATE},
+    {"tank_temperature", MAV_CMD_FORCE_INIT},
+};
+
+static const QMap<QString, int> GSEcommandFloat{
+    {"loadcell_tank", MAV_CMD_DISARM},
+    {"loadcell_vessel", MAV_CMD_CALIBRATE},
+    {"filling_pressure", MAV_CMD_FORCE_INIT},
+    {"vessel_pressure ", MAV_CMD_STOP_LOGGING},
 };
 
-// Map from rocket states to groundstation labels
-static const QMap<State, int> statesIndexes{
-    {State::INIT, 0},
-    {State::INIT_ERROR, 0},
-    {State::TEST_MODE, 1},
-    {State::SENSORS_CALIBRATION, 2},
-    {State::ALGOS_CALIBRATION, 2},
-    {State::DISARMED, 3},
-    {State::ARMED, 4},
-    {State::ASCENDING, 5},
-    {State::DROGUE_DESCENT, 6},
-    {State::TERMINAL_DESCENT, 7},
-    {State::LANDED, 8},
+static const QMap<QString, int> GSEcommandInteger{
+    {"timestamp", MAV_CMD_ARM},
+    {"arming_state", MAV_CMD_FORCE_LAUNCH},
+    {"filling_valve_state", MAV_CMD_FORCE_LANDING},
+    {"venting_valve_state", MAV_CMD_FORCE_APOGEE},
+    {"release_vlave_state", MAV_CMD_FORCE_EXPULSION},
+    {"ignition_state", MAV_CMD_FORCE_MAIN},
+    {"tars_state", MAV_CMD_START_LOGGING},
 };
 
+inline void fillMessagesMap(
+    QMap<QString, MessageFormElementRefButton *> &formElements)
+{
+    MessageFormElementRefButton *element;
+
+    element = new MessageFormElementRefButton();
+    element->addComboBox("motor_id", "Command:", MOTORcommandFloat);
+    element->addFloat("value", "Value:", 0, 180, 2);
+    formElements["MOTOR_TM_FLOAT"] = element;
+
+    element = new MessageFormElementRefButton();
+    element->addComboBox("timestamp", "Command:", MOTORcommandInteger);
+    element->addInteger("value", "Value:", 0, 180);
+    formElements["MOTOR_TM_INTEGER"] = element;
+
+    element = new MessageFormElementRefButton();
+    element->addComboBox("gse_id", "Command:", GSEcommandFloat);
+    element->addFloat("value", "Value:", 0, 180, 2);
+    formElements["GSE_TM_FLOAT"] = element;
+
+    element = new MessageFormElementRefButton();
+    element->addComboBox("gse_id", "Command:", GSEcommandInteger);
+    element->addInteger("value", "Value:", 0, 180);
+    formElements["GSE_TM_INTEGER"] = element;
+}
+
 }  // namespace MessagesListRefButton
diff --git a/src/shared/Modules/RefuelingButton/RefuelingButton.cpp b/src/shared/Modules/RefuelingButton/RefuelingButton.cpp
index 5b82d6abb0fccded82d4e17cf054bef5b5626e39..4fe7993ae1b409aa2c756369cbe8b38258e2d535 100644
--- a/src/shared/Modules/RefuelingButton/RefuelingButton.cpp
+++ b/src/shared/Modules/RefuelingButton/RefuelingButton.cpp
@@ -18,6 +18,7 @@
 
 #include "RefuelingButton.h"
 
+#include <Core/Message/Message.h>
 #include <Modules/RefuelingButton/MessagesListRefButton.h>
 
 #include <QVBoxLayout>
@@ -84,10 +85,14 @@ void RefuelingButton::setupUi()
 
     setLayout(outerLayout);
 
-    // Set default value
-    currentMessage = "PING_TC";
+    MessagesListRefButton::fillMessagesMap(formElements);
+
+    // NUOVO ----------------------------------------------------------
+    currentMessage = "MOTOR_TM_FLOAT";
     messagesListComboBox->setCurrentText(currentMessage);
 
+    // PRECEDENTE -----------------------------------------------------
+
     connect(messagesListComboBox, &QComboBox::currentTextChanged, this,
             [=](QString key)
             {
@@ -104,9 +109,20 @@ void RefuelingButton::setupUi()
             [=]()
             {
                 auto key = messagesListComboBox->currentText();
+
                 if (formElements.contains(key))
                 {
-                    auto message = formElements[key]->prepareMessage(key);
+                    uint64_t keyN = messagesListComboBox->currentIndex();
+                    auto message  = formElements[key]->prepareMessage(key);
+
+                    if (messagesListComboBox->currentIndex() == 0 ||
+                        messagesListComboBox->currentIndex() == 1)
+                        message.setTopic(Topic{"Mav/MOTOR_TM"});
+
+                    if (messagesListComboBox->currentIndex() == 2 ||
+                        messagesListComboBox->currentIndex() == 3)
+                        message.setTopic(Topic{"Mav/GSE_TM"});
+
                     getCore()->getMessageBroker()->publish(message);
                 }
             });
diff --git a/src/shared/Modules/RefuelingButton/RefuelingButton.h b/src/shared/Modules/RefuelingButton/RefuelingButton.h
index abbaa00bcda79a053fdf98fb6bcdd6267ca21785..1b43cc962d83f261ceb5ed779aed50c1f234584e 100644
--- a/src/shared/Modules/RefuelingButton/RefuelingButton.h
+++ b/src/shared/Modules/RefuelingButton/RefuelingButton.h
@@ -18,6 +18,7 @@
 
 #pragma once
 
+#include <Core/Message/Message.h>
 #include <Modules/DefaultModule/DefaultModule.h>
 #include <Modules/RefuelingButton/MessageFormElementRefButton.h>