--- a/C_runtime/PLCObject.cpp Mon Jun 03 22:24:55 2024 +0200
+++ b/C_runtime/PLCObject.cpp Mon Jun 03 22:29:20 2024 +0200
@@ -89,24 +89,24 @@
- uint32_t resultLen = m_PLCSyms.GetLogMessage(
- level, msgID, buf, LOG_READ_BUFFER_SIZE - 1,
- &tick, &tv_sec, &tv_nsec);
+ if(m_status.PLCstatus == Empty){ + resultLen = m_PLCSyms.GetLogMessage( + level, msgID, buf, LOG_READ_BUFFER_SIZE - 1, + &tick, &tv_sec, &tv_nsec); // Get log message with given msgID
- message->msg = (char *)malloc(resultLen);
+ message->msg = (char *)malloc(resultLen + 1); if (message->msg == NULL)
// Copy the log message into eRPC message
memcpy(message->msg, buf, resultLen);
- message->msg[resultLen + 1] = '\0';
+ message->msg[resultLen] = '\0'; @@ -141,6 +141,16 @@
uint32_t PLCObject::GetPLCstatus(PLCstatus *status)
+ if(m_status.PLCstatus == Empty){ + for(int lvl = 0; lvl < 4; lvl++){ + m_status.logcounts[lvl] = 0; + for(int lvl = 0; lvl < 4; lvl++){ + m_status.logcounts[lvl] = m_PLCSyms.GetLogCount(lvl);