diff --git a/src/node.cpp b/src/node.cpp index 221ae13f1185d8a4e6e36dbe620b2db64e737b50..b479ef8250248fcfc9206169b672796a99aae276 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 8c4f8a3c797c3bde3a138fe7c95399f68d81cb31..25cb3abce1b08c41d1c17f7c2a36f55cf6cc773d 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; }