From be89aa9835872c120fbf5384328199d1d0a15ac4 Mon Sep 17 00:00:00 2001
From: donker <donker@astron.nl>
Date: Wed, 1 Sep 2021 22:29:54 +0200
Subject: [PATCH] L2SDP-472, add sdp_config points.

---
 src/node.cpp |  1 -
 src/tr.cpp   | 15 +++++++++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/src/node.cpp b/src/node.cpp
index 221ae13f..b479ef82 100644
--- a/src/node.cpp
+++ b/src/node.cpp
@@ -263,7 +263,6 @@ bool Node::exec_reply(TermOutput& termout)
     // cout << "received " << r->nof_vals << " bytes from worker node=" << GlobalNr 
     //      << " retval=" << r->retval << " datatype=" << r->datatype << endl;
 
-    // if (isOnline() && r.retval) {
     if (r.retval) {
         int sz = reg_format_size_in_bytes(r.format);
         memcpy((void *)termout.val, (void *)r.data, r.nvalues * sz);
diff --git a/src/tr.cpp b/src/tr.cpp
index 8c4f8a3c..25cb3abc 100644
--- a/src/tr.cpp
+++ b/src/tr.cpp
@@ -58,6 +58,9 @@ TranslatorMap::TranslatorMap()
     translatorMap->add_register("TR_tod_pps_delta_R",            "-", 1,          1, "RO", REG_FORMAT_DOUBLE);
     translatorMap->add_register("TR_fpga_communication_error_R", "-", SD.n_fpgas, 1, "RO", REG_FORMAT_BOOLEAN);
     // translatorMap->add_register("TR_reload_RW",                  "-", 1,      1, "RW", REG_FORMAT_BOOLEAN);  // Maybe for future.
+    translatorMap->add_register("TR_sdp_config_first_fpga_nr_R", "-", 1,          1, "RO", REG_FORMAT_UINT32);
+    translatorMap->add_register("TR_sdp_config_nof_fpgas_R",     "-", 1,          1, "RO", REG_FORMAT_UINT32);
+    translatorMap->add_register("TR_sdp_config_nof_beamsets_R",  "-", 1,          1, "RO", REG_FORMAT_UINT32);
 }
 
 TranslatorMap::~TranslatorMap()
@@ -168,6 +171,18 @@ bool TranslatorMap::translator(TermOutput& termout, const char cmd, const string
         uint32_t *ptr_out = (uint32_t *)termout.val;
         *ptr_out = (uint32_t)SD.uptime;
     }
+    else if (addr == "TR_sdp_config_first_fpga_nr_R") {
+        uint32_t *ptr_out = (uint32_t *)termout.val;
+        *ptr_out = (uint32_t)SD.first_fpga_nr;
+    }
+    else if (addr == "TR_sdp_config_nof_fpgas_R") {
+        uint32_t *ptr_out = (uint32_t *)termout.val;
+        *ptr_out = (uint32_t)SD.n_fpgas;
+    }
+    else if (addr == "TR_sdp_config_nof_beamsets_R") {
+        uint32_t *ptr_out = (uint32_t *)termout.val;
+        *ptr_out = (uint32_t)SD.n_beamsets;
+    }
     else {
         retval = false;
     }
-- 
GitLab