1+ -- MIT License
2+ --
3+ -- Copyright (c) 2023 SICK AG
4+ --
5+ -- Permission is hereby granted, free of charge, to any person obtaining a copy
6+ -- of this software and associated documentation files (the "Software"), to deal
7+ -- in the Software without restriction, including without limitation the rights
8+ -- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+ -- copies of the Software, and to permit persons to whom the Software is
10+ -- furnished to do so, subject to the following conditions:
11+ --
12+ -- The above copyright notice and this permission notice shall be included in all
13+ -- copies or substantial portions of the Software.
14+ --
15+ -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+ -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+ -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+ -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+ -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+ -- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+ -- SOFTWARE.
22+
23+ -- **************************************************************************
24+ -- **********************Start Global Scope *********************************
25+ -- **************************************************************************
26+ local welcomeAppAvailable = SICK_WelcomeApp ~= nil or false -- Check if WelcomeApp runs on the device
27+
28+ -- ************************ UI Events Start ********************************
29+ Script .serveEvent (' CSK_Application_FlowConfig.OnNewStatusWelcomeAppAvailable' , ' FlowConfigApp_OnNewStatusWelcomeAppAvailable' )
30+ Script .serveEvent (' CSK_Application_FlowConfig.OnNewStatusCSKStyle' , ' FlowConfigApp_OnNewStatusCSKStyle' )
31+ Script .serveEvent (' CSK_Application_FlowConfig.OnNewStatusModuleVersion' , ' FlowConfigApp_OnNewStatusModuleVersion' )
32+ -- ************************ UI Events End **********************************
33+
34+ local styleForUI = ' None' -- Optional parameter to set UI style
35+ local moduleVersion = Engine .getCurrentAppVersion () -- Version of module
36+
37+ local tmr = Timer .create ()
38+ tmr :setExpirationTime (100 )
39+ tmr :setPeriodic (false )
40+
41+ -- **************************************************************************
42+ -- ********************** End Global Scope **********************************
43+ -- **************************************************************************
44+ -- **********************Start Function Scope *******************************
45+ -- **************************************************************************
46+
47+ local function handleOnExpired ()
48+ Script .notifyEvent (" FlowConfigApp_OnNewStatusCSKStyle" , styleForUI )
49+ Script .notifyEvent (" FlowConfigApp_OnNewStatusWelcomeAppAvailable" , welcomeAppAvailable )
50+ Script .notifyEvent (" FlowConfigApp_OnNewStatusModuleVersion" , ' v' .. moduleVersion )
51+ end
52+ Timer .register (tmr , ' OnExpired' , handleOnExpired )
53+
54+ --- Function to react on UI style change
55+ local function handleOnStyleChanged (theme )
56+ styleForUI = theme
57+ Script .notifyEvent (" FlowConfigApp_OnNewStatusCSKStyle" , styleForUI )
58+ end
59+ Script .register (' CSK_PersistentData.OnNewStatusCSKStyle' , handleOnStyleChanged )
60+
61+ local function pageCalled ()
62+ tmr :start ()
63+ return ' '
64+ end
65+ Script .serveFunction (" CSK_Application_FlowConfig.pageCalled" , pageCalled )
66+
67+ local function main ()
68+ if not welcomeAppAvailable then
69+ local suc = File .copy (' /resources/CSK_Application_FlowConfig/MainApp.bin' , ' /public/HomeScreen/MainApp.bin' )
70+ if suc then
71+ CSK_SensorAppOverview .uploadImage (true )
72+ end
73+ CSK_SensorAppOverview .setMainAppName (' CSK_Application_FlowConfig' )
74+
75+ if CSK_PersistentData then
76+ CSK_PersistentData .setUIStyle (' CSK_Style' )
77+ end
78+ end
79+ end
80+ Script .register (" Engine.OnStarted" , main )
81+
82+ -- **************************************************************************
83+ -- **********************End Function Scope *********************************
84+ -- **************************************************************************
0 commit comments