diff --git a/src/software/embedded/thunderloop.cpp b/src/software/embedded/thunderloop.cpp index b8a440a683..00a76d5717 100644 --- a/src/software/embedded/thunderloop.cpp +++ b/src/software/embedded/thunderloop.cpp @@ -8,6 +8,7 @@ #include "proto/robot_status_msg.pb.h" #include "proto/tbots_software_msgs.pb.h" #include "shared/constants.h" +#include "software/constants.h" #include "software/embedded/primitive_executor.h" #include "software/embedded/services/motor.h" #include "software/logger/logger.h" @@ -88,7 +89,8 @@ Thunderloop::Thunderloop(const robot_constants::RobotConstants& robot_constants, waitForNetworkUp(); g3::overrideSetupSignals({}); - NetworkLoggerSingleton::initializeLogger(robot_id_, enable_log_merging); + NetworkLoggerSingleton::initializeLogger(robot_id_, enable_log_merging, + network_interface_); // catch all catch-able signals std::signal(SIGSEGV, tbotsExit); diff --git a/src/software/logger/network_logger.cpp b/src/software/logger/network_logger.cpp index 518050305f..f14ed77157 100644 --- a/src/software/logger/network_logger.cpp +++ b/src/software/logger/network_logger.cpp @@ -5,7 +5,8 @@ std::shared_ptr NetworkLoggerSingleton::instance; -NetworkLoggerSingleton::NetworkLoggerSingleton(RobotId robot_id, bool enable_log_merging) +NetworkLoggerSingleton::NetworkLoggerSingleton(RobotId robot_id, bool enable_log_merging, + const std::string& network_interface) { logWorker = g3::LogWorker::createLogWorker(); @@ -21,18 +22,20 @@ NetworkLoggerSingleton::NetworkLoggerSingleton(RobotId robot_id, bool enable_log logWorker->addSink(std::make_unique(CSV_PATH), &CSVSink::appendToFile); // Sink for PlotJuggler plotting - auto plotjuggler_handle = logWorker->addSink(std::make_unique(), - &PlotJugglerSink::sendToPlotJuggler); + auto plotjuggler_handle = + logWorker->addSink(std::make_unique(network_interface), + &PlotJugglerSink::sendToPlotJuggler); g3::initializeLogging(logWorker.get()); } -void NetworkLoggerSingleton::initializeLogger(RobotId robot_id, bool enable_log_merging) +void NetworkLoggerSingleton::initializeLogger(RobotId robot_id, bool enable_log_merging, + const std::string& network_interface) { if (!instance) { NetworkLoggerSingleton::instance = std::shared_ptr( - new NetworkLoggerSingleton(robot_id, enable_log_merging)); + new NetworkLoggerSingleton(robot_id, enable_log_merging, network_interface)); } } diff --git a/src/software/logger/network_logger.h b/src/software/logger/network_logger.h index eec4a4b302..7fe021b845 100644 --- a/src/software/logger/network_logger.h +++ b/src/software/logger/network_logger.h @@ -21,7 +21,8 @@ class NetworkLoggerSingleton * Initializes a g3log logger for the calling program. This should only be * called once at the start of a program. */ - static void initializeLogger(RobotId robot_id, bool enable_log_merging); + static void initializeLogger(RobotId robot_id, bool enable_log_merging, + const std::string& network_interface = "tbotswifi5"); /** * Updates the underlying UDP sender associated with this network sink. Useful when a @@ -31,7 +32,8 @@ class NetworkLoggerSingleton std::shared_ptr> new_sender); private: - NetworkLoggerSingleton(RobotId robot_id, bool enable_log_merging); + NetworkLoggerSingleton(RobotId robot_id, bool enable_log_merging, + const std::string& network_interface); std::unique_ptr logWorker; std::unique_ptr> network_sink_handle;