From a966bb62072d3e3bd18010acde144cf770c21ce6 Mon Sep 17 00:00:00 2001
From: rschoene <rene.schoene@tu-dresden.de>
Date: Mon, 29 Jun 2020 14:51:59 +0200
Subject: [PATCH] Use retain for initial robot config.

- see #26
---
 ros2rag.base/src/main/resources/MqttUpdater.jadd       | 10 +++++++++-
 .../tudresden/inf/st/ros2rag/starter/StarterMain.java  |  2 +-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/ros2rag.base/src/main/resources/MqttUpdater.jadd b/ros2rag.base/src/main/resources/MqttUpdater.jadd
index 394735c..df1dc10 100644
--- a/ros2rag.base/src/main/resources/MqttUpdater.jadd
+++ b/ros2rag.base/src/main/resources/MqttUpdater.jadd
@@ -231,8 +231,16 @@ public class MqttUpdater {
   }
 
   public void publish(String topic, byte[] bytes) {
+    publish(topic, bytes, false);
+  }
+
+  public void publish(String topic, byte[] bytes, boolean retain) {
+    publish(topic, bytes, this.qos, retain);
+  }
+
+  public void publish(String topic, byte[] bytes, org.fusesource.mqtt.client.QoS qos, boolean retain) {
     connection.getDispatchQueue().execute(() -> {
-      connection.publish(topic, bytes, qos, false, new org.fusesource.mqtt.client.Callback<Void>() {
+      connection.publish(topic, bytes, qos, retain, new org.fusesource.mqtt.client.Callback<Void>() {
         @Override
         public void onSuccess(Void value) {
           logger.debug("Published some bytes to {}", topic);
diff --git a/ros2rag.starter/src/main/java/de/tudresden/inf/st/ros2rag/starter/StarterMain.java b/ros2rag.starter/src/main/java/de/tudresden/inf/st/ros2rag/starter/StarterMain.java
index 8c8919d..a4a0f70 100644
--- a/ros2rag.starter/src/main/java/de/tudresden/inf/st/ros2rag/starter/StarterMain.java
+++ b/ros2rag.starter/src/main/java/de/tudresden/inf/st/ros2rag/starter/StarterMain.java
@@ -104,7 +104,7 @@ public class StarterMain {
         .setEnableTwistLinear(false)
         .setPublishRate(100)
         .build();
-    mainHandler.publish(dataConfigTopic, dataConfig.toByteArray());
+    mainHandler.publish(dataConfigTopic, dataConfig.toByteArray(), true);
   }
 
   private void logStatus(String prefix, RobotArm robotArm) {
-- 
GitLab