From 0eefce005323618df2342af2648796f426775cd1 Mon Sep 17 00:00:00 2001 From: Son Dinh Date: Fri, 25 Jul 2025 15:02:46 -0500 Subject: [PATCH 1/2] Update list-mc count. Improve power current log. --- tactical-microgrid-standard/cli/CLIClient.cpp | 2 +- tactical-microgrid-standard/power_devices/Distribution.cpp | 7 +++++-- tactical-microgrid-standard/power_devices/Load.cpp | 2 +- tactical-microgrid-standard/power_devices/Source.cpp | 5 +++-- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/tactical-microgrid-standard/cli/CLIClient.cpp b/tactical-microgrid-standard/cli/CLIClient.cpp index c8a4d18..ceec19a 100644 --- a/tactical-microgrid-standard/cli/CLIClient.cpp +++ b/tactical-microgrid-standard/cli/CLIClient.cpp @@ -599,7 +599,7 @@ void CLIClient::display_controllers() const size_t i = 1; const auto now = Clock::now(); for (auto it = controllers_.begin(); it != controllers_.end(); ++it) { - std::cout << i << ". Controller Id: " << it->first << " (" << + std::cout << i++ << ". Controller Id: " << it->first << " (" << (controller_status(now, it->second.last_hb) == ControllerStatus::AVAILABLE ? "available)" : "unavailable)") << std::endl; } diff --git a/tactical-microgrid-standard/power_devices/Distribution.cpp b/tactical-microgrid-standard/power_devices/Distribution.cpp index 09faf62..f1f16ce 100644 --- a/tactical-microgrid-standard/power_devices/Distribution.cpp +++ b/tactical-microgrid-standard/power_devices/Distribution.cpp @@ -189,6 +189,9 @@ void ElectricCurrentDataReaderListenerImpl::on_data_available(DDS::DataReader_pt continue; } + // For simulation purpose, we just split the amperage evenly over all output ports + const auto out_amps = ec.amperage() / connected_devices_out.size(); + // Relay to all devices connected to the output power ports for (const auto& out_dev : connected_devices_out) { powersim::ElectricCurrent relay_ec = ec; @@ -200,8 +203,8 @@ void ElectricCurrentDataReaderListenerImpl::on_data_available(DDS::DataReader_pt } if (dist_dev_.verbose()) { - std::cout << "=== Relaying power from device \"" << from << "\" to device \"" - << out_dev.id() << "\" -- " << ec.amperage() << "Amps ..." << std::endl; + ACE_DEBUG((LM_DEBUG, "=== (%T) Relaying power from device \"%C\" to device \"%C\" -- %f Amps...\n", + from.c_str(), out_dev.id().c_str(), out_amps)); } } } diff --git a/tactical-microgrid-standard/power_devices/Load.cpp b/tactical-microgrid-standard/power_devices/Load.cpp index cf1e8c9..070babf 100644 --- a/tactical-microgrid-standard/power_devices/Load.cpp +++ b/tactical-microgrid-standard/power_devices/Load.cpp @@ -146,7 +146,7 @@ void ElectricCurrentDataReaderListenerImpl::on_data_available(DDS::DataReader_pt if (from == load_dev_.connected_dev_id() && to == load_dev_.get_device_id()) { if (load_dev_.verbose()) { - ACE_DEBUG((LM_INFO, "=== Receiving power from \"%C\" -- %f Amps ...\n", from.c_str(), ec.amperage())); + ACE_DEBUG((LM_INFO, "=== (%T) Receiving power from \"%C\" -- %f Amps...\n", from.c_str(), ec.amperage())); } break; } diff --git a/tactical-microgrid-standard/power_devices/Source.cpp b/tactical-microgrid-standard/power_devices/Source.cpp index 3845cc9..bc36b27 100644 --- a/tactical-microgrid-standard/power_devices/Source.cpp +++ b/tactical-microgrid-standard/power_devices/Source.cpp @@ -120,7 +120,7 @@ class SourceDevice : public PowerDevice { powersim::ElectricCurrent ec; ec.power_path().push_back(get_device_id()); ec.power_path().push_back(connected_devs[0].id()); - ec.amperage() = 1.0f; + ec.amperage() = 10.0f; const DDS::ReturnCode_t rc = ec_dw_->write(ec, DDS::HANDLE_NIL); if (rc != DDS::RETCODE_OK) { ACE_ERROR((LM_WARNING, "(%P|%t) WARNING: SourceDevice::simulate_power_flow: " @@ -128,7 +128,8 @@ class SourceDevice : public PowerDevice { } if (verbose_) { - std::cout << "=== Sending power to device \"" << connected_devs[0].id() << "\"..." << std::endl; + ACE_DEBUG((LM_DEBUG, "=== (%T) Sending power to device \"%C\" -- %f Amps...\n", + connected_devs[0].id().c_str(), ec.amperage())); } // Frequency of messages can be proportional to the power measure? From bb8d8a2eea6939af5789c05b580ca608c250d733 Mon Sep 17 00:00:00 2001 From: Son Dinh Date: Mon, 28 Jul 2025 13:33:05 -0500 Subject: [PATCH 2/2] Split amperage from distribution --- tactical-microgrid-standard/power_devices/Distribution.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/tactical-microgrid-standard/power_devices/Distribution.cpp b/tactical-microgrid-standard/power_devices/Distribution.cpp index f1f16ce..df2a8b9 100644 --- a/tactical-microgrid-standard/power_devices/Distribution.cpp +++ b/tactical-microgrid-standard/power_devices/Distribution.cpp @@ -196,6 +196,7 @@ void ElectricCurrentDataReaderListenerImpl::on_data_available(DDS::DataReader_pt for (const auto& out_dev : connected_devices_out) { powersim::ElectricCurrent relay_ec = ec; relay_ec.power_path().push_back(out_dev.id()); + relay_ec.amperage() = out_amps; const DDS::ReturnCode_t rc = dist_dev_.get_electric_current_data_writer()->write(relay_ec, DDS::HANDLE_NIL); if (rc != DDS::RETCODE_OK) { ACE_ERROR((LM_WARNING, "(%P|%t) WARNING: ElectricCurrentDataReaderListenerImpl::on_data_available: "