--- a/svghmi/svghmi.c Tue Jul 13 16:19:07 2021 +0200
+++ b/svghmi/svghmi.c Thu Jul 15 11:48:02 2021 +0200
@@ -211,21 +211,21 @@
void SVGHMI_SuspendFromPythonThread(void);
void SVGHMI_WakeupFromRTThread(void);
-static int continue_collect;
+int svghmi_continue_collect; bzero(rbuf,sizeof(rbuf));
bzero(wbuf,sizeof(wbuf));
+ svghmi_continue_collect = 1;
+ svghmi_continue_collect = 0; SVGHMI_WakeupFromRTThread();
@@ -251,7 +251,7 @@
int svghmi_send_collect(uint32_t session_index, uint32_t *size, char **ptr){
+ if(svghmi_continue_collect) { send_session_index = session_index;
--- a/svghmi/svghmi_server.py Tue Jul 13 16:19:07 2021 +0200
+++ b/svghmi/svghmi_server.py Thu Jul 15 11:48:02 2021 +0200
@@ -31,6 +31,8 @@
svghmi_wait.restype = ctypes.c_int # error or 0
svghmi_wait.argtypes = []
+svghmi_continue_collect = ctypes.c_int.in_dll(PLCBinary, "svghmi_continue_collect") svghmi_send_collect = PLCBinary.svghmi_send_collect
svghmi_send_collect.restype = ctypes.c_int # error or 0
svghmi_send_collect.argtypes = [
@@ -244,8 +246,7 @@
+ while svghmi_continue_collect: for svghmi_session in svghmi_session_manager.iter_sessions():
res = svghmi_send_collect(
@@ -261,7 +262,6 @@
# this happens when finishing
def AddPathToSVGHMIServers(path, factory):