Skip to content

Commit 8bcc264

Browse files
Release 2.0.1 (#3)
# Release 2.0.1 ## Improvements - Better instance handling regarding FlowConfig ## Bugfix - Wrong ENUM check within checkAPI - Legacy bindings of ValueDisplay elements within UI did not work if deployed with VS Code AppSpace SDK - UI differs if deployed via Appstudio or VS Code AppSpace SDK - Fullscreen icon of iFrame was visible
1 parent 954390c commit 8bcc264

13 files changed

Lines changed: 75 additions & 176 deletions

File tree

CHANGELOG.md

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

4+
## Release 2.0.1
5+
6+
### Improvements
7+
- Better instance handling regarding FlowConfig
8+
9+
### Bugfix
10+
- Wrong ENUM check within checkAPI
11+
- Legacy bindings of ValueDisplay elements within UI did not work if deployed with VS Code AppSpace SDK
12+
- UI differs if deployed via Appstudio or VS Code AppSpace SDK
13+
- Fullscreen icon of iFrame was visible
14+
415
## Release 2.0.0
516

617
Major change: Handles serial data as binary (was string before)

CSK_Module_MultiSerialCom/pages/pages/CSK_Module_MultiSerialCom/CSK_Module_MultiSerialCom.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,5 +124,5 @@
124124

125125
.myCustomButton_CSK_Module_MultiSerialCom {
126126
border-radius: 30px;
127-
padding-right: 0px;
127+
padding: 11px;
128128
}

CSK_Module_MultiSerialCom/pages/pages/CSK_Module_MultiSerialCom/CSK_Module_MultiSerialCom.html

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
<layout-row id="RowLayout44">
77
<layout-column id="ColumnLayout61" style="align-items: stretch">
88
<layout-row id="RowLayout01" style="align-items: baseline">
9-
<davinci-value-display id="VD_Title" class="myCustomLabel_CSK_Module_MultiSerialCom"
10-
value="Serial Com">
11-
</davinci-value-display>
9+
<h1 id="Heading_Title" class="myCustomLabel_CSK_Module_MultiSerialCom">
10+
Serial Com
11+
</h1>
1212
<davinci-value-display id="VD_Version">
13-
<crown-edpws-binding property="value" name="CSK_MultiSerialCom/OnNewStatusModuleVersion"
14-
update-on-resume>
15-
</crown-edpws-binding>
13+
<crown-on property="value"
14+
crown-event="CSK_MultiSerialCom/OnNewStatusModuleVersion">
15+
</crown-on>
1616
</davinci-value-display>
1717
</layout-row>
1818
</layout-column>
@@ -57,17 +57,17 @@
5757
style="align-items: center; justify-content: center">
5858
<davinci-button id="Button_AddInstance"
5959
class="myCustomButton_CSK_Module_MultiSerialCom" type="outline"
60-
icon-position="append" icon="content/add" title="Add instance">
60+
title="Add instance">
61+
<davinci-icon icon="content/add"></davinci-icon>
6162
<span></span>
6263
<crown-binding event="submit"
6364
name="CSK_MultiSerialCom/addInstance" auto-commit>
6465
</crown-binding>
6566
</davinci-button>
6667
<davinci-button id="Button_ResetInstances"
6768
class="myCustomButton_CSK_Module_MultiSerialCom" type="outline"
68-
icon-position="append"
69-
title="Reset insances to single instance. Reload app after reseting."
70-
icon="action/delete">
69+
title="Reset insances to single instance. Reload app after resetting.">
70+
<davinci-icon icon="action/delete"></davinci-icon>
7171
<span></span>
7272
<crown-binding event="submit"
7373
name="CSK_MultiSerialCom/resetInstances" auto-commit>
@@ -113,9 +113,9 @@
113113
style="justify-content: center; align-items: center">
114114
<davinci-button id="B_LoadConfig"
115115
class="myCustomButton_CSK_Module_MultiSerialCom"
116-
type="outline" icon-position="append"
117-
title="Load configured parameters from CSK_PersistentData module."
118-
icon="action/history">
116+
type="outline"
117+
title="Load configured parameters from CSK_PersistentData module.">
118+
<davinci-icon icon="action/history"></davinci-icon>
119119
<span></span>
120120
<crown-binding event="submit"
121121
name="CSK_MultiSerialCom/loadParameters"
@@ -129,9 +129,9 @@
129129
</davinci-button>
130130
<davinci-button id="B_SaveConfig"
131131
class="myCustomButton_CSK_Module_MultiSerialCom"
132-
type="outline" icon-position="append"
133-
title="Save current configured parameters of this module within CSK_PersistentData module."
134-
icon="content/save">
132+
type="outline"
133+
title="Save the currently configured parameters of this module within CSK_PersistentData module.">
134+
<davinci-icon icon="content/save"></davinci-icon>
135135
<span></span>
136136
<crown-binding event="submit"
137137
name="CSK_MultiSerialCom/sendParameters"
@@ -268,16 +268,17 @@
268268
<layout-row id="RowLayout2" style="align-items: center">
269269
<davinci-button id="Button_Transmit"
270270
class="myCustomButton_CSK_Module_MultiSerialCom" type="outline"
271-
icon-position="append" title="Transmit" icon="content/send">
271+
title="Transmit the configured content via the serial connection.">
272+
<davinci-icon icon="content/send"></davinci-icon>
272273
<span></span>
273274
<crown-binding event="submit"
274275
name="CSK_MultiSerialCom/transmitDataViaUI" auto-commit>
275276
</crown-binding>
276277
</davinci-button>
277278
<davinci-button id="Button_Receive"
278279
class="myCustomButton_CSK_Module_MultiSerialCom" type="outline"
279-
icon-position="append" icon="communication/call_received"
280-
title="Receive">
280+
title="Receives data from the client with a specified timeout.">
281+
<davinci-icon icon="communication/call_received"></davinci-icon>
281282
<span></span>
282283
<crown-binding event="submit" name="CSK_MultiSerialCom/receive"
283284
auto-commit>

CSK_Module_MultiSerialCom/pages/src/converter.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,14 @@ export function changeID(id) {
1212
export function changeStyle(theme) {
1313
const style: HTMLStyleElement = document.createElement('style');
1414
style.id ='blub'
15+
16+
const toggleSW = document.querySelectorAll("davinci-toggle-switch")
17+
toggleSW.forEach((userItem) => {
18+
const shadowToggle = userItem.shadowRoot
19+
const finalToggleSW = shadowToggle?.querySelector('div')
20+
finalToggleSW?.classList.add('hasIcon')
21+
});
22+
1523
if (theme == 'CSK_Style'){
1624
var headerToolbar = `.sopasjs-ui-header-toolbar-wrapper { background-color: #FFFFFF; }`
1725
var uiHeader = `.sopasjs-ui-header>.app-logo { margin-right:0px; }`

CSK_Module_MultiSerialCom/pages/src/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ document.addEventListener('sopasjs-ready', () => {
1212
page_Setup.remove();
1313

1414
setTimeout(() => {
15+
const element = document.querySelector("div.sjs-wrapper > div > div.sjs-fullscreen-toggle")
16+
if(element) {
17+
element.parentElement.removeChild(element)
18+
}
1519
document.title = 'CSK_Module_MultiSerialCom'
1620
}, 500);
1721
})

CSK_Module_MultiSerialCom/project.mf.xml

Lines changed: 2 additions & 124 deletions
Original file line numberDiff line numberDiff line change
@@ -393,128 +393,6 @@ Needs then to be called via "Script.callFunction".</desc>
393393
</function>
394394
</serves>
395395
</crown>
396-
<crown name="Engine">
397-
<desc>no description yet</desc>
398-
<uses>
399-
<event name="OnStarted"/>
400-
<function name="getEnumValues"/>
401-
</uses>
402-
</crown>
403-
<crown name="Timer">
404-
<desc>no description yet</desc>
405-
<uses>
406-
<event name="OnExpired"/>
407-
<function name="create"/>
408-
<function name="setPeriodic"/>
409-
<function name="start"/>
410-
<function name="register"/>
411-
<function name="setExpirationTime"/>
412-
</uses>
413-
</crown>
414-
<crown name="SerialCom">
415-
<desc>no description yet</desc>
416-
<uses>
417-
<event name="OnReceive"/>
418-
<function name="isOpened"/>
419-
<function name="create"/>
420-
<function name="register"/>
421-
<function name="setStopBits"/>
422-
<function name="transmit"/>
423-
<function name="setType"/>
424-
<function name="close"/>
425-
<function name="setFraming"/>
426-
<function name="deregister"/>
427-
<function name="setDataBits"/>
428-
<function name="setFlowControl"/>
429-
<function name="setBaudRate"/>
430-
<function name="setFramingBufferSize"/>
431-
<function name="setTermination"/>
432-
<function name="setParity"/>
433-
<function name="setReceiveQueueSize"/>
434-
<function name="setHandshake"/>
435-
<function name="receive"/>
436-
<function name="open"/>
437-
</uses>
438-
</crown>
439-
<crown name="CSK_PersistentData">
440-
<desc>no description yet</desc>
441-
<uses>
442-
<event name="OnInitialDataLoaded"/>
443-
<function name="getParameter"/>
444-
<function name="setModuleParameterName"/>
445-
<function name="addParameter"/>
446-
<function name="saveData"/>
447-
<function name="getModuleParameterName"/>
448-
<function name="getVersion"/>
449-
</uses>
450-
</crown>
451-
<crown name="Log">
452-
<desc>no description yet</desc>
453-
<uses/>
454-
<crown name="Handler">
455-
<desc>no description yet</desc>
456-
<uses>
457-
<function name="create"/>
458-
</uses>
459-
</crown>
460-
<crown name="SharedLogger">
461-
<desc>no description yet</desc>
462-
<uses>
463-
<function name="create"/>
464-
</uses>
465-
</crown>
466-
</crown>
467-
<crown name="Container">
468-
<desc>no description yet</desc>
469-
<uses>
470-
<function name="get"/>
471-
<function name="create"/>
472-
<function name="list"/>
473-
<function name="add"/>
474-
</uses>
475-
</crown>
476-
<crown name="table">
477-
<desc>no description yet</desc>
478-
<uses>
479-
<function name="remove"/>
480-
<function name="insert"/>
481-
<function name="sort"/>
482-
<function name="concat"/>
483-
</uses>
484-
</crown>
485-
<crown name="Script">
486-
<desc>no description yet</desc>
487-
<uses>
488-
<function name="getStartArgument"/>
489-
<function name="deregister"/>
490-
<function name="serveFunction"/>
491-
<function name="releaseObject"/>
492-
<function name="notifyEvent"/>
493-
<function name="startScript"/>
494-
<function name="register"/>
495-
<function name="serveEvent"/>
496-
</uses>
497-
</crown>
498-
<crown name="string">
499-
<desc>no description yet</desc>
500-
<uses>
501-
<function name="char"/>
502-
<function name="sub"/>
503-
<function name="format"/>
504-
</uses>
505-
</crown>
506-
<crown name="Object">
507-
<desc>no description yet</desc>
508-
<uses>
509-
<function name="getType"/>
510-
</uses>
511-
</crown>
512-
<crown name="DateTime">
513-
<desc>no description yet</desc>
514-
<uses>
515-
<function name="getTime"/>
516-
</uses>
517-
</crown>
518396
<crown name="MultiSerialCom_FC">
519397
<trait>released</trait>
520398
<desc>Crown to provide CSK_FlowConfig relevant features.</desc>
@@ -542,7 +420,7 @@ Needs then to be called via "Script.callFunction".</desc>
542420
<event name="OnNewData">
543421
<include>data-flow</include>
544422
<desc>Provide received serial data.</desc>
545-
<param desc="Handle to internally used FlowConfig instance." multiplicity="1" name="handle" type="binary"/>
423+
<param desc="Handle to internally used FlowConfig instance." multiplicity="1" name="handle" type="handle"/>
546424
<param desc="'CSK_MultiSerialCom.OnNewData[InstanceNUM]'&#10;&#10;Parameter:&#10;1: Data (BINARY)" multiplicity="1" name="OnNewData" ref="CSK_MultiColorSelection_FC.ResultType" type="string"/>
547425
</event>
548426
<function name="create">
@@ -563,7 +441,7 @@ Needs then to be called via "Script.callFunction".</desc>
563441
</crown>
564442
</crown>
565443
<meta key="author">SICK AG</meta>
566-
<meta key="version">2.0.0</meta>
444+
<meta key="version">2.0.1</meta>
567445
<meta key="priority">low</meta>
568446
<meta key="copy-protected">false</meta>
569447
<meta key="read-protected">false</meta>

CSK_Module_MultiSerialCom/scripts/CSK_Module_MultiSerialCom.lua

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,9 @@ local multiSerialComController = require('Communication/MultiSerialCom/MultiSeri
5151

5252
-- Check if specific APIs are available on device
5353
if _G.availableAPIs.default and _G.availableAPIs.specific then
54-
local setInstanceHandle = require('Communication/MultiSerialCom/FlowConfig/MultiSerialCom_FlowConfig')
54+
require('Communication/MultiSerialCom/FlowConfig/MultiSerialCom_FlowConfig')
5555
table.insert(multiSerialCom_Instances, multiSerialCom_Model.create(1)) -- Create at least 1 instance
5656
multiSerialComController.setMultiSerialCom_Instances_Handle(multiSerialCom_Instances) -- share handle of instances
57-
setInstanceHandle(multiSerialCom_Instances)
5857
else
5958
_G.logger:warning("CSK_MultiSerialCom : Relevant CROWN(s) not available on device. Module is not supported...")
6059
end

CSK_Module_MultiSerialCom/scripts/Communication/MultiSerialCom/FlowConfig/MultiSerialCom_FlowConfig.lua

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,7 @@ local multiSerialComImageEdgeMatcher_Instances
1212
--- Function to react if FlowConfig was updated
1313
local function handleOnClearOldFlow()
1414
if _G.availableAPIs.default and _G.availableAPIs.specific then
15-
for i = 1, #multiSerialCom_Instances do
16-
if multiSerialCom_Instances[i].parameters.flowConfigPriority then
17-
CSK_MultiSerialCom.clearFlowConfigRelevantConfiguration()
18-
break
19-
end
20-
end
15+
CSK_MultiSerialCom.clearFlowConfigRelevantConfiguration()
2116
end
2217
end
2318
Script.register('CSK_FlowConfig.OnClearOldFlow', handleOnClearOldFlow)
24-
25-
--- Function to get access to the multiSerialCom_Instances
26-
---@param handle handle Handle of multiSerialCom_Instances object
27-
local function setMultiSerialCom_Instances_Handle(handle)
28-
multiSerialCom_Instances = handle
29-
end
30-
return setMultiSerialCom_Instances_Handle

CSK_Module_MultiSerialCom/scripts/Communication/MultiSerialCom/MultiSerialCom_Controller.lua

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -553,9 +553,11 @@ Script.serveFunction('CSK_MultiSerialCom.getStatusModuleActive', getStatusModule
553553

554554
local function clearFlowConfigRelevantConfiguration()
555555
for i = 1, #multiSerialCom_Instances do
556-
multiSerialCom_Instances[i].parameters.registeredEvent = ''
557-
Script.notifyEvent('MultiSerialCom_OnNewProcessingParameter', i, 'deregisterFromEvent')
558-
Script.notifyEvent('MultiSerialCom_OnNewStatusRegisteredEvent', '')
556+
if multiSerialCom_Instances[i].parameters.flowConfigPriority then
557+
multiSerialCom_Instances[i].parameters.registeredEvent = ''
558+
Script.notifyEvent('MultiSerialCom_OnNewProcessingParameter', i, 'deregisterFromEvent')
559+
Script.notifyEvent('MultiSerialCom_OnNewStatusRegisteredEvent', '')
560+
end
559561
end
560562
end
561563
Script.serveFunction('CSK_MultiSerialCom.clearFlowConfigRelevantConfiguration', clearFlowConfigRelevantConfiguration)
@@ -696,7 +698,11 @@ end
696698

697699
local function resetModule()
698700
if _G.availableAPIs.default and _G.availableAPIs.specific then
699-
clearFlowConfigRelevantConfiguration()
701+
for i = 1, #multiSerialCom_Instances do
702+
multiSerialCom_Instances[i].parameters.registeredEvent = ''
703+
Script.notifyEvent('MultiSerialCom_OnNewProcessingParameter', i, 'deregisterFromEvent')
704+
Script.notifyEvent('MultiSerialCom_OnNewStatusRegisteredEvent', '')
705+
end
700706
pageCalled()
701707
end
702708
end

CSK_Module_MultiSerialCom/scripts/Communication/MultiSerialCom/helper/checkAPIs.lua

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,13 @@ end
4141

4242
availableAPIs.default = xpcall(loadAPIs, debug.traceback) -- TRUE if all default APIs were loaded correctly
4343
availableAPIs.specific = xpcall(loadSpecificAPIs, debug.traceback)-- TRUE if all specific APIs were loaded correctly
44-
if #(Engine.getEnumValues('SerialPorts')) == 0 then
44+
45+
local serialPorts = Engine.getEnumValues('SerialPorts')
46+
if serialPorts ~= nil then
47+
if #serialPorts == 0 then
48+
availableAPIs.specific = false
49+
end
50+
else
4551
availableAPIs.specific = false
4652
end
4753

0 commit comments

Comments
 (0)