@@ -45,8 +45,11 @@ Script.serveEvent('CSK_MultiDataLogger.OnNewStatusDataMode', 'MultiDataLogger_On
4545Script .serveEvent (' CSK_MultiDataLogger.OnNewStatusDataType' , ' MultiDataLogger_OnNewStatusDataType' )
4646
4747Script .serveEvent (' CSK_MultiDataLogger.OnNewStatusCSVFilename' , ' MultiDataLogger_OnNewStatusCSVFilename' )
48-
4948Script .serveEvent (' CSK_MultiDataLogger.OnNewStatusCSVLables' , ' MultiDataLogger_OnNewStatusCSVLables' )
49+
50+ Script .serveEvent (' CSK_MultiDataLogger.OnNewStatusLimitCSVEntries' , ' MultiDataLogger_OnNewStatusLimitCSVEntries' )
51+ Script .serveEvent (' CSK_MultiDataLogger.OnNewStatusCSVLimitAmount' , ' MultiDataLogger_OnNewStatusCSVLimitAmount' )
52+
5053Script .serveEvent (" CSK_MultiDataLogger.OnNewStatusSaveDataDirectly" , " MultiDataLogger_OnNewStatusSaveDataDirectly" )
5154Script .serveEvent (" CSK_MultiDataLogger.OnNewStatusSaveOnlyChanges" , " MultiDataLogger_OnNewStatusSaveOnlyChanges" )
5255
@@ -194,6 +197,10 @@ local function handleOnExpiredTmrMultiDataLogger()
194197
195198 Script .notifyEvent (" MultiDataLogger_OnNewStatusCSVFilename" , multiDataLogger_Instances [selectedInstance ].parameters .csvFilename )
196199 Script .notifyEvent (" MultiDataLogger_OnNewStatusCSVLables" , multiDataLogger_Instances [selectedInstance ].parameters .csvLabels )
200+
201+ Script .notifyEvent (" MultiDataLogger_OnNewStatusLimitCSVEntries" , multiDataLogger_Instances [selectedInstance ].parameters .csvLimit )
202+ Script .notifyEvent (" MultiDataLogger_OnNewStatusCSVLimitAmount" , multiDataLogger_Instances [selectedInstance ].parameters .csvLimitAmount )
203+
197204 Script .notifyEvent (" MultiDataLogger_OnNewStatusSaveDataDirectly" , multiDataLogger_Instances [selectedInstance ].parameters .saveDataDirectly )
198205 Script .notifyEvent (" MultiDataLogger_OnNewStatusSaveOnlyChanges" , multiDataLogger_Instances [selectedInstance ].parameters .saveOnlyChanges )
199206
@@ -281,6 +288,9 @@ local function updateProcessingParameters()
281288 Script .notifyEvent (' MultiDataLogger_OnNewProcessingParameter' , selectedInstance , ' dataType' , multiDataLogger_Instances [selectedInstance ].parameters .dataType )
282289 Script .notifyEvent (' MultiDataLogger_OnNewProcessingParameter' , selectedInstance , ' csvFilename' , multiDataLogger_Instances [selectedInstance ].parameters .csvFilename )
283290 Script .notifyEvent (' MultiDataLogger_OnNewProcessingParameter' , selectedInstance , ' csvLabels' , multiDataLogger_Instances [selectedInstance ].parameters .csvLabels )
291+ Script .notifyEvent (' MultiDataLogger_OnNewProcessingParameter' , selectedInstance , ' csvLimit' , multiDataLogger_Instances [selectedInstance ].parameters .csvLimit )
292+ Script .notifyEvent (' MultiDataLogger_OnNewProcessingParameter' , selectedInstance , ' csvLimitAmount' , multiDataLogger_Instances [selectedInstance ].parameters .csvLimitAmount )
293+
284294 Script .notifyEvent (' MultiDataLogger_OnNewProcessingParameter' , selectedInstance , ' imageType' , multiDataLogger_Instances [selectedInstance ].parameters .imageType )
285295 Script .notifyEvent (' MultiDataLogger_OnNewProcessingParameter' , selectedInstance , ' imageCompressionValue' , multiDataLogger_Instances [selectedInstance ].parameters .selectedInstance )
286296
@@ -338,19 +348,34 @@ end
338348Script .serveFunction (' CSK_MultiDataLogger.setDataType' , setDataType )
339349
340350local function setCSVFilename (name )
341- _G .logger :fine (nameOfModule .. " : Set csv filename to " .. tostring (name ))
351+ _G .logger :fine (nameOfModule .. " : Set CSV filename to " .. tostring (name ))
342352 multiDataLogger_Instances [selectedInstance ].parameters .csvFilename = name
343353 Script .notifyEvent (' MultiDataLogger_OnNewProcessingParameter' , selectedInstance , ' csvFilename' , name )
344354end
345355Script .serveFunction (' CSK_MultiDataLogger.setCSVFilename' , setCSVFilename )
346356
347357local function setCSVLabels (labels )
348- _G .logger :fine (nameOfModule .. " : Set csv labels to " .. labels )
358+ _G .logger :fine (nameOfModule .. " : Set CSV labels to " .. labels )
349359 multiDataLogger_Instances [selectedInstance ].parameters .csvLabels = labels
350360 Script .notifyEvent (' MultiDataLogger_OnNewProcessingParameter' , selectedInstance , ' csvLabels' , labels )
351361end
352362Script .serveFunction (' CSK_MultiDataLogger.setCSVLabels' , setCSVLabels )
353363
364+ local function setCSVLimit (status )
365+ _G .logger :fine (nameOfModule .. " : Set CSV limit to " .. tostring (status ))
366+ multiDataLogger_Instances [selectedInstance ].parameters .csvLimit = status
367+ Script .notifyEvent (" MultiDataLogger_OnNewStatusLimitCSVEntries" , status )
368+ Script .notifyEvent (' MultiDataLogger_OnNewProcessingParameter' , selectedInstance , ' csvLimit' , status )
369+ end
370+ Script .serveFunction (' CSK_MultiDataLogger.setCSVLimit' , setCSVLimit )
371+
372+ local function setCSVLimitAmount (amount )
373+ _G .logger :fine (nameOfModule .. " : Set CSV limit amount to " .. tostring (amount ))
374+ multiDataLogger_Instances [selectedInstance ].parameters .csvLimitAmount = amount
375+ Script .notifyEvent (' MultiDataLogger_OnNewProcessingParameter' , selectedInstance , ' csvLimitAmount' , amount )
376+ end
377+ Script .serveFunction (' CSK_MultiDataLogger.setCSVLimitAmount' , setCSVLimitAmount )
378+
354379local function setSaveOnlyChanges (status )
355380 multiDataLogger_Instances [selectedInstance ].parameters .saveOnlyChanges = status
356381 _G .logger :fine (nameOfModule .. ' : Set CSV "save changes only" mode to = ' .. tostring (status ))
@@ -393,9 +418,11 @@ Script.serveFunction('CSK_MultiDataLogger.getStatusModuleActive', getStatusModul
393418
394419local function clearFlowConfigRelevantConfiguration ()
395420 for i = 1 , # multiDataLogger_Instances do
396- Script .notifyEvent (' MultiDataLogger_OnNewProcessingParameter' , i , ' deregisterEvent' , true )
397- multiDataLogger_Instances [i ].parameters .registeredEvent = ' '
398- Script .notifyEvent (" MultiDataLogger_OnNewStatusRegisteredEvent" , ' ' )
421+ if multiDataLogger_Instances [i ].parameters .flowConfigPriority then
422+ Script .notifyEvent (' MultiDataLogger_OnNewProcessingParameter' , i , ' deregisterEvent' , true )
423+ multiDataLogger_Instances [i ].parameters .registeredEvent = ' '
424+ Script .notifyEvent (" MultiDataLogger_OnNewStatusRegisteredEvent" , ' ' )
425+ end
399426 end
400427end
401428Script .serveFunction (' CSK_MultiDataLogger.clearFlowConfigRelevantConfiguration' , clearFlowConfigRelevantConfiguration )
@@ -446,6 +473,8 @@ local function loadParameters()
446473 _G .logger :info (nameOfModule .. " : Loaded parameters for multiDataLoggerObject " .. tostring (selectedInstance ) .. " from CSK_PersistentData module." )
447474 multiDataLogger_Instances [selectedInstance ].parameters = helperFuncs .convertContainer2Table (data )
448475
476+ multiDataLogger_Instances [selectedInstance ].parameters = helperFuncs .checkParameters (multiDataLogger_Instances [selectedInstance ].parameters , helperFuncs .defaultParameters .getParameters ())
477+
449478 -- If something needs to be configured/activated with new loaded data
450479 updateProcessingParameters ()
451480 tmrMultiDataLogger :start ()
@@ -535,7 +564,11 @@ Script.register("CSK_PersistentData.OnInitialDataLoaded", handleOnInitialDataLoa
535564
536565local function resetModule ()
537566 if _G .availableAPIs .default then
538- clearFlowConfigRelevantConfiguration ()
567+ for i = 1 , # multiDataLogger_Instances do
568+ Script .notifyEvent (' MultiDataLogger_OnNewProcessingParameter' , i , ' deregisterEvent' , true )
569+ multiDataLogger_Instances [i ].parameters .registeredEvent = ' '
570+ Script .notifyEvent (" MultiDataLogger_OnNewStatusRegisteredEvent" , ' ' )
571+ end
539572 pageCalled ()
540573 end
541574end
0 commit comments