15#include <unordered_map>
23#define M_PI 3.14159265358979323846
92 static std::map<std::string, std::unique_ptr<InternalLogger>> self_map;
94 constexpr static std::uint32_t internal_log_size = 0x200000;
95 std::mutex internal_log_mutex;
117 const std::string& str2,
void* userData,
122 if (InternalLogger::self_map.find(name) == InternalLogger::self_map.end()) {
123 InternalLogger::self_map.insert(
124 {name, std::make_unique<InternalLogger>()});
125 InternalLogger::self_map.at(name).get()->name = name;
126 InternalLogger::self_map.at(name).get()->type = 0;
127 InternalLogger::self_map.at(name).get()->assertEqCallback =
nullptr;
128 InternalLogger::self_map.at(name).get()->m_pop =
true;
130 return InternalLogger::self_map.at(name).get();
133 static void setType(
const std::string& name, uint32_t type) {
134 InternalLogger::self_map.at(name).get()->type = type;
147 void log(
const loguru::Message& message) {
148 std::unique_lock<std::mutex> lk(internal_log_mutex);
156 auto pos =
g_internal_log.find_first_of(
'\n', internal_log_size >> 3u);
159 }
else if (type == 1) {
162 logIndVec.push_back(message.indentation);
166 for (
size_t i = 0; i < loopSize; i++) {
188 static std::string&
get_log(
const std::string& name) {
190 std::unique_lock<std::mutex> lk(pil->internal_log_mutex);
197 const loguru::Message& message) {
203 const std::string& str1,
204 const std::string& str2,
void* userData,
Manages communication and control for an external autotuning process.
Definition standalone_autotuning.h:289
bool g_eol_mode
Definition global.cc:35
std::string g_driver_name
Definition global.cc:18
std::string g_soem_mac_address
Definition global.cc:25
uint16_t g_pub_sub_port
Definition global.cc:23
std::vector< std::string > g_ethernet_ip_addresses
Definition global.cc:54
uint8 g_pIOmap[4096]
Definition global.cc:14
bool g_disable_file_cache
Definition global.cc:36
size_t g_mock_devices
Definition global.cc:31
std::string g_templates_path
Definition global.cc:32
uint16_t g_autotuning_port
Definition global.cc:5
std::atomic< int > g_slavecount
Definition global.cc:27
std::atomic< bool > g_reinitialization_required
Definition global.cc:28
std::filesystem::path g_data_dir
Definition global.cc:33
bool g_skip_pdo_mapping
Definition global.cc:37
volatile sig_atomic_t g_sig_caught
Definition global.cc:16
std::string g_ethernet_pdo_mode
Definition global.cc:55
bool g_disable_sdo_polling
Definition global.cc:38
std::atomic< bool > g_ethercat_port_reopen_required
Definition global.cc:29
MasterType g_master_type
Definition global.cc:20
uint16_t g_req_res_port
Definition global.cc:22
std::string g_soem_ifname
Definition global.cc:26
StandaloneAutotuning g_standalone_autotuning
Definition global.cc:11
MasterType
Definition global.h:38
@ kUnspecified
Definition global.h:38
@ kSoem
Definition global.h:38
@ kMock
Definition global.h:38
@ kSpoe
Definition global.h:38
void g_soem_update_slavecount()
Definition global.cc:42
Logging class.
Definition global.h:90
void setAssertEqCallback(void(*func)(const std::string &pre, const std::string &str1, const std::string &str2, void *userData, int &retval))
Definition global.h:202
static void log_to_internal_log(void *user_data, const loguru::Message &message)
Definition global.h:196
bool m_pop
Definition global.h:114
void log(const loguru::Message &message)
Callback from loguru.
Definition global.h:147
void clearPop()
Definition global.h:216
std::deque< void * > assertEqUserDataQue
Definition global.h:112
std::vector< std::string > logPreVec
Definition global.h:104
std::deque< std::string > assertEqStrQue
Definition global.h:111
void resetState()
Definition global.h:218
std::string g_internal_log_copy
Definition global.h:102
static std::string & get_log(const std::string &name)
Definition global.h:188
static void setType(const std::string &name, uint32_t type)
Definition global.h:133
void(* assertEqCallback)(const std::string &pre, const std::string &str1, const std::string &str2, void *userData, int &retval)
Definition global.h:116
std::vector< std::string > logIndVec
Definition global.h:108
static InternalLogger * getInstance(const std::string &name)
Definition global.h:121
std::vector< std::string > logMsgVec
Definition global.h:106
std::string g_internal_log
Definition global.h:101
void setPop()
Definition global.h:215
void pushAssertEq(const std::string &str, void *userData=nullptr)
Definition global.h:210