Skip to content

Commit 75ec010

Browse files
Release 2.2.0 (#4)
# Release 2.2.0 ## Improvements - Update of CSK_Module_FlowConfig to version 2.0.0
1 parent 547a665 commit 75ec010

20 files changed

Lines changed: 815 additions & 390 deletions

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
# Changelog
22
All notable changes to this project will be documented in this file.
33

4+
## Release 2.2.0
5+
6+
### Improvements
7+
- Update of CSK_Module_FlowConfig to version 2.0.0
8+
49
## Release 2.1.0
510

611
### New features

CSK_Application_FlowConfig/pages/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ document.addEventListener('sopasjs-ready', () => {
44
page_CSK_Welcome.classList.remove('fa-file');
55
page_CSK_Welcome.classList.add('fa-home');
66

7-
const page_FlowConfig_Frame = document.querySelector('div.sopasjs-ui-navbar-wrapper > div > ul > li:nth-child(4) > a > i');
7+
const page_FlowConfig_Frame = document.querySelector('div.sopasjs-ui-navbar-wrapper > div > ul > li:nth-child(4) > a > i');
88
page_FlowConfig_Frame.classList.remove('fa-file');
99
page_FlowConfig_Frame.classList.add('fa-share-alt');
1010

CSK_Application_FlowConfig/project.mf.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Concerning required CSK modules to run this application, please refer to the REA
2626
</serves>
2727
</crown>
2828
<meta key="author">SICK AG</meta>
29-
<meta key="version">2.1.0</meta>
29+
<meta key="version">2.2.0</meta>
3030
<meta key="priority">low</meta>
3131
<meta key="copy-protected">false</meta>
3232
<meta key="read-protected">false</meta>

docu/CSK_Application_FlowConfig.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<meta name="viewport" content="width=device-width, initial-scale=1.0">
77
<meta name="generator" content="Asciidoctor 2.0.12">
88
<meta name="author" content="SICK AG">
9-
<title>Documentation - CSK_Application_FlowConfig 2.1.0</title>
9+
<title>Documentation - CSK_Application_FlowConfig 2.2.0</title>
1010
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
1111
<style>
1212
/* Stylesheet for CodeRay to match GitHub theme | MIT License | http://foundation.zurb.com */
@@ -615,11 +615,11 @@
615615
</head>
616616
<body class="article toc2 toc-left">
617617
<div id="header">
618-
<h1>Documentation - CSK_Application_FlowConfig 2.1.0</h1>
618+
<h1>Documentation - CSK_Application_FlowConfig 2.2.0</h1>
619619
<div class="details">
620620
<span id="author" class="author">SICK AG</span><br>
621-
<span id="revnumber">version 2.1.0,</span>
622-
<span id="revdate">2024-12-05</span>
621+
<span id="revnumber">version 2.2.0,</span>
622+
<span id="revdate">2025-12-15</span>
623623
</div>
624624
<div id="toc" class="toc2">
625625
<div id="toctitle">Table of Contents</div>
@@ -666,11 +666,11 @@ <h2 id="_document_metadata">Document metadata</h2>
666666
</tr>
667667
<tr>
668668
<th class="tableblock halign-left valign-top"><p class="tableblock">Version</p></th>
669-
<td class="tableblock halign-left valign-top"><p class="tableblock">2.1.0</p></td>
669+
<td class="tableblock halign-left valign-top"><p class="tableblock">2.2.0</p></td>
670670
</tr>
671671
<tr>
672672
<th class="tableblock halign-left valign-top"><p class="tableblock">Date</p></th>
673-
<td class="tableblock halign-left valign-top"><p class="tableblock">2024-12-05</p></td>
673+
<td class="tableblock halign-left valign-top"><p class="tableblock">2025-12-15</p></td>
674674
</tr>
675675
<tr>
676676
<th class="tableblock halign-left valign-top"><p class="tableblock">Author</p></th>
@@ -927,8 +927,8 @@ <h6 id="_sample_auto_generated_4">Sample (auto-generated)</h6>
927927
</div>
928928
<div id="footer">
929929
<div id="footer-text">
930-
Version 2.1.0<br>
931-
Last updated 2024-12-05 12:00:56 +0100
930+
Version 2.2.0<br>
931+
Last updated 2025-12-15 11:11:28 +0100
932932
</div>
933933
</div>
934934
<script type="text/javascript">

subtrees/CSK_Module_FlowConfig/CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
11
# Changelog
22
All notable changes to this project will be documented in this file.
33

4+
## Release 2.0.0
5+
- Removed deprecated block "OnNewValue" (was replaced by "OnExpired")
6+
7+
### New features
8+
- New blocks "OnEvent" and "NotifyEvent"
9+
- Selectable which blocks to show in flow editor (to focus on specific use cases)
10+
- Check if persistent data to load provides all relevant parameters. Otherwise add default values
11+
12+
### Improvement
13+
- Added features "ADD", "SUBTRACT", "MULTIPLY", "DIVIDE", "FLOOR", "FALLING_EDGE" to logic operator block
14+
- Updated demo flows
15+
416
## Release 1.4.0
517

618
### Improvement
Binary file not shown.

subtrees/CSK_Module_FlowConfig/CSK_Module_FlowConfig/project.mf.xml

Lines changed: 60 additions & 46 deletions
Large diffs are not rendered by default.

subtrees/CSK_Module_FlowConfig/CSK_Module_FlowConfig/resources/CSK_Module_FlowConfig/FlowConfigDemo.bin

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

subtrees/CSK_Module_FlowConfig/CSK_Module_FlowConfig/scripts/CSK_FlowConfig_FlowConfig.lua

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
_G.availableAPIs = require('Communication/FlowConfig/helper/checkAPIs')
88

9-
require('Communication.FlowConfig.Features.FlowConfig_OnNewValue')
9+
require('Communication.FlowConfig.Features.FlowConfig_OnEvent')
10+
require('Communication.FlowConfig.Features.FlowConfig_NotifyEvent')
1011
require('Communication.FlowConfig.Features.FlowConfig_OnExpired')
1112
require('Communication.FlowConfig.Features.FlowConfig_ProcessLogic')

subtrees/CSK_Module_FlowConfig/CSK_Module_FlowConfig/scripts/CSK_FlowConfig_LogicProcessing.lua

Lines changed: 102 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,90 @@ local function runOperator(instance)
1515
local result
1616
if parameters[instance]['logic'] == 'EQUAL' then
1717
result = tostring(parameters[instance]['values']['1']) == parameters[instance]['criteria']['1']
18+
19+
elseif parameters[instance]['logic'] == 'ADD' then
20+
if parameters[instance]['values']['1'] ~= '' and parameters[instance]['values']['2'] ~= '' then
21+
local val1 = tonumber(parameters[instance]['values']['1'])
22+
local val2 = tonumber(parameters[instance]['values']['2'])
23+
if val1 ~= nil and val2 ~= nil then
24+
result = true
25+
parameters[instance]['values']['1'] = val1 + val2
26+
end
27+
elseif parameters[instance]['values']['1'] ~= '' then
28+
local val1 = tonumber(parameters[instance]['values']['1'])
29+
local val2 = tonumber(parameters[instance]['criteria']['1'])
30+
if val1 ~= nil and val2 ~= nil then
31+
result = true
32+
parameters[instance]['values']['1'] = val1 + val2
33+
end
34+
end
35+
36+
elseif parameters[instance]['logic'] == 'SUBTRACT' then
37+
if parameters[instance]['values']['1'] ~= '' and parameters[instance]['values']['2'] ~= '' then
38+
local val1 = tonumber(parameters[instance]['values']['1'])
39+
local val2 = tonumber(parameters[instance]['values']['2'])
40+
if val1 ~= nil and val2 ~= nil then
41+
result = true
42+
parameters[instance]['values']['1'] = val1 + val2
43+
end
44+
elseif parameters[instance]['values']['1'] ~= '' then
45+
local val1 = tonumber(parameters[instance]['values']['1'])
46+
local val2 = tonumber(parameters[instance]['criteria']['1'])
47+
if val1 ~= nil and val2 ~= nil then
48+
result = true
49+
parameters[instance]['values']['1'] = val1 - val2
50+
end
51+
end
52+
53+
elseif parameters[instance]['logic'] == 'MULTIPLY' then
54+
if parameters[instance]['values']['1'] ~= '' and parameters[instance]['values']['2'] ~= '' then
55+
local val1 = tonumber(parameters[instance]['values']['1'])
56+
local val2 = tonumber(parameters[instance]['values']['2'])
57+
if val1 ~= nil and val2 ~= nil then
58+
result = true
59+
parameters[instance]['values']['1'] = val1 + val2
60+
end
61+
elseif parameters[instance]['values']['1'] ~= '' then
62+
local val1 = tonumber(parameters[instance]['values']['1'])
63+
local val2 = tonumber(parameters[instance]['criteria']['1'])
64+
if val1 ~= nil and val2 ~= nil then
65+
result = true
66+
parameters[instance]['values']['1'] = val1 * val2
67+
end
68+
end
69+
70+
elseif parameters[instance]['logic'] == 'DIVIDE' then
71+
if parameters[instance]['values']['1'] ~= '' and parameters[instance]['values']['2'] ~= '' then
72+
local val1 = tonumber(parameters[instance]['values']['1'])
73+
local val2 = tonumber(parameters[instance]['values']['2'])
74+
if val1 ~= nil and val2 ~= nil then
75+
result = true
76+
parameters[instance]['values']['1'] = val1 + val2
77+
end
78+
elseif parameters[instance]['values']['1'] ~= '' then
79+
local val1 = tonumber(parameters[instance]['values']['1'])
80+
local val2 = tonumber(parameters[instance]['criteria']['1'])
81+
if val1 ~= nil and val2 ~= nil then
82+
result = true
83+
parameters[instance]['values']['1'] = val1 / val2
84+
end
85+
end
86+
87+
elseif parameters[instance]['logic'] == 'FLOOR' then
88+
if parameters[instance]['values']['1'] ~= '' then
89+
local val1 = tonumber(parameters[instance]['values']['1'])
90+
if val1 ~= nil then
91+
local roundingValue = tonumber(parameters[instance]['criteria']['1'])
92+
if roundingValue ~= nil and roundingValue >= 1 then
93+
result = true
94+
parameters[instance]['values']['1'] = math.floor(val1*10^roundingValue+0.5)/10^roundingValue
95+
else
96+
result = true
97+
parameters[instance]['values']['1'] = math.floor(val1+0.5)
98+
end
99+
end
100+
end
101+
18102
elseif parameters[instance]['logic'] == 'AND' then
19103
if type(parameters[instance]['values']['1']) == 'boolean' and type(parameters[instance]['values']['2']) == 'boolean' then
20104
result = parameters[instance]['values']['1'] and parameters[instance]['values']['2']
@@ -61,6 +145,20 @@ local function runOperator(instance)
61145
if type(parameters[instance]['values']['1']) == 'number' then
62146
result = parameters[instance]['values']['1'] <= tonumber(parameters[instance]['criteria']['1'])
63147
end
148+
elseif parameters[instance]['logic'] == 'FALLING_EDGE' then
149+
if type(parameters[instance]['values']['1']) == 'boolean' then
150+
if parameters[instance]['values']['1'] == false then
151+
if parameters[instance]['values']['2'] == true then
152+
result = true
153+
else
154+
result = false
155+
end
156+
parameters[instance]['values']['2'] = false
157+
else
158+
result = false
159+
parameters[instance]['values']['2'] = true
160+
end
161+
end
64162
elseif parameters[instance]['logic'] == 'RISING_EDGE' then
65163
if type(parameters[instance]['values']['1']) == 'boolean' then
66164
if parameters[instance]['values']['1'] == true then
@@ -107,7 +205,7 @@ local function runOperator(instance)
107205
if result == nil then
108206
_G.logger:warning("CSK_FlowConfig: Error within operartor")
109207
else
110-
if parameters[instance]['logic'] == 'RISING_EDGE' then
208+
if parameters[instance]['logic'] == 'RISING_EDGE' or parameters[instance]['logic'] == 'FALLING_EDGE' then
111209
if result == true then
112210
Script.notifyEvent(parameters[instance]['event'], true)
113211
end
@@ -116,15 +214,15 @@ local function runOperator(instance)
116214
end
117215

118216
if result == true then
119-
if parameters[instance]['logic'] == 'EQUAL' or parameters[instance]['logic'] == 'GREATER' or parameters[instance]['logic'] == 'GREATER_EQUAL' or parameters[instance]['logic'] == 'SMALLER' or parameters[instance]['logic'] == 'SMALLER_EQUAL' or parameters[instance]['logic'] == 'WITHIN_RANGE' or parameters[instance]['logic'] == 'OUT_OF_RANGE' or parameters[instance]['logic'] == 'CHANGED' or parameters[instance]['logic'] == 'TO_NUMBER' or parameters[instance]['logic'] == 'TO_STRING' then
217+
if parameters[instance]['logic'] == 'EQUAL' or parameters[instance]['logic'] == 'GREATER' or parameters[instance]['logic'] == 'GREATER_EQUAL' or parameters[instance]['logic'] == 'SMALLER' or parameters[instance]['logic'] == 'SMALLER_EQUAL' or parameters[instance]['logic'] == 'WITHIN_RANGE' or parameters[instance]['logic'] == 'OUT_OF_RANGE' or parameters[instance]['logic'] == 'CHANGED' or parameters[instance]['logic'] == 'TO_NUMBER' or parameters[instance]['logic'] == 'TO_STRING' or parameters[instance]['logic'] == 'ADD' or parameters[instance]['logic'] == 'SUBTRACT' or parameters[instance]['logic'] == 'MULTIPLY' or parameters[instance]['logic'] == 'DIVIDE' or parameters[instance]['logic'] == 'FLOOR' then
120218
Script.notifyEvent(parameters[instance]['forwardEvent'], parameters[instance]['values']['1'])
121219
end
122220
end
123221
end
124222

125223
if parameters[instance]['logic'] ~= 'AND_PREV' and parameters[instance]['logic'] ~= 'OR_PREV' then
126224
parameters[instance]['values']['1'] = ''
127-
if parameters[instance]['logic'] ~= 'RISING_EDGE' then
225+
if parameters[instance]['logic'] ~= 'RISING_EDGE' and parameters[instance]['logic'] ~= 'FALLING_EDGE' then
128226
parameters[instance]['values']['2'] = ''
129227
end
130228
end
@@ -156,7 +254,7 @@ local function addLogicBlock(instance, logic, source1, source2, criteriaA, crite
156254
parameters[instance]['values']['1'] = ''
157255
parameters[instance]['values']['2'] = ''
158256

159-
if logic == 'RISING_EDGE' then
257+
if logic == 'RISING_EDGE' or logic == 'FALLING_EDGE' then
160258
parameters[instance]['values']['2'] = false
161259
end
162260

0 commit comments

Comments
 (0)