Compare commits

...

181 Commits

Author SHA1 Message Date
Johannes
aadebf801a added default card after screensaver exit 2022-04-03 11:28:11 +02:00
Johannes
ab74c80ab2 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-04-03 09:53:04 +02:00
Johannes
b9ddb24a6d bump version 2022-04-03 09:49:00 +02:00
Johannes
0df505a0eb fix media page 2022-04-03 09:47:44 +02:00
joBr99
ebafe52f39 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui (add nextion2text) 2022-04-03 07:35:49 +00:00
Johannes
265c95845f Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-04-03 09:35:25 +02:00
Johannes
218148bcfb change msg format media page 2022-04-03 09:35:14 +02:00
joBr99
d46a4ea46f fixed navigation on subpages for cardThermo cardMedia and cardAlarm (add nextion2text) 2022-04-03 07:18:00 +00:00
Johannes
767ed78c40 fixed navigation on subpages for cardThermo cardMedia and cardAlarm 2022-04-03 09:17:33 +02:00
Johannes
89669f68f0 Update README.md 2022-04-02 23:27:36 +02:00
Johannes
18805ccae2 Update README.md 2022-04-02 22:50:32 +02:00
Johannes
c4d920b3b7 Update README.md 2022-04-02 22:50:00 +02:00
Johannes
3ad0408606 fixed page nav after exiting hidden page 2022-04-02 22:18:24 +02:00
Johannes
57039fd31e reg callbacks for hidden page items 2022-04-02 22:01:22 +02:00
Johannes
fb7561df10 reg callbacks for hidden page items 2022-04-02 22:00:08 +02:00
Johannes
cf1e3dfd6d fix external update for hidden pages 2022-04-02 21:49:01 +02:00
Johannes
063a6d16f8 upd pic 2022-04-02 21:31:06 +02:00
Johannes
5fda051e37 Update README.md 2022-04-02 21:29:20 +02:00
Johannes
494a122021 Update README.md 2022-04-02 21:05:47 +02:00
Johannes
f8a4d8e82b Update README.md 2022-04-02 21:02:51 +02:00
Johannes
de5a38b28a Update README.md 2022-04-02 20:59:00 +02:00
Johannes
35fca0f0c4 Update README.md 2022-04-02 20:58:30 +02:00
Johannes
138e8ce809 add some screens from us portrait version 2022-04-02 20:57:42 +02:00
Johannes
bdcbbbc256 fix screensaver navigation 2022-04-02 20:28:22 +02:00
Johannes
131bbc8798 fix sleep 2022-04-02 20:23:02 +02:00
Johannes
e24b337add Update updater.py 2022-04-02 20:15:03 +02:00
Johannes
0ba380a5a3 Update nspanel-lovelace-ui.py 2022-04-02 20:11:58 +02:00
Johannes
644efbaa76 added example for hidden page and navigate 2022-04-02 20:08:10 +02:00
Johannes
83c66d053e Merge pull request #114 from joBr99/newConfigFormat
New config format
2022-04-02 20:07:24 +02:00
Johannes
f4c870c51c fix alert 2022-04-02 20:00:03 +02:00
joBr99
cf756401ca sync changes and bump version (add nextion2text) 2022-04-02 17:52:31 +00:00
Johannes
cb8ad94e84 sync changes and bump version 2022-04-02 19:52:10 +02:00
Johannes
0fe062bba1 fixed nav buttons 2022-04-02 19:48:22 +02:00
Johannes
338f12cb18 fix sleepbrightness 2022-04-02 19:46:34 +02:00
Johannes
a3033a0e6b alternaitve layout screensaver 2022-04-02 19:43:09 +02:00
Johannes
9ace31db1f update docs 2022-04-02 17:40:10 +02:00
Johannes
4c6f9cdfd6 implement subpages 2022-04-02 17:34:34 +02:00
Johannes
f15e508626 upd docs 2022-04-02 16:54:57 +02:00
Johannes
a58cafc124 new config format 2022-04-02 16:45:28 +02:00
Johannes
ac01a75761 started on new config format 2022-04-02 10:54:48 +02:00
Johannes
9fe9f6b5cc removed fahrenheit conversion 2022-04-01 20:53:36 +02:00
Johannes
64b3f45705 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-04-01 20:34:23 +02:00
Johannes
ffd4573d6a changed msg format on update page 2022-04-01 20:34:17 +02:00
Johannes
72bd3f91d4 Update nspanel-lovelace-ui.py 2022-04-01 20:23:40 +02:00
joBr99
d4f78c0293 updated us versions (add nextion2text) 2022-04-01 18:14:34 +00:00
Johannes
1272732bb5 updated us versions 2022-04-01 20:14:10 +02:00
Johannes
351bd7fdfd Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-04-01 19:45:29 +02:00
Johannes
9e7ff10e71 fix some messages 2022-04-01 19:45:24 +02:00
joBr99
9f1014eb5f Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui (add nextion2text) 2022-04-01 17:33:35 +00:00
Johannes
74e3c95b9a Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-04-01 19:33:06 +02:00
Johannes
8518fcfcf4 fix popup light 2022-04-01 19:33:00 +02:00
joBr99
971db97d9e fixed popup pages (add nextion2text) 2022-04-01 17:26:00 +00:00
Johannes
6cb7ad8f3f fixed popup pages 2022-04-01 19:25:37 +02:00
Johannes
98dfab74ef round result 2022-04-01 19:08:55 +02:00
Johannes
73f3ffd586 fix temp 2022-04-01 19:03:09 +02:00
Johannes
9e5f41f2b2 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-04-01 18:56:09 +02:00
Johannes
a59c0e3ddc implemented conversion of temperature 2022-04-01 18:56:03 +02:00
joBr99
744adce373 removed additional delimiter for weather (add nextion2text) 2022-04-01 15:25:02 +00:00
Johannes
20a289eb52 removed additional delimiter for weather 2022-04-01 17:24:40 +02:00
joBr99
2dba199f50 change default delimiter from , to ~ (add nextion2text) 2022-04-01 14:58:13 +00:00
Johannes
7f3a0d257e change default delimiter from , to ~ 2022-04-01 16:57:51 +02:00
Johannes
266caeb3ae added known-good diff 2022-04-01 16:18:01 +02:00
joBr99
77b04f4260 Merge pull request #107 from jmbinette/main (add nextion2text) 2022-04-01 04:54:14 +00:00
Johannes
3203b32936 Merge pull request #107 from jmbinette/main
Screensaver presentation (Portrait)
2022-04-01 06:53:54 +02:00
jmbinette
613dc4f471 Fixed Screensaver for better presentation (add nextion2text) 2022-04-01 01:57:14 +00:00
jmbinette
2262b9a03f Fixed Screensaver for better presentation 2022-03-31 21:56:46 -04:00
jmbinette
b5b3f3d9ae Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui (add nextion2text) (add nextion2text) 2022-04-01 00:12:30 +00:00
joBr99
e7ec0541bb Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui (add nextion2text) 2022-03-31 22:36:11 +00:00
Johannes
a36943bc33 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-04-01 00:35:50 +02:00
Johannes
74aeb48b85 decrease memory usage on cardEntities page 2022-04-01 00:35:46 +02:00
joBr99
a5ff50595b Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui (add nextion2text) 2022-03-31 22:28:27 +00:00
Johannes
c4922eb4b6 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-04-01 00:28:06 +02:00
Johannes
ca907c8e6a serial cardthermo 2022-04-01 00:27:54 +02:00
joBr99
34494ec0da Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui (add nextion2text) 2022-03-31 22:17:45 +00:00
Johannes
fdea6aa842 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-04-01 00:17:19 +02:00
Johannes
78d353c464 import new screensaver page 2022-04-01 00:17:13 +02:00
joBr99
d543a186ad sync media page serial code (add nextion2text) 2022-03-31 22:04:17 +00:00
Johannes
9023265547 sync media page serial code 2022-04-01 00:03:54 +02:00
joBr99
516f51b803 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui (add nextion2text) 2022-03-31 21:51:27 +00:00
Johannes
22d0a935e1 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-03-31 23:51:04 +02:00
Johannes
865edc0e4d increase max date string length 2022-03-31 23:50:55 +02:00
joBr99
ef024faa43 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui (add nextion2text) 2022-03-31 21:43:27 +00:00
Johannes
3aaf2582ea Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-03-31 23:43:04 +02:00
Johannes
36c931a89b sync some changes 2022-03-31 23:42:55 +02:00
Johannes
37056983d8 Delete diff-known-good-changes.txt 2022-03-31 23:38:46 +02:00
joBr99
5d867d7d4c Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui (add nextion2text) 2022-03-31 21:37:35 +00:00
Johannes
dc1afd90aa Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-03-31 23:37:11 +02:00
Johannes
cd8439f766 add serial code entities 2022-03-31 23:37:05 +02:00
joBr99
e0e7a853f2 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui (add nextion2text) 2022-03-31 21:34:55 +00:00
Johannes
0d683ddcd5 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-03-31 23:34:29 +02:00
Johannes
35b05c26cb sync some chanegs 2022-03-31 23:34:22 +02:00
joBr99
9c42ed135c Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui (add nextion2text) 2022-03-31 21:30:20 +00:00
Johannes
982f281ce5 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-03-31 23:29:57 +02:00
Johannes
b5879845fd sync some changes 2022-03-31 23:29:43 +02:00
Johannes
70e533e16b Update README.md 2022-03-31 23:17:19 +02:00
joBr99
0ac26e275f add alternative layout for screensaver (add nextion2text) 2022-03-31 20:31:53 +00:00
Johannes
f9cb4c03b6 add alternative layout for screensaver 2022-03-31 22:31:21 +02:00
joBr99
c7b0bc7d82 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui (add nextion2text) 2022-03-31 18:57:31 +00:00
Johannes
92ee3a18b8 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-03-31 20:57:02 +02:00
Johannes
b13287754f fix cardalarm 2022-03-31 20:56:53 +02:00
joBr99
0d0c9edced Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui (add nextion2text) 2022-03-31 18:53:37 +00:00
Johannes
c17b95dca7 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-03-31 20:53:14 +02:00
Johannes
979c2587bb sync some changes 2022-03-31 20:53:07 +02:00
joBr99
b24405e579 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui (add nextion2text) 2022-03-31 18:39:22 +00:00
Johannes
7c3b0da36e Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-03-31 20:38:57 +02:00
Johannes
b27f3bd078 implemented bUp 2022-03-31 20:38:49 +02:00
joBr99
8c0f5db6ec Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui (add nextion2text) 2022-03-31 18:35:25 +00:00
Johannes
9b42681588 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-03-31 20:35:03 +02:00
Johannes
324b2f2165 fix dstTemp 2022-03-31 20:34:50 +02:00
joBr99
26bacb26c1 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui (add nextion2text) 2022-03-31 18:31:21 +00:00
Johannes
d151c58057 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-03-31 20:30:55 +02:00
Johannes
71dcebf6d2 hide num on alarm page on disable 2022-03-31 20:30:49 +02:00
joBr99
708e5515d1 add navigation on alarm and thermo page (add nextion2text) 2022-03-31 18:20:57 +00:00
Johannes
d74ccfcd64 add navigation on alarm and thermo page 2022-03-31 20:20:27 +02:00
joBr99
067bad12e3 implemented navigation on cardEntities Grid and Thermo (add nextion2text) 2022-03-31 14:19:07 +00:00
Johannes
5ea5c76b57 implemented navigation on cardEntities Grid and Thermo 2022-03-31 16:18:44 +02:00
Johannes
4f4d12759b upd code gen 2022-03-31 14:22:27 +02:00
Johannes
393bcc243b Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-03-31 12:58:52 +02:00
Johannes
d0d690e748 bump vers 2022-03-31 12:58:45 +02:00
joBr99
7bd3c263cf Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui (add nextion2text) 2022-03-31 10:58:09 +00:00
Johannes
22563d1cb4 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-03-31 12:57:42 +02:00
Johannes
52364e05a7 add us-l 2022-03-31 12:57:37 +02:00
Johannes
ab51c44c32 sync diff 2022-03-31 12:50:34 +02:00
joBr99
d908cb7d96 fixed screensaver pagetype (add nextion2text) 2022-03-31 10:46:03 +00:00
Johannes
39c1aa6773 fixed screensaver pagetype 2022-03-31 12:45:35 +02:00
Johannes
037fc104df Update pages.py 2022-03-31 09:48:30 +02:00
Johannes
06464404c4 Update controller.py 2022-03-31 09:39:02 +02:00
joBr99
f3933ab0e2 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui (add nextion2text) 2022-03-31 07:32:24 +00:00
Johannes
210efd1384 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-03-31 09:31:55 +02:00
Johannes
13073d2b70 bump to 24 for next release 2022-03-31 09:31:46 +02:00
joBr99
2f43430b2f . (add nextion2text) 2022-03-31 07:13:42 +00:00
Johannes
7ba6fcbbc9 . 2022-03-31 09:13:19 +02:00
joBr99
9ca1e2f717 Update cardEntities.txt (add nextion2text) 2022-03-31 06:59:06 +00:00
Johannes
da7e3c39c7 Update cardEntities.txt 2022-03-31 08:58:49 +02:00
joBr99
37a7a8db4f Update nextion2text.yml (add nextion2text) 2022-03-31 06:52:56 +00:00
Johannes
7773eedd45 Update nextion2text.yml 2022-03-31 08:52:39 +02:00
Johannes
9d82d849c5 Update cardEntities.txt 2022-03-31 08:49:28 +02:00
joBr99
9fdf8635a6 Update nextion2text.yml (add nextion2text) 2022-03-31 06:42:30 +00:00
Johannes
cddc3cf7a0 Update nextion2text.yml 2022-03-31 08:42:11 +02:00
joBr99
2ce12d0c71 ignore parts of cardEntities in diff (add nextion2text) 2022-03-31 06:34:28 +00:00
Johannes
aac014bb09 ignore parts of cardEntities in diff 2022-03-31 08:34:05 +02:00
joBr99
b3cc89f12a Merge pull request #103 from jmbinette/main (add nextion2text) 2022-03-31 06:31:08 +00:00
Johannes
cbf49483eb Merge pull request #103 from jmbinette/main
Updated HMI and TFT following EU mod (Daily update)
2022-03-31 08:30:50 +02:00
Johannes
4c6b3d2dda remove __pycache__ 2022-03-31 08:29:46 +02:00
jmbinette
24e8d6a597 bDown5 and bDown6 typo in Entities (add nextion2text) 2022-03-31 03:33:55 +00:00
jmbinette
c7a3965db4 bDown5 and bDown6 typo in Entities 2022-03-30 23:33:33 -04:00
jmbinette
8e53463d57 Commit (add nextion2text) 2022-03-31 03:13:55 +00:00
jmbinette
6acbe3b088 Commit 2022-03-30 23:13:30 -04:00
jmbinette
12e45e1a3e fix daily date update (add nextion2text) 2022-03-31 01:56:46 +00:00
Johannes
b4075826f3 fix daily date update 2022-03-31 00:28:42 +02:00
Johannes
147b99d254 weather 2022-03-31 00:28:27 +02:00
Johannes
88115cf04d Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-03-30 23:51:14 +02:00
Johannes
f92afe7bda weather update 2022-03-30 23:51:07 +02:00
joBr99
aa83e955f0 send screensaver on sleepReached (add nextion2text) 2022-03-30 21:36:50 +00:00
Johannes
10b0d75a15 send screensaver on sleepReached 2022-03-30 23:36:20 +02:00
Johannes
19aec4bb55 rename sleepReached 2022-03-30 23:30:11 +02:00
Johannes
b22f5877fd remove screensaver open event 2022-03-30 23:25:24 +02:00
Johannes
3ec432eda1 Merge pull request #101 from gerard33/patch-2
Update weather part of screensaver
2022-03-30 23:20:53 +02:00
Gerard
71804b934d Update apps.yaml 2022-03-30 23:09:02 +02:00
Gerard
fa37924f23 Add weather override examples 2022-03-30 23:08:10 +02:00
Gerard
175f4cb5e4 Update pages.py 2022-03-30 23:05:51 +02:00
joBr99
30b0c5d151 moved time and date to pageicons (add nextion2text) 2022-03-30 20:32:27 +00:00
Johannes
3f3f438a31 moved time and date to pageicons 2022-03-30 22:32:03 +02:00
Johannes
11a9be707b Update README.md 2022-03-30 22:20:32 +02:00
joBr99
3321b993c3 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui (add nextion2text) 2022-03-30 20:07:59 +00:00
Johannes
75078020f7 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-03-30 22:07:31 +02:00
Johannes
5009afb9d5 add action for sleepTimeout 2022-03-30 22:07:24 +02:00
Johannes
d3dd890582 moved entering screensaver to event 2022-03-30 22:01:54 +02:00
joBr99
42164508db added fireplace icon (add nextion2text) 2022-03-30 16:55:43 +00:00
Johannes
2996a7e67c added fireplace icon 2022-03-30 18:55:19 +02:00
joBr99
7b7c1b59fa Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui (add nextion2text) 2022-03-30 16:28:21 +00:00
Johannes
314b4c58ea Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2022-03-30 18:27:51 +02:00
Johannes
d67d53f7b1 added some more icons 2022-03-30 18:27:44 +02:00
Johannes
e508e9ad1a Update README.md 2022-03-30 17:36:16 +02:00
Johannes
da85a76a86 Update README.md 2022-03-30 17:35:29 +02:00
joBr99
b9dd24889e added home-export-outline and import icon (add nextion2text) 2022-03-30 15:03:47 +00:00
Johannes
4ee4d0f800 added home-export-outline and import icon 2022-03-30 17:03:21 +02:00
Johannes
df94b33e42 add note for ioBroker users 2022-03-30 14:52:52 +02:00
Johannes
5707fb7085 Delete CODEOWNERS 2022-03-30 14:07:46 +02:00
Johannes
90ab2ebef8 Update README.md 2022-03-30 14:04:50 +02:00
Johannes
2e46fc82d9 Create CODEOWNERS 2022-03-30 13:52:18 +02:00
105 changed files with 7395 additions and 4323 deletions

View File

@@ -5,6 +5,7 @@ on:
paths:
- HMI/nspanel.HMI
- HMI/US/portrait/nspanel_US_P.HMI
- HMI/US/portrait/diff-ignore/cardEntities.txt
- HMI/US/landscape/nspanel_US_L.HMI
- .github/workflows/nextion2text.yml
push:
@@ -13,6 +14,7 @@ on:
paths:
- HMI/nspanel.HMI
- HMI/US/portrait/nspanel_US_P.HMI
- HMI/US/portrait/diff-ignore/cardEntities.txt
- HMI/US/landscape/nspanel_US_L.HMI
- .github/workflows/nextion2text.yml

1
.gitignore vendored
View File

@@ -1,2 +1,3 @@
__pycache__/
# don't add nextion2text
HMI/Nextion2Text.py

View File

@@ -1,7 +1,7 @@
# NSPanel Lovelance UI
The general idea is that the Nextion Display cycles though a page counter and the esp32 tells the display what to do.
If you are changeing the page the nextion display will send and event to the esp32 and it has to answer with the messages, that will update the current page with it's desired components. This enables easy changes, without touching the HMI Project.
If you are changeing the page the nextion display will send and event to the esp32 and it has to answer with the messages~ that will update the current page with it's desired components. This enables easy changes~ without touching the HMI Project.
# Message Flow
@@ -25,7 +25,7 @@ This protocol does not try to implement broken JSON Commands with a specified ty
Instead the commands are plain text commands with parameters.
## Example for valid Message
This message has to be generated for the Message "1337" (1337 is not a valid command, this is just an example)
This message has to be generated for the Message "1337" (1337 is not a valid command~ this is just an example)
```
55 BB 04 00 31 33 33 37 5F 5B
```
@@ -39,95 +39,95 @@ wake screen:
set brightness of screensaver:
`dimmode,0 - (screen off)`
`dimmode~0 - (screen off)`
`dimmode,100 - (screen on with full brightness)`
`dimmode~100 - (screen on with full brightness)`
set current time:
`time,22 : 26`
`time~22 : 26`
set current date:
`date,?Di 24. Februar`
`date~Di 24. Februar`
set screensaver timeout (set time in sec, max 65):
set screensaver timeout (set time in sec~ max 65):
`timeout,15 - timeout after 15 seconds`
`timeout~15 - timeout after 15 seconds`
`timeout,0 - disable screensaver`
`timeout~0 - disable screensaver`
change the page type:
`pageType,pageStartup`
`pageType~pageStartup`
`pageType,cardEntities`
`pageType~cardEntities`
`pageType,cardThermo`
`pageType~cardThermo`
`pageType,cardMedia`
`pageType~cardMedia`
`pageType,popupLight,Schreibtischlampe,light.schreibtischlampe`
`pageType~popupLight~Schreibtischlampe~light.schreibtischlampe`
`pageType,popupNotify`
`pageType~popupNotify`
`pageType,screensaver`
`pageType~screensaver`
### screensaver page
`weatherUpdate,? tMainIcon? tMainText? tMRIcon? tMR? tForecast1? tF1Icon? tForecast1Val? tForecast2? tF2Icon? tForecast2Val?tForecast3? tF3Icon? tForecast3Val?tForecast4? tF4Icon? tForecast4Val`
`weatherUpdate~tMainIcon~tMainText~tForecast1~tF1Icon~tForecast1Val~tForecast2~tF2Icon~tForecast2Val~tForecast3~tF3Icon~tForecast3Val~tForecast4~tF4Icon~tForecast4Val~optionalLayoutIcon~optionalLayoutText`
### cardEntities Page
The following message can be used to update the content on the cardEntities Page
`entityUpd,heading,navigation,[,*type*,*internalNameEntity*,*iconId*,*iconColor*,*displayNameEntity*,*optionalValue*]x4`
`entityUpd~heading~navigation~[~*type*~*internalNameEntity*~*iconId*~*iconColor*~*displayNameEntity*~*optionalValue*]x4`
`,light,light.entityName,1,17299,Light1,0`
`~light~light.entityName~1~17299~Light1~0`
`,shutter,cover.entityName,0,17299,Shutter2,`
`~shutter~cover.entityName~0~17299~Shutter2~`
`,delete,,,,,`
`~delete~~~~~`
`,text,sensor.entityName,3,17299,Temperature,content`
`~text~sensor.entityName~3~17299~Temperature~content`
`,button,button.entityName,3,17299,bt-name,bt-text`
`~button~button.entityName~3~17299~bt-name~bt-text`
`,switch,switch.entityName,4,17299,Switch1,0`
`~switch~switch.entityName~4~17299~Switch1~0`
### popupLight Page
`entityUpdateDetail,*iconId*,*iconColor*,*buttonState*,*sliderBrightnessPos*,*sliderColorTempPos*,*colorMode*`
`entityUpdateDetail~*iconId*~*iconColor*~*buttonState*~*sliderBrightnessPos*~*sliderColorTempPos*~*colorMode*`
`entityUpdateDetail,1,17299,1,100,78,enable`
`entityUpdateDetail~1~17299~1~100~78~enable`
`entityUpdateDetail,1,17299,1,100,disable`
`entityUpdateDetail~1~17299~1~100~disable`
### popupShutter Page
`entityUpdateDetail,*ignored*,*sliderPos*`
`entityUpdateDetail~*ignored*~*sliderPos*`
`entityUpdateDetail,1,77`
`entityUpdateDetail~1~77`
### popupNotify Page
`entityUpdateDetail,*internalName*,*tHeading*,*tHeadingColor*,*b1*,*tB1Color*,*b2*,*tB2Color*,*tText*,*tTextColor*,*sleepTimeout*`
`entityUpdateDetail~*internalName*~*tHeading*~*tHeadingColor*~*b1*~*tB1Color*~*b2*~*tB2Color*~*tText*~*tTextColor*~*sleepTimeout*`
`exitPopup`
### cardThermo Page
`entityUpd,*internalNameEntiy*,*heading*,*currentTemp*,*destTemp*,*status*,*minTemp*,*maxTemp*,*stepTemp*[[,*iconId*,*activeColor*,*state*,*hvac_action*]]`
`entityUpd~*heading*~*navigation*~*internalNameEntiy*~*currentTemp*~*destTemp*~*status*~*minTemp*~*maxTemp*~*stepTemp*[[~*iconId*~*activeColor*~*state*~*hvac_action*]]`
`[[]]` are not part of the command, this part repeats 9 times for the buttons
`[[]]` are not part of the command~ this part repeats 9 times for the buttons
### cardMedia Page
`entityUpd,|*internalNameEntiy*|*heading*|*icon*|*title*|*author*|*volume*|*playpauseicon*|currentSpeaker|speakerList-seperated-by-?`
`entityUpd~*heading*~*navigation*~*internalNameEntiy*~*icon*~*title*~*author*~*volume*~*playpauseicon*~currentSpeaker~speakerList-seperated-by-?`
### cardAlarm Page
`entityUpd,*internalNameEntity*,*arm1*,*arm1ActionName*,*arm2*,*arm2ActionName*,*arm3*,*arm3ActionName*,*arm4*,*arm4ActionName*,*icon*,*iconcolor*,*numpadStatus*,*flashing*`
`entityUpd~*internalNameEntity*~*navigation*~*arm1*~*arm1ActionName*~*arm2*~*arm2ActionName*~*arm3*~*arm3ActionName*~*arm4*~*arm4ActionName*~*icon*~*iconcolor*~*numpadStatus*~*flashing*`
## Messages from Nextion Display
@@ -138,6 +138,9 @@ The following message can be used to update the content on the cardEntities Page
`event,buttonPress2,pageName,bExit,number_of_taps`
`event,buttonPress2,pageName,sleepReached`
### startup page
`event,startup,version,model`

View File

@@ -1,18 +1,18 @@
diff -bur HMI/n2t-out/Program.s.txt HMI/US/landscape/n2t-out/Program.s.txt
--- HMI/n2t-out/Program.s.txt 2022-03-30 09:17:12.762388734 +0000
+++ HMI/US/landscape/n2t-out/Program.s.txt 2022-03-30 09:17:13.638390126 +0000
@@ -10,6 +10,6 @@
int sleepValue=0
--- HMI/n2t-out/Program.s.txt 2022-04-03 07:35:47.898571291 +0000
+++ HMI/US/landscape/n2t-out/Program.s.txt 2022-04-03 07:35:48.646571620 +0000
@@ -11,6 +11,6 @@
// dim value
int dimValue=40
int dimValueNormal=100
- // fix touch offset
- lcd_dev fffb 0002 0000 0020
+ // fix touch offset (Removed for US version)
+ //lcd_dev fffb 0002 0000 0020
page pageStartup
diff -bur HMI/n2t-out/pageStartup.txt HMI/US/landscape/n2t-out/pageStartup.txt
--- HMI/n2t-out/pageStartup.txt 2022-03-30 09:17:12.762388734 +0000
+++ HMI/US/landscape/n2t-out/pageStartup.txt 2022-03-30 09:17:13.638390126 +0000
--- HMI/n2t-out/pageStartup.txt 2022-04-03 07:35:47.902571293 +0000
+++ HMI/US/landscape/n2t-out/pageStartup.txt 2022-04-03 07:35:48.646571620 +0000
@@ -177,7 +177,7 @@
recmod=1
bauds=115200

View File

@@ -10,6 +10,7 @@ Program.s
int sleepValue=0
// dim value
int dimValue=40
int dimValueNormal=100
// fix touch offset (Removed for US version)
//lcd_dev fffb 0002 0000 0020
page pageStartup

View File

@@ -25,7 +25,6 @@ Page cardAlarm
vis tInstruction,0
vis tTmp,0
vis tId,0
//vis nPageDisp,0
vis arm1,0
vis arm2,0
vis arm3,0
@@ -340,7 +339,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardAlarm,bPrev"
tSend.txt="event,buttonPress2,cardAlarm,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -1038,53 +1044,80 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
//entn
spstr strCommand.txt,entn.txt,",",1
spstr strCommand.txt,entn.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
//text arm1
spstr strCommand.txt,arm1.txt,",",2
spstr strCommand.txt,arm1.txt,"~",3
if(arm1.txt!="")
{
vis arm1,1
}
//id arm1
spstr strCommand.txt,va1.txt,",",3
spstr strCommand.txt,va1.txt,"~",4
//text arm2
spstr strCommand.txt,arm2.txt,",",4
spstr strCommand.txt,arm2.txt,"~",5
if(arm2.txt!="")
{
vis arm2,1
}
//id arm2
spstr strCommand.txt,va2.txt,",",5
spstr strCommand.txt,va2.txt,"~",6
//text arm3
spstr strCommand.txt,arm3.txt,",",6
spstr strCommand.txt,arm3.txt,"~",7
if(arm3.txt!="")
{
vis arm3,1
}
//id arm3
spstr strCommand.txt,va3.txt,",",7
spstr strCommand.txt,va3.txt,"~",8
//text arm4
spstr strCommand.txt,arm4.txt,",",8
spstr strCommand.txt,arm4.txt,"~",9
if(arm4.txt!="")
{
vis arm4,1
}
//id arm4
spstr strCommand.txt,va4.txt,",",9
spstr strCommand.txt,va4.txt,"~",10
//icon
spstr strCommand.txt,tTmp.txt,",",10
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon.txt,sys0,1
//icon color
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,sys0,0,0
tIcon.pco=sys0
//numpad status
spstr strCommand.txt,tTmp.txt,",",12
spstr strCommand.txt,tTmp.txt,"~",13
if(tTmp.txt!="disable")
{
vis b0,1
@@ -1099,9 +1132,23 @@ Timer tmSerial
vis b9,1
vis b10,1
vis tCode,1
}else
{
vis b0,0
vis b1,0
vis b2,0
vis b3,0
vis b4,0
vis b5,0
vis b6,0
vis b7,0
vis b8,0
vis b9,0
vis b10,0
vis tCode,0
}
//flashing status
spstr strCommand.txt,tTmp.txt,",",13
spstr strCommand.txt,tTmp.txt,"~",14
if(tTmp.txt=="enable")
{
tmFlash.en=1
@@ -1113,67 +1160,80 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
dim=dimValue
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="popupLight")
if(tId.txt=="pageStartup")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
page pageStartup
}
if(tId.txt=="screensaver")
{
page screensaver
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardThermo")
if(tId.txt=="cardGrid")
{
page cardThermo
page cardGrid
}
if(tId.txt=="pageStartup")
if(tId.txt=="popupLight")
{
page pageStartup
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="popupShutter")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupShutter
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardGrid")
if(tId.txt=="cardThermo")
{
page cardGrid
page cardThermo
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="cardAlarm")
{
page cardAlarm
}
}
// end of user code
udelete payloadLength-1
@@ -1196,14 +1256,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardAlarm"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -429,7 +429,7 @@ Text tIcon1
Vertical Alignment : center
Input Type : character
Text : 
Max. Text Size : 10
Max. Text Size : 5
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
@@ -459,7 +459,7 @@ Text tIcon2
Vertical Alignment : center
Input Type : character
Text : 
Max. Text Size : 30
Max. Text Size : 5
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
@@ -489,7 +489,7 @@ Text tIcon3
Vertical Alignment : center
Input Type : character
Text : 
Max. Text Size : 10
Max. Text Size : 5
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
@@ -519,7 +519,7 @@ Text tIcon4
Vertical Alignment : center
Input Type : character
Text : 
Max. Text Size : 30
Max. Text Size : 5
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
@@ -1431,7 +1431,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardEntities,bPrev"
tSend.txt="event,buttonPress2,cardEntities,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -2060,15 +2067,42 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
// command format: entityUpd,heading,navigation,[,type,internalName,iconId,displayName,optionalValue]x4
spstr strCommand.txt,tHeading.txt,",",1
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
// get Type
spstr strCommand.txt,type1.txt,",",3
spstr strCommand.txt,type1.txt,"~",3
// get internal name
spstr strCommand.txt,entn1.txt,",",4
spstr strCommand.txt,entn1.txt,"~",4
if(type1.txt=="delete"||type1.txt=="")
{
vis bUp1,0
@@ -2083,16 +2117,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",5
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon1.txt,sys0,1
vis tIcon1,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",6
covx tTmp.txt,sys0,0,0
tIcon1.pco=sys0
// set name
spstr strCommand.txt,tEntity1.txt,",",7
spstr strCommand.txt,tEntity1.txt,"~",7
vis tEntity1,1
}
if(type1.txt=="shutter")
@@ -2115,7 +2149,7 @@ Timer tmSerial
vis hSlider1,0
vis nNum1,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",8
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,sys0,0,0
btOnOff1.val=sys0
}
@@ -2129,7 +2163,7 @@ Timer tmSerial
vis hSlider1,0
vis nNum1,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",8
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,sys0,0,0
btOnOff1.val=sys0
}
@@ -2146,7 +2180,7 @@ Timer tmSerial
bText1.pco=65535
bText1.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText1.txt,",",8
spstr strCommand.txt,bText1.txt,"~",8
}
if(type1.txt=="button")
{
@@ -2161,7 +2195,7 @@ Timer tmSerial
bText1.pco=1374
bText1.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText1.txt,",",8
spstr strCommand.txt,bText1.txt,"~",8
}
if(type1.txt=="number")
{
@@ -2174,7 +2208,7 @@ Timer tmSerial
vis hSlider1,1
vis nNum1,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText1.txt,",",8
spstr strCommand.txt,bText1.txt,"~",8
//first value is current value
spstr bText1.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -2190,9 +2224,9 @@ Timer tmSerial
hSlider1.maxval=sys0
}
// get Type
spstr strCommand.txt,type2.txt,",",9
spstr strCommand.txt,type2.txt,"~",9
// get internal name
spstr strCommand.txt,entn2.txt,",",10
spstr strCommand.txt,entn2.txt,"~",10
if(type2.txt=="delete"||type2.txt=="")
{
vis bUp2,0
@@ -2207,16 +2241,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon2.txt,sys0,1
vis tIcon2,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",12
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,sys0,0,0
tIcon2.pco=sys0
// set name
spstr strCommand.txt,tEntity2.txt,",",13
spstr strCommand.txt,tEntity2.txt,"~",13
vis tEntity2,1
}
if(type2.txt=="shutter")
@@ -2239,7 +2273,7 @@ Timer tmSerial
vis hSlider2,0
vis nNum2,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",14
spstr strCommand.txt,tTmp.txt,"~",14
covx tTmp.txt,sys0,0,0
btOnOff2.val=sys0
}
@@ -2253,7 +2287,7 @@ Timer tmSerial
vis hSlider2,0
vis nNum2,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",14
spstr strCommand.txt,tTmp.txt,"~",14
covx tTmp.txt,sys0,0,0
btOnOff2.val=sys0
}
@@ -2270,7 +2304,7 @@ Timer tmSerial
bText2.pco=65535
bText2.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText2.txt,",",14
spstr strCommand.txt,bText2.txt,"~",14
}
if(type2.txt=="button")
{
@@ -2285,7 +2319,7 @@ Timer tmSerial
bText2.pco=1374
bText2.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText2.txt,",",14
spstr strCommand.txt,bText2.txt,"~",14
}
if(type2.txt=="number")
{
@@ -2298,7 +2332,7 @@ Timer tmSerial
vis hSlider2,1
vis nNum2,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText2.txt,",",14
spstr strCommand.txt,bText2.txt,"~",14
//first value is current value
spstr bText2.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -2314,9 +2348,9 @@ Timer tmSerial
hSlider2.maxval=sys0
}
// get Type
spstr strCommand.txt,type3.txt,",",15
spstr strCommand.txt,type3.txt,"~",15
// get internal name
spstr strCommand.txt,entn3.txt,",",16
spstr strCommand.txt,entn3.txt,"~",16
if(type3.txt=="delete"||type3.txt=="")
{
vis bUp3,0
@@ -2331,16 +2365,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",17
spstr strCommand.txt,tTmp.txt,"~",17
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon3.txt,sys0,1
vis tIcon3,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",18
spstr strCommand.txt,tTmp.txt,"~",18
covx tTmp.txt,sys0,0,0
tIcon3.pco=sys0
// set name
spstr strCommand.txt,tEntity3.txt,",",19
spstr strCommand.txt,tEntity3.txt,"~",19
vis tEntity3,1
}
if(type3.txt=="shutter")
@@ -2363,7 +2397,7 @@ Timer tmSerial
vis hSlider3,0
vis nNum3,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",20
spstr strCommand.txt,tTmp.txt,"~",20
covx tTmp.txt,sys0,0,0
btOnOff3.val=sys0
}
@@ -2377,7 +2411,7 @@ Timer tmSerial
vis hSlider3,0
vis nNum3,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",20
spstr strCommand.txt,tTmp.txt,"~",20
covx tTmp.txt,sys0,0,0
btOnOff3.val=sys0
}
@@ -2394,7 +2428,7 @@ Timer tmSerial
bText3.pco=65535
bText3.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText3.txt,",",20
spstr strCommand.txt,bText3.txt,"~",20
}
if(type3.txt=="button")
{
@@ -2409,7 +2443,7 @@ Timer tmSerial
bText3.pco=1374
bText3.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText3.txt,",",20
spstr strCommand.txt,bText3.txt,"~",20
}
if(type3.txt=="number")
{
@@ -2422,7 +2456,7 @@ Timer tmSerial
vis hSlider3,1
vis nNum3,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText3.txt,",",20
spstr strCommand.txt,bText3.txt,"~",20
//first value is current value
spstr bText3.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -2438,9 +2472,9 @@ Timer tmSerial
hSlider3.maxval=sys0
}
// get Type
spstr strCommand.txt,type4.txt,",",21
spstr strCommand.txt,type4.txt,"~",21
// get internal name
spstr strCommand.txt,entn4.txt,",",22
spstr strCommand.txt,entn4.txt,"~",22
if(type4.txt=="delete"||type4.txt=="")
{
vis bUp4,0
@@ -2455,16 +2489,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",23
spstr strCommand.txt,tTmp.txt,"~",23
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon4.txt,sys0,1
vis tIcon4,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",24
spstr strCommand.txt,tTmp.txt,"~",24
covx tTmp.txt,sys0,0,0
tIcon4.pco=sys0
// set name
spstr strCommand.txt,tEntity4.txt,",",25
spstr strCommand.txt,tEntity4.txt,"~",25
vis tEntity4,1
}
if(type4.txt=="shutter")
@@ -2487,7 +2521,7 @@ Timer tmSerial
vis hSlider4,0
vis nNum4,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",26
spstr strCommand.txt,tTmp.txt,"~",26
covx tTmp.txt,sys0,0,0
btOnOff4.val=sys0
}
@@ -2501,7 +2535,7 @@ Timer tmSerial
vis hSlider4,0
vis nNum4,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",26
spstr strCommand.txt,tTmp.txt,"~",26
covx tTmp.txt,sys0,0,0
btOnOff4.val=sys0
}
@@ -2518,7 +2552,7 @@ Timer tmSerial
bText4.pco=65535
bText4.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText4.txt,",",26
spstr strCommand.txt,bText4.txt,"~",26
}
if(type4.txt=="button")
{
@@ -2533,7 +2567,7 @@ Timer tmSerial
bText4.pco=1374
bText4.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText4.txt,",",26
spstr strCommand.txt,bText4.txt,"~",26
}
if(type4.txt=="number")
{
@@ -2546,7 +2580,7 @@ Timer tmSerial
vis hSlider4,1
vis nNum4,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText4.txt,",",26
spstr strCommand.txt,bText4.txt,"~",26
//first value is current value
spstr bText4.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -2566,11 +2600,11 @@ Timer tmSerial
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
@@ -2620,23 +2654,23 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
// end of user code
@@ -2660,14 +2694,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardEntities"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -515,7 +515,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardGrid,bPrev"
tSend.txt="event,buttonPress2,cardGrid,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -1000,15 +1007,42 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
// command format: entityUpd,heading,navigation,[,type,internalName,iconId,iconColor,displayName,optionalValue]x6
spstr strCommand.txt,tHeading.txt,",",1
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
// get Type
spstr strCommand.txt,type1.txt,",",3
spstr strCommand.txt,type1.txt,"~",3
// get internal name
spstr strCommand.txt,entn1.txt,",",4
spstr strCommand.txt,entn1.txt,"~",4
if(type1.txt=="delete"||type1.txt=="")
{
vis tEntity1,0
@@ -1016,22 +1050,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",5
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity1.txt,sys0,1
vis bEntity1,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",6
covx tTmp.txt,sys0,0,0
bEntity1.pco=sys0
// set name
spstr strCommand.txt,tEntity1.txt,",",7
spstr strCommand.txt,tEntity1.txt,"~",7
vis tEntity1,1
}
// get Type
spstr strCommand.txt,type2.txt,",",9
spstr strCommand.txt,type2.txt,"~",9
// get internal name
spstr strCommand.txt,entn2.txt,",",10
spstr strCommand.txt,entn2.txt,"~",10
if(type2.txt=="delete"||type2.txt=="")
{
vis tEntity2,0
@@ -1039,22 +1073,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity2.txt,sys0,1
vis bEntity2,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",12
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,sys0,0,0
bEntity2.pco=sys0
// set name
spstr strCommand.txt,tEntity2.txt,",",13
spstr strCommand.txt,tEntity2.txt,"~",13
vis tEntity2,1
}
// get Type
spstr strCommand.txt,type3.txt,",",15
spstr strCommand.txt,type3.txt,"~",15
// get internal name
spstr strCommand.txt,entn3.txt,",",16
spstr strCommand.txt,entn3.txt,"~",16
if(type3.txt=="delete"||type3.txt=="")
{
vis tEntity3,0
@@ -1062,22 +1096,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",17
spstr strCommand.txt,tTmp.txt,"~",17
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity3.txt,sys0,1
vis bEntity3,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",18
spstr strCommand.txt,tTmp.txt,"~",18
covx tTmp.txt,sys0,0,0
bEntity3.pco=sys0
// set name
spstr strCommand.txt,tEntity3.txt,",",19
spstr strCommand.txt,tEntity3.txt,"~",19
vis tEntity3,1
}
// get Type
spstr strCommand.txt,type4.txt,",",21
spstr strCommand.txt,type4.txt,"~",21
// get internal name
spstr strCommand.txt,entn4.txt,",",22
spstr strCommand.txt,entn4.txt,"~",22
if(type4.txt=="delete"||type4.txt=="")
{
vis tEntity4,0
@@ -1085,22 +1119,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",23
spstr strCommand.txt,tTmp.txt,"~",23
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity4.txt,sys0,1
vis bEntity4,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",24
spstr strCommand.txt,tTmp.txt,"~",24
covx tTmp.txt,sys0,0,0
bEntity4.pco=sys0
// set name
spstr strCommand.txt,tEntity4.txt,",",25
spstr strCommand.txt,tEntity4.txt,"~",25
vis tEntity4,1
}
// get Type
spstr strCommand.txt,type5.txt,",",27
spstr strCommand.txt,type5.txt,"~",27
// get internal name
spstr strCommand.txt,entn5.txt,",",28
spstr strCommand.txt,entn5.txt,"~",28
if(type5.txt=="delete"||type5.txt=="")
{
vis tEntity5,0
@@ -1108,22 +1142,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",29
spstr strCommand.txt,tTmp.txt,"~",29
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity5.txt,sys0,1
vis bEntity5,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",30
spstr strCommand.txt,tTmp.txt,"~",30
covx tTmp.txt,sys0,0,0
bEntity5.pco=sys0
// set name
spstr strCommand.txt,tEntity5.txt,",",31
spstr strCommand.txt,tEntity5.txt,"~",31
vis tEntity5,1
}
// get Type
spstr strCommand.txt,type6.txt,",",33
spstr strCommand.txt,type6.txt,"~",33
// get internal name
spstr strCommand.txt,entn6.txt,",",34
spstr strCommand.txt,entn6.txt,"~",34
if(type6.txt=="delete"||type6.txt=="")
{
vis tEntity6,0
@@ -1131,16 +1165,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",35
spstr strCommand.txt,tTmp.txt,"~",35
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity6.txt,sys0,1
vis bEntity6,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",36
spstr strCommand.txt,tTmp.txt,"~",36
covx tTmp.txt,sys0,0,0
bEntity6.pco=sys0
// set name
spstr strCommand.txt,tEntity6.txt,",",37
spstr strCommand.txt,tEntity6.txt,"~",37
vis tEntity6,1
}
}
@@ -1148,11 +1182,11 @@ Timer tmSerial
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
@@ -1202,23 +1236,23 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
// end of user code
@@ -1242,14 +1276,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardGrid"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -93,8 +93,8 @@ Text tTmp
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 21
y coordinate : 147
x coordinate : 29
y coordinate : 144
Width : 27
Height : 30
Effect : load
@@ -153,8 +153,8 @@ Text tId
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 51
y coordinate : 167
x coordinate : 57
y coordinate : 157
Width : 30
Height : 30
Effect : load
@@ -856,7 +856,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardMedia,bPrev"
tSend.txt="event,buttonPress2,cardMedia,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -920,31 +927,58 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
//entity name
spstr strCommand.txt,entn.txt,"|",1
//heading
spstr strCommand.txt,tHeading.txt,"|",2
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
//entity name
spstr strCommand.txt,entn.txt,"~",3
//icon
spstr strCommand.txt,tTmp.txt,"|",3
spstr strCommand.txt,tTmp.txt,"~",4
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon.txt,sys0,1
//title
spstr strCommand.txt,tTitle.txt,"|",4
spstr strCommand.txt,tTitle.txt,"~",5
//author
spstr strCommand.txt,tAuthor.txt,"|",5
spstr strCommand.txt,tAuthor.txt,"~",6
//volume
spstr strCommand.txt,tTmp.txt,"|",6
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,sys0,0,0
hVolume.val=sys0
//icon
spstr strCommand.txt,tTmp.txt,"|",7
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tPlayPause.txt,sys0,1
//speaker current
spstr strCommand.txt,tSpeaker.txt,"|",8
spstr strCommand.txt,tSpeaker.txt,"~",9
if(tSpeaker.txt!="")
{
tSpeaker.pco=1374
@@ -953,14 +987,14 @@ Timer tmSerial
tSpeaker.pco=65535
}
//speaker list
spstr strCommand.txt,vaSpeakerList.txt,"|",9
spstr strCommand.txt,vaSpeakerList.txt,"~",10
if(vaSpeakerList.txt=="")
{
vis t6,0
}
vaSpeakerPos.val=0
// on off button
spstr strCommand.txt,tTmp.txt,"|",10
spstr strCommand.txt,tTmp.txt,"~",11
if(tTmp.txt=="disable")
{
vis t5,0
@@ -973,62 +1007,75 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
dim=dimValue
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="popupLight")
if(tId.txt=="pageStartup")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
page pageStartup
}
if(tId.txt=="screensaver")
{
page screensaver
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardThermo")
if(tId.txt=="cardGrid")
{
page cardThermo
page cardGrid
}
if(tId.txt=="pageStartup")
if(tId.txt=="popupLight")
{
page pageStartup
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="popupShutter")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupShutter
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardGrid")
if(tId.txt=="cardThermo")
{
page cardGrid
page cardThermo
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="cardAlarm")
{
@@ -1065,14 +1112,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardMedia"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -683,7 +683,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardThermo,bPrev"
tSend.txt="event,buttonPress2,cardThermo,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -1188,29 +1195,56 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
//entity name
spstr strCommand.txt,entn.txt,",",1
//heading
spstr strCommand.txt,tHeading.txt,",",2
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
//entity name
spstr strCommand.txt,entn.txt,"~",3
//currentTemp
spstr strCommand.txt,tTmp.txt,",",3
spstr strCommand.txt,tTmp.txt,"~",4
covx tTmp.txt,xTempCurr.val,0,0
//dstTemp
spstr strCommand.txt,tTmp.txt,",",4
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,xTempDest.val,0,0
//status
spstr strCommand.txt,tStatus.txt,",",5
spstr strCommand.txt,tStatus.txt,"~",6
//minTemp
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,xTempMin.val,0,0
//maxTemp
spstr strCommand.txt,tTmp.txt,",",7
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,xTempMax.val,0,0
//tempStep
spstr strCommand.txt,tTmp.txt,",",8
spstr strCommand.txt,tTmp.txt,"~",9
covx tTmp.txt,xTempStep.val,0,0
// disable all buttons
vis bt0,0
@@ -1223,243 +1257,248 @@ Timer tmSerial
vis bt7,0
vis bt8,0
//bt0
spstr strCommand.txt,tTmp.txt,",",9
spstr strCommand.txt,tTmp.txt,"~",10
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt0.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",10
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,bt0.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,bt0.val,0,0
// save action
spstr strCommand.txt,va0.txt,",",12
spstr strCommand.txt,va0.txt,"~",13
//enable
vis bt0,1
}
//bt1
spstr strCommand.txt,tTmp.txt,",",13
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt1.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",14
covx tTmp.txt,bt1.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",15
covx tTmp.txt,bt1.val,0,0
// save action
spstr strCommand.txt,va1.txt,",",16
//enable
vis bt1,1
}
//bt2
spstr strCommand.txt,tTmp.txt,",",17
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt2.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",18
covx tTmp.txt,bt2.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",19
covx tTmp.txt,bt2.val,0,0
// save action
spstr strCommand.txt,va2.txt,",",20
//enable
vis bt2,1
}
//bt3
spstr strCommand.txt,tTmp.txt,",",21
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt3.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",22
covx tTmp.txt,bt3.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",23
covx tTmp.txt,bt3.val,0,0
// save action
spstr strCommand.txt,va3.txt,",",24
//enable
vis bt3,1
}
//bt4
spstr strCommand.txt,tTmp.txt,",",25
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt4.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",26
covx tTmp.txt,bt4.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",27
covx tTmp.txt,bt4.val,0,0
// save action
spstr strCommand.txt,va4.txt,",",28
//enable
vis bt4,1
}
//bt5
spstr strCommand.txt,tTmp.txt,",",29
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt5.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",30
covx tTmp.txt,bt5.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",31
covx tTmp.txt,bt5.val,0,0
// save action
spstr strCommand.txt,va5.txt,",",32
//enable
vis bt5,1
}
//bt6
spstr strCommand.txt,tTmp.txt,",",33
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt6.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",34
covx tTmp.txt,bt6.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",35
covx tTmp.txt,bt6.val,0,0
// save action
spstr strCommand.txt,va6.txt,",",36
//enable
vis bt6,1
}
//bt7
spstr strCommand.txt,tTmp.txt,",",37
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt7.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",38
covx tTmp.txt,bt7.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",39
covx tTmp.txt,bt7.val,0,0
// save action
spstr strCommand.txt,va7.txt,",",40
//enable
vis bt7,1
}
//bt8
spstr strCommand.txt,tTmp.txt,",",41
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt8.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",42
covx tTmp.txt,bt8.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",43
covx tTmp.txt,bt8.val,0,0
// save action
spstr strCommand.txt,va8.txt,",",44
//enable
vis bt8,1
}
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="popupLight")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="pageStartup")
{
page pageStartup
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardGrid")
{
page cardGrid
}
if(tId.txt=="cardAlarm")
{
page cardAlarm
}
}
// end of user code
udelete payloadLength-1
bufferPos=0
}
}
}
}
// next character
bufferPos++
}
}
} //bt1
spstr strCommand.txt,tTmp.txt,"~",14
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt1.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",15
covx tTmp.txt,bt1.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",16
covx tTmp.txt,bt1.val,0,0
// save action
spstr strCommand.txt,va1.txt,"~",17
//enable
vis bt1,1
} //bt2
spstr strCommand.txt,tTmp.txt,"~",18
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt2.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",19
covx tTmp.txt,bt2.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",20
covx tTmp.txt,bt2.val,0,0
// save action
spstr strCommand.txt,va2.txt,"~",21
//enable
vis bt2,1
} //bt3
spstr strCommand.txt,tTmp.txt,"~",22
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt3.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",23
covx tTmp.txt,bt3.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",24
covx tTmp.txt,bt3.val,0,0
// save action
spstr strCommand.txt,va3.txt,"~",25
//enable
vis bt3,1
} //bt4
spstr strCommand.txt,tTmp.txt,"~",26
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt4.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",27
covx tTmp.txt,bt4.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",28
covx tTmp.txt,bt4.val,0,0
// save action
spstr strCommand.txt,va4.txt,"~",29
//enable
vis bt4,1
} //bt5
spstr strCommand.txt,tTmp.txt,"~",30
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt5.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",31
covx tTmp.txt,bt5.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",32
covx tTmp.txt,bt5.val,0,0
// save action
spstr strCommand.txt,va5.txt,"~",33
//enable
vis bt5,1
} //bt6
spstr strCommand.txt,tTmp.txt,"~",34
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt6.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",35
covx tTmp.txt,bt6.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",36
covx tTmp.txt,bt6.val,0,0
// save action
spstr strCommand.txt,va6.txt,"~",37
//enable
vis bt6,1
} //bt7
spstr strCommand.txt,tTmp.txt,"~",38
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt7.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",39
covx tTmp.txt,bt7.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",40
covx tTmp.txt,bt7.val,0,0
// save action
spstr strCommand.txt,va7.txt,"~",41
//enable
vis bt7,1
} //bt8
spstr strCommand.txt,tTmp.txt,"~",42
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt8.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",43
covx tTmp.txt,bt8.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",44
covx tTmp.txt,bt8.val,0,0
// save action
spstr strCommand.txt,va8.txt,"~",45
//enable
vis bt8,1
}
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="pageStartup")
{
page pageStartup
}
if(tId.txt=="screensaver")
{
page screensaver
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardGrid")
{
page cardGrid
}
if(tId.txt=="popupLight")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="popupShutter")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupShutter
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardThermo")
{
page cardThermo
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="cardAlarm")
{
page cardAlarm
}
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
// end of user code
udelete payloadLength-1
bufferPos=0
}
}
}
}
// next character
bufferPos++
}
}
Timer tmSleep
Attributes
@@ -1470,14 +1509,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardThermo"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -1,11 +1,7 @@
Program.s
0 Component(s)
9 Line(s) of event code
9 Unique line(s) of event code
pageIcons
5 Component(s)
0 Line(s) of event code
0 Unique line(s) of event code
10 Line(s) of event code
10 Unique line(s) of event code
pageTest
13 Component(s)
13 Line(s) of event code
@@ -14,49 +10,53 @@ pageSerialTest
13 Component(s)
48 Line(s) of event code
43 Unique line(s) of event code
pageIcons
7 Component(s)
0 Line(s) of event code
0 Unique line(s) of event code
popupNotify
17 Component(s)
179 Line(s) of event code
118 Unique line(s) of event code
popupShutter
19 Component(s)
179 Line(s) of event code
102 Unique line(s) of event code
screensaver
31 Component(s)
183 Line(s) of event code
133 Unique line(s) of event code
popupLight
27 Component(s)
323 Line(s) of event code
174 Unique line(s) of event code
178 Line(s) of event code
117 Unique line(s) of event code
pageStartup
19 Component(s)
150 Line(s) of event code
113 Unique line(s) of event code
cardAlarm
35 Component(s)
276 Line(s) of event code
172 Unique line(s) of event code
cardMedia
30 Component(s)
278 Line(s) of event code
139 Unique line(s) of event code
cardThermo
41 Component(s)
405 Line(s) of event code
217 Unique line(s) of event code
popupShutter
19 Component(s)
178 Line(s) of event code
101 Unique line(s) of event code
cardGrid
39 Component(s)
388 Line(s) of event code
224 Unique line(s) of event code
430 Line(s) of event code
249 Unique line(s) of event code
popupLight
27 Component(s)
322 Line(s) of event code
173 Unique line(s) of event code
screensaver
33 Component(s)
207 Line(s) of event code
158 Unique line(s) of event code
cardMedia
30 Component(s)
333 Line(s) of event code
170 Unique line(s) of event code
cardAlarm
35 Component(s)
345 Line(s) of event code
214 Unique line(s) of event code
cardThermo
41 Component(s)
460 Line(s) of event code
284 Unique line(s) of event code
cardEntities
62 Component(s)
930 Line(s) of event code
388 Unique line(s) of event code
972 Line(s) of event code
413 Unique line(s) of event code
Total
13 Page(s)
351 Component(s)
3361 Line(s) of event code
908 Unique line(s) of event code
355 Component(s)
3646 Line(s) of event code
1039 Unique line(s) of event code

View File

@@ -18,6 +18,20 @@ Page pageIcons
Fill : solid color
Back. Color : 65535
Variable (string) vaTime
Attributes
ID : 5
Scope : global
Text :
Max. Text Size: 15
Variable (string) vaDate
Attributes
ID : 6
Scope : global
Text :
Max. Text Size: 35
Text tIcons
Attributes
ID : 2
@@ -42,8 +56,8 @@ Text tIcons
Horizontal Alignment : left
Vertical Alignment : top
Input Type : character
Text : 
Max. Text Size : 150
Text : 
Max. Text Size : 170
Word wrap : enabled
Horizontal Spacing : 0
Vertical Spacing : 0

View File

@@ -296,7 +296,7 @@ Text tMsg1
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 42
x coordinate : 59
y coordinate : 223
Width : 375
Height : 30
@@ -326,9 +326,9 @@ Text tMsg2
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 25
x coordinate : 42
y coordinate : 256
Width : 423
Width : 408
Height : 25
Effect : load
Effect Priority : 0
@@ -356,9 +356,9 @@ Text tMsg3
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 25
x coordinate : 42
y coordinate : 278
Width : 423
Width : 408
Height : 25
Effect : load
Effect Priority : 0
@@ -402,7 +402,7 @@ Text tVersion
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : 23
Text : 28
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -483,7 +483,7 @@ Hotspot mSpinner
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 169
x coordinate : 171
y coordinate : 49
Width : 140
Height : 140
@@ -552,27 +552,27 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
@@ -580,11 +580,11 @@ Timer tmSerial
dim=100
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -727,7 +727,6 @@ Timer tmSleep
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
click b0,1
click b0,0
@@ -785,24 +784,24 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpdateDetail")
{
// change icon
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon1.txt,sys0,1
vis tIcon1,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
covx tTmp.txt,sys0,0,0
tIcon1.pco=sys0
// get Button State
spstr strCommand.txt,tTmp.txt,",",3
spstr strCommand.txt,tTmp.txt,"~",3
covx tTmp.txt,sys0,0,0
btOnOff1.val=sys0
// get Brightness value
spstr strCommand.txt,tTmp.txt,",",4
spstr strCommand.txt,tTmp.txt,"~",4
if(tTmp.txt=="disable")
{
vis t1,0
@@ -820,7 +819,7 @@ Timer tmSerial
}
}
// get ColorTemp value
spstr strCommand.txt,tTmp.txt,",",5
spstr strCommand.txt,tTmp.txt,"~",5
if(tTmp.txt=="disable")
{
vis hTempSlider,0
@@ -864,7 +863,7 @@ Timer tmSerial
}
}
// get Color value
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",6
// disable -> isn't supported
if(tTmp.txt=="disable")
{
@@ -888,34 +887,34 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -403,7 +403,6 @@ Timer tmSleep
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
click b0,1
click b0,0
@@ -461,70 +460,70 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpdateDetail")
{
// get entn
spstr strCommand.txt,entn.txt,"|",1
spstr strCommand.txt,entn.txt,"~",1
// get Heading
spstr strCommand.txt,tHeading.txt,"|",2
spstr strCommand.txt,tHeading.txt,"~",2
// heading color
spstr strCommand.txt,tTmp.txt,"|",3
spstr strCommand.txt,tTmp.txt,"~",3
covx tTmp.txt,sys0,0,0
tHeading.pco=sys0
// get b1
spstr strCommand.txt,b1.txt,"|",4
spstr strCommand.txt,b1.txt,"~",4
if(b1.txt!="")
{
vis b1,1
}
// b1 color
spstr strCommand.txt,tTmp.txt,"|",5
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,sys0,0,0
b1.pco=sys0
// get b2
spstr strCommand.txt,b2.txt,"|",6
spstr strCommand.txt,b2.txt,"~",6
if(b2.txt!="")
{
vis b2,1
}
// b2 color
spstr strCommand.txt,tTmp.txt,"|",7
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,sys0,0,0
b2.pco=sys0
// get tText
spstr strCommand.txt,tText.txt,"|",8
spstr strCommand.txt,tText.txt,"~",8
// tText color
spstr strCommand.txt,tTmp.txt,"|",9
spstr strCommand.txt,tTmp.txt,"~",9
covx tTmp.txt,sys0,0,0
tText.pco=sys0
//preserve old sleepTimeout
vaOldSleepT.val=sleepTimeout
// sleep timeout
spstr strCommand.txt,tTmp.txt,"|",10
spstr strCommand.txt,tTmp.txt,"~",10
covx tTmp.txt,sys0,0,0
sleepTimeout=sys0
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="exitPopup")
@@ -536,11 +535,11 @@ Timer tmSerial
sleepTimeout=vaOldSleepT.val
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -532,7 +532,6 @@ Timer tmSleep
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
click b0,1
click b0,0
@@ -590,45 +589,45 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpdateDetail")
{
// get Position value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sys0,0,0
hPosition.val=sys0
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -22,111 +22,46 @@ Page screensaver
Preinitialize Event
recmod=1
bauds=115200
vis originPage,0
vis tInstruction,0
vis tTmp,0
vis p0,0
//load gloabl time string from pageIcons
//tTime.txt=vaTime.txt
spstr vaTime.txt,tTime.txt,"?",0
spstr vaTime.txt,tAMPM.txt,"?",1
spstr pageIcons.vaTime.txt,tTime.txt,"?",0
spstr pageIcons.vaTime.txt,tAMPM.txt,"?",1
if(tAMPM.txt=="")
{
vis tAMPM,0
}
tDate.txt=vaDate.txt
tDate.txt=pageIcons.vaDate.txt
dim=dimValue
vis tSend,0
//page open event
// clear weather elements, to keep example content in HMI
tMainIcon.txt=""
tMainText.txt=""
tForecast1.txt=""
tF1Icon.txt=""
tForecast1Val.txt=""
tForecast2.txt=""
tF2Icon.txt=""
tForecast2Val.txt=""
tSend.txt="event,screensaverOpen"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
Variable (string) strCommand
Attributes
ID : 5
ID : 4
Scope : local
Text :
Max. Text Size: 200
Variable (string) vaTime
Attributes
ID : 10
Scope : global
Text :
Max. Text Size: 15
Variable (string) vaDate
Attributes
ID : 11
Scope : global
Text :
Max. Text Size: 30
Variable (string) tId
Attributes
ID : 22
ID : 19
Scope : local
Text :
Max. Text Size: 25
Variable (int32) vaTap
Attributes
ID : 30
ID : 27
Scope: local
Value: 0
Number originPage
Attributes
ID : 3
Scope : global
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 452
y coordinate : 267
Width : 24
Height : 49
Effect : load
Effect Priority : 0
Effect Time : 300
Fill : solid color
Style : flat
Associated Keyboard : none
Font ID : 0
Back. Color : 65535
Font Color : 0
Horizontal Alignment : center
Vertical Alignment : center
Value : 0
Significant digits shown : all
Format : decimal
Word wrap : enabled
Horizontal Spacing : 0
Vertical Spacing : 0
Text tInstruction
Attributes
ID : 6
ID : 5
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -156,7 +91,7 @@ Text tInstruction
Text tTmp
Attributes
ID : 7
ID : 6
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -186,7 +121,7 @@ Text tTmp
Text tTime
Attributes
ID : 8
ID : 7
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -216,7 +151,7 @@ Text tTime
Text tDate
Attributes
ID : 9
ID : 8
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -239,14 +174,14 @@ Text tDate
Vertical Alignment : center
Input Type : character
Text : Tuesday, 08. March 2022
Max. Text Size : 30
Max. Text Size : 35
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
Text tSend
Attributes
ID : 12
ID : 9
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -276,7 +211,7 @@ Text tSend
Text tMainIcon
Attributes
ID : 13
ID : 10
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -298,7 +233,7 @@ Text tMainIcon
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : 
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -306,7 +241,7 @@ Text tMainIcon
Text tMainText
Attributes
ID : 14
ID : 11
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -328,7 +263,7 @@ Text tMainText
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : 2,3 °C
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -336,7 +271,7 @@ Text tMainText
Text tForecast1
Attributes
ID : 15
ID : 12
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -358,7 +293,7 @@ Text tForecast1
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : Mi
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -366,16 +301,16 @@ Text tForecast1
Text tForecast1Val
Attributes
ID : 16
ID : 13
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 141
y coordinate : 277
Width : 72
Height : 26
x coordinate : 140
y coordinate : 276
Width : 71
Height : 25
Effect : load
Effect Priority : 0
Effect Time : 300
@@ -388,7 +323,7 @@ Text tForecast1Val
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : 9,3 °C
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -396,7 +331,7 @@ Text tForecast1Val
Text tF1Icon
Attributes
ID : 17
ID : 14
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -418,7 +353,7 @@ Text tF1Icon
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : 
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -426,7 +361,7 @@ Text tF1Icon
Text tForecast2
Attributes
ID : 18
ID : 15
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -448,7 +383,7 @@ Text tForecast2
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : Do
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -456,7 +391,7 @@ Text tForecast2
Text tF2Icon
Attributes
ID : 19
ID : 16
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -478,7 +413,7 @@ Text tF2Icon
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : 
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -486,7 +421,7 @@ Text tF2Icon
Text tForecast2Val
Attributes
ID : 20
ID : 17
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -508,7 +443,7 @@ Text tForecast2Val
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : 11,9 °C
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -516,13 +451,13 @@ Text tForecast2Val
Text t10
Attributes
ID : 21
ID : 18
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 46
x coordinate : 62
y coordinate : 195
Width : 360
Height : 2
@@ -546,7 +481,7 @@ Text t10
Text tAMPM
Attributes
ID : 23
ID : 20
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -576,7 +511,7 @@ Text tAMPM
Text tForecast3Val
Attributes
ID : 24
ID : 21
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -606,7 +541,7 @@ Text tForecast3Val
Text tF3Icon
Attributes
ID : 25
ID : 22
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -636,7 +571,7 @@ Text tF3Icon
Text tForecast3
Attributes
ID : 26
ID : 23
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -666,7 +601,7 @@ Text tForecast3
Text tForecast4
Attributes
ID : 27
ID : 24
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -696,7 +631,7 @@ Text tForecast4
Text tF4Icon
Attributes
ID : 28
ID : 25
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -719,14 +654,14 @@ Text tF4Icon
Vertical Alignment : center
Input Type : character
Text :
Max. Text Size : 10
Max. Text Size : 5
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
Text tForecast4Val
Attributes
ID : 29
ID : 26
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -754,6 +689,126 @@ Text tForecast4Val
Horizontal Spacing : 0
Vertical Spacing : 0
Text tMainTextAlt
Attributes
ID : 29
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 119
y coordinate : 210
Width : 106
Height : 42
Effect : load
Effect Priority : 0
Effect Time : 300
Fill : solid color
Style : flat
Associated Keyboard : none
Font ID : 2
Back. Color : 0
Font Color : 65535
Horizontal Alignment : left
Vertical Alignment : center
Input Type : character
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
Text tMainIconAlt
Attributes
ID : 30
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 15
y coordinate : 221
Width : 100
Height : 66
Effect : load
Effect Priority : 0
Effect Time : 300
Fill : solid color
Style : flat
Associated Keyboard : none
Font ID : 3
Back. Color : 0
Font Color : 65535
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
Text tMRIcon
Attributes
ID : 31
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 116
y coordinate : 266
Width : 40
Height : 35
Effect : load
Effect Priority : 0
Effect Time : 300
Fill : solid color
Style : flat
Associated Keyboard : none
Font ID : 1
Back. Color : 0
Font Color : 65535
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
Text tMR
Attributes
ID : 32
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 159
y coordinate : 270
Width : 62
Height : 21
Effect : load
Effect Priority : 0
Effect Time : 300
Fill : solid color
Style : flat
Associated Keyboard : none
Font ID : 0
Back. Color : 0
Font Color : 65535
Horizontal Alignment : left
Vertical Alignment : center
Input Type : character
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
Picture p0
Attributes
ID : 1
@@ -773,7 +828,7 @@ Picture p0
Timer tmSerial
Attributes
ID : 4
ID : 3
Scope : local
Period (ms): 50
Enabled : yes
@@ -822,7 +877,7 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="wake")
{
//dim=100
@@ -831,16 +886,16 @@ Timer tmSerial
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
dim=dimValue
}
if(tInstruction.txt=="time")
{
//get set time to global variable
spstr strCommand.txt,vaTime.txt,",",1
spstr vaTime.txt,tTime.txt,"?",0
spstr vaTime.txt,tAMPM.txt,"?",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
spstr pageIcons.vaTime.txt,tTime.txt,"?",0
spstr pageIcons.vaTime.txt,tAMPM.txt,"?",1
if(tAMPM.txt=="")
{
vis tAMPM,0
@@ -849,66 +904,104 @@ Timer tmSerial
if(tInstruction.txt=="date")
{
//get set date to global variable
spstr strCommand.txt,vaDate.txt,"?",1
tDate.txt=vaDate.txt
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
tDate.txt=pageIcons.vaDate.txt
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="weatherUpdate")
{
vis tMainIcon,1
vis tMainIconAlt,0
vis tMainText,1
vis tMainTextAlt,0
vis tMRIcon,0
vis tMR,0
//tMainIcon
spstr strCommand.txt,tTmp.txt,"?",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tMainIcon.txt,sys0,1
tMainIconAlt.txt=tMainIcon.txt
//tMainText
spstr strCommand.txt,tMainText.txt,"?",2
spstr strCommand.txt,tMainText.txt,"~",2
tMainTextAlt.txt=tMainText.txt
//tForecast1
spstr strCommand.txt,tForecast1.txt,"?",3
spstr strCommand.txt,tForecast1.txt,"~",3
//tF1Icon
spstr strCommand.txt,tTmp.txt,"?",4
spstr strCommand.txt,tTmp.txt,"~",4
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF1Icon.txt,sys0,1
//tForecast1Val
spstr strCommand.txt,tForecast1Val.txt,"?",5
spstr strCommand.txt,tForecast1Val.txt,"~",5
//tForecast2
spstr strCommand.txt,tForecast2.txt,"?",6
spstr strCommand.txt,tForecast2.txt,"~",6
//tF2Icon
spstr strCommand.txt,tTmp.txt,"?",7
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF2Icon.txt,sys0,1
//tForecast2Val
spstr strCommand.txt,tForecast2Val.txt,"?",8
spstr strCommand.txt,tForecast2Val.txt,"~",8
//tForecast3
spstr strCommand.txt,tForecast3.txt,"?",9
spstr strCommand.txt,tForecast3.txt,"~",9
//tF3Icon
spstr strCommand.txt,tTmp.txt,"?",10
spstr strCommand.txt,tTmp.txt,"~",10
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF3Icon.txt,sys0,1
//tForecast3Val
spstr strCommand.txt,tForecast3Val.txt,"?",11
spstr strCommand.txt,tForecast3Val.txt,"~",11
//tForecast4
spstr strCommand.txt,tForecast4.txt,"?",12
spstr strCommand.txt,tForecast4.txt,"~",12
//tF4Icon
spstr strCommand.txt,tTmp.txt,"?",13
spstr strCommand.txt,tTmp.txt,"~",13
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF4Icon.txt,sys0,1
//tForecast4Val
spstr strCommand.txt,tForecast4Val.txt,"?",14
spstr strCommand.txt,tForecast4Val.txt,"~",14
//alternative layout
//tMRIcon
spstr strCommand.txt,tTmp.txt,"~",15
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tMRIcon.txt,sys0,1
if(tTmp.txt!="")
{
//value for tMRIcon, activate alternative layout
vis tMainIcon,0
vis tMainText,0
vis tMainTextAlt,1
vis tMainIconAlt,1
vis tMRIcon,1
vis tMR,1
vis tForecast1,0
vis tF1Icon,0
vis tForecast1Val,0
//move forecast values to the right
tForecast4.txt=tForecast3.txt
tForecast3.txt=tForecast2.txt
tForecast2.txt=tForecast1.txt
tForecast4Val.txt=tForecast3Val.txt
tForecast3Val.txt=tForecast2Val.txt
tForecast2Val.txt=tForecast1Val.txt
tF4Icon.txt=tF3Icon.txt
tF3Icon.txt=tF2Icon.txt
tF2Icon.txt=tF1Icon.txt
}
//tMR
spstr strCommand.txt,tMR.txt,"~",16
}
if(tInstruction.txt=="pageType")
{
dim=100
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete u[2]+3
bufferPos=0
@@ -962,6 +1055,26 @@ Timer tmSerial
}
}
Timer tmSleep
Attributes
ID : 28
Scope : local
Period (ms): 1000
Enabled : yes
Events
Timer Event
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
sleepValue=0
dim=dimValue
vaTap.val=0
}
}
TouchCap tc0
Attributes
ID : 2
@@ -970,7 +1083,7 @@ TouchCap tc0
Events
Touch Press Event
dim=100
dim=dimValueNormal
vaTap.val+=1
covx vaTap.val,tTmp.txt,0,0
tSend.txt="event,buttonPress2,screensaver,bExit,"+tTmp.txt
@@ -985,6 +1098,4 @@ TouchCap tc0
prints sys0,2
prints tSend.txt,0
prints crcval,2
//dim=100
//page originPage.val

View File

@@ -10,6 +10,7 @@ Program.s
int sleepValue=0
// dim value
int dimValue=40
int dimValueNormal=100
// fix touch offset (Removed for US version)
//lcd_dev fffb 0002 0000 0020
page pageStartup

View File

@@ -17,7 +17,6 @@ Page cardAlarm
vis tInstruction,0
vis tTmp,0
vis tId,0
//vis nPageDisp,0
vis arm1,0
vis arm2,0
vis arm3,0
@@ -171,7 +170,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardAlarm,bPrev"
tSend.txt="event,buttonPress2,cardAlarm,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -508,53 +514,80 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
//entn
spstr strCommand.txt,entn.txt,",",1
spstr strCommand.txt,entn.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
//text arm1
spstr strCommand.txt,arm1.txt,",",2
spstr strCommand.txt,arm1.txt,"~",3
if(arm1.txt!="")
{
vis arm1,1
}
//id arm1
spstr strCommand.txt,va1.txt,",",3
spstr strCommand.txt,va1.txt,"~",4
//text arm2
spstr strCommand.txt,arm2.txt,",",4
spstr strCommand.txt,arm2.txt,"~",5
if(arm2.txt!="")
{
vis arm2,1
}
//id arm2
spstr strCommand.txt,va2.txt,",",5
spstr strCommand.txt,va2.txt,"~",6
//text arm3
spstr strCommand.txt,arm3.txt,",",6
spstr strCommand.txt,arm3.txt,"~",7
if(arm3.txt!="")
{
vis arm3,1
}
//id arm3
spstr strCommand.txt,va3.txt,",",7
spstr strCommand.txt,va3.txt,"~",8
//text arm4
spstr strCommand.txt,arm4.txt,",",8
spstr strCommand.txt,arm4.txt,"~",9
if(arm4.txt!="")
{
vis arm4,1
}
//id arm4
spstr strCommand.txt,va4.txt,",",9
spstr strCommand.txt,va4.txt,"~",10
//icon
spstr strCommand.txt,tTmp.txt,",",10
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon.txt,sys0,1
//icon color
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,sys0,0,0
tIcon.pco=sys0
//numpad status
spstr strCommand.txt,tTmp.txt,",",12
spstr strCommand.txt,tTmp.txt,"~",13
if(tTmp.txt!="disable")
{
vis b0,1
@@ -569,9 +602,23 @@ Timer tmSerial
vis b9,1
vis b10,1
vis tCode,1
}else
{
vis b0,0
vis b1,0
vis b2,0
vis b3,0
vis b4,0
vis b5,0
vis b6,0
vis b7,0
vis b8,0
vis b9,0
vis b10,0
vis tCode,0
}
//flashing status
spstr strCommand.txt,tTmp.txt,",",13
spstr strCommand.txt,tTmp.txt,"~",14
if(tTmp.txt=="enable")
{
tmFlash.en=1
@@ -583,67 +630,80 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
dim=dimValue
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="popupLight")
if(tId.txt=="pageStartup")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
page pageStartup
}
if(tId.txt=="screensaver")
{
page screensaver
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardThermo")
if(tId.txt=="cardGrid")
{
page cardThermo
page cardGrid
}
if(tId.txt=="pageStartup")
if(tId.txt=="popupLight")
{
page pageStartup
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="popupShutter")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupShutter
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardGrid")
if(tId.txt=="cardThermo")
{
page cardGrid
page cardThermo
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="cardAlarm")
{
page cardAlarm
}
}
// end of user code
udelete payloadLength-1
@@ -665,14 +725,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardAlarm"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -211,7 +211,7 @@ Text tIcon1
Send Component ID : disabled
Associated Keyboard : none
Text : 
Max. Text Size : 10
Max. Text Size : 5
Text tIcon2
Attributes
@@ -221,7 +221,7 @@ Text tIcon2
Send Component ID : disabled
Associated Keyboard : none
Text : 
Max. Text Size : 30
Max. Text Size : 5
Text tIcon3
Attributes
@@ -231,7 +231,7 @@ Text tIcon3
Send Component ID : disabled
Associated Keyboard : none
Text : 
Max. Text Size : 10
Max. Text Size : 5
Text tIcon4
Attributes
@@ -241,7 +241,7 @@ Text tIcon4
Send Component ID : disabled
Associated Keyboard : none
Text : 
Max. Text Size : 30
Max. Text Size : 5
Text tSend
Attributes
@@ -714,7 +714,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardEntities,bPrev"
tSend.txt="event,buttonPress2,cardEntities,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -1115,15 +1122,42 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
// command format: entityUpd,heading,navigation,[,type,internalName,iconId,displayName,optionalValue]x4
spstr strCommand.txt,tHeading.txt,",",1
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
// get Type
spstr strCommand.txt,type1.txt,",",3
spstr strCommand.txt,type1.txt,"~",3
// get internal name
spstr strCommand.txt,entn1.txt,",",4
spstr strCommand.txt,entn1.txt,"~",4
if(type1.txt=="delete"||type1.txt=="")
{
vis bUp1,0
@@ -1138,16 +1172,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",5
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon1.txt,sys0,1
vis tIcon1,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",6
covx tTmp.txt,sys0,0,0
tIcon1.pco=sys0
// set name
spstr strCommand.txt,tEntity1.txt,",",7
spstr strCommand.txt,tEntity1.txt,"~",7
vis tEntity1,1
}
if(type1.txt=="shutter")
@@ -1170,7 +1204,7 @@ Timer tmSerial
vis hSlider1,0
vis nNum1,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",8
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,sys0,0,0
btOnOff1.val=sys0
}
@@ -1184,7 +1218,7 @@ Timer tmSerial
vis hSlider1,0
vis nNum1,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",8
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,sys0,0,0
btOnOff1.val=sys0
}
@@ -1201,7 +1235,7 @@ Timer tmSerial
bText1.pco=65535
bText1.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText1.txt,",",8
spstr strCommand.txt,bText1.txt,"~",8
}
if(type1.txt=="button")
{
@@ -1216,7 +1250,7 @@ Timer tmSerial
bText1.pco=1374
bText1.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText1.txt,",",8
spstr strCommand.txt,bText1.txt,"~",8
}
if(type1.txt=="number")
{
@@ -1229,7 +1263,7 @@ Timer tmSerial
vis hSlider1,1
vis nNum1,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText1.txt,",",8
spstr strCommand.txt,bText1.txt,"~",8
//first value is current value
spstr bText1.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -1245,9 +1279,9 @@ Timer tmSerial
hSlider1.maxval=sys0
}
// get Type
spstr strCommand.txt,type2.txt,",",9
spstr strCommand.txt,type2.txt,"~",9
// get internal name
spstr strCommand.txt,entn2.txt,",",10
spstr strCommand.txt,entn2.txt,"~",10
if(type2.txt=="delete"||type2.txt=="")
{
vis bUp2,0
@@ -1262,16 +1296,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon2.txt,sys0,1
vis tIcon2,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",12
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,sys0,0,0
tIcon2.pco=sys0
// set name
spstr strCommand.txt,tEntity2.txt,",",13
spstr strCommand.txt,tEntity2.txt,"~",13
vis tEntity2,1
}
if(type2.txt=="shutter")
@@ -1294,7 +1328,7 @@ Timer tmSerial
vis hSlider2,0
vis nNum2,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",14
spstr strCommand.txt,tTmp.txt,"~",14
covx tTmp.txt,sys0,0,0
btOnOff2.val=sys0
}
@@ -1308,7 +1342,7 @@ Timer tmSerial
vis hSlider2,0
vis nNum2,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",14
spstr strCommand.txt,tTmp.txt,"~",14
covx tTmp.txt,sys0,0,0
btOnOff2.val=sys0
}
@@ -1325,7 +1359,7 @@ Timer tmSerial
bText2.pco=65535
bText2.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText2.txt,",",14
spstr strCommand.txt,bText2.txt,"~",14
}
if(type2.txt=="button")
{
@@ -1340,7 +1374,7 @@ Timer tmSerial
bText2.pco=1374
bText2.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText2.txt,",",14
spstr strCommand.txt,bText2.txt,"~",14
}
if(type2.txt=="number")
{
@@ -1353,7 +1387,7 @@ Timer tmSerial
vis hSlider2,1
vis nNum2,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText2.txt,",",14
spstr strCommand.txt,bText2.txt,"~",14
//first value is current value
spstr bText2.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -1369,9 +1403,9 @@ Timer tmSerial
hSlider2.maxval=sys0
}
// get Type
spstr strCommand.txt,type3.txt,",",15
spstr strCommand.txt,type3.txt,"~",15
// get internal name
spstr strCommand.txt,entn3.txt,",",16
spstr strCommand.txt,entn3.txt,"~",16
if(type3.txt=="delete"||type3.txt=="")
{
vis bUp3,0
@@ -1386,16 +1420,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",17
spstr strCommand.txt,tTmp.txt,"~",17
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon3.txt,sys0,1
vis tIcon3,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",18
spstr strCommand.txt,tTmp.txt,"~",18
covx tTmp.txt,sys0,0,0
tIcon3.pco=sys0
// set name
spstr strCommand.txt,tEntity3.txt,",",19
spstr strCommand.txt,tEntity3.txt,"~",19
vis tEntity3,1
}
if(type3.txt=="shutter")
@@ -1418,7 +1452,7 @@ Timer tmSerial
vis hSlider3,0
vis nNum3,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",20
spstr strCommand.txt,tTmp.txt,"~",20
covx tTmp.txt,sys0,0,0
btOnOff3.val=sys0
}
@@ -1432,7 +1466,7 @@ Timer tmSerial
vis hSlider3,0
vis nNum3,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",20
spstr strCommand.txt,tTmp.txt,"~",20
covx tTmp.txt,sys0,0,0
btOnOff3.val=sys0
}
@@ -1449,7 +1483,7 @@ Timer tmSerial
bText3.pco=65535
bText3.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText3.txt,",",20
spstr strCommand.txt,bText3.txt,"~",20
}
if(type3.txt=="button")
{
@@ -1464,7 +1498,7 @@ Timer tmSerial
bText3.pco=1374
bText3.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText3.txt,",",20
spstr strCommand.txt,bText3.txt,"~",20
}
if(type3.txt=="number")
{
@@ -1477,7 +1511,7 @@ Timer tmSerial
vis hSlider3,1
vis nNum3,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText3.txt,",",20
spstr strCommand.txt,bText3.txt,"~",20
//first value is current value
spstr bText3.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -1493,9 +1527,9 @@ Timer tmSerial
hSlider3.maxval=sys0
}
// get Type
spstr strCommand.txt,type4.txt,",",21
spstr strCommand.txt,type4.txt,"~",21
// get internal name
spstr strCommand.txt,entn4.txt,",",22
spstr strCommand.txt,entn4.txt,"~",22
if(type4.txt=="delete"||type4.txt=="")
{
vis bUp4,0
@@ -1510,16 +1544,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",23
spstr strCommand.txt,tTmp.txt,"~",23
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon4.txt,sys0,1
vis tIcon4,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",24
spstr strCommand.txt,tTmp.txt,"~",24
covx tTmp.txt,sys0,0,0
tIcon4.pco=sys0
// set name
spstr strCommand.txt,tEntity4.txt,",",25
spstr strCommand.txt,tEntity4.txt,"~",25
vis tEntity4,1
}
if(type4.txt=="shutter")
@@ -1542,7 +1576,7 @@ Timer tmSerial
vis hSlider4,0
vis nNum4,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",26
spstr strCommand.txt,tTmp.txt,"~",26
covx tTmp.txt,sys0,0,0
btOnOff4.val=sys0
}
@@ -1556,7 +1590,7 @@ Timer tmSerial
vis hSlider4,0
vis nNum4,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",26
spstr strCommand.txt,tTmp.txt,"~",26
covx tTmp.txt,sys0,0,0
btOnOff4.val=sys0
}
@@ -1573,7 +1607,7 @@ Timer tmSerial
bText4.pco=65535
bText4.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText4.txt,",",26
spstr strCommand.txt,bText4.txt,"~",26
}
if(type4.txt=="button")
{
@@ -1588,7 +1622,7 @@ Timer tmSerial
bText4.pco=1374
bText4.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText4.txt,",",26
spstr strCommand.txt,bText4.txt,"~",26
}
if(type4.txt=="number")
{
@@ -1601,7 +1635,7 @@ Timer tmSerial
vis hSlider4,1
vis nNum4,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText4.txt,",",26
spstr strCommand.txt,bText4.txt,"~",26
//first value is current value
spstr bText4.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -1621,11 +1655,11 @@ Timer tmSerial
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
@@ -1675,23 +1709,23 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
// end of user code
@@ -1714,14 +1748,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardEntities"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -242,7 +242,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardGrid,bPrev"
tSend.txt="event,buttonPress2,cardGrid,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -563,15 +570,42 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
// command format: entityUpd,heading,navigation,[,type,internalName,iconId,iconColor,displayName,optionalValue]x6
spstr strCommand.txt,tHeading.txt,",",1
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
// get Type
spstr strCommand.txt,type1.txt,",",3
spstr strCommand.txt,type1.txt,"~",3
// get internal name
spstr strCommand.txt,entn1.txt,",",4
spstr strCommand.txt,entn1.txt,"~",4
if(type1.txt=="delete"||type1.txt=="")
{
vis tEntity1,0
@@ -579,22 +613,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",5
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity1.txt,sys0,1
vis bEntity1,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",6
covx tTmp.txt,sys0,0,0
bEntity1.pco=sys0
// set name
spstr strCommand.txt,tEntity1.txt,",",7
spstr strCommand.txt,tEntity1.txt,"~",7
vis tEntity1,1
}
// get Type
spstr strCommand.txt,type2.txt,",",9
spstr strCommand.txt,type2.txt,"~",9
// get internal name
spstr strCommand.txt,entn2.txt,",",10
spstr strCommand.txt,entn2.txt,"~",10
if(type2.txt=="delete"||type2.txt=="")
{
vis tEntity2,0
@@ -602,22 +636,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity2.txt,sys0,1
vis bEntity2,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",12
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,sys0,0,0
bEntity2.pco=sys0
// set name
spstr strCommand.txt,tEntity2.txt,",",13
spstr strCommand.txt,tEntity2.txt,"~",13
vis tEntity2,1
}
// get Type
spstr strCommand.txt,type3.txt,",",15
spstr strCommand.txt,type3.txt,"~",15
// get internal name
spstr strCommand.txt,entn3.txt,",",16
spstr strCommand.txt,entn3.txt,"~",16
if(type3.txt=="delete"||type3.txt=="")
{
vis tEntity3,0
@@ -625,22 +659,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",17
spstr strCommand.txt,tTmp.txt,"~",17
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity3.txt,sys0,1
vis bEntity3,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",18
spstr strCommand.txt,tTmp.txt,"~",18
covx tTmp.txt,sys0,0,0
bEntity3.pco=sys0
// set name
spstr strCommand.txt,tEntity3.txt,",",19
spstr strCommand.txt,tEntity3.txt,"~",19
vis tEntity3,1
}
// get Type
spstr strCommand.txt,type4.txt,",",21
spstr strCommand.txt,type4.txt,"~",21
// get internal name
spstr strCommand.txt,entn4.txt,",",22
spstr strCommand.txt,entn4.txt,"~",22
if(type4.txt=="delete"||type4.txt=="")
{
vis tEntity4,0
@@ -648,22 +682,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",23
spstr strCommand.txt,tTmp.txt,"~",23
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity4.txt,sys0,1
vis bEntity4,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",24
spstr strCommand.txt,tTmp.txt,"~",24
covx tTmp.txt,sys0,0,0
bEntity4.pco=sys0
// set name
spstr strCommand.txt,tEntity4.txt,",",25
spstr strCommand.txt,tEntity4.txt,"~",25
vis tEntity4,1
}
// get Type
spstr strCommand.txt,type5.txt,",",27
spstr strCommand.txt,type5.txt,"~",27
// get internal name
spstr strCommand.txt,entn5.txt,",",28
spstr strCommand.txt,entn5.txt,"~",28
if(type5.txt=="delete"||type5.txt=="")
{
vis tEntity5,0
@@ -671,22 +705,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",29
spstr strCommand.txt,tTmp.txt,"~",29
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity5.txt,sys0,1
vis bEntity5,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",30
spstr strCommand.txt,tTmp.txt,"~",30
covx tTmp.txt,sys0,0,0
bEntity5.pco=sys0
// set name
spstr strCommand.txt,tEntity5.txt,",",31
spstr strCommand.txt,tEntity5.txt,"~",31
vis tEntity5,1
}
// get Type
spstr strCommand.txt,type6.txt,",",33
spstr strCommand.txt,type6.txt,"~",33
// get internal name
spstr strCommand.txt,entn6.txt,",",34
spstr strCommand.txt,entn6.txt,"~",34
if(type6.txt=="delete"||type6.txt=="")
{
vis tEntity6,0
@@ -694,16 +728,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",35
spstr strCommand.txt,tTmp.txt,"~",35
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity6.txt,sys0,1
vis bEntity6,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",36
spstr strCommand.txt,tTmp.txt,"~",36
covx tTmp.txt,sys0,0,0
bEntity6.pco=sys0
// set name
spstr strCommand.txt,tEntity6.txt,",",37
spstr strCommand.txt,tEntity6.txt,"~",37
vis tEntity6,1
}
}
@@ -711,11 +745,11 @@ Timer tmSerial
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
@@ -765,23 +799,23 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
// end of user code
@@ -804,14 +838,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardGrid"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -435,7 +435,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardMedia,bPrev"
tSend.txt="event,buttonPress2,cardMedia,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -498,31 +505,58 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
//entity name
spstr strCommand.txt,entn.txt,"|",1
//heading
spstr strCommand.txt,tHeading.txt,"|",2
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
//entity name
spstr strCommand.txt,entn.txt,"~",3
//icon
spstr strCommand.txt,tTmp.txt,"|",3
spstr strCommand.txt,tTmp.txt,"~",4
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon.txt,sys0,1
//title
spstr strCommand.txt,tTitle.txt,"|",4
spstr strCommand.txt,tTitle.txt,"~",5
//author
spstr strCommand.txt,tAuthor.txt,"|",5
spstr strCommand.txt,tAuthor.txt,"~",6
//volume
spstr strCommand.txt,tTmp.txt,"|",6
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,sys0,0,0
hVolume.val=sys0
//icon
spstr strCommand.txt,tTmp.txt,"|",7
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tPlayPause.txt,sys0,1
//speaker current
spstr strCommand.txt,tSpeaker.txt,"|",8
spstr strCommand.txt,tSpeaker.txt,"~",9
if(tSpeaker.txt!="")
{
tSpeaker.pco=1374
@@ -531,14 +565,14 @@ Timer tmSerial
tSpeaker.pco=65535
}
//speaker list
spstr strCommand.txt,vaSpeakerList.txt,"|",9
spstr strCommand.txt,vaSpeakerList.txt,"~",10
if(vaSpeakerList.txt=="")
{
vis t6,0
}
vaSpeakerPos.val=0
// on off button
spstr strCommand.txt,tTmp.txt,"|",10
spstr strCommand.txt,tTmp.txt,"~",11
if(tTmp.txt=="disable")
{
vis t5,0
@@ -551,62 +585,75 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
dim=dimValue
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="popupLight")
if(tId.txt=="pageStartup")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
page pageStartup
}
if(tId.txt=="screensaver")
{
page screensaver
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardThermo")
if(tId.txt=="cardGrid")
{
page cardThermo
page cardGrid
}
if(tId.txt=="pageStartup")
if(tId.txt=="popupLight")
{
page pageStartup
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="popupShutter")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupShutter
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardGrid")
if(tId.txt=="cardThermo")
{
page cardGrid
page cardThermo
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="cardAlarm")
{
@@ -642,14 +689,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardMedia"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -329,7 +329,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardThermo,bPrev"
tSend.txt="event,buttonPress2,cardThermo,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -635,29 +642,56 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
//entity name
spstr strCommand.txt,entn.txt,",",1
//heading
spstr strCommand.txt,tHeading.txt,",",2
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
//entity name
spstr strCommand.txt,entn.txt,"~",3
//currentTemp
spstr strCommand.txt,tTmp.txt,",",3
spstr strCommand.txt,tTmp.txt,"~",4
covx tTmp.txt,xTempCurr.val,0,0
//dstTemp
spstr strCommand.txt,tTmp.txt,",",4
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,xTempDest.val,0,0
//status
spstr strCommand.txt,tStatus.txt,",",5
spstr strCommand.txt,tStatus.txt,"~",6
//minTemp
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,xTempMin.val,0,0
//maxTemp
spstr strCommand.txt,tTmp.txt,",",7
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,xTempMax.val,0,0
//tempStep
spstr strCommand.txt,tTmp.txt,",",8
spstr strCommand.txt,tTmp.txt,"~",9
covx tTmp.txt,xTempStep.val,0,0
// disable all buttons
vis bt0,0
@@ -670,243 +704,248 @@ Timer tmSerial
vis bt7,0
vis bt8,0
//bt0
spstr strCommand.txt,tTmp.txt,",",9
spstr strCommand.txt,tTmp.txt,"~",10
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt0.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",10
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,bt0.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,bt0.val,0,0
// save action
spstr strCommand.txt,va0.txt,",",12
spstr strCommand.txt,va0.txt,"~",13
//enable
vis bt0,1
}
//bt1
spstr strCommand.txt,tTmp.txt,",",13
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt1.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",14
covx tTmp.txt,bt1.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",15
covx tTmp.txt,bt1.val,0,0
// save action
spstr strCommand.txt,va1.txt,",",16
//enable
vis bt1,1
}
//bt2
spstr strCommand.txt,tTmp.txt,",",17
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt2.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",18
covx tTmp.txt,bt2.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",19
covx tTmp.txt,bt2.val,0,0
// save action
spstr strCommand.txt,va2.txt,",",20
//enable
vis bt2,1
}
//bt3
spstr strCommand.txt,tTmp.txt,",",21
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt3.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",22
covx tTmp.txt,bt3.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",23
covx tTmp.txt,bt3.val,0,0
// save action
spstr strCommand.txt,va3.txt,",",24
//enable
vis bt3,1
}
//bt4
spstr strCommand.txt,tTmp.txt,",",25
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt4.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",26
covx tTmp.txt,bt4.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",27
covx tTmp.txt,bt4.val,0,0
// save action
spstr strCommand.txt,va4.txt,",",28
//enable
vis bt4,1
}
//bt5
spstr strCommand.txt,tTmp.txt,",",29
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt5.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",30
covx tTmp.txt,bt5.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",31
covx tTmp.txt,bt5.val,0,0
// save action
spstr strCommand.txt,va5.txt,",",32
//enable
vis bt5,1
}
//bt6
spstr strCommand.txt,tTmp.txt,",",33
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt6.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",34
covx tTmp.txt,bt6.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",35
covx tTmp.txt,bt6.val,0,0
// save action
spstr strCommand.txt,va6.txt,",",36
//enable
vis bt6,1
}
//bt7
spstr strCommand.txt,tTmp.txt,",",37
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt7.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",38
covx tTmp.txt,bt7.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",39
covx tTmp.txt,bt7.val,0,0
// save action
spstr strCommand.txt,va7.txt,",",40
//enable
vis bt7,1
}
//bt8
spstr strCommand.txt,tTmp.txt,",",41
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt8.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",42
covx tTmp.txt,bt8.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",43
covx tTmp.txt,bt8.val,0,0
// save action
spstr strCommand.txt,va8.txt,",",44
//enable
vis bt8,1
}
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="popupLight")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="pageStartup")
{
page pageStartup
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardGrid")
{
page cardGrid
}
if(tId.txt=="cardAlarm")
{
page cardAlarm
}
}
// end of user code
udelete payloadLength-1
bufferPos=0
}
}
}
}
// next character
bufferPos++
}
}
} //bt1
spstr strCommand.txt,tTmp.txt,"~",14
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt1.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",15
covx tTmp.txt,bt1.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",16
covx tTmp.txt,bt1.val,0,0
// save action
spstr strCommand.txt,va1.txt,"~",17
//enable
vis bt1,1
} //bt2
spstr strCommand.txt,tTmp.txt,"~",18
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt2.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",19
covx tTmp.txt,bt2.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",20
covx tTmp.txt,bt2.val,0,0
// save action
spstr strCommand.txt,va2.txt,"~",21
//enable
vis bt2,1
} //bt3
spstr strCommand.txt,tTmp.txt,"~",22
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt3.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",23
covx tTmp.txt,bt3.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",24
covx tTmp.txt,bt3.val,0,0
// save action
spstr strCommand.txt,va3.txt,"~",25
//enable
vis bt3,1
} //bt4
spstr strCommand.txt,tTmp.txt,"~",26
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt4.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",27
covx tTmp.txt,bt4.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",28
covx tTmp.txt,bt4.val,0,0
// save action
spstr strCommand.txt,va4.txt,"~",29
//enable
vis bt4,1
} //bt5
spstr strCommand.txt,tTmp.txt,"~",30
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt5.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",31
covx tTmp.txt,bt5.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",32
covx tTmp.txt,bt5.val,0,0
// save action
spstr strCommand.txt,va5.txt,"~",33
//enable
vis bt5,1
} //bt6
spstr strCommand.txt,tTmp.txt,"~",34
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt6.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",35
covx tTmp.txt,bt6.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",36
covx tTmp.txt,bt6.val,0,0
// save action
spstr strCommand.txt,va6.txt,"~",37
//enable
vis bt6,1
} //bt7
spstr strCommand.txt,tTmp.txt,"~",38
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt7.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",39
covx tTmp.txt,bt7.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",40
covx tTmp.txt,bt7.val,0,0
// save action
spstr strCommand.txt,va7.txt,"~",41
//enable
vis bt7,1
} //bt8
spstr strCommand.txt,tTmp.txt,"~",42
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt8.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",43
covx tTmp.txt,bt8.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",44
covx tTmp.txt,bt8.val,0,0
// save action
spstr strCommand.txt,va8.txt,"~",45
//enable
vis bt8,1
}
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="pageStartup")
{
page pageStartup
}
if(tId.txt=="screensaver")
{
page screensaver
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardGrid")
{
page cardGrid
}
if(tId.txt=="popupLight")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="popupShutter")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupShutter
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardThermo")
{
page cardThermo
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="cardAlarm")
{
page cardAlarm
}
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
// end of user code
udelete payloadLength-1
bufferPos=0
}
}
}
}
// next character
bufferPos++
}
}
Timer tmSleep
Attributes
@@ -916,14 +955,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardThermo"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -10,6 +10,18 @@ Page pageIcons
Swide left page ID : disabled
Swide right page ID : disabled
Variable (string) vaTime
Attributes
Scope : global
Text :
Max. Text Size: 15
Variable (string) vaDate
Attributes
Scope : global
Text :
Max. Text Size: 35
Text tIcons
Attributes
Scope : global
@@ -17,8 +29,8 @@ Text tIcons
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 
Max. Text Size : 150
Text : 
Max. Text Size : 170
Text tTmp1
Attributes

View File

@@ -152,7 +152,7 @@ Text tVersion
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 23
Text : 28
Max. Text Size : 10
Picture p0
@@ -257,27 +257,27 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
@@ -285,11 +285,11 @@ Timer tmSerial
dim=100
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -382,7 +382,6 @@ Timer tmSleep
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
click b0,1
click b0,0
@@ -439,24 +438,24 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpdateDetail")
{
// change icon
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon1.txt,sys0,1
vis tIcon1,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
covx tTmp.txt,sys0,0,0
tIcon1.pco=sys0
// get Button State
spstr strCommand.txt,tTmp.txt,",",3
spstr strCommand.txt,tTmp.txt,"~",3
covx tTmp.txt,sys0,0,0
btOnOff1.val=sys0
// get Brightness value
spstr strCommand.txt,tTmp.txt,",",4
spstr strCommand.txt,tTmp.txt,"~",4
if(tTmp.txt=="disable")
{
vis t1,0
@@ -474,7 +473,7 @@ Timer tmSerial
}
}
// get ColorTemp value
spstr strCommand.txt,tTmp.txt,",",5
spstr strCommand.txt,tTmp.txt,"~",5
if(tTmp.txt=="disable")
{
vis hTempSlider,0
@@ -518,7 +517,7 @@ Timer tmSerial
}
}
// get Color value
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",6
// disable -> isn't supported
if(tTmp.txt=="disable")
{
@@ -542,34 +541,34 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -195,7 +195,6 @@ Timer tmSleep
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
click b0,1
click b0,0
@@ -252,70 +251,70 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpdateDetail")
{
// get entn
spstr strCommand.txt,entn.txt,"|",1
spstr strCommand.txt,entn.txt,"~",1
// get Heading
spstr strCommand.txt,tHeading.txt,"|",2
spstr strCommand.txt,tHeading.txt,"~",2
// heading color
spstr strCommand.txt,tTmp.txt,"|",3
spstr strCommand.txt,tTmp.txt,"~",3
covx tTmp.txt,sys0,0,0
tHeading.pco=sys0
// get b1
spstr strCommand.txt,b1.txt,"|",4
spstr strCommand.txt,b1.txt,"~",4
if(b1.txt!="")
{
vis b1,1
}
// b1 color
spstr strCommand.txt,tTmp.txt,"|",5
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,sys0,0,0
b1.pco=sys0
// get b2
spstr strCommand.txt,b2.txt,"|",6
spstr strCommand.txt,b2.txt,"~",6
if(b2.txt!="")
{
vis b2,1
}
// b2 color
spstr strCommand.txt,tTmp.txt,"|",7
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,sys0,0,0
b2.pco=sys0
// get tText
spstr strCommand.txt,tText.txt,"|",8
spstr strCommand.txt,tText.txt,"~",8
// tText color
spstr strCommand.txt,tTmp.txt,"|",9
spstr strCommand.txt,tTmp.txt,"~",9
covx tTmp.txt,sys0,0,0
tText.pco=sys0
//preserve old sleepTimeout
vaOldSleepT.val=sleepTimeout
// sleep timeout
spstr strCommand.txt,tTmp.txt,"|",10
spstr strCommand.txt,tTmp.txt,"~",10
covx tTmp.txt,sys0,0,0
sleepTimeout=sys0
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="exitPopup")
@@ -327,11 +326,11 @@ Timer tmSerial
sleepTimeout=vaOldSleepT.val
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -268,7 +268,6 @@ Timer tmSleep
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
click b0,1
click b0,0
@@ -325,45 +324,45 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpdateDetail")
{
// get Position value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sys0,0,0
hPosition.val=sys0
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -14,43 +14,22 @@ Page screensaver
Preinitialize Event
recmod=1
bauds=115200
vis originPage,0
vis tInstruction,0
vis tTmp,0
vis p0,0
//load gloabl time string from pageIcons
//tTime.txt=vaTime.txt
spstr vaTime.txt,tTime.txt,"?",0
spstr vaTime.txt,tAMPM.txt,"?",1
spstr pageIcons.vaTime.txt,tTime.txt,"?",0
spstr pageIcons.vaTime.txt,tAMPM.txt,"?",1
if(tAMPM.txt=="")
{
vis tAMPM,0
}
tDate.txt=vaDate.txt
tDate.txt=pageIcons.vaDate.txt
dim=dimValue
vis tSend,0
//page open event
// clear weather elements, to keep example content in HMI
tMainIcon.txt=""
tMainText.txt=""
tForecast1.txt=""
tF1Icon.txt=""
tForecast1Val.txt=""
tForecast2.txt=""
tF2Icon.txt=""
tForecast2Val.txt=""
tSend.txt="event,screensaverOpen"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
Variable (string) strCommand
Attributes
@@ -58,18 +37,6 @@ Variable (string) strCommand
Text :
Max. Text Size: 200
Variable (string) vaTime
Attributes
Scope : global
Text :
Max. Text Size: 15
Variable (string) vaDate
Attributes
Scope : global
Text :
Max. Text Size: 30
Variable (string) tId
Attributes
Scope : local
@@ -81,15 +48,6 @@ Variable (int32) vaTap
Scope: local
Value: 0
Number originPage
Attributes
Scope : global
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Value : 0
Text tInstruction
Attributes
Scope : local
@@ -128,7 +86,7 @@ Text tDate
Send Component ID : disabled
Associated Keyboard : none
Text : Tuesday, 08. March 2022
Max. Text Size : 30
Max. Text Size : 35
Text tSend
Attributes
@@ -147,7 +105,7 @@ Text tMainIcon
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 
Text :
Max. Text Size : 10
Text tMainText
@@ -157,7 +115,7 @@ Text tMainText
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 2,3 °C
Text :
Max. Text Size : 10
Text tForecast1
@@ -167,7 +125,7 @@ Text tForecast1
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : Mi
Text :
Max. Text Size : 10
Text tForecast1Val
@@ -177,7 +135,7 @@ Text tForecast1Val
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 9,3 °C
Text :
Max. Text Size : 10
Text tF1Icon
@@ -187,7 +145,7 @@ Text tF1Icon
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 
Text :
Max. Text Size : 10
Text tForecast2
@@ -197,7 +155,7 @@ Text tForecast2
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : Do
Text :
Max. Text Size : 10
Text tF2Icon
@@ -207,7 +165,7 @@ Text tF2Icon
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 
Text :
Max. Text Size : 10
Text tForecast2Val
@@ -217,7 +175,7 @@ Text tForecast2Val
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 11,9 °C
Text :
Max. Text Size : 10
Text t10
@@ -288,7 +246,7 @@ Text tF4Icon
Send Component ID : disabled
Associated Keyboard : none
Text :
Max. Text Size : 10
Max. Text Size : 5
Text tForecast4Val
Attributes
@@ -300,6 +258,46 @@ Text tForecast4Val
Text :
Max. Text Size : 10
Text tMainTextAlt
Attributes
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text :
Max. Text Size : 10
Text tMainIconAlt
Attributes
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text :
Max. Text Size : 10
Text tMRIcon
Attributes
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text :
Max. Text Size : 10
Text tMR
Attributes
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text :
Max. Text Size : 10
Picture p0
Attributes
Scope : local
@@ -357,7 +355,7 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="wake")
{
//dim=100
@@ -366,16 +364,16 @@ Timer tmSerial
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
dim=dimValue
}
if(tInstruction.txt=="time")
{
//get set time to global variable
spstr strCommand.txt,vaTime.txt,",",1
spstr vaTime.txt,tTime.txt,"?",0
spstr vaTime.txt,tAMPM.txt,"?",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
spstr pageIcons.vaTime.txt,tTime.txt,"?",0
spstr pageIcons.vaTime.txt,tAMPM.txt,"?",1
if(tAMPM.txt=="")
{
vis tAMPM,0
@@ -384,66 +382,104 @@ Timer tmSerial
if(tInstruction.txt=="date")
{
//get set date to global variable
spstr strCommand.txt,vaDate.txt,"?",1
tDate.txt=vaDate.txt
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
tDate.txt=pageIcons.vaDate.txt
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="weatherUpdate")
{
vis tMainIcon,1
vis tMainIconAlt,0
vis tMainText,1
vis tMainTextAlt,0
vis tMRIcon,0
vis tMR,0
//tMainIcon
spstr strCommand.txt,tTmp.txt,"?",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tMainIcon.txt,sys0,1
tMainIconAlt.txt=tMainIcon.txt
//tMainText
spstr strCommand.txt,tMainText.txt,"?",2
spstr strCommand.txt,tMainText.txt,"~",2
tMainTextAlt.txt=tMainText.txt
//tForecast1
spstr strCommand.txt,tForecast1.txt,"?",3
spstr strCommand.txt,tForecast1.txt,"~",3
//tF1Icon
spstr strCommand.txt,tTmp.txt,"?",4
spstr strCommand.txt,tTmp.txt,"~",4
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF1Icon.txt,sys0,1
//tForecast1Val
spstr strCommand.txt,tForecast1Val.txt,"?",5
spstr strCommand.txt,tForecast1Val.txt,"~",5
//tForecast2
spstr strCommand.txt,tForecast2.txt,"?",6
spstr strCommand.txt,tForecast2.txt,"~",6
//tF2Icon
spstr strCommand.txt,tTmp.txt,"?",7
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF2Icon.txt,sys0,1
//tForecast2Val
spstr strCommand.txt,tForecast2Val.txt,"?",8
spstr strCommand.txt,tForecast2Val.txt,"~",8
//tForecast3
spstr strCommand.txt,tForecast3.txt,"?",9
spstr strCommand.txt,tForecast3.txt,"~",9
//tF3Icon
spstr strCommand.txt,tTmp.txt,"?",10
spstr strCommand.txt,tTmp.txt,"~",10
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF3Icon.txt,sys0,1
//tForecast3Val
spstr strCommand.txt,tForecast3Val.txt,"?",11
spstr strCommand.txt,tForecast3Val.txt,"~",11
//tForecast4
spstr strCommand.txt,tForecast4.txt,"?",12
spstr strCommand.txt,tForecast4.txt,"~",12
//tF4Icon
spstr strCommand.txt,tTmp.txt,"?",13
spstr strCommand.txt,tTmp.txt,"~",13
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF4Icon.txt,sys0,1
//tForecast4Val
spstr strCommand.txt,tForecast4Val.txt,"?",14
spstr strCommand.txt,tForecast4Val.txt,"~",14
//alternative layout
//tMRIcon
spstr strCommand.txt,tTmp.txt,"~",15
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tMRIcon.txt,sys0,1
if(tTmp.txt!="")
{
//value for tMRIcon, activate alternative layout
vis tMainIcon,0
vis tMainText,0
vis tMainTextAlt,1
vis tMainIconAlt,1
vis tMRIcon,1
vis tMR,1
vis tForecast1,0
vis tF1Icon,0
vis tForecast1Val,0
//move forecast values to the right
tForecast4.txt=tForecast3.txt
tForecast3.txt=tForecast2.txt
tForecast2.txt=tForecast1.txt
tForecast4Val.txt=tForecast3Val.txt
tForecast3Val.txt=tForecast2Val.txt
tForecast2Val.txt=tForecast1Val.txt
tF4Icon.txt=tF3Icon.txt
tF3Icon.txt=tF2Icon.txt
tF2Icon.txt=tF1Icon.txt
}
//tMR
spstr strCommand.txt,tMR.txt,"~",16
}
if(tInstruction.txt=="pageType")
{
dim=100
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete u[2]+3
bufferPos=0
@@ -497,6 +533,25 @@ Timer tmSerial
}
}
Timer tmSleep
Attributes
Scope : local
Period (ms): 1000
Enabled : yes
Events
Timer Event
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
sleepValue=0
dim=dimValue
vaTap.val=0
}
}
TouchCap tc0
Attributes
Scope: local
@@ -504,7 +559,7 @@ TouchCap tc0
Events
Touch Press Event
dim=100
dim=dimValueNormal
vaTap.val+=1
covx vaTap.val,tTmp.txt,0,0
tSend.txt="event,buttonPress2,screensaver,bExit,"+tTmp.txt
@@ -519,6 +574,4 @@ TouchCap tc0
prints sys0,2
prints tSend.txt,0
prints crcval,2
//dim=100
//page originPage.val

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,803 @@
diff -bur HMI/n2t-out/Program.s.txt HMI/US/portrait/n2t-out/Program.s.txt
--- HMI/n2t-out/Program.s.txt 2022-04-01 04:54:12.884151859 +0000
+++ HMI/US/portrait/n2t-out/Program.s.txt 2022-04-01 04:54:13.372185922 +0000
@@ -11,6 +11,6 @@
// dim value
int dimValue=40
int dimValueNormal=100
- // fix touch offset
- lcd_dev fffb 0002 0000 0020
+ // fix touch offset (Removed for US version)
+ //lcd_dev fffb 0002 0000 0020
page pageStartup
diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
--- HMI/n2t-out/cardEntities.txt 2022-04-01 04:54:12.888152138 +0000
+++ HMI/US/portrait/n2t-out/cardEntities.txt 2022-04-01 04:54:13.372185922 +0000
@@ -62,6 +62,26 @@
vis bText4,0
vis hSlider4,0
vis nNum4,0
+ //ui e5
+ vis btOnOff5,0
+ vis bUp5,0
+ vis bStop5,0
+ vis bDown5,0
+ vis tIcon5,0
+ vis tEntity5,0
+ vis bText5,0
+ vis hSlider5,0
+ vis nNum5,0
+ //ui e6
+ vis btOnOff6,0
+ vis bUp6,0
+ vis bStop6,0
+ vis bDown6,0
+ vis tIcon6,0
+ vis tEntity6,0
+ vis bText6,0
+ vis hSlider6,0
+ vis nNum6,0
Variable (string) strCommand
Attributes
@@ -117,6 +137,30 @@
Text :
Max. Text Size: 70
+Variable (string) entn5
+ Attributes
+ Scope : local
+ Text :
+ Max. Text Size: 70
+
+Variable (string) entn6
+ Attributes
+ Scope : local
+ Text :
+ Max. Text Size: 70
+
+Variable (string) type5
+ Attributes
+ Scope : local
+ Text :
+ Max. Text Size: 10
+
+Variable (string) type6
+ Attributes
+ Scope : local
+ Text :
+ Max. Text Size: 10
+
Number nNum1
Attributes
Scope : local
@@ -153,6 +197,24 @@
Associated Keyboard : none
Value : 0
+Number nNum5
+ Attributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ Associated Keyboard : none
+ Value : 0
+
+Number nNum6
+ Attributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ Associated Keyboard : none
+ Value : 0
+
Text tHeading
Attributes
Scope : local
@@ -283,6 +345,46 @@
Text :
Max. Text Size : 50
+Text tEntity5
+ Attributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ Associated Keyboard : none
+ Text : tEntity5
+ Max. Text Size : 30
+
+Text tIcon5
+ Attributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ Associated Keyboard : none
+ Text : 
+ Max. Text Size : 5
+
+Text tEntity6
+ Attributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ Associated Keyboard : none
+ Text : tEntity6
+ Max. Text Size : 30
+
+Text tIcon6
+ Attributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ Associated Keyboard : none
+ Text : 
+ Max. Text Size : 5
+
Picture p0
Attributes
Scope : local
@@ -402,6 +504,62 @@
prints tSend.txt,0
prints crcval,2
+Slider hSlider5
+ Attributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ Position : 50
+ Upper range limit : 100
+ Lower range limit : 0
+
+ Events
+ Touch Release Event
+ nNum5.val=hSlider5.val
+ tSend.txt="event,buttonPress2,"+entn5.txt+",number-set,"
+ covx nNum5.val,tTmp.txt,0,0
+ tSend.txt+=tTmp.txt
+ //send calc crc
+ btlen tSend.txt,sys0
+ crcrest 1,0xffff // reset CRC
+ crcputh 55 bb
+ crcputs sys0,1
+ crcputs tSend.txt,0
+ //send cmd
+ printh 55 bb
+ prints sys0,2
+ prints tSend.txt,0
+ prints crcval,2
+
+Slider hSlider6
+ Attributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ Position : 50
+ Upper range limit : 100
+ Lower range limit : 0
+
+ Events
+ Touch Release Event
+ nNum6.val=hSlider6.val
+ tSend.txt="event,buttonPress2,"+entn6.txt+",number-set,"
+ covx nNum6.val,tTmp.txt,0,0
+ tSend.txt+=tTmp.txt
+ //send calc crc
+ btlen tSend.txt,sys0
+ crcrest 1,0xffff // reset CRC
+ crcputh 55 bb
+ crcputs sys0,1
+ crcputs tSend.txt,0
+ //send cmd
+ printh 55 bb
+ prints sys0,2
+ prints tSend.txt,0
+ prints crcval,2
+
Button bDown1
Attributes
Scope : local
@@ -857,6 +1015,206 @@
prints tSend.txt,0
prints crcval,2
+Button bStop5
+ Attributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ State : unpressed
+ Text : 
+ Max. Text Size : 10
+
+ Events
+ Touch Press Event
+ tSend.txt="event,buttonPress2,"+entn5.txt+",stop"
+ //send calc crc
+ btlen tSend.txt,sys0
+ crcrest 1,0xffff // reset CRC
+ crcputh 55 bb
+ crcputs sys0,1
+ crcputs tSend.txt,0
+ //send cmd
+ printh 55 bb
+ prints sys0,2
+ prints tSend.txt,0
+ prints crcval,2
+
+Button bDown5
+ Attributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ State : unpressed
+ Text : 
+ Max. Text Size : 10
+
+ Events
+ Touch Press Event
+ tSend.txt="event,buttonPress2,"+entn5.txt+",down"
+ //send calc crc
+ btlen tSend.txt,sys0
+ crcrest 1,0xffff // reset CRC
+ crcputh 55 bb
+ crcputs sys0,1
+ crcputs tSend.txt,0
+ //send cmd
+ printh 55 bb
+ prints sys0,2
+ prints tSend.txt,0
+ prints crcval,2
+
+Button bUp5
+ Attributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ State : unpressed
+ Text : 
+ Max. Text Size : 10
+
+ Events
+ Touch Press Event
+ tSend.txt="event,buttonPress2,"+entn5.txt+",up"
+ //send calc crc
+ btlen tSend.txt,sys0
+ crcrest 1,0xffff // reset CRC
+ crcputh 55 bb
+ crcputs sys0,1
+ crcputs tSend.txt,0
+ //send cmd
+ printh 55 bb
+ prints sys0,2
+ prints tSend.txt,0
+ prints crcval,2
+
+Button bText5
+ Attributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ State : unpressed
+ Text : newtxt
+ Max. Text Size : 10
+
+ Events
+ Touch Press Event
+ tSend.txt="event,buttonPress2,"+entn5.txt+",button"
+ //send calc crc
+ btlen tSend.txt,sys0
+ crcrest 1,0xffff // reset CRC
+ crcputh 55 bb
+ crcputs sys0,1
+ crcputs tSend.txt,0
+ //send cmd
+ printh 55 bb
+ prints sys0,2
+ prints tSend.txt,0
+ prints crcval,2
+
+Button bStop6
+ Attributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ State : unpressed
+ Text : 
+ Max. Text Size : 10
+
+ Events
+ Touch Press Event
+ tSend.txt="event,buttonPress2,"+entn6.txt+",stop"
+ //send calc crc
+ btlen tSend.txt,sys0
+ crcrest 1,0xffff // reset CRC
+ crcputh 55 bb
+ crcputs sys0,1
+ crcputs tSend.txt,0
+ //send cmd
+ printh 55 bb
+ prints sys0,2
+ prints tSend.txt,0
+ prints crcval,2
+
+Button bDown6
+ Attributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ State : unpressed
+ Text : 
+ Max. Text Size : 10
+
+ Events
+ Touch Press Event
+ tSend.txt="event,buttonPress2,"+entn6.txt+",down"
+ //send calc crc
+ btlen tSend.txt,sys0
+ crcrest 1,0xffff // reset CRC
+ crcputh 55 bb
+ crcputs sys0,1
+ crcputs tSend.txt,0
+ //send cmd
+ printh 55 bb
+ prints sys0,2
+ prints tSend.txt,0
+ prints crcval,2
+
+Button bUp6
+ Attributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ State : unpressed
+ Text : 
+ Max. Text Size : 10
+
+ Events
+ Touch Press Event
+ tSend.txt="event,buttonPress2,"+entn6.txt+",up"
+ //send calc crc
+ btlen tSend.txt,sys0
+ crcrest 1,0xffff // reset CRC
+ crcputh 55 bb
+ crcputs sys0,1
+ crcputs tSend.txt,0
+ //send cmd
+ printh 55 bb
+ prints sys0,2
+ prints tSend.txt,0
+ prints crcval,2
+
+Button bText6
+ Attributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ State : unpressed
+ Text : newtxt
+ Max. Text Size : 10
+
+ Events
+ Touch Press Event
+ tSend.txt="event,buttonPress2,"+entn6.txt+",button"
+ //send calc crc
+ btlen tSend.txt,sys0
+ crcrest 1,0xffff // reset CRC
+ crcputh 55 bb
+ crcputs sys0,1
+ crcputs tSend.txt,0
+ //send cmd
+ printh 55 bb
+ prints sys0,2
+ prints tSend.txt,0
+ prints crcval,2
+
Dual-state Button btOnOff1
Attributes
Scope : local
@@ -965,6 +1323,60 @@
prints tSend.txt,0
prints crcval,2
+Dual-state Button btOnOff5
+ Attributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ State : unpressed
+ Text :
+ Max. Text Size : 10
+
+ Events
+ Touch Press Event
+ tSend.txt="event,buttonPress2,"+entn5.txt+",OnOff,"
+ covx btOnOff5.val,tTmp.txt,0,0
+ tSend.txt+=tTmp.txt
+ //send calc crc
+ btlen tSend.txt,sys0
+ crcrest 1,0xffff // reset CRC
+ crcputh 55 bb
+ crcputs sys0,1
+ crcputs tSend.txt,0
+ //send cmd
+ printh 55 bb
+ prints sys0,2
+ prints tSend.txt,0
+ prints crcval,2
+
+Dual-state Button btOnOff6
+ Attributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ State : unpressed
+ Text :
+ Max. Text Size : 10
+
+ Events
+ Touch Press Event
+ tSend.txt="event,buttonPress2,"+entn6.txt+",OnOff,"
+ covx btOnOff6.val,tTmp.txt,0,0
+ tSend.txt+=tTmp.txt
+ //send calc crc
+ btlen tSend.txt,sys0
+ crcrest 1,0xffff // reset CRC
+ crcputh 55 bb
+ crcputs sys0,1
+ crcputs tSend.txt,0
+ //send cmd
+ printh 55 bb
+ prints sys0,2
+ prints tSend.txt,0
+ prints crcval,2
+
Hotspot mSpecial
Attributes
Scope : local
@@ -1070,6 +1482,50 @@
page popupLight
}
+Hotspot m4
+ Attributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+
+ Events
+ Touch Press Event
+ pageIcons.tTmp1.txt=tEntity5.txt
+ pageIcons.tTmp2.txt=entn5.txt
+ if(type5.txt=="shutter")
+ {
+ //popupShutter.tHeading.txt=tEntity5.txt
+ page popupShutter
+ }
+ if(type5.txt=="light")
+ {
+ //popupLight.tEntity.txt=tEntity5.txt
+ page popupLight
+ }
+
+Hotspot m5
+ Attributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+
+ Events
+ Touch Press Event
+ pageIcons.tTmp1.txt=tEntity6.txt
+ pageIcons.tTmp2.txt=entn6.txt
+ if(type6.txt=="shutter")
+ {
+ //popupShutter.tHeading.txt=tEntity6.txt
+ page popupShutter
+ }
+ if(type6.txt=="light")
+ {
+ //popupLight.tEntity.txt=tEntity6.txt
+ page popupLight
+ }
+
Timer tmSerial
Attributes
Scope : local
@@ -1648,6 +2104,254 @@
covx tTmp.txt,sys0,0,0
hSlider4.maxval=sys0
}
+ // get Type
+ spstr strCommand.txt,type5.txt,",",27
+ // get internal name
+ spstr strCommand.txt,entn5.txt,",",28
+ if(type5.txt=="delete"||type5.txt=="")
+ {
+ vis bUp5,0
+ vis bStop5,0
+ vis bDown5,0
+ vis btOnOff5,0
+ vis tEntity5,0
+ vis tIcon5,0
+ vis bText5,0
+ vis hSlider5,0
+ vis nNum5,0
+ }else
+ {
+ // change icon
+ spstr strCommand.txt,tTmp.txt,",",29
+ covx tTmp.txt,sys0,0,0
+ substr pageIcons.tIcons.txt,tIcon5.txt,sys0,1
+ vis tIcon5,1
+ // change icon color
+ spstr strCommand.txt,tTmp.txt,",",30
+ covx tTmp.txt,sys0,0,0
+ tIcon5.pco=sys0
+ // set name
+ spstr strCommand.txt,tEntity5.txt,",",31
+ vis tEntity5,1
+ }
+ if(type5.txt=="shutter")
+ {
+ vis bUp5,1
+ vis bStop5,1
+ vis bDown5,1
+ vis btOnOff5,0
+ vis bText5,0
+ vis hSlider5,0
+ vis nNum5,0
+ }
+ if(type5.txt=="light")
+ {
+ vis bUp5,0
+ vis bStop5,0
+ vis bDown5,0
+ vis btOnOff5,1
+ vis bText5,0
+ vis hSlider5,0
+ vis nNum5,0
+ // get Button State (optional Value)
+ spstr strCommand.txt,tTmp.txt,",",32
+ covx tTmp.txt,sys0,0,0
+ btOnOff5.val=sys0
+ }
+ if(type5.txt=="switch")
+ {
+ vis bUp5,0
+ vis bStop5,0
+ vis bDown5,0
+ vis btOnOff5,1
+ vis bText5,0
+ vis hSlider5,0
+ vis nNum5,0
+ // get Button State (optional Value)
+ spstr strCommand.txt,tTmp.txt,",",32
+ covx tTmp.txt,sys0,0,0
+ btOnOff5.val=sys0
+ }
+ if(type5.txt=="text")
+ {
+ vis bUp5,0
+ vis bStop5,0
+ vis bDown5,0
+ vis btOnOff5,0
+ vis bText5,1
+ tsw bText5,0
+ vis hSlider5,0
+ vis nNum5,0
+ bText5.pco=65535
+ bText5.pco2=65535
+ // get Text (optional Value)
+ spstr strCommand.txt,bText5.txt,",",32
+ }
+ if(type5.txt=="button")
+ {
+ vis bUp5,0
+ vis bStop5,0
+ vis bDown5,0
+ vis btOnOff5,0
+ vis bText5,1
+ tsw bText5,1
+ vis hSlider5,0
+ vis nNum5,0
+ bText5.pco=1374
+ bText5.pco2=1374
+ // get Text (optional Value)
+ spstr strCommand.txt,bText5.txt,",",32
+ }
+ if(type5.txt=="number")
+ {
+ vis bUp5,0
+ vis bStop5,0
+ vis bDown5,0
+ vis btOnOff5,0
+ vis bText5,0
+ tsw bText5,0
+ vis hSlider5,1
+ vis nNum5,1
+ // get config (optional Value) (use bText as variable)
+ spstr strCommand.txt,bText5.txt,",",32
+ //first value is current value
+ spstr bText5.txt,tTmp.txt,"|",0
+ covx tTmp.txt,sys0,0,0
+ hSlider5.val=sys0
+ nNum5.val=sys0
+ //second value is min value
+ spstr bText5.txt,tTmp.txt,"|",1
+ covx tTmp.txt,sys0,0,0
+ hSlider5.minval=sys0
+ //third value is max value
+ spstr bText5.txt,tTmp.txt,"|",2
+ covx tTmp.txt,sys0,0,0
+ hSlider5.maxval=sys0
+ }
+ // get Type
+ spstr strCommand.txt,type6.txt,",",33
+ // get internal name
+ spstr strCommand.txt,entn6.txt,",",34
+ if(type6.txt=="delete"||type6.txt=="")
+ {
+ vis bUp6,0
+ vis bStop6,0
+ vis bDown6,0
+ vis btOnOff6,0
+ vis tEntity6,0
+ vis tIcon6,0
+ vis bText6,0
+ vis hSlider6,0
+ vis nNum6,0
+ }else
+ {
+ // change icon
+ spstr strCommand.txt,tTmp.txt,",",35
+ covx tTmp.txt,sys0,0,0
+ substr pageIcons.tIcons.txt,tIcon6.txt,sys0,1
+ vis tIcon6,1
+ // change icon color
+ spstr strCommand.txt,tTmp.txt,",",36
+ covx tTmp.txt,sys0,0,0
+ tIcon6.pco=sys0
+ // set name
+ spstr strCommand.txt,tEntity6.txt,",",37
+ vis tEntity6,1
+ }
+ if(type6.txt=="shutter")
+ {
+ vis bUp6,1
+ vis bStop6,1
+ vis bDown6,1
+ vis btOnOff6,0
+ vis bText6,0
+ vis hSlider6,0
+ vis nNum6,0
+ }
+ if(type6.txt=="light")
+ {
+ vis bUp6,0
+ vis bStop6,0
+ vis bDown6,0
+ vis btOnOff6,1
+ vis bText6,0
+ vis hSlider6,0
+ vis nNum6,0
+ // get Button State (optional Value)
+ spstr strCommand.txt,tTmp.txt,",",38
+ covx tTmp.txt,sys0,0,0
+ btOnOff6.val=sys0
+ }
+ if(type6.txt=="switch")
+ {
+ vis bUp6,0
+ vis bStop6,0
+ vis bDown6,0
+ vis btOnOff6,1
+ vis bText6,0
+ vis hSlider6,0
+ vis nNum6,0
+ // get Button State (optional Value)
+ spstr strCommand.txt,tTmp.txt,",",38
+ covx tTmp.txt,sys0,0,0
+ btOnOff6.val=sys0
+ }
+ if(type6.txt=="text")
+ {
+ vis bUp6,0
+ vis bStop6,0
+ vis bDown6,0
+ vis btOnOff6,0
+ vis bText6,1
+ tsw bText6,0
+ vis hSlider6,0
+ vis nNum6,0
+ bText6.pco=65535
+ bText6.pco2=65535
+ // get Text (optional Value)
+ spstr strCommand.txt,bText6.txt,",",38
+ }
+ if(type6.txt=="button")
+ {
+ vis bUp6,0
+ vis bStop6,0
+ vis bDown6,0
+ vis btOnOff6,0
+ vis bText6,1
+ tsw bText6,1
+ vis hSlider6,0
+ vis nNum6,0
+ bText6.pco=1374
+ bText6.pco2=1374
+ // get Text (optional Value)
+ spstr strCommand.txt,bText6.txt,",",38
+ }
+ if(type6.txt=="number")
+ {
+ vis bUp6,0
+ vis bStop6,0
+ vis bDown6,0
+ vis btOnOff6,0
+ vis bText6,0
+ tsw bText6,0
+ vis hSlider6,1
+ vis nNum6,1
+ // get config (optional Value) (use bText as variable)
+ spstr strCommand.txt,bText6.txt,",",38
+ //first value is current value
+ spstr bText6.txt,tTmp.txt,"|",0
+ covx tTmp.txt,sys0,0,0
+ hSlider6.val=sys0
+ nNum6.val=sys0
+ //second value is min value
+ spstr bText6.txt,tTmp.txt,"|",1
+ covx tTmp.txt,sys0,0,0
+ hSlider6.minval=sys0
+ //third value is max value
+ spstr bText6.txt,tTmp.txt,"|",2
+ covx tTmp.txt,sys0,0,0
+ hSlider6.maxval=sys0
+ }
}
if(tInstruction.txt=="pageType")
{
diff -bur HMI/n2t-out/pageStartup.txt HMI/US/portrait/n2t-out/pageStartup.txt
--- HMI/n2t-out/pageStartup.txt 2022-04-01 04:54:12.884151859 +0000
+++ HMI/US/portrait/n2t-out/pageStartup.txt 2022-04-01 04:54:13.372185922 +0000
@@ -142,7 +142,7 @@
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
- Text : please check your backend configuration
+ Text : pls check your backend configuration
Max. Text Size : 100
Text tVersion
@@ -177,7 +177,7 @@
recmod=1
bauds=115200
// startup event
- tSend.txt="event,startup,"+tVersion.txt+",eu"
+ tSend.txt="event,startup,"+tVersion.txt+",us-p"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC

View File

@@ -1,18 +1,18 @@
diff -bur HMI/n2t-out/Program.s.txt HMI/US/portrait/n2t-out/Program.s.txt
--- HMI/n2t-out/Program.s.txt 2022-03-30 09:17:12.762388734 +0000
+++ HMI/US/portrait/n2t-out/Program.s.txt 2022-03-30 09:17:13.206389440 +0000
@@ -10,6 +10,6 @@
int sleepValue=0
--- HMI/n2t-out/Program.s.txt 2022-04-03 07:35:47.898571291 +0000
+++ HMI/US/portrait/n2t-out/Program.s.txt 2022-04-03 07:35:48.266571453 +0000
@@ -11,6 +11,6 @@
// dim value
int dimValue=40
int dimValueNormal=100
- // fix touch offset
- lcd_dev fffb 0002 0000 0020
+ // fix touch offset (Removed for US version)
+ //lcd_dev fffb 0002 0000 0020
page pageStartup
diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
--- HMI/n2t-out/cardEntities.txt 2022-03-30 09:17:12.766388740 +0000
+++ HMI/US/portrait/n2t-out/cardEntities.txt 2022-03-30 09:17:13.206389440 +0000
--- HMI/n2t-out/cardEntities.txt 2022-04-03 07:35:47.902571293 +0000
+++ HMI/US/portrait/n2t-out/cardEntities.txt 2022-04-03 07:35:48.266571453 +0000
@@ -62,6 +62,26 @@
vis bText4,0
vis hSlider4,0
@@ -118,7 +118,7 @@ diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
+ Send Component ID : disabled
+ Associated Keyboard : none
+ Text : 
+ Max. Text Size : 30
+ Max. Text Size : 5
+
+Text tEntity6
+ Attributes
@@ -138,7 +138,7 @@ diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
+ Send Component ID : disabled
+ Associated Keyboard : none
+ Text : 
+ Max. Text Size : 30
+ Max. Text Size : 5
+
Picture p0
Attributes
@@ -206,7 +206,7 @@ diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
Button bDown1
Attributes
Scope : local
@@ -852,6 +1010,206 @@
@@ -859,6 +1017,206 @@
prints tSend.txt,0
prints crcval,2
@@ -247,7 +247,7 @@ diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
+
+ Events
+ Touch Press Event
+ tSend.txt="event,buttonPress2,"+entn4.txt+",down"
+ tSend.txt="event,buttonPress2,"+entn5.txt+",down"
+ //send calc crc
+ btlen tSend.txt,sys0
+ crcrest 1,0xffff // reset CRC
@@ -347,7 +347,7 @@ diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
+
+ Events
+ Touch Press Event
+ tSend.txt="event,buttonPress2,"+entn4.txt+",down"
+ tSend.txt="event,buttonPress2,"+entn6.txt+",down"
+ //send calc crc
+ btlen tSend.txt,sys0
+ crcrest 1,0xffff // reset CRC
@@ -413,7 +413,7 @@ diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
Dual-state Button btOnOff1
Attributes
Scope : local
@@ -960,6 +1318,60 @@
@@ -967,6 +1325,60 @@
prints tSend.txt,0
prints crcval,2
@@ -474,7 +474,7 @@ diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
Hotspot mSpecial
Attributes
Scope : local
@@ -1065,6 +1477,50 @@
@@ -1072,6 +1484,50 @@
page popupLight
}
@@ -525,14 +525,14 @@ diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
Timer tmSerial
Attributes
Scope : local
@@ -1616,6 +2072,254 @@
@@ -1650,6 +2106,254 @@
covx tTmp.txt,sys0,0,0
hSlider4.maxval=sys0
}
+ // get Type
+ spstr strCommand.txt,type5.txt,",",27
+ spstr strCommand.txt,type5.txt,"~",27
+ // get internal name
+ spstr strCommand.txt,entn5.txt,",",28
+ spstr strCommand.txt,entn5.txt,"~",28
+ if(type5.txt=="delete"||type5.txt=="")
+ {
+ vis bUp5,0
@@ -547,16 +547,16 @@ diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
+ }else
+ {
+ // change icon
+ spstr strCommand.txt,tTmp.txt,",",29
+ spstr strCommand.txt,tTmp.txt,"~",29
+ covx tTmp.txt,sys0,0,0
+ substr pageIcons.tIcons.txt,tIcon5.txt,sys0,1
+ vis tIcon5,1
+ // change icon color
+ spstr strCommand.txt,tTmp.txt,",",30
+ spstr strCommand.txt,tTmp.txt,"~",30
+ covx tTmp.txt,sys0,0,0
+ tIcon5.pco=sys0
+ // set name
+ spstr strCommand.txt,tEntity5.txt,",",31
+ spstr strCommand.txt,tEntity5.txt,"~",31
+ vis tEntity5,1
+ }
+ if(type5.txt=="shutter")
@@ -579,7 +579,7 @@ diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
+ vis hSlider5,0
+ vis nNum5,0
+ // get Button State (optional Value)
+ spstr strCommand.txt,tTmp.txt,",",32
+ spstr strCommand.txt,tTmp.txt,"~",32
+ covx tTmp.txt,sys0,0,0
+ btOnOff5.val=sys0
+ }
@@ -593,7 +593,7 @@ diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
+ vis hSlider5,0
+ vis nNum5,0
+ // get Button State (optional Value)
+ spstr strCommand.txt,tTmp.txt,",",32
+ spstr strCommand.txt,tTmp.txt,"~",32
+ covx tTmp.txt,sys0,0,0
+ btOnOff5.val=sys0
+ }
@@ -610,7 +610,7 @@ diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
+ bText5.pco=65535
+ bText5.pco2=65535
+ // get Text (optional Value)
+ spstr strCommand.txt,bText5.txt,",",32
+ spstr strCommand.txt,bText5.txt,"~",32
+ }
+ if(type5.txt=="button")
+ {
@@ -625,7 +625,7 @@ diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
+ bText5.pco=1374
+ bText5.pco2=1374
+ // get Text (optional Value)
+ spstr strCommand.txt,bText5.txt,",",32
+ spstr strCommand.txt,bText5.txt,"~",32
+ }
+ if(type5.txt=="number")
+ {
@@ -638,7 +638,7 @@ diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
+ vis hSlider5,1
+ vis nNum5,1
+ // get config (optional Value) (use bText as variable)
+ spstr strCommand.txt,bText5.txt,",",32
+ spstr strCommand.txt,bText5.txt,"~",32
+ //first value is current value
+ spstr bText5.txt,tTmp.txt,"|",0
+ covx tTmp.txt,sys0,0,0
@@ -654,9 +654,9 @@ diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
+ hSlider5.maxval=sys0
+ }
+ // get Type
+ spstr strCommand.txt,type6.txt,",",33
+ spstr strCommand.txt,type6.txt,"~",33
+ // get internal name
+ spstr strCommand.txt,entn6.txt,",",34
+ spstr strCommand.txt,entn6.txt,"~",34
+ if(type6.txt=="delete"||type6.txt=="")
+ {
+ vis bUp6,0
@@ -671,16 +671,16 @@ diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
+ }else
+ {
+ // change icon
+ spstr strCommand.txt,tTmp.txt,",",35
+ spstr strCommand.txt,tTmp.txt,"~",35
+ covx tTmp.txt,sys0,0,0
+ substr pageIcons.tIcons.txt,tIcon6.txt,sys0,1
+ vis tIcon6,1
+ // change icon color
+ spstr strCommand.txt,tTmp.txt,",",36
+ spstr strCommand.txt,tTmp.txt,"~",36
+ covx tTmp.txt,sys0,0,0
+ tIcon6.pco=sys0
+ // set name
+ spstr strCommand.txt,tEntity6.txt,",",37
+ spstr strCommand.txt,tEntity6.txt,"~",37
+ vis tEntity6,1
+ }
+ if(type6.txt=="shutter")
@@ -703,7 +703,7 @@ diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
+ vis hSlider6,0
+ vis nNum6,0
+ // get Button State (optional Value)
+ spstr strCommand.txt,tTmp.txt,",",38
+ spstr strCommand.txt,tTmp.txt,"~",38
+ covx tTmp.txt,sys0,0,0
+ btOnOff6.val=sys0
+ }
@@ -717,7 +717,7 @@ diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
+ vis hSlider6,0
+ vis nNum6,0
+ // get Button State (optional Value)
+ spstr strCommand.txt,tTmp.txt,",",38
+ spstr strCommand.txt,tTmp.txt,"~",38
+ covx tTmp.txt,sys0,0,0
+ btOnOff6.val=sys0
+ }
@@ -734,7 +734,7 @@ diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
+ bText6.pco=65535
+ bText6.pco2=65535
+ // get Text (optional Value)
+ spstr strCommand.txt,bText6.txt,",",38
+ spstr strCommand.txt,bText6.txt,"~",38
+ }
+ if(type6.txt=="button")
+ {
@@ -749,7 +749,7 @@ diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
+ bText6.pco=1374
+ bText6.pco2=1374
+ // get Text (optional Value)
+ spstr strCommand.txt,bText6.txt,",",38
+ spstr strCommand.txt,bText6.txt,"~",38
+ }
+ if(type6.txt=="number")
+ {
@@ -762,7 +762,7 @@ diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
+ vis hSlider6,1
+ vis nNum6,1
+ // get config (optional Value) (use bText as variable)
+ spstr strCommand.txt,bText6.txt,",",38
+ spstr strCommand.txt,bText6.txt,"~",38
+ //first value is current value
+ spstr bText6.txt,tTmp.txt,"|",0
+ covx tTmp.txt,sys0,0,0
@@ -780,36 +780,9 @@ diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
}
if(tInstruction.txt=="pageType")
{
diff -bur HMI/n2t-out/cardThermo.txt HMI/US/portrait/n2t-out/cardThermo.txt
--- HMI/n2t-out/cardThermo.txt 2022-03-30 09:17:12.766388740 +0000
+++ HMI/US/portrait/n2t-out/cardThermo.txt 2022-03-30 09:17:13.206389440 +0000
@@ -17,6 +17,7 @@
vis tInstruction,0
vis tTmp,0
vis tId,0
+ vis nPageDisp,0
vis xTempMin,0
vis xTempMax,0
vis xTempStep,0
@@ -98,6 +99,15 @@
Text :
Max. Text Size: 10
+Number nPageDisp
+ Attributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ Associated Keyboard : none
+ Value : 0
+
XFloat xTempCurr
Attributes
Scope : local
diff -bur HMI/n2t-out/pageStartup.txt HMI/US/portrait/n2t-out/pageStartup.txt
--- HMI/n2t-out/pageStartup.txt 2022-03-30 09:17:12.762388734 +0000
+++ HMI/US/portrait/n2t-out/pageStartup.txt 2022-03-30 09:17:13.206389440 +0000
--- HMI/n2t-out/pageStartup.txt 2022-04-03 07:35:47.902571293 +0000
+++ HMI/US/portrait/n2t-out/pageStartup.txt 2022-04-03 07:35:48.266571453 +0000
@@ -142,7 +142,7 @@
Disable release event after dragging: 0
Send Component ID : disabled

View File

@@ -10,6 +10,7 @@ Program.s
int sleepValue=0
// dim value
int dimValue=40
int dimValueNormal=100
// fix touch offset (Removed for US version)
//lcd_dev fffb 0002 0000 0020
page pageStartup

View File

@@ -25,7 +25,6 @@ Page cardAlarm
vis tInstruction,0
vis tTmp,0
vis tId,0
//vis nPageDisp,0
vis arm1,0
vis arm2,0
vis arm3,0
@@ -340,7 +339,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardAlarm,bPrev"
tSend.txt="event,buttonPress2,cardAlarm,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -1038,53 +1044,80 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
//entn
spstr strCommand.txt,entn.txt,",",1
spstr strCommand.txt,entn.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
//text arm1
spstr strCommand.txt,arm1.txt,",",2
spstr strCommand.txt,arm1.txt,"~",3
if(arm1.txt!="")
{
vis arm1,1
}
//id arm1
spstr strCommand.txt,va1.txt,",",3
spstr strCommand.txt,va1.txt,"~",4
//text arm2
spstr strCommand.txt,arm2.txt,",",4
spstr strCommand.txt,arm2.txt,"~",5
if(arm2.txt!="")
{
vis arm2,1
}
//id arm2
spstr strCommand.txt,va2.txt,",",5
spstr strCommand.txt,va2.txt,"~",6
//text arm3
spstr strCommand.txt,arm3.txt,",",6
spstr strCommand.txt,arm3.txt,"~",7
if(arm3.txt!="")
{
vis arm3,1
}
//id arm3
spstr strCommand.txt,va3.txt,",",7
spstr strCommand.txt,va3.txt,"~",8
//text arm4
spstr strCommand.txt,arm4.txt,",",8
spstr strCommand.txt,arm4.txt,"~",9
if(arm4.txt!="")
{
vis arm4,1
}
//id arm4
spstr strCommand.txt,va4.txt,",",9
spstr strCommand.txt,va4.txt,"~",10
//icon
spstr strCommand.txt,tTmp.txt,",",10
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon.txt,sys0,1
//icon color
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,sys0,0,0
tIcon.pco=sys0
//numpad status
spstr strCommand.txt,tTmp.txt,",",12
spstr strCommand.txt,tTmp.txt,"~",13
if(tTmp.txt!="disable")
{
vis b0,1
@@ -1099,9 +1132,23 @@ Timer tmSerial
vis b9,1
vis b10,1
vis tCode,1
}else
{
vis b0,0
vis b1,0
vis b2,0
vis b3,0
vis b4,0
vis b5,0
vis b6,0
vis b7,0
vis b8,0
vis b9,0
vis b10,0
vis tCode,0
}
//flashing status
spstr strCommand.txt,tTmp.txt,",",13
spstr strCommand.txt,tTmp.txt,"~",14
if(tTmp.txt=="enable")
{
tmFlash.en=1
@@ -1113,67 +1160,80 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
dim=dimValue
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="popupLight")
if(tId.txt=="pageStartup")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
page pageStartup
}
if(tId.txt=="screensaver")
{
page screensaver
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardThermo")
if(tId.txt=="cardGrid")
{
page cardThermo
page cardGrid
}
if(tId.txt=="pageStartup")
if(tId.txt=="popupLight")
{
page pageStartup
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="popupShutter")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupShutter
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardGrid")
if(tId.txt=="cardThermo")
{
page cardGrid
page cardThermo
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="cardAlarm")
{
page cardAlarm
}
}
// end of user code
udelete payloadLength-1
@@ -1196,14 +1256,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardAlarm"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -400,8 +400,8 @@ Text tEntity1
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 77
y coordinate : 95
x coordinate : 52
y coordinate : 93
Width : 180
Height : 30
Effect : load
@@ -430,8 +430,8 @@ Text tEntity2
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 78
y coordinate : 164
x coordinate : 52
y coordinate : 162
Width : 180
Height : 30
Effect : load
@@ -460,8 +460,8 @@ Text tEntity3
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 78
y coordinate : 231
x coordinate : 52
y coordinate : 229
Width : 180
Height : 30
Effect : load
@@ -490,7 +490,7 @@ Text tEntity4
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 78
x coordinate : 52
y coordinate : 296
Width : 180
Height : 30
@@ -520,7 +520,7 @@ Text tIcon1
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 25
x coordinate : 5
y coordinate : 94
Width : 45
Height : 30
@@ -537,7 +537,7 @@ Text tIcon1
Vertical Alignment : center
Input Type : character
Text : 
Max. Text Size : 10
Max. Text Size : 5
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
@@ -550,7 +550,7 @@ Text tIcon2
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 25
x coordinate : 5
y coordinate : 163
Width : 45
Height : 30
@@ -567,7 +567,7 @@ Text tIcon2
Vertical Alignment : center
Input Type : character
Text : 
Max. Text Size : 30
Max. Text Size : 5
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
@@ -580,7 +580,7 @@ Text tIcon3
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 25
x coordinate : 5
y coordinate : 230
Width : 45
Height : 30
@@ -597,7 +597,7 @@ Text tIcon3
Vertical Alignment : center
Input Type : character
Text : 
Max. Text Size : 10
Max. Text Size : 5
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
@@ -610,7 +610,7 @@ Text tIcon4
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 25
x coordinate : 5
y coordinate : 296
Width : 45
Height : 30
@@ -627,7 +627,7 @@ Text tIcon4
Vertical Alignment : center
Input Type : character
Text : 
Max. Text Size : 30
Max. Text Size : 5
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
@@ -760,8 +760,8 @@ Text tEntity5
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 78
y coordinate : 360
x coordinate : 52
y coordinate : 359
Width : 180
Height : 30
Effect : load
@@ -790,7 +790,7 @@ Text tIcon5
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 25
x coordinate : 5
y coordinate : 360
Width : 45
Height : 30
@@ -807,7 +807,7 @@ Text tIcon5
Vertical Alignment : center
Input Type : character
Text : 
Max. Text Size : 30
Max. Text Size : 5
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
@@ -820,8 +820,8 @@ Text tEntity6
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 78
y coordinate : 425
x coordinate : 52
y coordinate : 424
Width : 180
Height : 30
Effect : load
@@ -850,7 +850,7 @@ Text tIcon6
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 25
x coordinate : 5
y coordinate : 425
Width : 45
Height : 30
@@ -867,7 +867,7 @@ Text tIcon6
Vertical Alignment : center
Input Type : character
Text : 
Max. Text Size : 30
Max. Text Size : 5
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
@@ -897,7 +897,7 @@ Slider hSlider1
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 168
x coordinate : 170
y coordinate : 88
Width : 100
Height : 43
@@ -1745,7 +1745,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardEntities,bPrev"
tSend.txt="event,buttonPress2,cardEntities,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -2074,7 +2081,7 @@ Button bDown5
Events
Touch Press Event
tSend.txt="event,buttonPress2,"+entn4.txt+",down"
tSend.txt="event,buttonPress2,"+entn5.txt+",down"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -2262,7 +2269,7 @@ Button bDown6
Events
Touch Press Event
tSend.txt="event,buttonPress2,"+entn4.txt+",down"
tSend.txt="event,buttonPress2,"+entn6.txt+",down"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -2902,15 +2909,42 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
// command format: entityUpd,heading,navigation,[,type,internalName,iconId,displayName,optionalValue]x4
spstr strCommand.txt,tHeading.txt,",",1
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
// get Type
spstr strCommand.txt,type1.txt,",",3
spstr strCommand.txt,type1.txt,"~",3
// get internal name
spstr strCommand.txt,entn1.txt,",",4
spstr strCommand.txt,entn1.txt,"~",4
if(type1.txt=="delete"||type1.txt=="")
{
vis bUp1,0
@@ -2925,16 +2959,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",5
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon1.txt,sys0,1
vis tIcon1,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",6
covx tTmp.txt,sys0,0,0
tIcon1.pco=sys0
// set name
spstr strCommand.txt,tEntity1.txt,",",7
spstr strCommand.txt,tEntity1.txt,"~",7
vis tEntity1,1
}
if(type1.txt=="shutter")
@@ -2957,7 +2991,7 @@ Timer tmSerial
vis hSlider1,0
vis nNum1,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",8
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,sys0,0,0
btOnOff1.val=sys0
}
@@ -2971,7 +3005,7 @@ Timer tmSerial
vis hSlider1,0
vis nNum1,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",8
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,sys0,0,0
btOnOff1.val=sys0
}
@@ -2988,7 +3022,7 @@ Timer tmSerial
bText1.pco=65535
bText1.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText1.txt,",",8
spstr strCommand.txt,bText1.txt,"~",8
}
if(type1.txt=="button")
{
@@ -3003,7 +3037,7 @@ Timer tmSerial
bText1.pco=1374
bText1.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText1.txt,",",8
spstr strCommand.txt,bText1.txt,"~",8
}
if(type1.txt=="number")
{
@@ -3016,7 +3050,7 @@ Timer tmSerial
vis hSlider1,1
vis nNum1,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText1.txt,",",8
spstr strCommand.txt,bText1.txt,"~",8
//first value is current value
spstr bText1.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -3032,9 +3066,9 @@ Timer tmSerial
hSlider1.maxval=sys0
}
// get Type
spstr strCommand.txt,type2.txt,",",9
spstr strCommand.txt,type2.txt,"~",9
// get internal name
spstr strCommand.txt,entn2.txt,",",10
spstr strCommand.txt,entn2.txt,"~",10
if(type2.txt=="delete"||type2.txt=="")
{
vis bUp2,0
@@ -3049,16 +3083,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon2.txt,sys0,1
vis tIcon2,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",12
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,sys0,0,0
tIcon2.pco=sys0
// set name
spstr strCommand.txt,tEntity2.txt,",",13
spstr strCommand.txt,tEntity2.txt,"~",13
vis tEntity2,1
}
if(type2.txt=="shutter")
@@ -3081,7 +3115,7 @@ Timer tmSerial
vis hSlider2,0
vis nNum2,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",14
spstr strCommand.txt,tTmp.txt,"~",14
covx tTmp.txt,sys0,0,0
btOnOff2.val=sys0
}
@@ -3095,7 +3129,7 @@ Timer tmSerial
vis hSlider2,0
vis nNum2,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",14
spstr strCommand.txt,tTmp.txt,"~",14
covx tTmp.txt,sys0,0,0
btOnOff2.val=sys0
}
@@ -3112,7 +3146,7 @@ Timer tmSerial
bText2.pco=65535
bText2.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText2.txt,",",14
spstr strCommand.txt,bText2.txt,"~",14
}
if(type2.txt=="button")
{
@@ -3127,7 +3161,7 @@ Timer tmSerial
bText2.pco=1374
bText2.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText2.txt,",",14
spstr strCommand.txt,bText2.txt,"~",14
}
if(type2.txt=="number")
{
@@ -3140,7 +3174,7 @@ Timer tmSerial
vis hSlider2,1
vis nNum2,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText2.txt,",",14
spstr strCommand.txt,bText2.txt,"~",14
//first value is current value
spstr bText2.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -3156,9 +3190,9 @@ Timer tmSerial
hSlider2.maxval=sys0
}
// get Type
spstr strCommand.txt,type3.txt,",",15
spstr strCommand.txt,type3.txt,"~",15
// get internal name
spstr strCommand.txt,entn3.txt,",",16
spstr strCommand.txt,entn3.txt,"~",16
if(type3.txt=="delete"||type3.txt=="")
{
vis bUp3,0
@@ -3173,16 +3207,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",17
spstr strCommand.txt,tTmp.txt,"~",17
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon3.txt,sys0,1
vis tIcon3,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",18
spstr strCommand.txt,tTmp.txt,"~",18
covx tTmp.txt,sys0,0,0
tIcon3.pco=sys0
// set name
spstr strCommand.txt,tEntity3.txt,",",19
spstr strCommand.txt,tEntity3.txt,"~",19
vis tEntity3,1
}
if(type3.txt=="shutter")
@@ -3205,7 +3239,7 @@ Timer tmSerial
vis hSlider3,0
vis nNum3,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",20
spstr strCommand.txt,tTmp.txt,"~",20
covx tTmp.txt,sys0,0,0
btOnOff3.val=sys0
}
@@ -3219,7 +3253,7 @@ Timer tmSerial
vis hSlider3,0
vis nNum3,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",20
spstr strCommand.txt,tTmp.txt,"~",20
covx tTmp.txt,sys0,0,0
btOnOff3.val=sys0
}
@@ -3236,7 +3270,7 @@ Timer tmSerial
bText3.pco=65535
bText3.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText3.txt,",",20
spstr strCommand.txt,bText3.txt,"~",20
}
if(type3.txt=="button")
{
@@ -3251,7 +3285,7 @@ Timer tmSerial
bText3.pco=1374
bText3.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText3.txt,",",20
spstr strCommand.txt,bText3.txt,"~",20
}
if(type3.txt=="number")
{
@@ -3264,7 +3298,7 @@ Timer tmSerial
vis hSlider3,1
vis nNum3,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText3.txt,",",20
spstr strCommand.txt,bText3.txt,"~",20
//first value is current value
spstr bText3.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -3280,9 +3314,9 @@ Timer tmSerial
hSlider3.maxval=sys0
}
// get Type
spstr strCommand.txt,type4.txt,",",21
spstr strCommand.txt,type4.txt,"~",21
// get internal name
spstr strCommand.txt,entn4.txt,",",22
spstr strCommand.txt,entn4.txt,"~",22
if(type4.txt=="delete"||type4.txt=="")
{
vis bUp4,0
@@ -3297,16 +3331,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",23
spstr strCommand.txt,tTmp.txt,"~",23
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon4.txt,sys0,1
vis tIcon4,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",24
spstr strCommand.txt,tTmp.txt,"~",24
covx tTmp.txt,sys0,0,0
tIcon4.pco=sys0
// set name
spstr strCommand.txt,tEntity4.txt,",",25
spstr strCommand.txt,tEntity4.txt,"~",25
vis tEntity4,1
}
if(type4.txt=="shutter")
@@ -3329,7 +3363,7 @@ Timer tmSerial
vis hSlider4,0
vis nNum4,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",26
spstr strCommand.txt,tTmp.txt,"~",26
covx tTmp.txt,sys0,0,0
btOnOff4.val=sys0
}
@@ -3343,7 +3377,7 @@ Timer tmSerial
vis hSlider4,0
vis nNum4,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",26
spstr strCommand.txt,tTmp.txt,"~",26
covx tTmp.txt,sys0,0,0
btOnOff4.val=sys0
}
@@ -3360,7 +3394,7 @@ Timer tmSerial
bText4.pco=65535
bText4.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText4.txt,",",26
spstr strCommand.txt,bText4.txt,"~",26
}
if(type4.txt=="button")
{
@@ -3375,7 +3409,7 @@ Timer tmSerial
bText4.pco=1374
bText4.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText4.txt,",",26
spstr strCommand.txt,bText4.txt,"~",26
}
if(type4.txt=="number")
{
@@ -3388,7 +3422,7 @@ Timer tmSerial
vis hSlider4,1
vis nNum4,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText4.txt,",",26
spstr strCommand.txt,bText4.txt,"~",26
//first value is current value
spstr bText4.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -3404,9 +3438,9 @@ Timer tmSerial
hSlider4.maxval=sys0
}
// get Type
spstr strCommand.txt,type5.txt,",",27
spstr strCommand.txt,type5.txt,"~",27
// get internal name
spstr strCommand.txt,entn5.txt,",",28
spstr strCommand.txt,entn5.txt,"~",28
if(type5.txt=="delete"||type5.txt=="")
{
vis bUp5,0
@@ -3421,16 +3455,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",29
spstr strCommand.txt,tTmp.txt,"~",29
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon5.txt,sys0,1
vis tIcon5,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",30
spstr strCommand.txt,tTmp.txt,"~",30
covx tTmp.txt,sys0,0,0
tIcon5.pco=sys0
// set name
spstr strCommand.txt,tEntity5.txt,",",31
spstr strCommand.txt,tEntity5.txt,"~",31
vis tEntity5,1
}
if(type5.txt=="shutter")
@@ -3453,7 +3487,7 @@ Timer tmSerial
vis hSlider5,0
vis nNum5,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",32
spstr strCommand.txt,tTmp.txt,"~",32
covx tTmp.txt,sys0,0,0
btOnOff5.val=sys0
}
@@ -3467,7 +3501,7 @@ Timer tmSerial
vis hSlider5,0
vis nNum5,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",32
spstr strCommand.txt,tTmp.txt,"~",32
covx tTmp.txt,sys0,0,0
btOnOff5.val=sys0
}
@@ -3484,7 +3518,7 @@ Timer tmSerial
bText5.pco=65535
bText5.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText5.txt,",",32
spstr strCommand.txt,bText5.txt,"~",32
}
if(type5.txt=="button")
{
@@ -3499,7 +3533,7 @@ Timer tmSerial
bText5.pco=1374
bText5.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText5.txt,",",32
spstr strCommand.txt,bText5.txt,"~",32
}
if(type5.txt=="number")
{
@@ -3512,7 +3546,7 @@ Timer tmSerial
vis hSlider5,1
vis nNum5,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText5.txt,",",32
spstr strCommand.txt,bText5.txt,"~",32
//first value is current value
spstr bText5.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -3528,9 +3562,9 @@ Timer tmSerial
hSlider5.maxval=sys0
}
// get Type
spstr strCommand.txt,type6.txt,",",33
spstr strCommand.txt,type6.txt,"~",33
// get internal name
spstr strCommand.txt,entn6.txt,",",34
spstr strCommand.txt,entn6.txt,"~",34
if(type6.txt=="delete"||type6.txt=="")
{
vis bUp6,0
@@ -3545,16 +3579,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",35
spstr strCommand.txt,tTmp.txt,"~",35
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon6.txt,sys0,1
vis tIcon6,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",36
spstr strCommand.txt,tTmp.txt,"~",36
covx tTmp.txt,sys0,0,0
tIcon6.pco=sys0
// set name
spstr strCommand.txt,tEntity6.txt,",",37
spstr strCommand.txt,tEntity6.txt,"~",37
vis tEntity6,1
}
if(type6.txt=="shutter")
@@ -3577,7 +3611,7 @@ Timer tmSerial
vis hSlider6,0
vis nNum6,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",38
spstr strCommand.txt,tTmp.txt,"~",38
covx tTmp.txt,sys0,0,0
btOnOff6.val=sys0
}
@@ -3591,7 +3625,7 @@ Timer tmSerial
vis hSlider6,0
vis nNum6,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",38
spstr strCommand.txt,tTmp.txt,"~",38
covx tTmp.txt,sys0,0,0
btOnOff6.val=sys0
}
@@ -3608,7 +3642,7 @@ Timer tmSerial
bText6.pco=65535
bText6.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText6.txt,",",38
spstr strCommand.txt,bText6.txt,"~",38
}
if(type6.txt=="button")
{
@@ -3623,7 +3657,7 @@ Timer tmSerial
bText6.pco=1374
bText6.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText6.txt,",",38
spstr strCommand.txt,bText6.txt,"~",38
}
if(type6.txt=="number")
{
@@ -3636,7 +3670,7 @@ Timer tmSerial
vis hSlider6,1
vis nNum6,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText6.txt,",",38
spstr strCommand.txt,bText6.txt,"~",38
//first value is current value
spstr bText6.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -3656,11 +3690,11 @@ Timer tmSerial
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
@@ -3710,23 +3744,23 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
// end of user code
@@ -3750,14 +3784,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardEntities"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -515,7 +515,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardGrid,bPrev"
tSend.txt="event,buttonPress2,cardGrid,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -1000,15 +1007,42 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
// command format: entityUpd,heading,navigation,[,type,internalName,iconId,iconColor,displayName,optionalValue]x6
spstr strCommand.txt,tHeading.txt,",",1
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
// get Type
spstr strCommand.txt,type1.txt,",",3
spstr strCommand.txt,type1.txt,"~",3
// get internal name
spstr strCommand.txt,entn1.txt,",",4
spstr strCommand.txt,entn1.txt,"~",4
if(type1.txt=="delete"||type1.txt=="")
{
vis tEntity1,0
@@ -1016,22 +1050,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",5
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity1.txt,sys0,1
vis bEntity1,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",6
covx tTmp.txt,sys0,0,0
bEntity1.pco=sys0
// set name
spstr strCommand.txt,tEntity1.txt,",",7
spstr strCommand.txt,tEntity1.txt,"~",7
vis tEntity1,1
}
// get Type
spstr strCommand.txt,type2.txt,",",9
spstr strCommand.txt,type2.txt,"~",9
// get internal name
spstr strCommand.txt,entn2.txt,",",10
spstr strCommand.txt,entn2.txt,"~",10
if(type2.txt=="delete"||type2.txt=="")
{
vis tEntity2,0
@@ -1039,22 +1073,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity2.txt,sys0,1
vis bEntity2,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",12
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,sys0,0,0
bEntity2.pco=sys0
// set name
spstr strCommand.txt,tEntity2.txt,",",13
spstr strCommand.txt,tEntity2.txt,"~",13
vis tEntity2,1
}
// get Type
spstr strCommand.txt,type3.txt,",",15
spstr strCommand.txt,type3.txt,"~",15
// get internal name
spstr strCommand.txt,entn3.txt,",",16
spstr strCommand.txt,entn3.txt,"~",16
if(type3.txt=="delete"||type3.txt=="")
{
vis tEntity3,0
@@ -1062,22 +1096,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",17
spstr strCommand.txt,tTmp.txt,"~",17
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity3.txt,sys0,1
vis bEntity3,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",18
spstr strCommand.txt,tTmp.txt,"~",18
covx tTmp.txt,sys0,0,0
bEntity3.pco=sys0
// set name
spstr strCommand.txt,tEntity3.txt,",",19
spstr strCommand.txt,tEntity3.txt,"~",19
vis tEntity3,1
}
// get Type
spstr strCommand.txt,type4.txt,",",21
spstr strCommand.txt,type4.txt,"~",21
// get internal name
spstr strCommand.txt,entn4.txt,",",22
spstr strCommand.txt,entn4.txt,"~",22
if(type4.txt=="delete"||type4.txt=="")
{
vis tEntity4,0
@@ -1085,22 +1119,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",23
spstr strCommand.txt,tTmp.txt,"~",23
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity4.txt,sys0,1
vis bEntity4,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",24
spstr strCommand.txt,tTmp.txt,"~",24
covx tTmp.txt,sys0,0,0
bEntity4.pco=sys0
// set name
spstr strCommand.txt,tEntity4.txt,",",25
spstr strCommand.txt,tEntity4.txt,"~",25
vis tEntity4,1
}
// get Type
spstr strCommand.txt,type5.txt,",",27
spstr strCommand.txt,type5.txt,"~",27
// get internal name
spstr strCommand.txt,entn5.txt,",",28
spstr strCommand.txt,entn5.txt,"~",28
if(type5.txt=="delete"||type5.txt=="")
{
vis tEntity5,0
@@ -1108,22 +1142,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",29
spstr strCommand.txt,tTmp.txt,"~",29
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity5.txt,sys0,1
vis bEntity5,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",30
spstr strCommand.txt,tTmp.txt,"~",30
covx tTmp.txt,sys0,0,0
bEntity5.pco=sys0
// set name
spstr strCommand.txt,tEntity5.txt,",",31
spstr strCommand.txt,tEntity5.txt,"~",31
vis tEntity5,1
}
// get Type
spstr strCommand.txt,type6.txt,",",33
spstr strCommand.txt,type6.txt,"~",33
// get internal name
spstr strCommand.txt,entn6.txt,",",34
spstr strCommand.txt,entn6.txt,"~",34
if(type6.txt=="delete"||type6.txt=="")
{
vis tEntity6,0
@@ -1131,16 +1165,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",35
spstr strCommand.txt,tTmp.txt,"~",35
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity6.txt,sys0,1
vis bEntity6,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",36
spstr strCommand.txt,tTmp.txt,"~",36
covx tTmp.txt,sys0,0,0
bEntity6.pco=sys0
// set name
spstr strCommand.txt,tEntity6.txt,",",37
spstr strCommand.txt,tEntity6.txt,"~",37
vis tEntity6,1
}
}
@@ -1148,11 +1182,11 @@ Timer tmSerial
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
@@ -1202,23 +1236,23 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
// end of user code
@@ -1242,14 +1276,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardGrid"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -856,7 +856,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardMedia,bPrev"
tSend.txt="event,buttonPress2,cardMedia,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -920,31 +927,58 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
//entity name
spstr strCommand.txt,entn.txt,"|",1
//heading
spstr strCommand.txt,tHeading.txt,"|",2
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
//entity name
spstr strCommand.txt,entn.txt,"~",3
//icon
spstr strCommand.txt,tTmp.txt,"|",3
spstr strCommand.txt,tTmp.txt,"~",4
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon.txt,sys0,1
//title
spstr strCommand.txt,tTitle.txt,"|",4
spstr strCommand.txt,tTitle.txt,"~",5
//author
spstr strCommand.txt,tAuthor.txt,"|",5
spstr strCommand.txt,tAuthor.txt,"~",6
//volume
spstr strCommand.txt,tTmp.txt,"|",6
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,sys0,0,0
hVolume.val=sys0
//icon
spstr strCommand.txt,tTmp.txt,"|",7
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tPlayPause.txt,sys0,1
//speaker current
spstr strCommand.txt,tSpeaker.txt,"|",8
spstr strCommand.txt,tSpeaker.txt,"~",9
if(tSpeaker.txt!="")
{
tSpeaker.pco=1374
@@ -953,14 +987,14 @@ Timer tmSerial
tSpeaker.pco=65535
}
//speaker list
spstr strCommand.txt,vaSpeakerList.txt,"|",9
spstr strCommand.txt,vaSpeakerList.txt,"~",10
if(vaSpeakerList.txt=="")
{
vis t6,0
}
vaSpeakerPos.val=0
// on off button
spstr strCommand.txt,tTmp.txt,"|",10
spstr strCommand.txt,tTmp.txt,"~",11
if(tTmp.txt=="disable")
{
vis t5,0
@@ -973,62 +1007,75 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
dim=dimValue
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="popupLight")
if(tId.txt=="pageStartup")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
page pageStartup
}
if(tId.txt=="screensaver")
{
page screensaver
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardThermo")
if(tId.txt=="cardGrid")
{
page cardThermo
page cardGrid
}
if(tId.txt=="pageStartup")
if(tId.txt=="popupLight")
{
page pageStartup
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="popupShutter")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupShutter
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardGrid")
if(tId.txt=="cardThermo")
{
page cardGrid
page cardThermo
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="cardAlarm")
{
@@ -1065,14 +1112,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardMedia"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -25,7 +25,6 @@ Page cardThermo
vis tInstruction,0
vis tTmp,0
vis tId,0
vis nPageDisp,0
vis xTempMin,0
vis xTempMax,0
vis xTempStep,0
@@ -43,114 +42,84 @@ Page cardThermo
Variable (string) strCommand
Attributes
ID : 7
ID : 6
Scope : local
Text :
Max. Text Size: 250
Variable (string) entn
Attributes
ID : 22
ID : 21
Scope : local
Text :
Max. Text Size: 50
Variable (string) va0
Attributes
ID : 33
ID : 32
Scope : local
Text :
Max. Text Size: 10
Variable (string) va1
Attributes
ID : 34
ID : 33
Scope : local
Text :
Max. Text Size: 10
Variable (string) va2
Attributes
ID : 35
ID : 34
Scope : local
Text :
Max. Text Size: 10
Variable (string) va3
Attributes
ID : 36
ID : 35
Scope : local
Text :
Max. Text Size: 10
Variable (string) va4
Attributes
ID : 37
ID : 36
Scope : local
Text :
Max. Text Size: 10
Variable (string) va5
Attributes
ID : 38
ID : 37
Scope : local
Text :
Max. Text Size: 10
Variable (string) va6
Attributes
ID : 39
ID : 38
Scope : local
Text :
Max. Text Size: 10
Variable (string) va7
Attributes
ID : 40
ID : 39
Scope : local
Text :
Max. Text Size: 10
Variable (string) va8
Attributes
ID : 41
ID : 40
Scope : local
Text :
Max. Text Size: 10
Number nPageDisp
Attributes
ID : 5
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 275
y coordinate : 1
Width : 42
Height : 24
Effect : load
Effect Priority : 0
Effect Time : 300
Fill : solid color
Style : flat
Associated Keyboard : none
Font ID : 0
Back. Color : 65535
Font Color : 0
Horizontal Alignment : center
Vertical Alignment : center
Value : 0
Significant digits shown : all
Format : decimal
Word wrap : enabled
Horizontal Spacing : 0
Vertical Spacing : 0
XFloat xTempCurr
Attributes
ID : 14
ID : 13
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -180,7 +149,7 @@ XFloat xTempCurr
XFloat xTempDest
Attributes
ID : 16
ID : 15
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -210,7 +179,7 @@ XFloat xTempDest
XFloat xTempMin
Attributes
ID : 17
ID : 16
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -240,7 +209,7 @@ XFloat xTempMin
XFloat xTempMax
Attributes
ID : 18
ID : 17
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -270,7 +239,7 @@ XFloat xTempMax
XFloat xTempStep
Attributes
ID : 19
ID : 18
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -360,7 +329,7 @@ Text tTmp
Text tInstruction
Attributes
ID : 8
ID : 7
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -390,7 +359,7 @@ Text tInstruction
Text tId
Attributes
ID : 9
ID : 8
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -420,7 +389,7 @@ Text tId
Text tHeading
Attributes
ID : 10
ID : 9
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -450,7 +419,7 @@ Text tHeading
Text tStatus
Attributes
ID : 11
ID : 10
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -480,7 +449,7 @@ Text tStatus
Text t2
Attributes
ID : 15
ID : 14
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -574,7 +543,7 @@ Button bNext
Button bDown
Attributes
ID : 12
ID : 11
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -628,7 +597,7 @@ Button bDown
Button bUp
Attributes
ID : 13
ID : 12
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -682,7 +651,7 @@ Button bUp
Button bPrev
Attributes
ID : 23
ID : 22
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -714,7 +683,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardThermo,bPrev"
tSend.txt="event,buttonPress2,cardThermo,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -729,7 +705,7 @@ Button bPrev
Dual-state Button bt0
Attributes
ID : 24
ID : 23
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -778,7 +754,7 @@ Dual-state Button bt0
Dual-state Button bt1
Attributes
ID : 25
ID : 24
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -827,7 +803,7 @@ Dual-state Button bt1
Dual-state Button bt2
Attributes
ID : 26
ID : 25
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -876,7 +852,7 @@ Dual-state Button bt2
Dual-state Button bt3
Attributes
ID : 27
ID : 26
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -925,7 +901,7 @@ Dual-state Button bt3
Dual-state Button bt4
Attributes
ID : 28
ID : 27
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -974,7 +950,7 @@ Dual-state Button bt4
Dual-state Button bt5
Attributes
ID : 29
ID : 28
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -1023,7 +999,7 @@ Dual-state Button bt5
Dual-state Button bt6
Attributes
ID : 30
ID : 29
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -1072,7 +1048,7 @@ Dual-state Button bt6
Dual-state Button bt7
Attributes
ID : 31
ID : 30
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -1121,7 +1097,7 @@ Dual-state Button bt7
Dual-state Button bt8
Attributes
ID : 32
ID : 31
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -1170,7 +1146,7 @@ Dual-state Button bt8
Timer tmSerial
Attributes
ID : 6
ID : 5
Scope : local
Period (ms): 50
Enabled : yes
@@ -1219,29 +1195,56 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
//entity name
spstr strCommand.txt,entn.txt,",",1
//heading
spstr strCommand.txt,tHeading.txt,",",2
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
//entity name
spstr strCommand.txt,entn.txt,"~",3
//currentTemp
spstr strCommand.txt,tTmp.txt,",",3
spstr strCommand.txt,tTmp.txt,"~",4
covx tTmp.txt,xTempCurr.val,0,0
//dstTemp
spstr strCommand.txt,tTmp.txt,",",4
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,xTempDest.val,0,0
//status
spstr strCommand.txt,tStatus.txt,",",5
spstr strCommand.txt,tStatus.txt,"~",6
//minTemp
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,xTempMin.val,0,0
//maxTemp
spstr strCommand.txt,tTmp.txt,",",7
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,xTempMax.val,0,0
//tempStep
spstr strCommand.txt,tTmp.txt,",",8
spstr strCommand.txt,tTmp.txt,"~",9
covx tTmp.txt,xTempStep.val,0,0
// disable all buttons
vis bt0,0
@@ -1254,267 +1257,283 @@ Timer tmSerial
vis bt7,0
vis bt8,0
//bt0
spstr strCommand.txt,tTmp.txt,",",9
spstr strCommand.txt,tTmp.txt,"~",10
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt0.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",10
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,bt0.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,bt0.val,0,0
// save action
spstr strCommand.txt,va0.txt,",",12
spstr strCommand.txt,va0.txt,"~",13
//enable
vis bt0,1
}
//bt1
spstr strCommand.txt,tTmp.txt,",",13
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt1.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",14
covx tTmp.txt,bt1.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",15
covx tTmp.txt,bt1.val,0,0
// save action
spstr strCommand.txt,va1.txt,",",16
//enable
vis bt1,1
}
//bt2
spstr strCommand.txt,tTmp.txt,",",17
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt2.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",18
covx tTmp.txt,bt2.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",19
covx tTmp.txt,bt2.val,0,0
// save action
spstr strCommand.txt,va2.txt,",",20
//enable
vis bt2,1
}
//bt3
spstr strCommand.txt,tTmp.txt,",",21
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt3.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",22
covx tTmp.txt,bt3.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",23
covx tTmp.txt,bt3.val,0,0
// save action
spstr strCommand.txt,va3.txt,",",24
//enable
vis bt3,1
}
//bt4
spstr strCommand.txt,tTmp.txt,",",25
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt4.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",26
covx tTmp.txt,bt4.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",27
covx tTmp.txt,bt4.val,0,0
// save action
spstr strCommand.txt,va4.txt,",",28
//enable
vis bt4,1
}
//bt5
spstr strCommand.txt,tTmp.txt,",",29
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt5.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",30
covx tTmp.txt,bt5.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",31
covx tTmp.txt,bt5.val,0,0
// save action
spstr strCommand.txt,va5.txt,",",32
//enable
vis bt5,1
}
//bt6
spstr strCommand.txt,tTmp.txt,",",33
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt6.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",34
covx tTmp.txt,bt6.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",35
covx tTmp.txt,bt6.val,0,0
// save action
spstr strCommand.txt,va6.txt,",",36
//enable
vis bt6,1
}
//bt7
spstr strCommand.txt,tTmp.txt,",",37
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt7.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",38
covx tTmp.txt,bt7.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",39
covx tTmp.txt,bt7.val,0,0
// save action
spstr strCommand.txt,va7.txt,",",40
//enable
vis bt7,1
}
//bt8
spstr strCommand.txt,tTmp.txt,",",41
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt8.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",42
covx tTmp.txt,bt8.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",43
covx tTmp.txt,bt8.val,0,0
// save action
spstr strCommand.txt,va8.txt,",",44
//enable
vis bt8,1
}
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="popupLight")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="pageStartup")
{
page pageStartup
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardGrid")
{
page cardGrid
}
if(tId.txt=="cardAlarm")
{
page cardAlarm
}
}
// end of user code
udelete payloadLength-1
bufferPos=0
}
}
}
}
// next character
bufferPos++
}
}
} //bt1
spstr strCommand.txt,tTmp.txt,"~",14
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt1.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",15
covx tTmp.txt,bt1.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",16
covx tTmp.txt,bt1.val,0,0
// save action
spstr strCommand.txt,va1.txt,"~",17
//enable
vis bt1,1
} //bt2
spstr strCommand.txt,tTmp.txt,"~",18
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt2.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",19
covx tTmp.txt,bt2.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",20
covx tTmp.txt,bt2.val,0,0
// save action
spstr strCommand.txt,va2.txt,"~",21
//enable
vis bt2,1
} //bt3
spstr strCommand.txt,tTmp.txt,"~",22
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt3.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",23
covx tTmp.txt,bt3.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",24
covx tTmp.txt,bt3.val,0,0
// save action
spstr strCommand.txt,va3.txt,"~",25
//enable
vis bt3,1
} //bt4
spstr strCommand.txt,tTmp.txt,"~",26
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt4.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",27
covx tTmp.txt,bt4.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",28
covx tTmp.txt,bt4.val,0,0
// save action
spstr strCommand.txt,va4.txt,"~",29
//enable
vis bt4,1
} //bt5
spstr strCommand.txt,tTmp.txt,"~",30
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt5.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",31
covx tTmp.txt,bt5.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",32
covx tTmp.txt,bt5.val,0,0
// save action
spstr strCommand.txt,va5.txt,"~",33
//enable
vis bt5,1
} //bt6
spstr strCommand.txt,tTmp.txt,"~",34
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt6.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",35
covx tTmp.txt,bt6.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",36
covx tTmp.txt,bt6.val,0,0
// save action
spstr strCommand.txt,va6.txt,"~",37
//enable
vis bt6,1
} //bt7
spstr strCommand.txt,tTmp.txt,"~",38
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt7.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",39
covx tTmp.txt,bt7.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",40
covx tTmp.txt,bt7.val,0,0
// save action
spstr strCommand.txt,va7.txt,"~",41
//enable
vis bt7,1
} //bt8
spstr strCommand.txt,tTmp.txt,"~",42
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt8.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",43
covx tTmp.txt,bt8.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",44
covx tTmp.txt,bt8.val,0,0
// save action
spstr strCommand.txt,va8.txt,"~",45
//enable
vis bt8,1
}
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="pageStartup")
{
page pageStartup
}
if(tId.txt=="screensaver")
{
page screensaver
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardGrid")
{
page cardGrid
}
if(tId.txt=="popupLight")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="popupShutter")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupShutter
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardThermo")
{
page cardThermo
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="cardAlarm")
{
page cardAlarm
}
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
// end of user code
udelete payloadLength-1
bufferPos=0
}
}
}
}
// next character
bufferPos++
}
}
Timer tmSleep
Attributes
ID : 20
ID : 19
Scope : local
Period (ms): 1000
Enabled : yes
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardThermo"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}
TouchCap tc0
Attributes
ID : 21
ID : 20
Scope: local
Value: 0

View File

@@ -1,62 +1,62 @@
Program.s
0 Component(s)
9 Line(s) of event code
9 Unique line(s) of event code
10 Line(s) of event code
10 Unique line(s) of event code
pageSerialTest
13 Component(s)
48 Line(s) of event code
43 Unique line(s) of event code
popupShutter
19 Component(s)
179 Line(s) of event code
102 Unique line(s) of event code
popupNotify
17 Component(s)
179 Line(s) of event code
118 Unique line(s) of event code
pageTest
13 Component(s)
13 Line(s) of event code
13 Unique line(s) of event code
cardAlarm
35 Component(s)
276 Line(s) of event code
172 Unique line(s) of event code
popupLight
27 Component(s)
323 Line(s) of event code
174 Unique line(s) of event code
cardThermo
42 Component(s)
406 Line(s) of event code
218 Unique line(s) of event code
screensaver
31 Component(s)
183 Line(s) of event code
133 Unique line(s) of event code
cardGrid
39 Component(s)
388 Line(s) of event code
224 Unique line(s) of event code
cardMedia
30 Component(s)
278 Line(s) of event code
139 Unique line(s) of event code
pageIcons
5 Component(s)
7 Component(s)
0 Line(s) of event code
0 Unique line(s) of event code
pageStartup
19 Component(s)
150 Line(s) of event code
113 Unique line(s) of event code
popupNotify
17 Component(s)
178 Line(s) of event code
117 Unique line(s) of event code
pageTest
13 Component(s)
13 Line(s) of event code
13 Unique line(s) of event code
popupLight
27 Component(s)
322 Line(s) of event code
173 Unique line(s) of event code
screensaver
33 Component(s)
207 Line(s) of event code
158 Unique line(s) of event code
cardMedia
30 Component(s)
333 Line(s) of event code
170 Unique line(s) of event code
popupShutter
19 Component(s)
178 Line(s) of event code
101 Unique line(s) of event code
cardAlarm
35 Component(s)
345 Line(s) of event code
214 Unique line(s) of event code
cardGrid
39 Component(s)
430 Line(s) of event code
249 Unique line(s) of event code
cardThermo
41 Component(s)
460 Line(s) of event code
284 Unique line(s) of event code
cardEntities
86 Component(s)
1320 Line(s) of event code
526 Unique line(s) of event code
1362 Line(s) of event code
553 Unique line(s) of event code
Total
13 Page(s)
376 Component(s)
3752 Line(s) of event code
1020 Unique line(s) of event code
379 Component(s)
4036 Line(s) of event code
1153 Unique line(s) of event code

View File

@@ -18,6 +18,20 @@ Page pageIcons
Fill : solid color
Back. Color : 65535
Variable (string) vaTime
Attributes
ID : 5
Scope : global
Text :
Max. Text Size: 15
Variable (string) vaDate
Attributes
ID : 6
Scope : global
Text :
Max. Text Size: 35
Text tIcons
Attributes
ID : 2
@@ -42,8 +56,8 @@ Text tIcons
Horizontal Alignment : left
Vertical Alignment : top
Input Type : character
Text : 
Max. Text Size : 150
Text : 
Max. Text Size : 170
Word wrap : enabled
Horizontal Spacing : 0
Vertical Spacing : 0

View File

@@ -402,7 +402,7 @@ Text tVersion
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : 23
Text : 28
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -552,27 +552,27 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
@@ -580,11 +580,11 @@ Timer tmSerial
dim=100
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -727,7 +727,6 @@ Timer tmSleep
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
click b0,1
click b0,0
@@ -785,24 +784,24 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpdateDetail")
{
// change icon
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon1.txt,sys0,1
vis tIcon1,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
covx tTmp.txt,sys0,0,0
tIcon1.pco=sys0
// get Button State
spstr strCommand.txt,tTmp.txt,",",3
spstr strCommand.txt,tTmp.txt,"~",3
covx tTmp.txt,sys0,0,0
btOnOff1.val=sys0
// get Brightness value
spstr strCommand.txt,tTmp.txt,",",4
spstr strCommand.txt,tTmp.txt,"~",4
if(tTmp.txt=="disable")
{
vis t1,0
@@ -820,7 +819,7 @@ Timer tmSerial
}
}
// get ColorTemp value
spstr strCommand.txt,tTmp.txt,",",5
spstr strCommand.txt,tTmp.txt,"~",5
if(tTmp.txt=="disable")
{
vis hTempSlider,0
@@ -864,7 +863,7 @@ Timer tmSerial
}
}
// get Color value
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",6
// disable -> isn't supported
if(tTmp.txt=="disable")
{
@@ -888,34 +887,34 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -403,7 +403,6 @@ Timer tmSleep
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
click b0,1
click b0,0
@@ -461,70 +460,70 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpdateDetail")
{
// get entn
spstr strCommand.txt,entn.txt,"|",1
spstr strCommand.txt,entn.txt,"~",1
// get Heading
spstr strCommand.txt,tHeading.txt,"|",2
spstr strCommand.txt,tHeading.txt,"~",2
// heading color
spstr strCommand.txt,tTmp.txt,"|",3
spstr strCommand.txt,tTmp.txt,"~",3
covx tTmp.txt,sys0,0,0
tHeading.pco=sys0
// get b1
spstr strCommand.txt,b1.txt,"|",4
spstr strCommand.txt,b1.txt,"~",4
if(b1.txt!="")
{
vis b1,1
}
// b1 color
spstr strCommand.txt,tTmp.txt,"|",5
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,sys0,0,0
b1.pco=sys0
// get b2
spstr strCommand.txt,b2.txt,"|",6
spstr strCommand.txt,b2.txt,"~",6
if(b2.txt!="")
{
vis b2,1
}
// b2 color
spstr strCommand.txt,tTmp.txt,"|",7
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,sys0,0,0
b2.pco=sys0
// get tText
spstr strCommand.txt,tText.txt,"|",8
spstr strCommand.txt,tText.txt,"~",8
// tText color
spstr strCommand.txt,tTmp.txt,"|",9
spstr strCommand.txt,tTmp.txt,"~",9
covx tTmp.txt,sys0,0,0
tText.pco=sys0
//preserve old sleepTimeout
vaOldSleepT.val=sleepTimeout
// sleep timeout
spstr strCommand.txt,tTmp.txt,"|",10
spstr strCommand.txt,tTmp.txt,"~",10
covx tTmp.txt,sys0,0,0
sleepTimeout=sys0
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="exitPopup")
@@ -536,11 +535,11 @@ Timer tmSerial
sleepTimeout=vaOldSleepT.val
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -532,7 +532,6 @@ Timer tmSleep
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
click b0,1
click b0,0
@@ -590,45 +589,45 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpdateDetail")
{
// get Position value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sys0,0,0
hPosition.val=sys0
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -22,119 +22,54 @@ Page screensaver
Preinitialize Event
recmod=1
bauds=115200
vis originPage,0
vis tInstruction,0
vis tTmp,0
vis p0,0
//load gloabl time string from pageIcons
//tTime.txt=vaTime.txt
spstr vaTime.txt,tTime.txt,"?",0
spstr vaTime.txt,tAMPM.txt,"?",1
spstr pageIcons.vaTime.txt,tTime.txt,"?",0
spstr pageIcons.vaTime.txt,tAMPM.txt,"?",1
if(tAMPM.txt=="")
{
vis tAMPM,0
}
tDate.txt=vaDate.txt
tDate.txt=pageIcons.vaDate.txt
dim=dimValue
vis tSend,0
//page open event
// clear weather elements, to keep example content in HMI
tMainIcon.txt=""
tMainText.txt=""
tForecast1.txt=""
tF1Icon.txt=""
tForecast1Val.txt=""
tForecast2.txt=""
tF2Icon.txt=""
tForecast2Val.txt=""
tSend.txt="event,screensaverOpen"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
Variable (string) strCommand
Attributes
ID : 5
ID : 4
Scope : local
Text :
Max. Text Size: 200
Variable (string) vaTime
Attributes
ID : 10
Scope : global
Text :
Max. Text Size: 15
Variable (string) vaDate
Attributes
ID : 11
Scope : global
Text :
Max. Text Size: 30
Variable (string) tId
Attributes
ID : 22
ID : 19
Scope : local
Text :
Max. Text Size: 25
Variable (int32) vaTap
Attributes
ID : 30
ID : 27
Scope: local
Value: 0
Number originPage
Attributes
ID : 3
Scope : global
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 239
y coordinate : 430
Width : 24
Height : 49
Effect : load
Effect Priority : 0
Effect Time : 300
Fill : solid color
Style : flat
Associated Keyboard : none
Font ID : 0
Back. Color : 65535
Font Color : 0
Horizontal Alignment : center
Vertical Alignment : center
Value : 0
Significant digits shown : all
Format : decimal
Word wrap : enabled
Horizontal Spacing : 0
Vertical Spacing : 0
Text tInstruction
Attributes
ID : 6
ID : 5
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 155
y coordinate : 445
Width : 27
x coordinate : 260
y coordinate : 446
Width : 26
Height : 30
Effect : load
Effect Priority : 0
@@ -156,14 +91,14 @@ Text tInstruction
Text tTmp
Attributes
ID : 7
ID : 6
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 196
y coordinate : 445
x coordinate : 293
y coordinate : 447
Width : 25
Height : 30
Effect : load
@@ -186,7 +121,7 @@ Text tTmp
Text tTime
Attributes
ID : 8
ID : 7
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -216,16 +151,16 @@ Text tTime
Text tDate
Attributes
ID : 9
ID : 8
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 0
y coordinate : 183
y coordinate : 180
Width : 320
Height : 38
Height : 36
Effect : load
Effect Priority : 0
Effect Time : 300
@@ -239,22 +174,22 @@ Text tDate
Vertical Alignment : center
Input Type : character
Text : Tuesday, 08. March 2022
Max. Text Size : 30
Max. Text Size : 35
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
Text tSend
Attributes
ID : 12
ID : 9
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 280
y coordinate : 446
Width : 29
x coordinate : 19
y coordinate : 450
Width : 27
Height : 30
Effect : load
Effect Priority : 0
@@ -276,16 +211,16 @@ Text tSend
Text tMainIcon
Attributes
ID : 13
ID : 10
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 38
y coordinate : 234
x coordinate : 125
y coordinate : 241
Width : 70
Height : 66
Height : 65
Effect : load
Effect Priority : 0
Effect Time : 300
@@ -298,7 +233,7 @@ Text tMainIcon
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : 
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -306,16 +241,16 @@ Text tMainIcon
Text tMainText
Attributes
ID : 14
ID : 11
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 19
y coordinate : 299
x coordinate : 111
y coordinate : 305
Width : 110
Height : 43
Height : 42
Effect : load
Effect Priority : 0
Effect Time : 300
@@ -328,7 +263,7 @@ Text tMainText
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : 2,3 °C
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -336,16 +271,16 @@ Text tMainText
Text tForecast1
Attributes
ID : 15
ID : 12
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 140
y coordinate : 242
Width : 72
Height : 26
x coordinate : 5
y coordinate : 368
Width : 71
Height : 25
Effect : load
Effect Priority : 0
Effect Time : 300
@@ -358,7 +293,7 @@ Text tForecast1
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : Mi
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -366,16 +301,16 @@ Text tForecast1
Text tForecast1Val
Attributes
ID : 16
ID : 13
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 138
y coordinate : 309
Width : 72
Height : 26
x coordinate : 2
y coordinate : 434
Width : 70
Height : 24
Effect : load
Effect Priority : 0
Effect Time : 300
@@ -388,7 +323,7 @@ Text tForecast1Val
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : 9,3 °C
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -396,16 +331,16 @@ Text tForecast1Val
Text tF1Icon
Attributes
ID : 17
ID : 14
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 158
y coordinate : 271
x coordinate : 23
y coordinate : 397
Width : 40
Height : 35
Height : 34
Effect : load
Effect Priority : 0
Effect Time : 300
@@ -418,7 +353,7 @@ Text tF1Icon
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : 
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -426,16 +361,16 @@ Text tF1Icon
Text tForecast2
Attributes
ID : 18
ID : 15
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 224
y coordinate : 242
Width : 72
Height : 25
x coordinate : 86
y coordinate : 369
Width : 71
Height : 24
Effect : load
Effect Priority : 0
Effect Time : 300
@@ -448,7 +383,7 @@ Text tForecast2
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : Do
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -456,16 +391,16 @@ Text tForecast2
Text tF2Icon
Attributes
ID : 19
ID : 16
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 240
y coordinate : 271
x coordinate : 103
y coordinate : 397
Width : 40
Height : 35
Height : 34
Effect : load
Effect Priority : 0
Effect Time : 300
@@ -478,7 +413,7 @@ Text tF2Icon
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : 
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -486,16 +421,16 @@ Text tF2Icon
Text tForecast2Val
Attributes
ID : 20
ID : 17
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 224
y coordinate : 309
Width : 72
Height : 25
x coordinate : 83
y coordinate : 434
Width : 71
Height : 24
Effect : load
Effect Priority : 0
Effect Time : 300
@@ -508,7 +443,7 @@ Text tForecast2Val
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : 11,9 °C
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -516,15 +451,15 @@ Text tForecast2Val
Text t10
Attributes
ID : 21
ID : 18
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 46
y coordinate : 227
Width : 230
x coordinate : 49
y coordinate : 225
Width : 225
Height : 2
Effect : load
Effect Priority : 0
@@ -546,15 +481,15 @@ Text t10
Text tAMPM
Attributes
ID : 23
ID : 20
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 105
y coordinate : 126
Width : 104
y coordinate : 122
Width : 103
Height : 57
Effect : load
Effect Priority : 0
@@ -576,16 +511,16 @@ Text tAMPM
Text tForecast3Val
Attributes
ID : 24
ID : 21
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 81
y coordinate : 417
Width : 71
Height : 25
x coordinate : 165
y coordinate : 435
Width : 70
Height : 23
Effect : load
Effect Priority : 0
Effect Time : 300
@@ -606,16 +541,16 @@ Text tForecast3Val
Text tF3Icon
Attributes
ID : 25
ID : 22
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 98
y coordinate : 379
x coordinate : 183
y coordinate : 398
Width : 40
Height : 35
Height : 33
Effect : load
Effect Priority : 0
Effect Time : 300
@@ -636,16 +571,16 @@ Text tF3Icon
Text tForecast3
Attributes
ID : 26
ID : 23
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 82
y coordinate : 350
Width : 72
Height : 25
x coordinate : 167
y coordinate : 370
Width : 70
Height : 23
Effect : load
Effect Priority : 0
Effect Time : 300
@@ -666,16 +601,16 @@ Text tForecast3
Text tForecast4
Attributes
ID : 27
ID : 24
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 163
y coordinate : 350
Width : 72
Height : 25
x coordinate : 247
y coordinate : 370
Width : 70
Height : 23
Effect : load
Effect Priority : 0
Effect Time : 300
@@ -696,16 +631,136 @@ Text tForecast4
Text tF4Icon
Attributes
ID : 28
ID : 25
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 179
y coordinate : 379
x coordinate : 263
y coordinate : 398
Width : 40
Height : 35
Height : 33
Effect : load
Effect Priority : 0
Effect Time : 300
Fill : solid color
Style : flat
Associated Keyboard : none
Font ID : 1
Back. Color : 0
Font Color : 65535
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text :
Max. Text Size : 5
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
Text tForecast4Val
Attributes
ID : 26
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 246
y coordinate : 435
Width : 70
Height : 23
Effect : load
Effect Priority : 0
Effect Time : 300
Fill : solid color
Style : flat
Associated Keyboard : none
Font ID : 0
Back. Color : 0
Font Color : 65535
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
Text tMainTextAlt
Attributes
ID : 29
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 203
y coordinate : 249
Width : 105
Height : 41
Effect : load
Effect Priority : 0
Effect Time : 300
Fill : solid color
Style : flat
Associated Keyboard : none
Font ID : 2
Back. Color : 0
Font Color : 65535
Horizontal Alignment : left
Vertical Alignment : center
Input Type : character
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
Text tMainIconAlt
Attributes
ID : 30
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 100
y coordinate : 260
Width : 100
Height : 65
Effect : load
Effect Priority : 0
Effect Time : 300
Fill : solid color
Style : flat
Associated Keyboard : none
Font ID : 3
Back. Color : 0
Font Color : 65535
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
Text tMRIcon
Attributes
ID : 31
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 201
y coordinate : 304
Width : 40
Height : 34
Effect : load
Effect Priority : 0
Effect Time : 300
@@ -724,18 +779,18 @@ Text tF4Icon
Horizontal Spacing : 0
Vertical Spacing : 0
Text tForecast4Val
Text tMR
Attributes
ID : 29
ID : 32
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 163
y coordinate : 417
Width : 72
Height : 25
x coordinate : 243
y coordinate : 309
Width : 61
Height : 20
Effect : load
Effect Priority : 0
Effect Time : 300
@@ -745,7 +800,7 @@ Text tForecast4Val
Font ID : 0
Back. Color : 0
Font Color : 65535
Horizontal Alignment : center
Horizontal Alignment : left
Vertical Alignment : center
Input Type : character
Text :
@@ -773,7 +828,7 @@ Picture p0
Timer tmSerial
Attributes
ID : 4
ID : 3
Scope : local
Period (ms): 50
Enabled : yes
@@ -822,7 +877,7 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="wake")
{
//dim=100
@@ -831,16 +886,16 @@ Timer tmSerial
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
dim=dimValue
}
if(tInstruction.txt=="time")
{
//get set time to global variable
spstr strCommand.txt,vaTime.txt,",",1
spstr vaTime.txt,tTime.txt,"?",0
spstr vaTime.txt,tAMPM.txt,"?",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
spstr pageIcons.vaTime.txt,tTime.txt,"?",0
spstr pageIcons.vaTime.txt,tAMPM.txt,"?",1
if(tAMPM.txt=="")
{
vis tAMPM,0
@@ -849,66 +904,104 @@ Timer tmSerial
if(tInstruction.txt=="date")
{
//get set date to global variable
spstr strCommand.txt,vaDate.txt,"?",1
tDate.txt=vaDate.txt
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
tDate.txt=pageIcons.vaDate.txt
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="weatherUpdate")
{
vis tMainIcon,1
vis tMainIconAlt,0
vis tMainText,1
vis tMainTextAlt,0
vis tMRIcon,0
vis tMR,0
//tMainIcon
spstr strCommand.txt,tTmp.txt,"?",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tMainIcon.txt,sys0,1
tMainIconAlt.txt=tMainIcon.txt
//tMainText
spstr strCommand.txt,tMainText.txt,"?",2
spstr strCommand.txt,tMainText.txt,"~",2
tMainTextAlt.txt=tMainText.txt
//tForecast1
spstr strCommand.txt,tForecast1.txt,"?",3
spstr strCommand.txt,tForecast1.txt,"~",3
//tF1Icon
spstr strCommand.txt,tTmp.txt,"?",4
spstr strCommand.txt,tTmp.txt,"~",4
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF1Icon.txt,sys0,1
//tForecast1Val
spstr strCommand.txt,tForecast1Val.txt,"?",5
spstr strCommand.txt,tForecast1Val.txt,"~",5
//tForecast2
spstr strCommand.txt,tForecast2.txt,"?",6
spstr strCommand.txt,tForecast2.txt,"~",6
//tF2Icon
spstr strCommand.txt,tTmp.txt,"?",7
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF2Icon.txt,sys0,1
//tForecast2Val
spstr strCommand.txt,tForecast2Val.txt,"?",8
spstr strCommand.txt,tForecast2Val.txt,"~",8
//tForecast3
spstr strCommand.txt,tForecast3.txt,"?",9
spstr strCommand.txt,tForecast3.txt,"~",9
//tF3Icon
spstr strCommand.txt,tTmp.txt,"?",10
spstr strCommand.txt,tTmp.txt,"~",10
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF3Icon.txt,sys0,1
//tForecast3Val
spstr strCommand.txt,tForecast3Val.txt,"?",11
spstr strCommand.txt,tForecast3Val.txt,"~",11
//tForecast4
spstr strCommand.txt,tForecast4.txt,"?",12
spstr strCommand.txt,tForecast4.txt,"~",12
//tF4Icon
spstr strCommand.txt,tTmp.txt,"?",13
spstr strCommand.txt,tTmp.txt,"~",13
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF4Icon.txt,sys0,1
//tForecast4Val
spstr strCommand.txt,tForecast4Val.txt,"?",14
spstr strCommand.txt,tForecast4Val.txt,"~",14
//alternative layout
//tMRIcon
spstr strCommand.txt,tTmp.txt,"~",15
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tMRIcon.txt,sys0,1
if(tTmp.txt!="")
{
//value for tMRIcon, activate alternative layout
vis tMainIcon,0
vis tMainText,0
vis tMainTextAlt,1
vis tMainIconAlt,1
vis tMRIcon,1
vis tMR,1
vis tForecast1,0
vis tF1Icon,0
vis tForecast1Val,0
//move forecast values to the right
tForecast4.txt=tForecast3.txt
tForecast3.txt=tForecast2.txt
tForecast2.txt=tForecast1.txt
tForecast4Val.txt=tForecast3Val.txt
tForecast3Val.txt=tForecast2Val.txt
tForecast2Val.txt=tForecast1Val.txt
tF4Icon.txt=tF3Icon.txt
tF3Icon.txt=tF2Icon.txt
tF2Icon.txt=tF1Icon.txt
}
//tMR
spstr strCommand.txt,tMR.txt,"~",16
}
if(tInstruction.txt=="pageType")
{
dim=100
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete u[2]+3
bufferPos=0
@@ -962,6 +1055,26 @@ Timer tmSerial
}
}
Timer tmSleep
Attributes
ID : 28
Scope : local
Period (ms): 1000
Enabled : yes
Events
Timer Event
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
sleepValue=0
dim=dimValue
vaTap.val=0
}
}
TouchCap tc0
Attributes
ID : 2
@@ -970,7 +1083,7 @@ TouchCap tc0
Events
Touch Press Event
dim=100
dim=dimValueNormal
vaTap.val+=1
covx vaTap.val,tTmp.txt,0,0
tSend.txt="event,buttonPress2,screensaver,bExit,"+tTmp.txt
@@ -985,6 +1098,4 @@ TouchCap tc0
prints sys0,2
prints tSend.txt,0
prints crcval,2
//dim=100
//page originPage.val

View File

@@ -10,6 +10,7 @@ Program.s
int sleepValue=0
// dim value
int dimValue=40
int dimValueNormal=100
// fix touch offset (Removed for US version)
//lcd_dev fffb 0002 0000 0020
page pageStartup

View File

@@ -17,7 +17,6 @@ Page cardAlarm
vis tInstruction,0
vis tTmp,0
vis tId,0
//vis nPageDisp,0
vis arm1,0
vis arm2,0
vis arm3,0
@@ -171,7 +170,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardAlarm,bPrev"
tSend.txt="event,buttonPress2,cardAlarm,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -508,53 +514,80 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
//entn
spstr strCommand.txt,entn.txt,",",1
spstr strCommand.txt,entn.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
//text arm1
spstr strCommand.txt,arm1.txt,",",2
spstr strCommand.txt,arm1.txt,"~",3
if(arm1.txt!="")
{
vis arm1,1
}
//id arm1
spstr strCommand.txt,va1.txt,",",3
spstr strCommand.txt,va1.txt,"~",4
//text arm2
spstr strCommand.txt,arm2.txt,",",4
spstr strCommand.txt,arm2.txt,"~",5
if(arm2.txt!="")
{
vis arm2,1
}
//id arm2
spstr strCommand.txt,va2.txt,",",5
spstr strCommand.txt,va2.txt,"~",6
//text arm3
spstr strCommand.txt,arm3.txt,",",6
spstr strCommand.txt,arm3.txt,"~",7
if(arm3.txt!="")
{
vis arm3,1
}
//id arm3
spstr strCommand.txt,va3.txt,",",7
spstr strCommand.txt,va3.txt,"~",8
//text arm4
spstr strCommand.txt,arm4.txt,",",8
spstr strCommand.txt,arm4.txt,"~",9
if(arm4.txt!="")
{
vis arm4,1
}
//id arm4
spstr strCommand.txt,va4.txt,",",9
spstr strCommand.txt,va4.txt,"~",10
//icon
spstr strCommand.txt,tTmp.txt,",",10
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon.txt,sys0,1
//icon color
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,sys0,0,0
tIcon.pco=sys0
//numpad status
spstr strCommand.txt,tTmp.txt,",",12
spstr strCommand.txt,tTmp.txt,"~",13
if(tTmp.txt!="disable")
{
vis b0,1
@@ -569,9 +602,23 @@ Timer tmSerial
vis b9,1
vis b10,1
vis tCode,1
}else
{
vis b0,0
vis b1,0
vis b2,0
vis b3,0
vis b4,0
vis b5,0
vis b6,0
vis b7,0
vis b8,0
vis b9,0
vis b10,0
vis tCode,0
}
//flashing status
spstr strCommand.txt,tTmp.txt,",",13
spstr strCommand.txt,tTmp.txt,"~",14
if(tTmp.txt=="enable")
{
tmFlash.en=1
@@ -583,67 +630,80 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
dim=dimValue
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="popupLight")
if(tId.txt=="pageStartup")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
page pageStartup
}
if(tId.txt=="screensaver")
{
page screensaver
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardThermo")
if(tId.txt=="cardGrid")
{
page cardThermo
page cardGrid
}
if(tId.txt=="pageStartup")
if(tId.txt=="popupLight")
{
page pageStartup
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="popupShutter")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupShutter
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardGrid")
if(tId.txt=="cardThermo")
{
page cardGrid
page cardThermo
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="cardAlarm")
{
page cardAlarm
}
}
// end of user code
udelete payloadLength-1
@@ -665,14 +725,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardAlarm"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -273,7 +273,7 @@ Text tIcon1
Send Component ID : disabled
Associated Keyboard : none
Text : 
Max. Text Size : 10
Max. Text Size : 5
Text tIcon2
Attributes
@@ -283,7 +283,7 @@ Text tIcon2
Send Component ID : disabled
Associated Keyboard : none
Text : 
Max. Text Size : 30
Max. Text Size : 5
Text tIcon3
Attributes
@@ -293,7 +293,7 @@ Text tIcon3
Send Component ID : disabled
Associated Keyboard : none
Text : 
Max. Text Size : 10
Max. Text Size : 5
Text tIcon4
Attributes
@@ -303,7 +303,7 @@ Text tIcon4
Send Component ID : disabled
Associated Keyboard : none
Text : 
Max. Text Size : 30
Max. Text Size : 5
Text tSend
Attributes
@@ -363,7 +363,7 @@ Text tIcon5
Send Component ID : disabled
Associated Keyboard : none
Text : 
Max. Text Size : 30
Max. Text Size : 5
Text tEntity6
Attributes
@@ -383,7 +383,7 @@ Text tIcon6
Send Component ID : disabled
Associated Keyboard : none
Text : 
Max. Text Size : 30
Max. Text Size : 5
Picture p0
Attributes
@@ -872,7 +872,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardEntities,bPrev"
tSend.txt="event,buttonPress2,cardEntities,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -1047,7 +1054,7 @@ Button bDown5
Events
Touch Press Event
tSend.txt="event,buttonPress2,"+entn4.txt+",down"
tSend.txt="event,buttonPress2,"+entn5.txt+",down"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -1147,7 +1154,7 @@ Button bDown6
Events
Touch Press Event
tSend.txt="event,buttonPress2,"+entn4.txt+",down"
tSend.txt="event,buttonPress2,"+entn6.txt+",down"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -1571,15 +1578,42 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
// command format: entityUpd,heading,navigation,[,type,internalName,iconId,displayName,optionalValue]x4
spstr strCommand.txt,tHeading.txt,",",1
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
// get Type
spstr strCommand.txt,type1.txt,",",3
spstr strCommand.txt,type1.txt,"~",3
// get internal name
spstr strCommand.txt,entn1.txt,",",4
spstr strCommand.txt,entn1.txt,"~",4
if(type1.txt=="delete"||type1.txt=="")
{
vis bUp1,0
@@ -1594,16 +1628,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",5
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon1.txt,sys0,1
vis tIcon1,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",6
covx tTmp.txt,sys0,0,0
tIcon1.pco=sys0
// set name
spstr strCommand.txt,tEntity1.txt,",",7
spstr strCommand.txt,tEntity1.txt,"~",7
vis tEntity1,1
}
if(type1.txt=="shutter")
@@ -1626,7 +1660,7 @@ Timer tmSerial
vis hSlider1,0
vis nNum1,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",8
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,sys0,0,0
btOnOff1.val=sys0
}
@@ -1640,7 +1674,7 @@ Timer tmSerial
vis hSlider1,0
vis nNum1,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",8
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,sys0,0,0
btOnOff1.val=sys0
}
@@ -1657,7 +1691,7 @@ Timer tmSerial
bText1.pco=65535
bText1.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText1.txt,",",8
spstr strCommand.txt,bText1.txt,"~",8
}
if(type1.txt=="button")
{
@@ -1672,7 +1706,7 @@ Timer tmSerial
bText1.pco=1374
bText1.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText1.txt,",",8
spstr strCommand.txt,bText1.txt,"~",8
}
if(type1.txt=="number")
{
@@ -1685,7 +1719,7 @@ Timer tmSerial
vis hSlider1,1
vis nNum1,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText1.txt,",",8
spstr strCommand.txt,bText1.txt,"~",8
//first value is current value
spstr bText1.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -1701,9 +1735,9 @@ Timer tmSerial
hSlider1.maxval=sys0
}
// get Type
spstr strCommand.txt,type2.txt,",",9
spstr strCommand.txt,type2.txt,"~",9
// get internal name
spstr strCommand.txt,entn2.txt,",",10
spstr strCommand.txt,entn2.txt,"~",10
if(type2.txt=="delete"||type2.txt=="")
{
vis bUp2,0
@@ -1718,16 +1752,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon2.txt,sys0,1
vis tIcon2,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",12
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,sys0,0,0
tIcon2.pco=sys0
// set name
spstr strCommand.txt,tEntity2.txt,",",13
spstr strCommand.txt,tEntity2.txt,"~",13
vis tEntity2,1
}
if(type2.txt=="shutter")
@@ -1750,7 +1784,7 @@ Timer tmSerial
vis hSlider2,0
vis nNum2,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",14
spstr strCommand.txt,tTmp.txt,"~",14
covx tTmp.txt,sys0,0,0
btOnOff2.val=sys0
}
@@ -1764,7 +1798,7 @@ Timer tmSerial
vis hSlider2,0
vis nNum2,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",14
spstr strCommand.txt,tTmp.txt,"~",14
covx tTmp.txt,sys0,0,0
btOnOff2.val=sys0
}
@@ -1781,7 +1815,7 @@ Timer tmSerial
bText2.pco=65535
bText2.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText2.txt,",",14
spstr strCommand.txt,bText2.txt,"~",14
}
if(type2.txt=="button")
{
@@ -1796,7 +1830,7 @@ Timer tmSerial
bText2.pco=1374
bText2.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText2.txt,",",14
spstr strCommand.txt,bText2.txt,"~",14
}
if(type2.txt=="number")
{
@@ -1809,7 +1843,7 @@ Timer tmSerial
vis hSlider2,1
vis nNum2,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText2.txt,",",14
spstr strCommand.txt,bText2.txt,"~",14
//first value is current value
spstr bText2.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -1825,9 +1859,9 @@ Timer tmSerial
hSlider2.maxval=sys0
}
// get Type
spstr strCommand.txt,type3.txt,",",15
spstr strCommand.txt,type3.txt,"~",15
// get internal name
spstr strCommand.txt,entn3.txt,",",16
spstr strCommand.txt,entn3.txt,"~",16
if(type3.txt=="delete"||type3.txt=="")
{
vis bUp3,0
@@ -1842,16 +1876,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",17
spstr strCommand.txt,tTmp.txt,"~",17
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon3.txt,sys0,1
vis tIcon3,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",18
spstr strCommand.txt,tTmp.txt,"~",18
covx tTmp.txt,sys0,0,0
tIcon3.pco=sys0
// set name
spstr strCommand.txt,tEntity3.txt,",",19
spstr strCommand.txt,tEntity3.txt,"~",19
vis tEntity3,1
}
if(type3.txt=="shutter")
@@ -1874,7 +1908,7 @@ Timer tmSerial
vis hSlider3,0
vis nNum3,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",20
spstr strCommand.txt,tTmp.txt,"~",20
covx tTmp.txt,sys0,0,0
btOnOff3.val=sys0
}
@@ -1888,7 +1922,7 @@ Timer tmSerial
vis hSlider3,0
vis nNum3,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",20
spstr strCommand.txt,tTmp.txt,"~",20
covx tTmp.txt,sys0,0,0
btOnOff3.val=sys0
}
@@ -1905,7 +1939,7 @@ Timer tmSerial
bText3.pco=65535
bText3.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText3.txt,",",20
spstr strCommand.txt,bText3.txt,"~",20
}
if(type3.txt=="button")
{
@@ -1920,7 +1954,7 @@ Timer tmSerial
bText3.pco=1374
bText3.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText3.txt,",",20
spstr strCommand.txt,bText3.txt,"~",20
}
if(type3.txt=="number")
{
@@ -1933,7 +1967,7 @@ Timer tmSerial
vis hSlider3,1
vis nNum3,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText3.txt,",",20
spstr strCommand.txt,bText3.txt,"~",20
//first value is current value
spstr bText3.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -1949,9 +1983,9 @@ Timer tmSerial
hSlider3.maxval=sys0
}
// get Type
spstr strCommand.txt,type4.txt,",",21
spstr strCommand.txt,type4.txt,"~",21
// get internal name
spstr strCommand.txt,entn4.txt,",",22
spstr strCommand.txt,entn4.txt,"~",22
if(type4.txt=="delete"||type4.txt=="")
{
vis bUp4,0
@@ -1966,16 +2000,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",23
spstr strCommand.txt,tTmp.txt,"~",23
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon4.txt,sys0,1
vis tIcon4,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",24
spstr strCommand.txt,tTmp.txt,"~",24
covx tTmp.txt,sys0,0,0
tIcon4.pco=sys0
// set name
spstr strCommand.txt,tEntity4.txt,",",25
spstr strCommand.txt,tEntity4.txt,"~",25
vis tEntity4,1
}
if(type4.txt=="shutter")
@@ -1998,7 +2032,7 @@ Timer tmSerial
vis hSlider4,0
vis nNum4,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",26
spstr strCommand.txt,tTmp.txt,"~",26
covx tTmp.txt,sys0,0,0
btOnOff4.val=sys0
}
@@ -2012,7 +2046,7 @@ Timer tmSerial
vis hSlider4,0
vis nNum4,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",26
spstr strCommand.txt,tTmp.txt,"~",26
covx tTmp.txt,sys0,0,0
btOnOff4.val=sys0
}
@@ -2029,7 +2063,7 @@ Timer tmSerial
bText4.pco=65535
bText4.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText4.txt,",",26
spstr strCommand.txt,bText4.txt,"~",26
}
if(type4.txt=="button")
{
@@ -2044,7 +2078,7 @@ Timer tmSerial
bText4.pco=1374
bText4.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText4.txt,",",26
spstr strCommand.txt,bText4.txt,"~",26
}
if(type4.txt=="number")
{
@@ -2057,7 +2091,7 @@ Timer tmSerial
vis hSlider4,1
vis nNum4,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText4.txt,",",26
spstr strCommand.txt,bText4.txt,"~",26
//first value is current value
spstr bText4.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -2073,9 +2107,9 @@ Timer tmSerial
hSlider4.maxval=sys0
}
// get Type
spstr strCommand.txt,type5.txt,",",27
spstr strCommand.txt,type5.txt,"~",27
// get internal name
spstr strCommand.txt,entn5.txt,",",28
spstr strCommand.txt,entn5.txt,"~",28
if(type5.txt=="delete"||type5.txt=="")
{
vis bUp5,0
@@ -2090,16 +2124,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",29
spstr strCommand.txt,tTmp.txt,"~",29
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon5.txt,sys0,1
vis tIcon5,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",30
spstr strCommand.txt,tTmp.txt,"~",30
covx tTmp.txt,sys0,0,0
tIcon5.pco=sys0
// set name
spstr strCommand.txt,tEntity5.txt,",",31
spstr strCommand.txt,tEntity5.txt,"~",31
vis tEntity5,1
}
if(type5.txt=="shutter")
@@ -2122,7 +2156,7 @@ Timer tmSerial
vis hSlider5,0
vis nNum5,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",32
spstr strCommand.txt,tTmp.txt,"~",32
covx tTmp.txt,sys0,0,0
btOnOff5.val=sys0
}
@@ -2136,7 +2170,7 @@ Timer tmSerial
vis hSlider5,0
vis nNum5,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",32
spstr strCommand.txt,tTmp.txt,"~",32
covx tTmp.txt,sys0,0,0
btOnOff5.val=sys0
}
@@ -2153,7 +2187,7 @@ Timer tmSerial
bText5.pco=65535
bText5.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText5.txt,",",32
spstr strCommand.txt,bText5.txt,"~",32
}
if(type5.txt=="button")
{
@@ -2168,7 +2202,7 @@ Timer tmSerial
bText5.pco=1374
bText5.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText5.txt,",",32
spstr strCommand.txt,bText5.txt,"~",32
}
if(type5.txt=="number")
{
@@ -2181,7 +2215,7 @@ Timer tmSerial
vis hSlider5,1
vis nNum5,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText5.txt,",",32
spstr strCommand.txt,bText5.txt,"~",32
//first value is current value
spstr bText5.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -2197,9 +2231,9 @@ Timer tmSerial
hSlider5.maxval=sys0
}
// get Type
spstr strCommand.txt,type6.txt,",",33
spstr strCommand.txt,type6.txt,"~",33
// get internal name
spstr strCommand.txt,entn6.txt,",",34
spstr strCommand.txt,entn6.txt,"~",34
if(type6.txt=="delete"||type6.txt=="")
{
vis bUp6,0
@@ -2214,16 +2248,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",35
spstr strCommand.txt,tTmp.txt,"~",35
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon6.txt,sys0,1
vis tIcon6,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",36
spstr strCommand.txt,tTmp.txt,"~",36
covx tTmp.txt,sys0,0,0
tIcon6.pco=sys0
// set name
spstr strCommand.txt,tEntity6.txt,",",37
spstr strCommand.txt,tEntity6.txt,"~",37
vis tEntity6,1
}
if(type6.txt=="shutter")
@@ -2246,7 +2280,7 @@ Timer tmSerial
vis hSlider6,0
vis nNum6,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",38
spstr strCommand.txt,tTmp.txt,"~",38
covx tTmp.txt,sys0,0,0
btOnOff6.val=sys0
}
@@ -2260,7 +2294,7 @@ Timer tmSerial
vis hSlider6,0
vis nNum6,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",38
spstr strCommand.txt,tTmp.txt,"~",38
covx tTmp.txt,sys0,0,0
btOnOff6.val=sys0
}
@@ -2277,7 +2311,7 @@ Timer tmSerial
bText6.pco=65535
bText6.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText6.txt,",",38
spstr strCommand.txt,bText6.txt,"~",38
}
if(type6.txt=="button")
{
@@ -2292,7 +2326,7 @@ Timer tmSerial
bText6.pco=1374
bText6.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText6.txt,",",38
spstr strCommand.txt,bText6.txt,"~",38
}
if(type6.txt=="number")
{
@@ -2305,7 +2339,7 @@ Timer tmSerial
vis hSlider6,1
vis nNum6,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText6.txt,",",38
spstr strCommand.txt,bText6.txt,"~",38
//first value is current value
spstr bText6.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -2325,11 +2359,11 @@ Timer tmSerial
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
@@ -2379,23 +2413,23 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
// end of user code
@@ -2418,14 +2452,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardEntities"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -242,7 +242,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardGrid,bPrev"
tSend.txt="event,buttonPress2,cardGrid,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -563,15 +570,42 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
// command format: entityUpd,heading,navigation,[,type,internalName,iconId,iconColor,displayName,optionalValue]x6
spstr strCommand.txt,tHeading.txt,",",1
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
// get Type
spstr strCommand.txt,type1.txt,",",3
spstr strCommand.txt,type1.txt,"~",3
// get internal name
spstr strCommand.txt,entn1.txt,",",4
spstr strCommand.txt,entn1.txt,"~",4
if(type1.txt=="delete"||type1.txt=="")
{
vis tEntity1,0
@@ -579,22 +613,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",5
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity1.txt,sys0,1
vis bEntity1,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",6
covx tTmp.txt,sys0,0,0
bEntity1.pco=sys0
// set name
spstr strCommand.txt,tEntity1.txt,",",7
spstr strCommand.txt,tEntity1.txt,"~",7
vis tEntity1,1
}
// get Type
spstr strCommand.txt,type2.txt,",",9
spstr strCommand.txt,type2.txt,"~",9
// get internal name
spstr strCommand.txt,entn2.txt,",",10
spstr strCommand.txt,entn2.txt,"~",10
if(type2.txt=="delete"||type2.txt=="")
{
vis tEntity2,0
@@ -602,22 +636,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity2.txt,sys0,1
vis bEntity2,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",12
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,sys0,0,0
bEntity2.pco=sys0
// set name
spstr strCommand.txt,tEntity2.txt,",",13
spstr strCommand.txt,tEntity2.txt,"~",13
vis tEntity2,1
}
// get Type
spstr strCommand.txt,type3.txt,",",15
spstr strCommand.txt,type3.txt,"~",15
// get internal name
spstr strCommand.txt,entn3.txt,",",16
spstr strCommand.txt,entn3.txt,"~",16
if(type3.txt=="delete"||type3.txt=="")
{
vis tEntity3,0
@@ -625,22 +659,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",17
spstr strCommand.txt,tTmp.txt,"~",17
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity3.txt,sys0,1
vis bEntity3,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",18
spstr strCommand.txt,tTmp.txt,"~",18
covx tTmp.txt,sys0,0,0
bEntity3.pco=sys0
// set name
spstr strCommand.txt,tEntity3.txt,",",19
spstr strCommand.txt,tEntity3.txt,"~",19
vis tEntity3,1
}
// get Type
spstr strCommand.txt,type4.txt,",",21
spstr strCommand.txt,type4.txt,"~",21
// get internal name
spstr strCommand.txt,entn4.txt,",",22
spstr strCommand.txt,entn4.txt,"~",22
if(type4.txt=="delete"||type4.txt=="")
{
vis tEntity4,0
@@ -648,22 +682,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",23
spstr strCommand.txt,tTmp.txt,"~",23
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity4.txt,sys0,1
vis bEntity4,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",24
spstr strCommand.txt,tTmp.txt,"~",24
covx tTmp.txt,sys0,0,0
bEntity4.pco=sys0
// set name
spstr strCommand.txt,tEntity4.txt,",",25
spstr strCommand.txt,tEntity4.txt,"~",25
vis tEntity4,1
}
// get Type
spstr strCommand.txt,type5.txt,",",27
spstr strCommand.txt,type5.txt,"~",27
// get internal name
spstr strCommand.txt,entn5.txt,",",28
spstr strCommand.txt,entn5.txt,"~",28
if(type5.txt=="delete"||type5.txt=="")
{
vis tEntity5,0
@@ -671,22 +705,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",29
spstr strCommand.txt,tTmp.txt,"~",29
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity5.txt,sys0,1
vis bEntity5,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",30
spstr strCommand.txt,tTmp.txt,"~",30
covx tTmp.txt,sys0,0,0
bEntity5.pco=sys0
// set name
spstr strCommand.txt,tEntity5.txt,",",31
spstr strCommand.txt,tEntity5.txt,"~",31
vis tEntity5,1
}
// get Type
spstr strCommand.txt,type6.txt,",",33
spstr strCommand.txt,type6.txt,"~",33
// get internal name
spstr strCommand.txt,entn6.txt,",",34
spstr strCommand.txt,entn6.txt,"~",34
if(type6.txt=="delete"||type6.txt=="")
{
vis tEntity6,0
@@ -694,16 +728,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",35
spstr strCommand.txt,tTmp.txt,"~",35
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity6.txt,sys0,1
vis bEntity6,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",36
spstr strCommand.txt,tTmp.txt,"~",36
covx tTmp.txt,sys0,0,0
bEntity6.pco=sys0
// set name
spstr strCommand.txt,tEntity6.txt,",",37
spstr strCommand.txt,tEntity6.txt,"~",37
vis tEntity6,1
}
}
@@ -711,11 +745,11 @@ Timer tmSerial
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
@@ -765,23 +799,23 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
// end of user code
@@ -804,14 +838,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardGrid"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -435,7 +435,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardMedia,bPrev"
tSend.txt="event,buttonPress2,cardMedia,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -498,31 +505,58 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
//entity name
spstr strCommand.txt,entn.txt,"|",1
//heading
spstr strCommand.txt,tHeading.txt,"|",2
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
//entity name
spstr strCommand.txt,entn.txt,"~",3
//icon
spstr strCommand.txt,tTmp.txt,"|",3
spstr strCommand.txt,tTmp.txt,"~",4
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon.txt,sys0,1
//title
spstr strCommand.txt,tTitle.txt,"|",4
spstr strCommand.txt,tTitle.txt,"~",5
//author
spstr strCommand.txt,tAuthor.txt,"|",5
spstr strCommand.txt,tAuthor.txt,"~",6
//volume
spstr strCommand.txt,tTmp.txt,"|",6
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,sys0,0,0
hVolume.val=sys0
//icon
spstr strCommand.txt,tTmp.txt,"|",7
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tPlayPause.txt,sys0,1
//speaker current
spstr strCommand.txt,tSpeaker.txt,"|",8
spstr strCommand.txt,tSpeaker.txt,"~",9
if(tSpeaker.txt!="")
{
tSpeaker.pco=1374
@@ -531,14 +565,14 @@ Timer tmSerial
tSpeaker.pco=65535
}
//speaker list
spstr strCommand.txt,vaSpeakerList.txt,"|",9
spstr strCommand.txt,vaSpeakerList.txt,"~",10
if(vaSpeakerList.txt=="")
{
vis t6,0
}
vaSpeakerPos.val=0
// on off button
spstr strCommand.txt,tTmp.txt,"|",10
spstr strCommand.txt,tTmp.txt,"~",11
if(tTmp.txt=="disable")
{
vis t5,0
@@ -551,62 +585,75 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
dim=dimValue
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="popupLight")
if(tId.txt=="pageStartup")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
page pageStartup
}
if(tId.txt=="screensaver")
{
page screensaver
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardThermo")
if(tId.txt=="cardGrid")
{
page cardThermo
page cardGrid
}
if(tId.txt=="pageStartup")
if(tId.txt=="popupLight")
{
page pageStartup
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="popupShutter")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupShutter
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardGrid")
if(tId.txt=="cardThermo")
{
page cardGrid
page cardThermo
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="cardAlarm")
{
@@ -642,14 +689,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardMedia"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -17,7 +17,6 @@ Page cardThermo
vis tInstruction,0
vis tTmp,0
vis tId,0
vis nPageDisp,0
vis xTempMin,0
vis xTempMax,0
vis xTempStep,0
@@ -99,15 +98,6 @@ Variable (string) va8
Text :
Max. Text Size: 10
Number nPageDisp
Attributes
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Value : 0
XFloat xTempCurr
Attributes
Scope : local
@@ -339,7 +329,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardThermo,bPrev"
tSend.txt="event,buttonPress2,cardThermo,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -645,29 +642,56 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
//entity name
spstr strCommand.txt,entn.txt,",",1
//heading
spstr strCommand.txt,tHeading.txt,",",2
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
//entity name
spstr strCommand.txt,entn.txt,"~",3
//currentTemp
spstr strCommand.txt,tTmp.txt,",",3
spstr strCommand.txt,tTmp.txt,"~",4
covx tTmp.txt,xTempCurr.val,0,0
//dstTemp
spstr strCommand.txt,tTmp.txt,",",4
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,xTempDest.val,0,0
//status
spstr strCommand.txt,tStatus.txt,",",5
spstr strCommand.txt,tStatus.txt,"~",6
//minTemp
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,xTempMin.val,0,0
//maxTemp
spstr strCommand.txt,tTmp.txt,",",7
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,xTempMax.val,0,0
//tempStep
spstr strCommand.txt,tTmp.txt,",",8
spstr strCommand.txt,tTmp.txt,"~",9
covx tTmp.txt,xTempStep.val,0,0
// disable all buttons
vis bt0,0
@@ -680,243 +704,248 @@ Timer tmSerial
vis bt7,0
vis bt8,0
//bt0
spstr strCommand.txt,tTmp.txt,",",9
spstr strCommand.txt,tTmp.txt,"~",10
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt0.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",10
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,bt0.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,bt0.val,0,0
// save action
spstr strCommand.txt,va0.txt,",",12
spstr strCommand.txt,va0.txt,"~",13
//enable
vis bt0,1
}
//bt1
spstr strCommand.txt,tTmp.txt,",",13
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt1.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",14
covx tTmp.txt,bt1.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",15
covx tTmp.txt,bt1.val,0,0
// save action
spstr strCommand.txt,va1.txt,",",16
//enable
vis bt1,1
}
//bt2
spstr strCommand.txt,tTmp.txt,",",17
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt2.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",18
covx tTmp.txt,bt2.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",19
covx tTmp.txt,bt2.val,0,0
// save action
spstr strCommand.txt,va2.txt,",",20
//enable
vis bt2,1
}
//bt3
spstr strCommand.txt,tTmp.txt,",",21
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt3.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",22
covx tTmp.txt,bt3.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",23
covx tTmp.txt,bt3.val,0,0
// save action
spstr strCommand.txt,va3.txt,",",24
//enable
vis bt3,1
}
//bt4
spstr strCommand.txt,tTmp.txt,",",25
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt4.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",26
covx tTmp.txt,bt4.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",27
covx tTmp.txt,bt4.val,0,0
// save action
spstr strCommand.txt,va4.txt,",",28
//enable
vis bt4,1
}
//bt5
spstr strCommand.txt,tTmp.txt,",",29
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt5.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",30
covx tTmp.txt,bt5.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",31
covx tTmp.txt,bt5.val,0,0
// save action
spstr strCommand.txt,va5.txt,",",32
//enable
vis bt5,1
}
//bt6
spstr strCommand.txt,tTmp.txt,",",33
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt6.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",34
covx tTmp.txt,bt6.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",35
covx tTmp.txt,bt6.val,0,0
// save action
spstr strCommand.txt,va6.txt,",",36
//enable
vis bt6,1
}
//bt7
spstr strCommand.txt,tTmp.txt,",",37
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt7.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",38
covx tTmp.txt,bt7.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",39
covx tTmp.txt,bt7.val,0,0
// save action
spstr strCommand.txt,va7.txt,",",40
//enable
vis bt7,1
}
//bt8
spstr strCommand.txt,tTmp.txt,",",41
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt8.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",42
covx tTmp.txt,bt8.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",43
covx tTmp.txt,bt8.val,0,0
// save action
spstr strCommand.txt,va8.txt,",",44
//enable
vis bt8,1
}
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="popupLight")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="pageStartup")
{
page pageStartup
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardGrid")
{
page cardGrid
}
if(tId.txt=="cardAlarm")
{
page cardAlarm
}
}
// end of user code
udelete payloadLength-1
bufferPos=0
}
}
}
}
// next character
bufferPos++
}
}
} //bt1
spstr strCommand.txt,tTmp.txt,"~",14
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt1.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",15
covx tTmp.txt,bt1.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",16
covx tTmp.txt,bt1.val,0,0
// save action
spstr strCommand.txt,va1.txt,"~",17
//enable
vis bt1,1
} //bt2
spstr strCommand.txt,tTmp.txt,"~",18
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt2.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",19
covx tTmp.txt,bt2.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",20
covx tTmp.txt,bt2.val,0,0
// save action
spstr strCommand.txt,va2.txt,"~",21
//enable
vis bt2,1
} //bt3
spstr strCommand.txt,tTmp.txt,"~",22
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt3.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",23
covx tTmp.txt,bt3.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",24
covx tTmp.txt,bt3.val,0,0
// save action
spstr strCommand.txt,va3.txt,"~",25
//enable
vis bt3,1
} //bt4
spstr strCommand.txt,tTmp.txt,"~",26
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt4.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",27
covx tTmp.txt,bt4.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",28
covx tTmp.txt,bt4.val,0,0
// save action
spstr strCommand.txt,va4.txt,"~",29
//enable
vis bt4,1
} //bt5
spstr strCommand.txt,tTmp.txt,"~",30
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt5.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",31
covx tTmp.txt,bt5.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",32
covx tTmp.txt,bt5.val,0,0
// save action
spstr strCommand.txt,va5.txt,"~",33
//enable
vis bt5,1
} //bt6
spstr strCommand.txt,tTmp.txt,"~",34
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt6.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",35
covx tTmp.txt,bt6.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",36
covx tTmp.txt,bt6.val,0,0
// save action
spstr strCommand.txt,va6.txt,"~",37
//enable
vis bt6,1
} //bt7
spstr strCommand.txt,tTmp.txt,"~",38
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt7.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",39
covx tTmp.txt,bt7.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",40
covx tTmp.txt,bt7.val,0,0
// save action
spstr strCommand.txt,va7.txt,"~",41
//enable
vis bt7,1
} //bt8
spstr strCommand.txt,tTmp.txt,"~",42
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt8.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",43
covx tTmp.txt,bt8.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",44
covx tTmp.txt,bt8.val,0,0
// save action
spstr strCommand.txt,va8.txt,"~",45
//enable
vis bt8,1
}
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="pageStartup")
{
page pageStartup
}
if(tId.txt=="screensaver")
{
page screensaver
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardGrid")
{
page cardGrid
}
if(tId.txt=="popupLight")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="popupShutter")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupShutter
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardThermo")
{
page cardThermo
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="cardAlarm")
{
page cardAlarm
}
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
// end of user code
udelete payloadLength-1
bufferPos=0
}
}
}
}
// next character
bufferPos++
}
}
Timer tmSleep
Attributes
@@ -926,14 +955,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardThermo"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -10,6 +10,18 @@ Page pageIcons
Swide left page ID : disabled
Swide right page ID : disabled
Variable (string) vaTime
Attributes
Scope : global
Text :
Max. Text Size: 15
Variable (string) vaDate
Attributes
Scope : global
Text :
Max. Text Size: 35
Text tIcons
Attributes
Scope : global
@@ -17,8 +29,8 @@ Text tIcons
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 
Max. Text Size : 150
Text : 
Max. Text Size : 170
Text tTmp1
Attributes

View File

@@ -152,7 +152,7 @@ Text tVersion
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 23
Text : 28
Max. Text Size : 10
Picture p0
@@ -257,27 +257,27 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
@@ -285,11 +285,11 @@ Timer tmSerial
dim=100
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -382,7 +382,6 @@ Timer tmSleep
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
click b0,1
click b0,0
@@ -439,24 +438,24 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpdateDetail")
{
// change icon
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon1.txt,sys0,1
vis tIcon1,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
covx tTmp.txt,sys0,0,0
tIcon1.pco=sys0
// get Button State
spstr strCommand.txt,tTmp.txt,",",3
spstr strCommand.txt,tTmp.txt,"~",3
covx tTmp.txt,sys0,0,0
btOnOff1.val=sys0
// get Brightness value
spstr strCommand.txt,tTmp.txt,",",4
spstr strCommand.txt,tTmp.txt,"~",4
if(tTmp.txt=="disable")
{
vis t1,0
@@ -474,7 +473,7 @@ Timer tmSerial
}
}
// get ColorTemp value
spstr strCommand.txt,tTmp.txt,",",5
spstr strCommand.txt,tTmp.txt,"~",5
if(tTmp.txt=="disable")
{
vis hTempSlider,0
@@ -518,7 +517,7 @@ Timer tmSerial
}
}
// get Color value
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",6
// disable -> isn't supported
if(tTmp.txt=="disable")
{
@@ -542,34 +541,34 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -195,7 +195,6 @@ Timer tmSleep
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
click b0,1
click b0,0
@@ -252,70 +251,70 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpdateDetail")
{
// get entn
spstr strCommand.txt,entn.txt,"|",1
spstr strCommand.txt,entn.txt,"~",1
// get Heading
spstr strCommand.txt,tHeading.txt,"|",2
spstr strCommand.txt,tHeading.txt,"~",2
// heading color
spstr strCommand.txt,tTmp.txt,"|",3
spstr strCommand.txt,tTmp.txt,"~",3
covx tTmp.txt,sys0,0,0
tHeading.pco=sys0
// get b1
spstr strCommand.txt,b1.txt,"|",4
spstr strCommand.txt,b1.txt,"~",4
if(b1.txt!="")
{
vis b1,1
}
// b1 color
spstr strCommand.txt,tTmp.txt,"|",5
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,sys0,0,0
b1.pco=sys0
// get b2
spstr strCommand.txt,b2.txt,"|",6
spstr strCommand.txt,b2.txt,"~",6
if(b2.txt!="")
{
vis b2,1
}
// b2 color
spstr strCommand.txt,tTmp.txt,"|",7
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,sys0,0,0
b2.pco=sys0
// get tText
spstr strCommand.txt,tText.txt,"|",8
spstr strCommand.txt,tText.txt,"~",8
// tText color
spstr strCommand.txt,tTmp.txt,"|",9
spstr strCommand.txt,tTmp.txt,"~",9
covx tTmp.txt,sys0,0,0
tText.pco=sys0
//preserve old sleepTimeout
vaOldSleepT.val=sleepTimeout
// sleep timeout
spstr strCommand.txt,tTmp.txt,"|",10
spstr strCommand.txt,tTmp.txt,"~",10
covx tTmp.txt,sys0,0,0
sleepTimeout=sys0
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="exitPopup")
@@ -327,11 +326,11 @@ Timer tmSerial
sleepTimeout=vaOldSleepT.val
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -268,7 +268,6 @@ Timer tmSleep
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
click b0,1
click b0,0
@@ -325,45 +324,45 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpdateDetail")
{
// get Position value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sys0,0,0
hPosition.val=sys0
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -14,43 +14,22 @@ Page screensaver
Preinitialize Event
recmod=1
bauds=115200
vis originPage,0
vis tInstruction,0
vis tTmp,0
vis p0,0
//load gloabl time string from pageIcons
//tTime.txt=vaTime.txt
spstr vaTime.txt,tTime.txt,"?",0
spstr vaTime.txt,tAMPM.txt,"?",1
spstr pageIcons.vaTime.txt,tTime.txt,"?",0
spstr pageIcons.vaTime.txt,tAMPM.txt,"?",1
if(tAMPM.txt=="")
{
vis tAMPM,0
}
tDate.txt=vaDate.txt
tDate.txt=pageIcons.vaDate.txt
dim=dimValue
vis tSend,0
//page open event
// clear weather elements, to keep example content in HMI
tMainIcon.txt=""
tMainText.txt=""
tForecast1.txt=""
tF1Icon.txt=""
tForecast1Val.txt=""
tForecast2.txt=""
tF2Icon.txt=""
tForecast2Val.txt=""
tSend.txt="event,screensaverOpen"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
Variable (string) strCommand
Attributes
@@ -58,18 +37,6 @@ Variable (string) strCommand
Text :
Max. Text Size: 200
Variable (string) vaTime
Attributes
Scope : global
Text :
Max. Text Size: 15
Variable (string) vaDate
Attributes
Scope : global
Text :
Max. Text Size: 30
Variable (string) tId
Attributes
Scope : local
@@ -81,15 +48,6 @@ Variable (int32) vaTap
Scope: local
Value: 0
Number originPage
Attributes
Scope : global
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Value : 0
Text tInstruction
Attributes
Scope : local
@@ -128,7 +86,7 @@ Text tDate
Send Component ID : disabled
Associated Keyboard : none
Text : Tuesday, 08. March 2022
Max. Text Size : 30
Max. Text Size : 35
Text tSend
Attributes
@@ -147,7 +105,7 @@ Text tMainIcon
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 
Text :
Max. Text Size : 10
Text tMainText
@@ -157,7 +115,7 @@ Text tMainText
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 2,3 °C
Text :
Max. Text Size : 10
Text tForecast1
@@ -167,7 +125,7 @@ Text tForecast1
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : Mi
Text :
Max. Text Size : 10
Text tForecast1Val
@@ -177,7 +135,7 @@ Text tForecast1Val
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 9,3 °C
Text :
Max. Text Size : 10
Text tF1Icon
@@ -187,7 +145,7 @@ Text tF1Icon
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 
Text :
Max. Text Size : 10
Text tForecast2
@@ -197,7 +155,7 @@ Text tForecast2
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : Do
Text :
Max. Text Size : 10
Text tF2Icon
@@ -207,7 +165,7 @@ Text tF2Icon
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 
Text :
Max. Text Size : 10
Text tForecast2Val
@@ -217,7 +175,7 @@ Text tForecast2Val
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 11,9 °C
Text :
Max. Text Size : 10
Text t10
@@ -288,7 +246,7 @@ Text tF4Icon
Send Component ID : disabled
Associated Keyboard : none
Text :
Max. Text Size : 10
Max. Text Size : 5
Text tForecast4Val
Attributes
@@ -300,6 +258,46 @@ Text tForecast4Val
Text :
Max. Text Size : 10
Text tMainTextAlt
Attributes
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text :
Max. Text Size : 10
Text tMainIconAlt
Attributes
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text :
Max. Text Size : 10
Text tMRIcon
Attributes
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text :
Max. Text Size : 10
Text tMR
Attributes
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text :
Max. Text Size : 10
Picture p0
Attributes
Scope : local
@@ -357,7 +355,7 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="wake")
{
//dim=100
@@ -366,16 +364,16 @@ Timer tmSerial
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
dim=dimValue
}
if(tInstruction.txt=="time")
{
//get set time to global variable
spstr strCommand.txt,vaTime.txt,",",1
spstr vaTime.txt,tTime.txt,"?",0
spstr vaTime.txt,tAMPM.txt,"?",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
spstr pageIcons.vaTime.txt,tTime.txt,"?",0
spstr pageIcons.vaTime.txt,tAMPM.txt,"?",1
if(tAMPM.txt=="")
{
vis tAMPM,0
@@ -384,66 +382,104 @@ Timer tmSerial
if(tInstruction.txt=="date")
{
//get set date to global variable
spstr strCommand.txt,vaDate.txt,"?",1
tDate.txt=vaDate.txt
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
tDate.txt=pageIcons.vaDate.txt
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="weatherUpdate")
{
vis tMainIcon,1
vis tMainIconAlt,0
vis tMainText,1
vis tMainTextAlt,0
vis tMRIcon,0
vis tMR,0
//tMainIcon
spstr strCommand.txt,tTmp.txt,"?",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tMainIcon.txt,sys0,1
tMainIconAlt.txt=tMainIcon.txt
//tMainText
spstr strCommand.txt,tMainText.txt,"?",2
spstr strCommand.txt,tMainText.txt,"~",2
tMainTextAlt.txt=tMainText.txt
//tForecast1
spstr strCommand.txt,tForecast1.txt,"?",3
spstr strCommand.txt,tForecast1.txt,"~",3
//tF1Icon
spstr strCommand.txt,tTmp.txt,"?",4
spstr strCommand.txt,tTmp.txt,"~",4
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF1Icon.txt,sys0,1
//tForecast1Val
spstr strCommand.txt,tForecast1Val.txt,"?",5
spstr strCommand.txt,tForecast1Val.txt,"~",5
//tForecast2
spstr strCommand.txt,tForecast2.txt,"?",6
spstr strCommand.txt,tForecast2.txt,"~",6
//tF2Icon
spstr strCommand.txt,tTmp.txt,"?",7
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF2Icon.txt,sys0,1
//tForecast2Val
spstr strCommand.txt,tForecast2Val.txt,"?",8
spstr strCommand.txt,tForecast2Val.txt,"~",8
//tForecast3
spstr strCommand.txt,tForecast3.txt,"?",9
spstr strCommand.txt,tForecast3.txt,"~",9
//tF3Icon
spstr strCommand.txt,tTmp.txt,"?",10
spstr strCommand.txt,tTmp.txt,"~",10
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF3Icon.txt,sys0,1
//tForecast3Val
spstr strCommand.txt,tForecast3Val.txt,"?",11
spstr strCommand.txt,tForecast3Val.txt,"~",11
//tForecast4
spstr strCommand.txt,tForecast4.txt,"?",12
spstr strCommand.txt,tForecast4.txt,"~",12
//tF4Icon
spstr strCommand.txt,tTmp.txt,"?",13
spstr strCommand.txt,tTmp.txt,"~",13
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF4Icon.txt,sys0,1
//tForecast4Val
spstr strCommand.txt,tForecast4Val.txt,"?",14
spstr strCommand.txt,tForecast4Val.txt,"~",14
//alternative layout
//tMRIcon
spstr strCommand.txt,tTmp.txt,"~",15
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tMRIcon.txt,sys0,1
if(tTmp.txt!="")
{
//value for tMRIcon, activate alternative layout
vis tMainIcon,0
vis tMainText,0
vis tMainTextAlt,1
vis tMainIconAlt,1
vis tMRIcon,1
vis tMR,1
vis tForecast1,0
vis tF1Icon,0
vis tForecast1Val,0
//move forecast values to the right
tForecast4.txt=tForecast3.txt
tForecast3.txt=tForecast2.txt
tForecast2.txt=tForecast1.txt
tForecast4Val.txt=tForecast3Val.txt
tForecast3Val.txt=tForecast2Val.txt
tForecast2Val.txt=tForecast1Val.txt
tF4Icon.txt=tF3Icon.txt
tF3Icon.txt=tF2Icon.txt
tF2Icon.txt=tF1Icon.txt
}
//tMR
spstr strCommand.txt,tMR.txt,"~",16
}
if(tInstruction.txt=="pageType")
{
dim=100
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete u[2]+3
bufferPos=0
@@ -497,6 +533,25 @@ Timer tmSerial
}
}
Timer tmSleep
Attributes
Scope : local
Period (ms): 1000
Enabled : yes
Events
Timer Event
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
sleepValue=0
dim=dimValue
vaTap.val=0
}
}
TouchCap tc0
Attributes
Scope: local
@@ -504,7 +559,7 @@ TouchCap tc0
Events
Touch Press Event
dim=100
dim=dimValueNormal
vaTap.val+=1
covx vaTap.val,tTmp.txt,0,0
tSend.txt="event,buttonPress2,screensaver,bExit,"+tTmp.txt
@@ -519,6 +574,4 @@ TouchCap tc0
prints sys0,2
prints tSend.txt,0
prints crcval,2
//dim=100
//page originPage.val

Binary file not shown.

Binary file not shown.

View File

@@ -47,7 +47,15 @@ icons = [
"shield-airplane",
"bell-ring",
"ray-vertex",
"script-text"
"script-text",
"home-import-outline",
"home-export-outline",
"arrow-up-bold",
"arrow-down-bold",
"cast-audio",
"cast",
"radio",
"fireplace"
]

View File

@@ -3,17 +3,17 @@ head = sharedhead + """
if(tInstruction.txt=="entityUpd")
{
// command format: entityUpd,heading,navigation,[,type,internalName,iconId,displayName,optionalValue]x4
spstr strCommand.txt,tHeading.txt,",",1
"""
spstr strCommand.txt,tHeading.txt,"~",1
""" + navigation
print(head)
start = 3
for i in range(1,7):
idxstart = start + (i-1)*6
item = f"""
// get Type
spstr strCommand.txt,type{i}.txt,",",{idxstart}
spstr strCommand.txt,type{i}.txt,"~",{idxstart}
// get internal name
spstr strCommand.txt,entn{i}.txt,",",{idxstart+1}
spstr strCommand.txt,entn{i}.txt,"~",{idxstart+1}
if(type{i}.txt=="delete"||type{i}.txt=="")
{{
vis bUp{i},0
@@ -28,16 +28,16 @@ for i in range(1,7):
}}else
{{
// change icon
spstr strCommand.txt,tTmp.txt,",",{idxstart+2}
spstr strCommand.txt,tTmp.txt,"~",{idxstart+2}
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon{i}.txt,sys0,1
vis tIcon{i},1
// change icon color
spstr strCommand.txt,tTmp.txt,",",{idxstart+3}
spstr strCommand.txt,tTmp.txt,"~",{idxstart+3}
covx tTmp.txt,sys0,0,0
tIcon{i}.pco=sys0
// set name
spstr strCommand.txt,tEntity{i}.txt,",",{idxstart+4}
spstr strCommand.txt,tEntity{i}.txt,"~",{idxstart+4}
vis tEntity{i},1
}}
@@ -61,7 +61,7 @@ for i in range(1,7):
vis hSlider{i},0
vis nNum{i},0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",{idxstart+5}
spstr strCommand.txt,tTmp.txt,"~",{idxstart+5}
covx tTmp.txt,sys0,0,0
btOnOff{i}.val=sys0
}}
@@ -75,7 +75,7 @@ for i in range(1,7):
vis hSlider{i},0
vis nNum{i},0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",{idxstart+5}
spstr strCommand.txt,tTmp.txt,"~",{idxstart+5}
covx tTmp.txt,sys0,0,0
btOnOff{i}.val=sys0
}}
@@ -92,7 +92,7 @@ for i in range(1,7):
bText{i}.pco=65535
bText{i}.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText{i}.txt,",",{idxstart+5}
spstr strCommand.txt,bText{i}.txt,"~",{idxstart+5}
}}
if(type{i}.txt=="button")
{{
@@ -107,7 +107,7 @@ for i in range(1,7):
bText{i}.pco=1374
bText{i}.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText{i}.txt,",",{idxstart+5}
spstr strCommand.txt,bText{i}.txt,"~",{idxstart+5}
}}
if(type{i}.txt=="number")
{{
@@ -120,7 +120,7 @@ for i in range(1,7):
vis hSlider{i},1
vis nNum{i},1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText{i}.txt,",",{idxstart+5}
spstr strCommand.txt,bText{i}.txt,"~",{idxstart+5}
//first value is current value
spstr bText{i}.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0

View File

@@ -4,7 +4,7 @@ head = sharedhead + """
{
// command format: entityUpd,heading,navigation,[,type,internalName,iconId,iconColor,displayName,optionalValue]x6
spstr strCommand.txt,tHeading.txt,",",1
"""
""" + navigation
print(head)
start = 3
for i in range(1,7):

View File

@@ -0,0 +1,67 @@
from shared import *
text = sharedhead + """
if(tInstruction.txt=="entityUpd")
{
//heading
spstr strCommand.txt,tHeading.txt,",",1
""" + navigation
text += """
//entity name
spstr strCommand.txt,entn.txt,",",3
//currentTemp
spstr strCommand.txt,tTmp.txt,",",4
covx tTmp.txt,xTempCurr.val,0,0
//dstTemp
spstr strCommand.txt,tTmp.txt,",",4
covx tTmp.txt,xTempDest.val,0,0
//status
spstr strCommand.txt,tStatus.txt,",",6
//minTemp
spstr strCommand.txt,tTmp.txt,",",7
covx tTmp.txt,xTempMin.val,0,0
//maxTemp
spstr strCommand.txt,tTmp.txt,",",8
covx tTmp.txt,xTempMax.val,0,0
//tempStep
spstr strCommand.txt,tTmp.txt,",",9
covx tTmp.txt,xTempStep.val,0,0
// disable all buttons
vis bt0,0
vis bt1,0
vis bt2,0
vis bt3,0
vis bt4,0
vis bt5,0
vis bt6,0
vis bt7,0
vis bt8,0
"""
start = 10
for i in range(0,9):
idxstart = start + i*4
text += f""" //bt{i}
spstr strCommand.txt,tTmp.txt,",",{idxstart}
if(tTmp.txt!="")
{{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt{i}.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",{idxstart+1}
covx tTmp.txt,bt{i}.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",{idxstart+2}
covx tTmp.txt,bt{i}.val,0,0
// save action
spstr strCommand.txt,va{i}.txt,",",{idxstart+3}
//enable
vis bt{i},1
}}"""
text += """
}
""" + sharedfoot
print(text)

View File

@@ -41,7 +41,7 @@ if(usize>1)
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
"""
sharedfoot = """
@@ -49,11 +49,11 @@ sharedfoot = """
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
@@ -103,23 +103,23 @@ sharedfoot = """
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
// end of user code
@@ -134,3 +134,33 @@ sharedfoot = """
}
}
"""
navigation = """
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
"""

View File

@@ -50,3 +50,11 @@ ID | MD Icon Name | Icon
43 | bell-ring | ![bell-ring](https://raw.githubusercontent.com/Templarian/MaterialDesign-SVG/0aeb4d612644d80d9d1fe242f705f362985de5dc/svg/bell-ring.svg)
44 | ray-vertex | ![ray-vertex](https://raw.githubusercontent.com/Templarian/MaterialDesign-SVG/0aeb4d612644d80d9d1fe242f705f362985de5dc/svg/ray-vertex.svg)
45 | script-text | ![script-text](https://raw.githubusercontent.com/Templarian/MaterialDesign-SVG/0aeb4d612644d80d9d1fe242f705f362985de5dc/svg/script-text.svg)
46 | home-import-outline | ![home-import-outline](https://raw.githubusercontent.com/Templarian/MaterialDesign-SVG/0aeb4d612644d80d9d1fe242f705f362985de5dc/svg/home-import-outline.svg)
47 | home-export-outline | ![home-export-outline](https://raw.githubusercontent.com/Templarian/MaterialDesign-SVG/0aeb4d612644d80d9d1fe242f705f362985de5dc/svg/home-export-outline.svg)
48 | arrow-up-bold | ![arrow-up-bold](https://raw.githubusercontent.com/Templarian/MaterialDesign-SVG/0aeb4d612644d80d9d1fe242f705f362985de5dc/svg/arrow-up-bold.svg)
49 | arrow-down-bold | ![arrow-down-bold](https://raw.githubusercontent.com/Templarian/MaterialDesign-SVG/0aeb4d612644d80d9d1fe242f705f362985de5dc/svg/arrow-down-bold.svg)
50 | cast-audio | ![cast-audio](https://raw.githubusercontent.com/Templarian/MaterialDesign-SVG/0aeb4d612644d80d9d1fe242f705f362985de5dc/svg/cast-audio.svg)
51 | cast | ![cast](https://raw.githubusercontent.com/Templarian/MaterialDesign-SVG/0aeb4d612644d80d9d1fe242f705f362985de5dc/svg/cast.svg)
52 | radio | ![radio](https://raw.githubusercontent.com/Templarian/MaterialDesign-SVG/0aeb4d612644d80d9d1fe242f705f362985de5dc/svg/radio.svg)
53 | fireplace | ![fireplace](https://raw.githubusercontent.com/Templarian/MaterialDesign-SVG/0aeb4d612644d80d9d1fe242f705f362985de5dc/svg/fireplace.svg)

View File

@@ -10,6 +10,7 @@ Program.s
int sleepValue=0
// dim value
int dimValue=40
int dimValueNormal=100
// fix touch offset
lcd_dev fffb 0002 0000 0020
page pageStartup

View File

@@ -25,7 +25,6 @@ Page cardAlarm
vis tInstruction,0
vis tTmp,0
vis tId,0
//vis nPageDisp,0
vis arm1,0
vis arm2,0
vis arm3,0
@@ -340,7 +339,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardAlarm,bPrev"
tSend.txt="event,buttonPress2,cardAlarm,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -1038,53 +1044,80 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
//entn
spstr strCommand.txt,entn.txt,",",1
spstr strCommand.txt,entn.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
//text arm1
spstr strCommand.txt,arm1.txt,",",2
spstr strCommand.txt,arm1.txt,"~",3
if(arm1.txt!="")
{
vis arm1,1
}
//id arm1
spstr strCommand.txt,va1.txt,",",3
spstr strCommand.txt,va1.txt,"~",4
//text arm2
spstr strCommand.txt,arm2.txt,",",4
spstr strCommand.txt,arm2.txt,"~",5
if(arm2.txt!="")
{
vis arm2,1
}
//id arm2
spstr strCommand.txt,va2.txt,",",5
spstr strCommand.txt,va2.txt,"~",6
//text arm3
spstr strCommand.txt,arm3.txt,",",6
spstr strCommand.txt,arm3.txt,"~",7
if(arm3.txt!="")
{
vis arm3,1
}
//id arm3
spstr strCommand.txt,va3.txt,",",7
spstr strCommand.txt,va3.txt,"~",8
//text arm4
spstr strCommand.txt,arm4.txt,",",8
spstr strCommand.txt,arm4.txt,"~",9
if(arm4.txt!="")
{
vis arm4,1
}
//id arm4
spstr strCommand.txt,va4.txt,",",9
spstr strCommand.txt,va4.txt,"~",10
//icon
spstr strCommand.txt,tTmp.txt,",",10
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon.txt,sys0,1
//icon color
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,sys0,0,0
tIcon.pco=sys0
//numpad status
spstr strCommand.txt,tTmp.txt,",",12
spstr strCommand.txt,tTmp.txt,"~",13
if(tTmp.txt!="disable")
{
vis b0,1
@@ -1099,9 +1132,23 @@ Timer tmSerial
vis b9,1
vis b10,1
vis tCode,1
}else
{
vis b0,0
vis b1,0
vis b2,0
vis b3,0
vis b4,0
vis b5,0
vis b6,0
vis b7,0
vis b8,0
vis b9,0
vis b10,0
vis tCode,0
}
//flashing status
spstr strCommand.txt,tTmp.txt,",",13
spstr strCommand.txt,tTmp.txt,"~",14
if(tTmp.txt=="enable")
{
tmFlash.en=1
@@ -1113,67 +1160,80 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
dim=dimValue
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="popupLight")
if(tId.txt=="pageStartup")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
page pageStartup
}
if(tId.txt=="screensaver")
{
page screensaver
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardThermo")
if(tId.txt=="cardGrid")
{
page cardThermo
page cardGrid
}
if(tId.txt=="pageStartup")
if(tId.txt=="popupLight")
{
page pageStartup
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="popupShutter")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupShutter
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardGrid")
if(tId.txt=="cardThermo")
{
page cardGrid
page cardThermo
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="cardAlarm")
{
page cardAlarm
}
}
// end of user code
udelete payloadLength-1
@@ -1196,14 +1256,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardAlarm"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -429,7 +429,7 @@ Text tIcon1
Vertical Alignment : center
Input Type : character
Text : 
Max. Text Size : 10
Max. Text Size : 5
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
@@ -459,7 +459,7 @@ Text tIcon2
Vertical Alignment : center
Input Type : character
Text : 
Max. Text Size : 30
Max. Text Size : 5
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
@@ -489,7 +489,7 @@ Text tIcon3
Vertical Alignment : center
Input Type : character
Text : 
Max. Text Size : 10
Max. Text Size : 5
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
@@ -519,7 +519,7 @@ Text tIcon4
Vertical Alignment : center
Input Type : character
Text : 
Max. Text Size : 30
Max. Text Size : 5
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
@@ -1431,7 +1431,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardEntities,bPrev"
tSend.txt="event,buttonPress2,cardEntities,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -2060,15 +2067,42 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
// command format: entityUpd,heading,navigation,[,type,internalName,iconId,displayName,optionalValue]x4
spstr strCommand.txt,tHeading.txt,",",1
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
// get Type
spstr strCommand.txt,type1.txt,",",3
spstr strCommand.txt,type1.txt,"~",3
// get internal name
spstr strCommand.txt,entn1.txt,",",4
spstr strCommand.txt,entn1.txt,"~",4
if(type1.txt=="delete"||type1.txt=="")
{
vis bUp1,0
@@ -2083,16 +2117,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",5
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon1.txt,sys0,1
vis tIcon1,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",6
covx tTmp.txt,sys0,0,0
tIcon1.pco=sys0
// set name
spstr strCommand.txt,tEntity1.txt,",",7
spstr strCommand.txt,tEntity1.txt,"~",7
vis tEntity1,1
}
if(type1.txt=="shutter")
@@ -2115,7 +2149,7 @@ Timer tmSerial
vis hSlider1,0
vis nNum1,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",8
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,sys0,0,0
btOnOff1.val=sys0
}
@@ -2129,7 +2163,7 @@ Timer tmSerial
vis hSlider1,0
vis nNum1,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",8
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,sys0,0,0
btOnOff1.val=sys0
}
@@ -2146,7 +2180,7 @@ Timer tmSerial
bText1.pco=65535
bText1.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText1.txt,",",8
spstr strCommand.txt,bText1.txt,"~",8
}
if(type1.txt=="button")
{
@@ -2161,7 +2195,7 @@ Timer tmSerial
bText1.pco=1374
bText1.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText1.txt,",",8
spstr strCommand.txt,bText1.txt,"~",8
}
if(type1.txt=="number")
{
@@ -2174,7 +2208,7 @@ Timer tmSerial
vis hSlider1,1
vis nNum1,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText1.txt,",",8
spstr strCommand.txt,bText1.txt,"~",8
//first value is current value
spstr bText1.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -2190,9 +2224,9 @@ Timer tmSerial
hSlider1.maxval=sys0
}
// get Type
spstr strCommand.txt,type2.txt,",",9
spstr strCommand.txt,type2.txt,"~",9
// get internal name
spstr strCommand.txt,entn2.txt,",",10
spstr strCommand.txt,entn2.txt,"~",10
if(type2.txt=="delete"||type2.txt=="")
{
vis bUp2,0
@@ -2207,16 +2241,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon2.txt,sys0,1
vis tIcon2,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",12
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,sys0,0,0
tIcon2.pco=sys0
// set name
spstr strCommand.txt,tEntity2.txt,",",13
spstr strCommand.txt,tEntity2.txt,"~",13
vis tEntity2,1
}
if(type2.txt=="shutter")
@@ -2239,7 +2273,7 @@ Timer tmSerial
vis hSlider2,0
vis nNum2,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",14
spstr strCommand.txt,tTmp.txt,"~",14
covx tTmp.txt,sys0,0,0
btOnOff2.val=sys0
}
@@ -2253,7 +2287,7 @@ Timer tmSerial
vis hSlider2,0
vis nNum2,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",14
spstr strCommand.txt,tTmp.txt,"~",14
covx tTmp.txt,sys0,0,0
btOnOff2.val=sys0
}
@@ -2270,7 +2304,7 @@ Timer tmSerial
bText2.pco=65535
bText2.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText2.txt,",",14
spstr strCommand.txt,bText2.txt,"~",14
}
if(type2.txt=="button")
{
@@ -2285,7 +2319,7 @@ Timer tmSerial
bText2.pco=1374
bText2.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText2.txt,",",14
spstr strCommand.txt,bText2.txt,"~",14
}
if(type2.txt=="number")
{
@@ -2298,7 +2332,7 @@ Timer tmSerial
vis hSlider2,1
vis nNum2,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText2.txt,",",14
spstr strCommand.txt,bText2.txt,"~",14
//first value is current value
spstr bText2.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -2314,9 +2348,9 @@ Timer tmSerial
hSlider2.maxval=sys0
}
// get Type
spstr strCommand.txt,type3.txt,",",15
spstr strCommand.txt,type3.txt,"~",15
// get internal name
spstr strCommand.txt,entn3.txt,",",16
spstr strCommand.txt,entn3.txt,"~",16
if(type3.txt=="delete"||type3.txt=="")
{
vis bUp3,0
@@ -2331,16 +2365,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",17
spstr strCommand.txt,tTmp.txt,"~",17
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon3.txt,sys0,1
vis tIcon3,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",18
spstr strCommand.txt,tTmp.txt,"~",18
covx tTmp.txt,sys0,0,0
tIcon3.pco=sys0
// set name
spstr strCommand.txt,tEntity3.txt,",",19
spstr strCommand.txt,tEntity3.txt,"~",19
vis tEntity3,1
}
if(type3.txt=="shutter")
@@ -2363,7 +2397,7 @@ Timer tmSerial
vis hSlider3,0
vis nNum3,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",20
spstr strCommand.txt,tTmp.txt,"~",20
covx tTmp.txt,sys0,0,0
btOnOff3.val=sys0
}
@@ -2377,7 +2411,7 @@ Timer tmSerial
vis hSlider3,0
vis nNum3,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",20
spstr strCommand.txt,tTmp.txt,"~",20
covx tTmp.txt,sys0,0,0
btOnOff3.val=sys0
}
@@ -2394,7 +2428,7 @@ Timer tmSerial
bText3.pco=65535
bText3.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText3.txt,",",20
spstr strCommand.txt,bText3.txt,"~",20
}
if(type3.txt=="button")
{
@@ -2409,7 +2443,7 @@ Timer tmSerial
bText3.pco=1374
bText3.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText3.txt,",",20
spstr strCommand.txt,bText3.txt,"~",20
}
if(type3.txt=="number")
{
@@ -2422,7 +2456,7 @@ Timer tmSerial
vis hSlider3,1
vis nNum3,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText3.txt,",",20
spstr strCommand.txt,bText3.txt,"~",20
//first value is current value
spstr bText3.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -2438,9 +2472,9 @@ Timer tmSerial
hSlider3.maxval=sys0
}
// get Type
spstr strCommand.txt,type4.txt,",",21
spstr strCommand.txt,type4.txt,"~",21
// get internal name
spstr strCommand.txt,entn4.txt,",",22
spstr strCommand.txt,entn4.txt,"~",22
if(type4.txt=="delete"||type4.txt=="")
{
vis bUp4,0
@@ -2455,16 +2489,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",23
spstr strCommand.txt,tTmp.txt,"~",23
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon4.txt,sys0,1
vis tIcon4,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",24
spstr strCommand.txt,tTmp.txt,"~",24
covx tTmp.txt,sys0,0,0
tIcon4.pco=sys0
// set name
spstr strCommand.txt,tEntity4.txt,",",25
spstr strCommand.txt,tEntity4.txt,"~",25
vis tEntity4,1
}
if(type4.txt=="shutter")
@@ -2487,7 +2521,7 @@ Timer tmSerial
vis hSlider4,0
vis nNum4,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",26
spstr strCommand.txt,tTmp.txt,"~",26
covx tTmp.txt,sys0,0,0
btOnOff4.val=sys0
}
@@ -2501,7 +2535,7 @@ Timer tmSerial
vis hSlider4,0
vis nNum4,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",26
spstr strCommand.txt,tTmp.txt,"~",26
covx tTmp.txt,sys0,0,0
btOnOff4.val=sys0
}
@@ -2518,7 +2552,7 @@ Timer tmSerial
bText4.pco=65535
bText4.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText4.txt,",",26
spstr strCommand.txt,bText4.txt,"~",26
}
if(type4.txt=="button")
{
@@ -2533,7 +2567,7 @@ Timer tmSerial
bText4.pco=1374
bText4.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText4.txt,",",26
spstr strCommand.txt,bText4.txt,"~",26
}
if(type4.txt=="number")
{
@@ -2546,7 +2580,7 @@ Timer tmSerial
vis hSlider4,1
vis nNum4,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText4.txt,",",26
spstr strCommand.txt,bText4.txt,"~",26
//first value is current value
spstr bText4.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -2566,11 +2600,11 @@ Timer tmSerial
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
@@ -2620,23 +2654,23 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
// end of user code
@@ -2660,14 +2694,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardEntities"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -515,7 +515,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardGrid,bPrev"
tSend.txt="event,buttonPress2,cardGrid,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -1000,15 +1007,42 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
// command format: entityUpd,heading,navigation,[,type,internalName,iconId,iconColor,displayName,optionalValue]x6
spstr strCommand.txt,tHeading.txt,",",1
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
// get Type
spstr strCommand.txt,type1.txt,",",3
spstr strCommand.txt,type1.txt,"~",3
// get internal name
spstr strCommand.txt,entn1.txt,",",4
spstr strCommand.txt,entn1.txt,"~",4
if(type1.txt=="delete"||type1.txt=="")
{
vis tEntity1,0
@@ -1016,22 +1050,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",5
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity1.txt,sys0,1
vis bEntity1,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",6
covx tTmp.txt,sys0,0,0
bEntity1.pco=sys0
// set name
spstr strCommand.txt,tEntity1.txt,",",7
spstr strCommand.txt,tEntity1.txt,"~",7
vis tEntity1,1
}
// get Type
spstr strCommand.txt,type2.txt,",",9
spstr strCommand.txt,type2.txt,"~",9
// get internal name
spstr strCommand.txt,entn2.txt,",",10
spstr strCommand.txt,entn2.txt,"~",10
if(type2.txt=="delete"||type2.txt=="")
{
vis tEntity2,0
@@ -1039,22 +1073,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity2.txt,sys0,1
vis bEntity2,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",12
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,sys0,0,0
bEntity2.pco=sys0
// set name
spstr strCommand.txt,tEntity2.txt,",",13
spstr strCommand.txt,tEntity2.txt,"~",13
vis tEntity2,1
}
// get Type
spstr strCommand.txt,type3.txt,",",15
spstr strCommand.txt,type3.txt,"~",15
// get internal name
spstr strCommand.txt,entn3.txt,",",16
spstr strCommand.txt,entn3.txt,"~",16
if(type3.txt=="delete"||type3.txt=="")
{
vis tEntity3,0
@@ -1062,22 +1096,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",17
spstr strCommand.txt,tTmp.txt,"~",17
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity3.txt,sys0,1
vis bEntity3,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",18
spstr strCommand.txt,tTmp.txt,"~",18
covx tTmp.txt,sys0,0,0
bEntity3.pco=sys0
// set name
spstr strCommand.txt,tEntity3.txt,",",19
spstr strCommand.txt,tEntity3.txt,"~",19
vis tEntity3,1
}
// get Type
spstr strCommand.txt,type4.txt,",",21
spstr strCommand.txt,type4.txt,"~",21
// get internal name
spstr strCommand.txt,entn4.txt,",",22
spstr strCommand.txt,entn4.txt,"~",22
if(type4.txt=="delete"||type4.txt=="")
{
vis tEntity4,0
@@ -1085,22 +1119,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",23
spstr strCommand.txt,tTmp.txt,"~",23
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity4.txt,sys0,1
vis bEntity4,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",24
spstr strCommand.txt,tTmp.txt,"~",24
covx tTmp.txt,sys0,0,0
bEntity4.pco=sys0
// set name
spstr strCommand.txt,tEntity4.txt,",",25
spstr strCommand.txt,tEntity4.txt,"~",25
vis tEntity4,1
}
// get Type
spstr strCommand.txt,type5.txt,",",27
spstr strCommand.txt,type5.txt,"~",27
// get internal name
spstr strCommand.txt,entn5.txt,",",28
spstr strCommand.txt,entn5.txt,"~",28
if(type5.txt=="delete"||type5.txt=="")
{
vis tEntity5,0
@@ -1108,22 +1142,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",29
spstr strCommand.txt,tTmp.txt,"~",29
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity5.txt,sys0,1
vis bEntity5,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",30
spstr strCommand.txt,tTmp.txt,"~",30
covx tTmp.txt,sys0,0,0
bEntity5.pco=sys0
// set name
spstr strCommand.txt,tEntity5.txt,",",31
spstr strCommand.txt,tEntity5.txt,"~",31
vis tEntity5,1
}
// get Type
spstr strCommand.txt,type6.txt,",",33
spstr strCommand.txt,type6.txt,"~",33
// get internal name
spstr strCommand.txt,entn6.txt,",",34
spstr strCommand.txt,entn6.txt,"~",34
if(type6.txt=="delete"||type6.txt=="")
{
vis tEntity6,0
@@ -1131,16 +1165,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",35
spstr strCommand.txt,tTmp.txt,"~",35
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity6.txt,sys0,1
vis bEntity6,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",36
spstr strCommand.txt,tTmp.txt,"~",36
covx tTmp.txt,sys0,0,0
bEntity6.pco=sys0
// set name
spstr strCommand.txt,tEntity6.txt,",",37
spstr strCommand.txt,tEntity6.txt,"~",37
vis tEntity6,1
}
}
@@ -1148,11 +1182,11 @@ Timer tmSerial
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
@@ -1202,23 +1236,23 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
// end of user code
@@ -1242,14 +1276,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardGrid"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -856,7 +856,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardMedia,bPrev"
tSend.txt="event,buttonPress2,cardMedia,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -920,31 +927,58 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
//entity name
spstr strCommand.txt,entn.txt,"|",1
//heading
spstr strCommand.txt,tHeading.txt,"|",2
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
//entity name
spstr strCommand.txt,entn.txt,"~",3
//icon
spstr strCommand.txt,tTmp.txt,"|",3
spstr strCommand.txt,tTmp.txt,"~",4
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon.txt,sys0,1
//title
spstr strCommand.txt,tTitle.txt,"|",4
spstr strCommand.txt,tTitle.txt,"~",5
//author
spstr strCommand.txt,tAuthor.txt,"|",5
spstr strCommand.txt,tAuthor.txt,"~",6
//volume
spstr strCommand.txt,tTmp.txt,"|",6
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,sys0,0,0
hVolume.val=sys0
//icon
spstr strCommand.txt,tTmp.txt,"|",7
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tPlayPause.txt,sys0,1
//speaker current
spstr strCommand.txt,tSpeaker.txt,"|",8
spstr strCommand.txt,tSpeaker.txt,"~",9
if(tSpeaker.txt!="")
{
tSpeaker.pco=1374
@@ -953,14 +987,14 @@ Timer tmSerial
tSpeaker.pco=65535
}
//speaker list
spstr strCommand.txt,vaSpeakerList.txt,"|",9
spstr strCommand.txt,vaSpeakerList.txt,"~",10
if(vaSpeakerList.txt=="")
{
vis t6,0
}
vaSpeakerPos.val=0
// on off button
spstr strCommand.txt,tTmp.txt,"|",10
spstr strCommand.txt,tTmp.txt,"~",11
if(tTmp.txt=="disable")
{
vis t5,0
@@ -973,62 +1007,75 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
dim=dimValue
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="popupLight")
if(tId.txt=="pageStartup")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
page pageStartup
}
if(tId.txt=="screensaver")
{
page screensaver
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardThermo")
if(tId.txt=="cardGrid")
{
page cardThermo
page cardGrid
}
if(tId.txt=="pageStartup")
if(tId.txt=="popupLight")
{
page pageStartup
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="popupShutter")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupShutter
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardGrid")
if(tId.txt=="cardThermo")
{
page cardGrid
page cardThermo
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="cardAlarm")
{
@@ -1065,14 +1112,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardMedia"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -683,7 +683,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardThermo,bPrev"
tSend.txt="event,buttonPress2,cardThermo,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -1188,29 +1195,56 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
//entity name
spstr strCommand.txt,entn.txt,",",1
//heading
spstr strCommand.txt,tHeading.txt,",",2
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
//entity name
spstr strCommand.txt,entn.txt,"~",3
//currentTemp
spstr strCommand.txt,tTmp.txt,",",3
spstr strCommand.txt,tTmp.txt,"~",4
covx tTmp.txt,xTempCurr.val,0,0
//dstTemp
spstr strCommand.txt,tTmp.txt,",",4
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,xTempDest.val,0,0
//status
spstr strCommand.txt,tStatus.txt,",",5
spstr strCommand.txt,tStatus.txt,"~",6
//minTemp
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,xTempMin.val,0,0
//maxTemp
spstr strCommand.txt,tTmp.txt,",",7
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,xTempMax.val,0,0
//tempStep
spstr strCommand.txt,tTmp.txt,",",8
spstr strCommand.txt,tTmp.txt,"~",9
covx tTmp.txt,xTempStep.val,0,0
// disable all buttons
vis bt0,0
@@ -1223,243 +1257,248 @@ Timer tmSerial
vis bt7,0
vis bt8,0
//bt0
spstr strCommand.txt,tTmp.txt,",",9
spstr strCommand.txt,tTmp.txt,"~",10
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt0.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",10
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,bt0.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,bt0.val,0,0
// save action
spstr strCommand.txt,va0.txt,",",12
spstr strCommand.txt,va0.txt,"~",13
//enable
vis bt0,1
}
//bt1
spstr strCommand.txt,tTmp.txt,",",13
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt1.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",14
covx tTmp.txt,bt1.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",15
covx tTmp.txt,bt1.val,0,0
// save action
spstr strCommand.txt,va1.txt,",",16
//enable
vis bt1,1
}
//bt2
spstr strCommand.txt,tTmp.txt,",",17
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt2.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",18
covx tTmp.txt,bt2.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",19
covx tTmp.txt,bt2.val,0,0
// save action
spstr strCommand.txt,va2.txt,",",20
//enable
vis bt2,1
}
//bt3
spstr strCommand.txt,tTmp.txt,",",21
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt3.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",22
covx tTmp.txt,bt3.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",23
covx tTmp.txt,bt3.val,0,0
// save action
spstr strCommand.txt,va3.txt,",",24
//enable
vis bt3,1
}
//bt4
spstr strCommand.txt,tTmp.txt,",",25
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt4.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",26
covx tTmp.txt,bt4.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",27
covx tTmp.txt,bt4.val,0,0
// save action
spstr strCommand.txt,va4.txt,",",28
//enable
vis bt4,1
}
//bt5
spstr strCommand.txt,tTmp.txt,",",29
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt5.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",30
covx tTmp.txt,bt5.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",31
covx tTmp.txt,bt5.val,0,0
// save action
spstr strCommand.txt,va5.txt,",",32
//enable
vis bt5,1
}
//bt6
spstr strCommand.txt,tTmp.txt,",",33
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt6.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",34
covx tTmp.txt,bt6.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",35
covx tTmp.txt,bt6.val,0,0
// save action
spstr strCommand.txt,va6.txt,",",36
//enable
vis bt6,1
}
//bt7
spstr strCommand.txt,tTmp.txt,",",37
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt7.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",38
covx tTmp.txt,bt7.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",39
covx tTmp.txt,bt7.val,0,0
// save action
spstr strCommand.txt,va7.txt,",",40
//enable
vis bt7,1
}
//bt8
spstr strCommand.txt,tTmp.txt,",",41
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt8.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",42
covx tTmp.txt,bt8.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",43
covx tTmp.txt,bt8.val,0,0
// save action
spstr strCommand.txt,va8.txt,",",44
//enable
vis bt8,1
}
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="popupLight")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="pageStartup")
{
page pageStartup
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardGrid")
{
page cardGrid
}
if(tId.txt=="cardAlarm")
{
page cardAlarm
}
}
// end of user code
udelete payloadLength-1
bufferPos=0
}
}
}
}
// next character
bufferPos++
}
}
} //bt1
spstr strCommand.txt,tTmp.txt,"~",14
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt1.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",15
covx tTmp.txt,bt1.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",16
covx tTmp.txt,bt1.val,0,0
// save action
spstr strCommand.txt,va1.txt,"~",17
//enable
vis bt1,1
} //bt2
spstr strCommand.txt,tTmp.txt,"~",18
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt2.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",19
covx tTmp.txt,bt2.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",20
covx tTmp.txt,bt2.val,0,0
// save action
spstr strCommand.txt,va2.txt,"~",21
//enable
vis bt2,1
} //bt3
spstr strCommand.txt,tTmp.txt,"~",22
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt3.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",23
covx tTmp.txt,bt3.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",24
covx tTmp.txt,bt3.val,0,0
// save action
spstr strCommand.txt,va3.txt,"~",25
//enable
vis bt3,1
} //bt4
spstr strCommand.txt,tTmp.txt,"~",26
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt4.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",27
covx tTmp.txt,bt4.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",28
covx tTmp.txt,bt4.val,0,0
// save action
spstr strCommand.txt,va4.txt,"~",29
//enable
vis bt4,1
} //bt5
spstr strCommand.txt,tTmp.txt,"~",30
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt5.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",31
covx tTmp.txt,bt5.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",32
covx tTmp.txt,bt5.val,0,0
// save action
spstr strCommand.txt,va5.txt,"~",33
//enable
vis bt5,1
} //bt6
spstr strCommand.txt,tTmp.txt,"~",34
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt6.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",35
covx tTmp.txt,bt6.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",36
covx tTmp.txt,bt6.val,0,0
// save action
spstr strCommand.txt,va6.txt,"~",37
//enable
vis bt6,1
} //bt7
spstr strCommand.txt,tTmp.txt,"~",38
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt7.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",39
covx tTmp.txt,bt7.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",40
covx tTmp.txt,bt7.val,0,0
// save action
spstr strCommand.txt,va7.txt,"~",41
//enable
vis bt7,1
} //bt8
spstr strCommand.txt,tTmp.txt,"~",42
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt8.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",43
covx tTmp.txt,bt8.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",44
covx tTmp.txt,bt8.val,0,0
// save action
spstr strCommand.txt,va8.txt,"~",45
//enable
vis bt8,1
}
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="pageStartup")
{
page pageStartup
}
if(tId.txt=="screensaver")
{
page screensaver
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardGrid")
{
page cardGrid
}
if(tId.txt=="popupLight")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="popupShutter")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupShutter
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardThermo")
{
page cardThermo
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="cardAlarm")
{
page cardAlarm
}
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
// end of user code
udelete payloadLength-1
bufferPos=0
}
}
}
}
// next character
bufferPos++
}
}
Timer tmSleep
Attributes
@@ -1470,14 +1509,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardThermo"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -1,11 +1,7 @@
Program.s
0 Component(s)
10 Line(s) of event code
10 Unique line(s) of event code
pageIcons
5 Component(s)
0 Line(s) of event code
0 Unique line(s) of event code
11 Line(s) of event code
11 Unique line(s) of event code
pageTest
13 Component(s)
13 Line(s) of event code
@@ -14,49 +10,53 @@ pageSerialTest
13 Component(s)
48 Line(s) of event code
43 Unique line(s) of event code
popupShutter
19 Component(s)
179 Line(s) of event code
102 Unique line(s) of event code
pageIcons
7 Component(s)
0 Line(s) of event code
0 Unique line(s) of event code
popupNotify
17 Component(s)
179 Line(s) of event code
118 Unique line(s) of event code
cardGrid
39 Component(s)
388 Line(s) of event code
224 Unique line(s) of event code
178 Line(s) of event code
117 Unique line(s) of event code
popupShutter
19 Component(s)
178 Line(s) of event code
101 Unique line(s) of event code
popupLight
27 Component(s)
322 Line(s) of event code
173 Unique line(s) of event code
pageStartup
19 Component(s)
150 Line(s) of event code
113 Unique line(s) of event code
cardMedia
30 Component(s)
278 Line(s) of event code
139 Unique line(s) of event code
cardAlarm
35 Component(s)
276 Line(s) of event code
172 Unique line(s) of event code
popupLight
27 Component(s)
323 Line(s) of event code
174 Unique line(s) of event code
screensaver
31 Component(s)
183 Line(s) of event code
133 Unique line(s) of event code
cardThermo
41 Component(s)
405 Line(s) of event code
217 Unique line(s) of event code
460 Line(s) of event code
284 Unique line(s) of event code
cardMedia
30 Component(s)
333 Line(s) of event code
170 Unique line(s) of event code
screensaver
33 Component(s)
207 Line(s) of event code
158 Unique line(s) of event code
cardAlarm
35 Component(s)
345 Line(s) of event code
214 Unique line(s) of event code
cardGrid
39 Component(s)
430 Line(s) of event code
249 Unique line(s) of event code
cardEntities
62 Component(s)
930 Line(s) of event code
388 Unique line(s) of event code
972 Line(s) of event code
413 Unique line(s) of event code
Total
13 Page(s)
351 Component(s)
3362 Line(s) of event code
909 Unique line(s) of event code
355 Component(s)
3647 Line(s) of event code
1040 Unique line(s) of event code

View File

@@ -18,6 +18,20 @@ Page pageIcons
Fill : solid color
Back. Color : 65535
Variable (string) vaTime
Attributes
ID : 5
Scope : global
Text :
Max. Text Size: 15
Variable (string) vaDate
Attributes
ID : 6
Scope : global
Text :
Max. Text Size: 35
Text tIcons
Attributes
ID : 2
@@ -42,8 +56,8 @@ Text tIcons
Horizontal Alignment : left
Vertical Alignment : top
Input Type : character
Text : 
Max. Text Size : 150
Text : 
Max. Text Size : 170
Word wrap : enabled
Horizontal Spacing : 0
Vertical Spacing : 0

View File

@@ -402,7 +402,7 @@ Text tVersion
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : 23
Text : 28
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -552,27 +552,27 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
@@ -580,11 +580,11 @@ Timer tmSerial
dim=100
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -727,7 +727,6 @@ Timer tmSleep
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
click b0,1
click b0,0
@@ -785,24 +784,24 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpdateDetail")
{
// change icon
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon1.txt,sys0,1
vis tIcon1,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
covx tTmp.txt,sys0,0,0
tIcon1.pco=sys0
// get Button State
spstr strCommand.txt,tTmp.txt,",",3
spstr strCommand.txt,tTmp.txt,"~",3
covx tTmp.txt,sys0,0,0
btOnOff1.val=sys0
// get Brightness value
spstr strCommand.txt,tTmp.txt,",",4
spstr strCommand.txt,tTmp.txt,"~",4
if(tTmp.txt=="disable")
{
vis t1,0
@@ -820,7 +819,7 @@ Timer tmSerial
}
}
// get ColorTemp value
spstr strCommand.txt,tTmp.txt,",",5
spstr strCommand.txt,tTmp.txt,"~",5
if(tTmp.txt=="disable")
{
vis hTempSlider,0
@@ -864,7 +863,7 @@ Timer tmSerial
}
}
// get Color value
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",6
// disable -> isn't supported
if(tTmp.txt=="disable")
{
@@ -888,34 +887,34 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -403,7 +403,6 @@ Timer tmSleep
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
click b0,1
click b0,0
@@ -461,70 +460,70 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpdateDetail")
{
// get entn
spstr strCommand.txt,entn.txt,"|",1
spstr strCommand.txt,entn.txt,"~",1
// get Heading
spstr strCommand.txt,tHeading.txt,"|",2
spstr strCommand.txt,tHeading.txt,"~",2
// heading color
spstr strCommand.txt,tTmp.txt,"|",3
spstr strCommand.txt,tTmp.txt,"~",3
covx tTmp.txt,sys0,0,0
tHeading.pco=sys0
// get b1
spstr strCommand.txt,b1.txt,"|",4
spstr strCommand.txt,b1.txt,"~",4
if(b1.txt!="")
{
vis b1,1
}
// b1 color
spstr strCommand.txt,tTmp.txt,"|",5
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,sys0,0,0
b1.pco=sys0
// get b2
spstr strCommand.txt,b2.txt,"|",6
spstr strCommand.txt,b2.txt,"~",6
if(b2.txt!="")
{
vis b2,1
}
// b2 color
spstr strCommand.txt,tTmp.txt,"|",7
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,sys0,0,0
b2.pco=sys0
// get tText
spstr strCommand.txt,tText.txt,"|",8
spstr strCommand.txt,tText.txt,"~",8
// tText color
spstr strCommand.txt,tTmp.txt,"|",9
spstr strCommand.txt,tTmp.txt,"~",9
covx tTmp.txt,sys0,0,0
tText.pco=sys0
//preserve old sleepTimeout
vaOldSleepT.val=sleepTimeout
// sleep timeout
spstr strCommand.txt,tTmp.txt,"|",10
spstr strCommand.txt,tTmp.txt,"~",10
covx tTmp.txt,sys0,0,0
sleepTimeout=sys0
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="exitPopup")
@@ -536,11 +535,11 @@ Timer tmSerial
sleepTimeout=vaOldSleepT.val
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -532,7 +532,6 @@ Timer tmSleep
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
click b0,1
click b0,0
@@ -590,45 +589,45 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpdateDetail")
{
// get Position value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sys0,0,0
hPosition.val=sys0
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -22,111 +22,46 @@ Page screensaver
Preinitialize Event
recmod=1
bauds=115200
vis originPage,0
vis tInstruction,0
vis tTmp,0
vis p0,0
//load gloabl time string from pageIcons
//tTime.txt=vaTime.txt
spstr vaTime.txt,tTime.txt,"?",0
spstr vaTime.txt,tAMPM.txt,"?",1
spstr pageIcons.vaTime.txt,tTime.txt,"?",0
spstr pageIcons.vaTime.txt,tAMPM.txt,"?",1
if(tAMPM.txt=="")
{
vis tAMPM,0
}
tDate.txt=vaDate.txt
tDate.txt=pageIcons.vaDate.txt
dim=dimValue
vis tSend,0
//page open event
// clear weather elements, to keep example content in HMI
tMainIcon.txt=""
tMainText.txt=""
tForecast1.txt=""
tF1Icon.txt=""
tForecast1Val.txt=""
tForecast2.txt=""
tF2Icon.txt=""
tForecast2Val.txt=""
tSend.txt="event,screensaverOpen"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
Variable (string) strCommand
Attributes
ID : 5
ID : 4
Scope : local
Text :
Max. Text Size: 200
Variable (string) vaTime
Attributes
ID : 10
Scope : global
Text :
Max. Text Size: 15
Variable (string) vaDate
Attributes
ID : 11
Scope : global
Text :
Max. Text Size: 30
Variable (string) tId
Attributes
ID : 22
ID : 19
Scope : local
Text :
Max. Text Size: 25
Variable (int32) vaTap
Attributes
ID : 30
ID : 27
Scope: local
Value: 0
Number originPage
Attributes
ID : 3
Scope : global
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 452
y coordinate : 267
Width : 24
Height : 49
Effect : load
Effect Priority : 0
Effect Time : 300
Fill : solid color
Style : flat
Associated Keyboard : none
Font ID : 0
Back. Color : 65535
Font Color : 0
Horizontal Alignment : center
Vertical Alignment : center
Value : 0
Significant digits shown : all
Format : decimal
Word wrap : enabled
Horizontal Spacing : 0
Vertical Spacing : 0
Text tInstruction
Attributes
ID : 6
ID : 5
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -156,7 +91,7 @@ Text tInstruction
Text tTmp
Attributes
ID : 7
ID : 6
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -186,7 +121,7 @@ Text tTmp
Text tTime
Attributes
ID : 8
ID : 7
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -216,7 +151,7 @@ Text tTime
Text tDate
Attributes
ID : 9
ID : 8
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -239,14 +174,14 @@ Text tDate
Vertical Alignment : center
Input Type : character
Text : Tuesday, 08. March 2022
Max. Text Size : 30
Max. Text Size : 35
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
Text tSend
Attributes
ID : 12
ID : 9
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -276,7 +211,7 @@ Text tSend
Text tMainIcon
Attributes
ID : 13
ID : 10
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -298,7 +233,7 @@ Text tMainIcon
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : 
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -306,7 +241,7 @@ Text tMainIcon
Text tMainText
Attributes
ID : 14
ID : 11
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -328,7 +263,7 @@ Text tMainText
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : 2,3 °C
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -336,7 +271,7 @@ Text tMainText
Text tForecast1
Attributes
ID : 15
ID : 12
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -358,7 +293,7 @@ Text tForecast1
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : Mi
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -366,16 +301,16 @@ Text tForecast1
Text tForecast1Val
Attributes
ID : 16
ID : 13
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 126
y coordinate : 277
Width : 72
Height : 26
x coordinate : 125
y coordinate : 276
Width : 71
Height : 25
Effect : load
Effect Priority : 0
Effect Time : 300
@@ -388,7 +323,7 @@ Text tForecast1Val
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : 9,3 °C
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -396,7 +331,7 @@ Text tForecast1Val
Text tF1Icon
Attributes
ID : 17
ID : 14
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -418,7 +353,7 @@ Text tF1Icon
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : 
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -426,7 +361,7 @@ Text tF1Icon
Text tForecast2
Attributes
ID : 18
ID : 15
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -448,7 +383,7 @@ Text tForecast2
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : Do
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -456,7 +391,7 @@ Text tForecast2
Text tF2Icon
Attributes
ID : 19
ID : 16
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -478,7 +413,7 @@ Text tF2Icon
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : 
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -486,7 +421,7 @@ Text tF2Icon
Text tForecast2Val
Attributes
ID : 20
ID : 17
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -508,7 +443,7 @@ Text tForecast2Val
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text : 11,9 °C
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
@@ -516,7 +451,7 @@ Text tForecast2Val
Text t10
Attributes
ID : 21
ID : 18
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -546,7 +481,7 @@ Text t10
Text tAMPM
Attributes
ID : 23
ID : 20
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -576,7 +511,7 @@ Text tAMPM
Text tForecast3Val
Attributes
ID : 24
ID : 21
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -606,7 +541,7 @@ Text tForecast3Val
Text tF3Icon
Attributes
ID : 25
ID : 22
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -636,7 +571,7 @@ Text tF3Icon
Text tForecast3
Attributes
ID : 26
ID : 23
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -666,7 +601,7 @@ Text tForecast3
Text tForecast4
Attributes
ID : 27
ID : 24
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -696,7 +631,7 @@ Text tForecast4
Text tF4Icon
Attributes
ID : 28
ID : 25
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -719,14 +654,14 @@ Text tF4Icon
Vertical Alignment : center
Input Type : character
Text :
Max. Text Size : 10
Max. Text Size : 5
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
Text tForecast4Val
Attributes
ID : 29
ID : 26
Scope : local
Dragging : 0
Disable release event after dragging: 0
@@ -754,6 +689,126 @@ Text tForecast4Val
Horizontal Spacing : 0
Vertical Spacing : 0
Text tMainTextAlt
Attributes
ID : 29
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 104
y coordinate : 210
Width : 106
Height : 42
Effect : load
Effect Priority : 0
Effect Time : 300
Fill : solid color
Style : flat
Associated Keyboard : none
Font ID : 2
Back. Color : 0
Font Color : 65535
Horizontal Alignment : left
Vertical Alignment : center
Input Type : character
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
Text tMainIconAlt
Attributes
ID : 30
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 0
y coordinate : 221
Width : 100
Height : 66
Effect : load
Effect Priority : 0
Effect Time : 300
Fill : solid color
Style : flat
Associated Keyboard : none
Font ID : 3
Back. Color : 0
Font Color : 65535
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
Text tMRIcon
Attributes
ID : 31
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 101
y coordinate : 266
Width : 40
Height : 35
Effect : load
Effect Priority : 0
Effect Time : 300
Fill : solid color
Style : flat
Associated Keyboard : none
Font ID : 1
Back. Color : 0
Font Color : 65535
Horizontal Alignment : center
Vertical Alignment : center
Input Type : character
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
Text tMR
Attributes
ID : 32
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Opacity : 127
x coordinate : 144
y coordinate : 270
Width : 62
Height : 21
Effect : load
Effect Priority : 0
Effect Time : 300
Fill : solid color
Style : flat
Associated Keyboard : none
Font ID : 0
Back. Color : 0
Font Color : 65535
Horizontal Alignment : left
Vertical Alignment : center
Input Type : character
Text :
Max. Text Size : 10
Word wrap : disabled
Horizontal Spacing : 0
Vertical Spacing : 0
Picture p0
Attributes
ID : 1
@@ -773,7 +828,7 @@ Picture p0
Timer tmSerial
Attributes
ID : 4
ID : 3
Scope : local
Period (ms): 50
Enabled : yes
@@ -822,7 +877,7 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="wake")
{
//dim=100
@@ -831,16 +886,16 @@ Timer tmSerial
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
dim=dimValue
}
if(tInstruction.txt=="time")
{
//get set time to global variable
spstr strCommand.txt,vaTime.txt,",",1
spstr vaTime.txt,tTime.txt,"?",0
spstr vaTime.txt,tAMPM.txt,"?",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
spstr pageIcons.vaTime.txt,tTime.txt,"?",0
spstr pageIcons.vaTime.txt,tAMPM.txt,"?",1
if(tAMPM.txt=="")
{
vis tAMPM,0
@@ -849,66 +904,104 @@ Timer tmSerial
if(tInstruction.txt=="date")
{
//get set date to global variable
spstr strCommand.txt,vaDate.txt,"?",1
tDate.txt=vaDate.txt
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
tDate.txt=pageIcons.vaDate.txt
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="weatherUpdate")
{
vis tMainIcon,1
vis tMainIconAlt,0
vis tMainText,1
vis tMainTextAlt,0
vis tMRIcon,0
vis tMR,0
//tMainIcon
spstr strCommand.txt,tTmp.txt,"?",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tMainIcon.txt,sys0,1
tMainIconAlt.txt=tMainIcon.txt
//tMainText
spstr strCommand.txt,tMainText.txt,"?",2
spstr strCommand.txt,tMainText.txt,"~",2
tMainTextAlt.txt=tMainText.txt
//tForecast1
spstr strCommand.txt,tForecast1.txt,"?",3
spstr strCommand.txt,tForecast1.txt,"~",3
//tF1Icon
spstr strCommand.txt,tTmp.txt,"?",4
spstr strCommand.txt,tTmp.txt,"~",4
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF1Icon.txt,sys0,1
//tForecast1Val
spstr strCommand.txt,tForecast1Val.txt,"?",5
spstr strCommand.txt,tForecast1Val.txt,"~",5
//tForecast2
spstr strCommand.txt,tForecast2.txt,"?",6
spstr strCommand.txt,tForecast2.txt,"~",6
//tF2Icon
spstr strCommand.txt,tTmp.txt,"?",7
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF2Icon.txt,sys0,1
//tForecast2Val
spstr strCommand.txt,tForecast2Val.txt,"?",8
spstr strCommand.txt,tForecast2Val.txt,"~",8
//tForecast3
spstr strCommand.txt,tForecast3.txt,"?",9
spstr strCommand.txt,tForecast3.txt,"~",9
//tF3Icon
spstr strCommand.txt,tTmp.txt,"?",10
spstr strCommand.txt,tTmp.txt,"~",10
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF3Icon.txt,sys0,1
//tForecast3Val
spstr strCommand.txt,tForecast3Val.txt,"?",11
spstr strCommand.txt,tForecast3Val.txt,"~",11
//tForecast4
spstr strCommand.txt,tForecast4.txt,"?",12
spstr strCommand.txt,tForecast4.txt,"~",12
//tF4Icon
spstr strCommand.txt,tTmp.txt,"?",13
spstr strCommand.txt,tTmp.txt,"~",13
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF4Icon.txt,sys0,1
//tForecast4Val
spstr strCommand.txt,tForecast4Val.txt,"?",14
spstr strCommand.txt,tForecast4Val.txt,"~",14
//alternative layout
//tMRIcon
spstr strCommand.txt,tTmp.txt,"~",15
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tMRIcon.txt,sys0,1
if(tTmp.txt!="")
{
//value for tMRIcon, activate alternative layout
vis tMainIcon,0
vis tMainText,0
vis tMainTextAlt,1
vis tMainIconAlt,1
vis tMRIcon,1
vis tMR,1
vis tForecast1,0
vis tF1Icon,0
vis tForecast1Val,0
//move forecast values to the right
tForecast4.txt=tForecast3.txt
tForecast3.txt=tForecast2.txt
tForecast2.txt=tForecast1.txt
tForecast4Val.txt=tForecast3Val.txt
tForecast3Val.txt=tForecast2Val.txt
tForecast2Val.txt=tForecast1Val.txt
tF4Icon.txt=tF3Icon.txt
tF3Icon.txt=tF2Icon.txt
tF2Icon.txt=tF1Icon.txt
}
//tMR
spstr strCommand.txt,tMR.txt,"~",16
}
if(tInstruction.txt=="pageType")
{
dim=100
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete u[2]+3
bufferPos=0
@@ -962,6 +1055,26 @@ Timer tmSerial
}
}
Timer tmSleep
Attributes
ID : 28
Scope : local
Period (ms): 1000
Enabled : yes
Events
Timer Event
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
sleepValue=0
dim=dimValue
vaTap.val=0
}
}
TouchCap tc0
Attributes
ID : 2
@@ -970,7 +1083,7 @@ TouchCap tc0
Events
Touch Press Event
dim=100
dim=dimValueNormal
vaTap.val+=1
covx vaTap.val,tTmp.txt,0,0
tSend.txt="event,buttonPress2,screensaver,bExit,"+tTmp.txt
@@ -985,6 +1098,4 @@ TouchCap tc0
prints sys0,2
prints tSend.txt,0
prints crcval,2
//dim=100
//page originPage.val

View File

@@ -10,6 +10,7 @@ Program.s
int sleepValue=0
// dim value
int dimValue=40
int dimValueNormal=100
// fix touch offset
lcd_dev fffb 0002 0000 0020
page pageStartup

View File

@@ -17,7 +17,6 @@ Page cardAlarm
vis tInstruction,0
vis tTmp,0
vis tId,0
//vis nPageDisp,0
vis arm1,0
vis arm2,0
vis arm3,0
@@ -171,7 +170,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardAlarm,bPrev"
tSend.txt="event,buttonPress2,cardAlarm,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -508,53 +514,80 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
//entn
spstr strCommand.txt,entn.txt,",",1
spstr strCommand.txt,entn.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
//text arm1
spstr strCommand.txt,arm1.txt,",",2
spstr strCommand.txt,arm1.txt,"~",3
if(arm1.txt!="")
{
vis arm1,1
}
//id arm1
spstr strCommand.txt,va1.txt,",",3
spstr strCommand.txt,va1.txt,"~",4
//text arm2
spstr strCommand.txt,arm2.txt,",",4
spstr strCommand.txt,arm2.txt,"~",5
if(arm2.txt!="")
{
vis arm2,1
}
//id arm2
spstr strCommand.txt,va2.txt,",",5
spstr strCommand.txt,va2.txt,"~",6
//text arm3
spstr strCommand.txt,arm3.txt,",",6
spstr strCommand.txt,arm3.txt,"~",7
if(arm3.txt!="")
{
vis arm3,1
}
//id arm3
spstr strCommand.txt,va3.txt,",",7
spstr strCommand.txt,va3.txt,"~",8
//text arm4
spstr strCommand.txt,arm4.txt,",",8
spstr strCommand.txt,arm4.txt,"~",9
if(arm4.txt!="")
{
vis arm4,1
}
//id arm4
spstr strCommand.txt,va4.txt,",",9
spstr strCommand.txt,va4.txt,"~",10
//icon
spstr strCommand.txt,tTmp.txt,",",10
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon.txt,sys0,1
//icon color
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,sys0,0,0
tIcon.pco=sys0
//numpad status
spstr strCommand.txt,tTmp.txt,",",12
spstr strCommand.txt,tTmp.txt,"~",13
if(tTmp.txt!="disable")
{
vis b0,1
@@ -569,9 +602,23 @@ Timer tmSerial
vis b9,1
vis b10,1
vis tCode,1
}else
{
vis b0,0
vis b1,0
vis b2,0
vis b3,0
vis b4,0
vis b5,0
vis b6,0
vis b7,0
vis b8,0
vis b9,0
vis b10,0
vis tCode,0
}
//flashing status
spstr strCommand.txt,tTmp.txt,",",13
spstr strCommand.txt,tTmp.txt,"~",14
if(tTmp.txt=="enable")
{
tmFlash.en=1
@@ -583,67 +630,80 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
dim=dimValue
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="popupLight")
if(tId.txt=="pageStartup")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
page pageStartup
}
if(tId.txt=="screensaver")
{
page screensaver
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardThermo")
if(tId.txt=="cardGrid")
{
page cardThermo
page cardGrid
}
if(tId.txt=="pageStartup")
if(tId.txt=="popupLight")
{
page pageStartup
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="popupShutter")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupShutter
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardGrid")
if(tId.txt=="cardThermo")
{
page cardGrid
page cardThermo
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="cardAlarm")
{
page cardAlarm
}
}
// end of user code
udelete payloadLength-1
@@ -665,14 +725,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardAlarm"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -211,7 +211,7 @@ Text tIcon1
Send Component ID : disabled
Associated Keyboard : none
Text : 
Max. Text Size : 10
Max. Text Size : 5
Text tIcon2
Attributes
@@ -221,7 +221,7 @@ Text tIcon2
Send Component ID : disabled
Associated Keyboard : none
Text : 
Max. Text Size : 30
Max. Text Size : 5
Text tIcon3
Attributes
@@ -231,7 +231,7 @@ Text tIcon3
Send Component ID : disabled
Associated Keyboard : none
Text : 
Max. Text Size : 10
Max. Text Size : 5
Text tIcon4
Attributes
@@ -241,7 +241,7 @@ Text tIcon4
Send Component ID : disabled
Associated Keyboard : none
Text : 
Max. Text Size : 30
Max. Text Size : 5
Text tSend
Attributes
@@ -714,7 +714,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardEntities,bPrev"
tSend.txt="event,buttonPress2,cardEntities,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -1115,15 +1122,42 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
// command format: entityUpd,heading,navigation,[,type,internalName,iconId,displayName,optionalValue]x4
spstr strCommand.txt,tHeading.txt,",",1
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
// get Type
spstr strCommand.txt,type1.txt,",",3
spstr strCommand.txt,type1.txt,"~",3
// get internal name
spstr strCommand.txt,entn1.txt,",",4
spstr strCommand.txt,entn1.txt,"~",4
if(type1.txt=="delete"||type1.txt=="")
{
vis bUp1,0
@@ -1138,16 +1172,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",5
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon1.txt,sys0,1
vis tIcon1,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",6
covx tTmp.txt,sys0,0,0
tIcon1.pco=sys0
// set name
spstr strCommand.txt,tEntity1.txt,",",7
spstr strCommand.txt,tEntity1.txt,"~",7
vis tEntity1,1
}
if(type1.txt=="shutter")
@@ -1170,7 +1204,7 @@ Timer tmSerial
vis hSlider1,0
vis nNum1,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",8
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,sys0,0,0
btOnOff1.val=sys0
}
@@ -1184,7 +1218,7 @@ Timer tmSerial
vis hSlider1,0
vis nNum1,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",8
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,sys0,0,0
btOnOff1.val=sys0
}
@@ -1201,7 +1235,7 @@ Timer tmSerial
bText1.pco=65535
bText1.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText1.txt,",",8
spstr strCommand.txt,bText1.txt,"~",8
}
if(type1.txt=="button")
{
@@ -1216,7 +1250,7 @@ Timer tmSerial
bText1.pco=1374
bText1.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText1.txt,",",8
spstr strCommand.txt,bText1.txt,"~",8
}
if(type1.txt=="number")
{
@@ -1229,7 +1263,7 @@ Timer tmSerial
vis hSlider1,1
vis nNum1,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText1.txt,",",8
spstr strCommand.txt,bText1.txt,"~",8
//first value is current value
spstr bText1.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -1245,9 +1279,9 @@ Timer tmSerial
hSlider1.maxval=sys0
}
// get Type
spstr strCommand.txt,type2.txt,",",9
spstr strCommand.txt,type2.txt,"~",9
// get internal name
spstr strCommand.txt,entn2.txt,",",10
spstr strCommand.txt,entn2.txt,"~",10
if(type2.txt=="delete"||type2.txt=="")
{
vis bUp2,0
@@ -1262,16 +1296,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon2.txt,sys0,1
vis tIcon2,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",12
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,sys0,0,0
tIcon2.pco=sys0
// set name
spstr strCommand.txt,tEntity2.txt,",",13
spstr strCommand.txt,tEntity2.txt,"~",13
vis tEntity2,1
}
if(type2.txt=="shutter")
@@ -1294,7 +1328,7 @@ Timer tmSerial
vis hSlider2,0
vis nNum2,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",14
spstr strCommand.txt,tTmp.txt,"~",14
covx tTmp.txt,sys0,0,0
btOnOff2.val=sys0
}
@@ -1308,7 +1342,7 @@ Timer tmSerial
vis hSlider2,0
vis nNum2,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",14
spstr strCommand.txt,tTmp.txt,"~",14
covx tTmp.txt,sys0,0,0
btOnOff2.val=sys0
}
@@ -1325,7 +1359,7 @@ Timer tmSerial
bText2.pco=65535
bText2.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText2.txt,",",14
spstr strCommand.txt,bText2.txt,"~",14
}
if(type2.txt=="button")
{
@@ -1340,7 +1374,7 @@ Timer tmSerial
bText2.pco=1374
bText2.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText2.txt,",",14
spstr strCommand.txt,bText2.txt,"~",14
}
if(type2.txt=="number")
{
@@ -1353,7 +1387,7 @@ Timer tmSerial
vis hSlider2,1
vis nNum2,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText2.txt,",",14
spstr strCommand.txt,bText2.txt,"~",14
//first value is current value
spstr bText2.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -1369,9 +1403,9 @@ Timer tmSerial
hSlider2.maxval=sys0
}
// get Type
spstr strCommand.txt,type3.txt,",",15
spstr strCommand.txt,type3.txt,"~",15
// get internal name
spstr strCommand.txt,entn3.txt,",",16
spstr strCommand.txt,entn3.txt,"~",16
if(type3.txt=="delete"||type3.txt=="")
{
vis bUp3,0
@@ -1386,16 +1420,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",17
spstr strCommand.txt,tTmp.txt,"~",17
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon3.txt,sys0,1
vis tIcon3,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",18
spstr strCommand.txt,tTmp.txt,"~",18
covx tTmp.txt,sys0,0,0
tIcon3.pco=sys0
// set name
spstr strCommand.txt,tEntity3.txt,",",19
spstr strCommand.txt,tEntity3.txt,"~",19
vis tEntity3,1
}
if(type3.txt=="shutter")
@@ -1418,7 +1452,7 @@ Timer tmSerial
vis hSlider3,0
vis nNum3,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",20
spstr strCommand.txt,tTmp.txt,"~",20
covx tTmp.txt,sys0,0,0
btOnOff3.val=sys0
}
@@ -1432,7 +1466,7 @@ Timer tmSerial
vis hSlider3,0
vis nNum3,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",20
spstr strCommand.txt,tTmp.txt,"~",20
covx tTmp.txt,sys0,0,0
btOnOff3.val=sys0
}
@@ -1449,7 +1483,7 @@ Timer tmSerial
bText3.pco=65535
bText3.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText3.txt,",",20
spstr strCommand.txt,bText3.txt,"~",20
}
if(type3.txt=="button")
{
@@ -1464,7 +1498,7 @@ Timer tmSerial
bText3.pco=1374
bText3.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText3.txt,",",20
spstr strCommand.txt,bText3.txt,"~",20
}
if(type3.txt=="number")
{
@@ -1477,7 +1511,7 @@ Timer tmSerial
vis hSlider3,1
vis nNum3,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText3.txt,",",20
spstr strCommand.txt,bText3.txt,"~",20
//first value is current value
spstr bText3.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -1493,9 +1527,9 @@ Timer tmSerial
hSlider3.maxval=sys0
}
// get Type
spstr strCommand.txt,type4.txt,",",21
spstr strCommand.txt,type4.txt,"~",21
// get internal name
spstr strCommand.txt,entn4.txt,",",22
spstr strCommand.txt,entn4.txt,"~",22
if(type4.txt=="delete"||type4.txt=="")
{
vis bUp4,0
@@ -1510,16 +1544,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",23
spstr strCommand.txt,tTmp.txt,"~",23
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon4.txt,sys0,1
vis tIcon4,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",24
spstr strCommand.txt,tTmp.txt,"~",24
covx tTmp.txt,sys0,0,0
tIcon4.pco=sys0
// set name
spstr strCommand.txt,tEntity4.txt,",",25
spstr strCommand.txt,tEntity4.txt,"~",25
vis tEntity4,1
}
if(type4.txt=="shutter")
@@ -1542,7 +1576,7 @@ Timer tmSerial
vis hSlider4,0
vis nNum4,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",26
spstr strCommand.txt,tTmp.txt,"~",26
covx tTmp.txt,sys0,0,0
btOnOff4.val=sys0
}
@@ -1556,7 +1590,7 @@ Timer tmSerial
vis hSlider4,0
vis nNum4,0
// get Button State (optional Value)
spstr strCommand.txt,tTmp.txt,",",26
spstr strCommand.txt,tTmp.txt,"~",26
covx tTmp.txt,sys0,0,0
btOnOff4.val=sys0
}
@@ -1573,7 +1607,7 @@ Timer tmSerial
bText4.pco=65535
bText4.pco2=65535
// get Text (optional Value)
spstr strCommand.txt,bText4.txt,",",26
spstr strCommand.txt,bText4.txt,"~",26
}
if(type4.txt=="button")
{
@@ -1588,7 +1622,7 @@ Timer tmSerial
bText4.pco=1374
bText4.pco2=1374
// get Text (optional Value)
spstr strCommand.txt,bText4.txt,",",26
spstr strCommand.txt,bText4.txt,"~",26
}
if(type4.txt=="number")
{
@@ -1601,7 +1635,7 @@ Timer tmSerial
vis hSlider4,1
vis nNum4,1
// get config (optional Value) (use bText as variable)
spstr strCommand.txt,bText4.txt,",",26
spstr strCommand.txt,bText4.txt,"~",26
//first value is current value
spstr bText4.txt,tTmp.txt,"|",0
covx tTmp.txt,sys0,0,0
@@ -1621,11 +1655,11 @@ Timer tmSerial
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
@@ -1675,23 +1709,23 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
// end of user code
@@ -1714,14 +1748,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardEntities"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -242,7 +242,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardGrid,bPrev"
tSend.txt="event,buttonPress2,cardGrid,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -563,15 +570,42 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
// command format: entityUpd,heading,navigation,[,type,internalName,iconId,iconColor,displayName,optionalValue]x6
spstr strCommand.txt,tHeading.txt,",",1
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
// get Type
spstr strCommand.txt,type1.txt,",",3
spstr strCommand.txt,type1.txt,"~",3
// get internal name
spstr strCommand.txt,entn1.txt,",",4
spstr strCommand.txt,entn1.txt,"~",4
if(type1.txt=="delete"||type1.txt=="")
{
vis tEntity1,0
@@ -579,22 +613,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",5
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity1.txt,sys0,1
vis bEntity1,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",6
covx tTmp.txt,sys0,0,0
bEntity1.pco=sys0
// set name
spstr strCommand.txt,tEntity1.txt,",",7
spstr strCommand.txt,tEntity1.txt,"~",7
vis tEntity1,1
}
// get Type
spstr strCommand.txt,type2.txt,",",9
spstr strCommand.txt,type2.txt,"~",9
// get internal name
spstr strCommand.txt,entn2.txt,",",10
spstr strCommand.txt,entn2.txt,"~",10
if(type2.txt=="delete"||type2.txt=="")
{
vis tEntity2,0
@@ -602,22 +636,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity2.txt,sys0,1
vis bEntity2,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",12
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,sys0,0,0
bEntity2.pco=sys0
// set name
spstr strCommand.txt,tEntity2.txt,",",13
spstr strCommand.txt,tEntity2.txt,"~",13
vis tEntity2,1
}
// get Type
spstr strCommand.txt,type3.txt,",",15
spstr strCommand.txt,type3.txt,"~",15
// get internal name
spstr strCommand.txt,entn3.txt,",",16
spstr strCommand.txt,entn3.txt,"~",16
if(type3.txt=="delete"||type3.txt=="")
{
vis tEntity3,0
@@ -625,22 +659,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",17
spstr strCommand.txt,tTmp.txt,"~",17
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity3.txt,sys0,1
vis bEntity3,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",18
spstr strCommand.txt,tTmp.txt,"~",18
covx tTmp.txt,sys0,0,0
bEntity3.pco=sys0
// set name
spstr strCommand.txt,tEntity3.txt,",",19
spstr strCommand.txt,tEntity3.txt,"~",19
vis tEntity3,1
}
// get Type
spstr strCommand.txt,type4.txt,",",21
spstr strCommand.txt,type4.txt,"~",21
// get internal name
spstr strCommand.txt,entn4.txt,",",22
spstr strCommand.txt,entn4.txt,"~",22
if(type4.txt=="delete"||type4.txt=="")
{
vis tEntity4,0
@@ -648,22 +682,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",23
spstr strCommand.txt,tTmp.txt,"~",23
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity4.txt,sys0,1
vis bEntity4,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",24
spstr strCommand.txt,tTmp.txt,"~",24
covx tTmp.txt,sys0,0,0
bEntity4.pco=sys0
// set name
spstr strCommand.txt,tEntity4.txt,",",25
spstr strCommand.txt,tEntity4.txt,"~",25
vis tEntity4,1
}
// get Type
spstr strCommand.txt,type5.txt,",",27
spstr strCommand.txt,type5.txt,"~",27
// get internal name
spstr strCommand.txt,entn5.txt,",",28
spstr strCommand.txt,entn5.txt,"~",28
if(type5.txt=="delete"||type5.txt=="")
{
vis tEntity5,0
@@ -671,22 +705,22 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",29
spstr strCommand.txt,tTmp.txt,"~",29
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity5.txt,sys0,1
vis bEntity5,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",30
spstr strCommand.txt,tTmp.txt,"~",30
covx tTmp.txt,sys0,0,0
bEntity5.pco=sys0
// set name
spstr strCommand.txt,tEntity5.txt,",",31
spstr strCommand.txt,tEntity5.txt,"~",31
vis tEntity5,1
}
// get Type
spstr strCommand.txt,type6.txt,",",33
spstr strCommand.txt,type6.txt,"~",33
// get internal name
spstr strCommand.txt,entn6.txt,",",34
spstr strCommand.txt,entn6.txt,"~",34
if(type6.txt=="delete"||type6.txt=="")
{
vis tEntity6,0
@@ -694,16 +728,16 @@ Timer tmSerial
}else
{
// change icon
spstr strCommand.txt,tTmp.txt,",",35
spstr strCommand.txt,tTmp.txt,"~",35
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bEntity6.txt,sys0,1
vis bEntity6,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",36
spstr strCommand.txt,tTmp.txt,"~",36
covx tTmp.txt,sys0,0,0
bEntity6.pco=sys0
// set name
spstr strCommand.txt,tEntity6.txt,",",37
spstr strCommand.txt,tEntity6.txt,"~",37
vis tEntity6,1
}
}
@@ -711,11 +745,11 @@ Timer tmSerial
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
@@ -765,23 +799,23 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
// end of user code
@@ -804,14 +838,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardGrid"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -435,7 +435,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardMedia,bPrev"
tSend.txt="event,buttonPress2,cardMedia,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -498,31 +505,58 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
//entity name
spstr strCommand.txt,entn.txt,"|",1
//heading
spstr strCommand.txt,tHeading.txt,"|",2
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
//entity name
spstr strCommand.txt,entn.txt,"~",3
//icon
spstr strCommand.txt,tTmp.txt,"|",3
spstr strCommand.txt,tTmp.txt,"~",4
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon.txt,sys0,1
//title
spstr strCommand.txt,tTitle.txt,"|",4
spstr strCommand.txt,tTitle.txt,"~",5
//author
spstr strCommand.txt,tAuthor.txt,"|",5
spstr strCommand.txt,tAuthor.txt,"~",6
//volume
spstr strCommand.txt,tTmp.txt,"|",6
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,sys0,0,0
hVolume.val=sys0
//icon
spstr strCommand.txt,tTmp.txt,"|",7
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tPlayPause.txt,sys0,1
//speaker current
spstr strCommand.txt,tSpeaker.txt,"|",8
spstr strCommand.txt,tSpeaker.txt,"~",9
if(tSpeaker.txt!="")
{
tSpeaker.pco=1374
@@ -531,14 +565,14 @@ Timer tmSerial
tSpeaker.pco=65535
}
//speaker list
spstr strCommand.txt,vaSpeakerList.txt,"|",9
spstr strCommand.txt,vaSpeakerList.txt,"~",10
if(vaSpeakerList.txt=="")
{
vis t6,0
}
vaSpeakerPos.val=0
// on off button
spstr strCommand.txt,tTmp.txt,"|",10
spstr strCommand.txt,tTmp.txt,"~",11
if(tTmp.txt=="disable")
{
vis t5,0
@@ -551,62 +585,75 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
dim=dimValue
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="popupLight")
if(tId.txt=="pageStartup")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
page pageStartup
}
if(tId.txt=="screensaver")
{
page screensaver
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardThermo")
if(tId.txt=="cardGrid")
{
page cardThermo
page cardGrid
}
if(tId.txt=="pageStartup")
if(tId.txt=="popupLight")
{
page pageStartup
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="popupShutter")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupShutter
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardGrid")
if(tId.txt=="cardThermo")
{
page cardGrid
page cardThermo
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="cardAlarm")
{
@@ -642,14 +689,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardMedia"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -329,7 +329,14 @@ Button bPrev
Events
Touch Press Event
tSend.txt="event,buttonPress2,cardThermo,bPrev"
tSend.txt="event,buttonPress2,cardThermo,"
if(bPrev.txt=="")
{
tSend.txt+="bUp"
}else
{
tSend.txt+="bPrev"
}
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
@@ -635,29 +642,56 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpd")
{
//entity name
spstr strCommand.txt,entn.txt,",",1
//heading
spstr strCommand.txt,tHeading.txt,",",2
spstr strCommand.txt,tHeading.txt,"~",1
// navigation icons
spstr strCommand.txt,tId.txt,"~",2
spstr tId.txt,tTmp.txt,"|",0
if(tTmp.txt=="0")
{
vis bPrev,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bPrev.txt=""
}
if(tTmp.txt=="2")
{
vis bPrev,1
bPrev.txt=""
}
spstr tId.txt,tTmp.txt,"|",1
if(tTmp.txt=="0")
{
vis bNext,0
}
if(tTmp.txt=="1")
{
vis bPrev,1
bNext.txt=""
}
//entity name
spstr strCommand.txt,entn.txt,"~",3
//currentTemp
spstr strCommand.txt,tTmp.txt,",",3
spstr strCommand.txt,tTmp.txt,"~",4
covx tTmp.txt,xTempCurr.val,0,0
//dstTemp
spstr strCommand.txt,tTmp.txt,",",4
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,xTempDest.val,0,0
//status
spstr strCommand.txt,tStatus.txt,",",5
spstr strCommand.txt,tStatus.txt,"~",6
//minTemp
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,xTempMin.val,0,0
//maxTemp
spstr strCommand.txt,tTmp.txt,",",7
spstr strCommand.txt,tTmp.txt,"~",8
covx tTmp.txt,xTempMax.val,0,0
//tempStep
spstr strCommand.txt,tTmp.txt,",",8
spstr strCommand.txt,tTmp.txt,"~",9
covx tTmp.txt,xTempStep.val,0,0
// disable all buttons
vis bt0,0
@@ -670,243 +704,248 @@ Timer tmSerial
vis bt7,0
vis bt8,0
//bt0
spstr strCommand.txt,tTmp.txt,",",9
spstr strCommand.txt,tTmp.txt,"~",10
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt0.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",10
spstr strCommand.txt,tTmp.txt,"~",11
covx tTmp.txt,bt0.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",11
spstr strCommand.txt,tTmp.txt,"~",12
covx tTmp.txt,bt0.val,0,0
// save action
spstr strCommand.txt,va0.txt,",",12
spstr strCommand.txt,va0.txt,"~",13
//enable
vis bt0,1
}
//bt1
spstr strCommand.txt,tTmp.txt,",",13
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt1.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",14
covx tTmp.txt,bt1.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",15
covx tTmp.txt,bt1.val,0,0
// save action
spstr strCommand.txt,va1.txt,",",16
//enable
vis bt1,1
}
//bt2
spstr strCommand.txt,tTmp.txt,",",17
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt2.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",18
covx tTmp.txt,bt2.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",19
covx tTmp.txt,bt2.val,0,0
// save action
spstr strCommand.txt,va2.txt,",",20
//enable
vis bt2,1
}
//bt3
spstr strCommand.txt,tTmp.txt,",",21
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt3.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",22
covx tTmp.txt,bt3.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",23
covx tTmp.txt,bt3.val,0,0
// save action
spstr strCommand.txt,va3.txt,",",24
//enable
vis bt3,1
}
//bt4
spstr strCommand.txt,tTmp.txt,",",25
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt4.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",26
covx tTmp.txt,bt4.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",27
covx tTmp.txt,bt4.val,0,0
// save action
spstr strCommand.txt,va4.txt,",",28
//enable
vis bt4,1
}
//bt5
spstr strCommand.txt,tTmp.txt,",",29
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt5.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",30
covx tTmp.txt,bt5.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",31
covx tTmp.txt,bt5.val,0,0
// save action
spstr strCommand.txt,va5.txt,",",32
//enable
vis bt5,1
}
//bt6
spstr strCommand.txt,tTmp.txt,",",33
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt6.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",34
covx tTmp.txt,bt6.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",35
covx tTmp.txt,bt6.val,0,0
// save action
spstr strCommand.txt,va6.txt,",",36
//enable
vis bt6,1
}
//bt7
spstr strCommand.txt,tTmp.txt,",",37
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt7.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",38
covx tTmp.txt,bt7.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",39
covx tTmp.txt,bt7.val,0,0
// save action
spstr strCommand.txt,va7.txt,",",40
//enable
vis bt7,1
}
//bt8
spstr strCommand.txt,tTmp.txt,",",41
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt8.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,",",42
covx tTmp.txt,bt8.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,",",43
covx tTmp.txt,bt8.val,0,0
// save action
spstr strCommand.txt,va8.txt,",",44
//enable
vis bt8,1
}
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="popupLight")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="pageStartup")
{
page pageStartup
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardGrid")
{
page cardGrid
}
if(tId.txt=="cardAlarm")
{
page cardAlarm
}
}
// end of user code
udelete payloadLength-1
bufferPos=0
}
}
}
}
// next character
bufferPos++
}
}
} //bt1
spstr strCommand.txt,tTmp.txt,"~",14
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt1.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",15
covx tTmp.txt,bt1.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",16
covx tTmp.txt,bt1.val,0,0
// save action
spstr strCommand.txt,va1.txt,"~",17
//enable
vis bt1,1
} //bt2
spstr strCommand.txt,tTmp.txt,"~",18
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt2.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",19
covx tTmp.txt,bt2.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",20
covx tTmp.txt,bt2.val,0,0
// save action
spstr strCommand.txt,va2.txt,"~",21
//enable
vis bt2,1
} //bt3
spstr strCommand.txt,tTmp.txt,"~",22
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt3.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",23
covx tTmp.txt,bt3.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",24
covx tTmp.txt,bt3.val,0,0
// save action
spstr strCommand.txt,va3.txt,"~",25
//enable
vis bt3,1
} //bt4
spstr strCommand.txt,tTmp.txt,"~",26
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt4.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",27
covx tTmp.txt,bt4.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",28
covx tTmp.txt,bt4.val,0,0
// save action
spstr strCommand.txt,va4.txt,"~",29
//enable
vis bt4,1
} //bt5
spstr strCommand.txt,tTmp.txt,"~",30
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt5.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",31
covx tTmp.txt,bt5.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",32
covx tTmp.txt,bt5.val,0,0
// save action
spstr strCommand.txt,va5.txt,"~",33
//enable
vis bt5,1
} //bt6
spstr strCommand.txt,tTmp.txt,"~",34
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt6.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",35
covx tTmp.txt,bt6.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",36
covx tTmp.txt,bt6.val,0,0
// save action
spstr strCommand.txt,va6.txt,"~",37
//enable
vis bt6,1
} //bt7
spstr strCommand.txt,tTmp.txt,"~",38
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt7.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",39
covx tTmp.txt,bt7.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",40
covx tTmp.txt,bt7.val,0,0
// save action
spstr strCommand.txt,va7.txt,"~",41
//enable
vis bt7,1
} //bt8
spstr strCommand.txt,tTmp.txt,"~",42
if(tTmp.txt!="")
{
// set icon
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,bt8.txt,sys0,1
// set text color on active state
spstr strCommand.txt,tTmp.txt,"~",43
covx tTmp.txt,bt8.pco2,0,0
// set state
spstr strCommand.txt,tTmp.txt,"~",44
covx tTmp.txt,bt8.val,0,0
// save action
spstr strCommand.txt,va8.txt,"~",45
//enable
vis bt8,1
}
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0
if(tId.txt=="pageStartup")
{
page pageStartup
}
if(tId.txt=="screensaver")
{
page screensaver
}
if(tId.txt=="cardEntities")
{
page cardEntities
}
if(tId.txt=="cardGrid")
{
page cardGrid
}
if(tId.txt=="popupLight")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupLight
}
if(tId.txt=="popupShutter")
{
pageIcons.tTmp1.txt=tTmp.txt
page popupShutter
}
if(tId.txt=="popupNotify")
{
page popupNotify
}
if(tId.txt=="cardThermo")
{
page cardThermo
}
if(tId.txt=="cardMedia")
{
page cardMedia
}
if(tId.txt=="cardAlarm")
{
page cardAlarm
}
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
// end of user code
udelete payloadLength-1
bufferPos=0
}
}
}
}
// next character
bufferPos++
}
}
Timer tmSleep
Attributes
@@ -916,14 +955,25 @@ Timer tmSleep
Events
Timer Event
if(sleepTimeout!=0)
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
page screensaver
dim=dimValue
tSend.txt="event,sleepReached,cardThermo"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
}
}

View File

@@ -10,6 +10,18 @@ Page pageIcons
Swide left page ID : disabled
Swide right page ID : disabled
Variable (string) vaTime
Attributes
Scope : global
Text :
Max. Text Size: 15
Variable (string) vaDate
Attributes
Scope : global
Text :
Max. Text Size: 35
Text tIcons
Attributes
Scope : global
@@ -17,8 +29,8 @@ Text tIcons
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 
Max. Text Size : 150
Text : 
Max. Text Size : 170
Text tTmp1
Attributes

View File

@@ -152,7 +152,7 @@ Text tVersion
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 23
Text : 28
Max. Text Size : 10
Picture p0
@@ -257,27 +257,27 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
@@ -285,11 +285,11 @@ Timer tmSerial
dim=100
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -382,7 +382,6 @@ Timer tmSleep
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
click b0,1
click b0,0
@@ -439,24 +438,24 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpdateDetail")
{
// change icon
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tIcon1.txt,sys0,1
vis tIcon1,1
// change icon color
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
covx tTmp.txt,sys0,0,0
tIcon1.pco=sys0
// get Button State
spstr strCommand.txt,tTmp.txt,",",3
spstr strCommand.txt,tTmp.txt,"~",3
covx tTmp.txt,sys0,0,0
btOnOff1.val=sys0
// get Brightness value
spstr strCommand.txt,tTmp.txt,",",4
spstr strCommand.txt,tTmp.txt,"~",4
if(tTmp.txt=="disable")
{
vis t1,0
@@ -474,7 +473,7 @@ Timer tmSerial
}
}
// get ColorTemp value
spstr strCommand.txt,tTmp.txt,",",5
spstr strCommand.txt,tTmp.txt,"~",5
if(tTmp.txt=="disable")
{
vis hTempSlider,0
@@ -518,7 +517,7 @@ Timer tmSerial
}
}
// get Color value
spstr strCommand.txt,tTmp.txt,",",6
spstr strCommand.txt,tTmp.txt,"~",6
// disable -> isn't supported
if(tTmp.txt=="disable")
{
@@ -542,34 +541,34 @@ Timer tmSerial
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -195,7 +195,6 @@ Timer tmSleep
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
click b0,1
click b0,0
@@ -252,70 +251,70 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpdateDetail")
{
// get entn
spstr strCommand.txt,entn.txt,"|",1
spstr strCommand.txt,entn.txt,"~",1
// get Heading
spstr strCommand.txt,tHeading.txt,"|",2
spstr strCommand.txt,tHeading.txt,"~",2
// heading color
spstr strCommand.txt,tTmp.txt,"|",3
spstr strCommand.txt,tTmp.txt,"~",3
covx tTmp.txt,sys0,0,0
tHeading.pco=sys0
// get b1
spstr strCommand.txt,b1.txt,"|",4
spstr strCommand.txt,b1.txt,"~",4
if(b1.txt!="")
{
vis b1,1
}
// b1 color
spstr strCommand.txt,tTmp.txt,"|",5
spstr strCommand.txt,tTmp.txt,"~",5
covx tTmp.txt,sys0,0,0
b1.pco=sys0
// get b2
spstr strCommand.txt,b2.txt,"|",6
spstr strCommand.txt,b2.txt,"~",6
if(b2.txt!="")
{
vis b2,1
}
// b2 color
spstr strCommand.txt,tTmp.txt,"|",7
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,sys0,0,0
b2.pco=sys0
// get tText
spstr strCommand.txt,tText.txt,"|",8
spstr strCommand.txt,tText.txt,"~",8
// tText color
spstr strCommand.txt,tTmp.txt,"|",9
spstr strCommand.txt,tTmp.txt,"~",9
covx tTmp.txt,sys0,0,0
tText.pco=sys0
//preserve old sleepTimeout
vaOldSleepT.val=sleepTimeout
// sleep timeout
spstr strCommand.txt,tTmp.txt,"|",10
spstr strCommand.txt,tTmp.txt,"~",10
covx tTmp.txt,sys0,0,0
sleepTimeout=sys0
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="exitPopup")
@@ -327,11 +326,11 @@ Timer tmSerial
sleepTimeout=vaOldSleepT.val
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -268,7 +268,6 @@ Timer tmSleep
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
screensaver.originPage.val=dp
sleepValue=0
click b0,1
click b0,0
@@ -325,45 +324,45 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="entityUpdateDetail")
{
// get Position value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sys0,0,0
hPosition.val=sys0
}
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
}
if(tInstruction.txt=="time")
{
// get set time to global variable
spstr strCommand.txt,screensaver.vaTime.txt,",",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
}
if(tInstruction.txt=="date")
{
// get set date to global variable
spstr strCommand.txt,screensaver.vaDate.txt,"?",1
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="pageType")
{
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete payloadLength-1
bufferPos=0

View File

@@ -14,43 +14,22 @@ Page screensaver
Preinitialize Event
recmod=1
bauds=115200
vis originPage,0
vis tInstruction,0
vis tTmp,0
vis p0,0
//load gloabl time string from pageIcons
//tTime.txt=vaTime.txt
spstr vaTime.txt,tTime.txt,"?",0
spstr vaTime.txt,tAMPM.txt,"?",1
spstr pageIcons.vaTime.txt,tTime.txt,"?",0
spstr pageIcons.vaTime.txt,tAMPM.txt,"?",1
if(tAMPM.txt=="")
{
vis tAMPM,0
}
tDate.txt=vaDate.txt
tDate.txt=pageIcons.vaDate.txt
dim=dimValue
vis tSend,0
//page open event
// clear weather elements, to keep example content in HMI
tMainIcon.txt=""
tMainText.txt=""
tForecast1.txt=""
tF1Icon.txt=""
tForecast1Val.txt=""
tForecast2.txt=""
tF2Icon.txt=""
tForecast2Val.txt=""
tSend.txt="event,screensaverOpen"
//send calc crc
btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC
crcputh 55 bb
crcputs sys0,1
crcputs tSend.txt,0
//send cmd
printh 55 bb
prints sys0,2
prints tSend.txt,0
prints crcval,2
Variable (string) strCommand
Attributes
@@ -58,18 +37,6 @@ Variable (string) strCommand
Text :
Max. Text Size: 200
Variable (string) vaTime
Attributes
Scope : global
Text :
Max. Text Size: 15
Variable (string) vaDate
Attributes
Scope : global
Text :
Max. Text Size: 30
Variable (string) tId
Attributes
Scope : local
@@ -81,15 +48,6 @@ Variable (int32) vaTap
Scope: local
Value: 0
Number originPage
Attributes
Scope : global
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Value : 0
Text tInstruction
Attributes
Scope : local
@@ -128,7 +86,7 @@ Text tDate
Send Component ID : disabled
Associated Keyboard : none
Text : Tuesday, 08. March 2022
Max. Text Size : 30
Max. Text Size : 35
Text tSend
Attributes
@@ -147,7 +105,7 @@ Text tMainIcon
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 
Text :
Max. Text Size : 10
Text tMainText
@@ -157,7 +115,7 @@ Text tMainText
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 2,3 °C
Text :
Max. Text Size : 10
Text tForecast1
@@ -167,7 +125,7 @@ Text tForecast1
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : Mi
Text :
Max. Text Size : 10
Text tForecast1Val
@@ -177,7 +135,7 @@ Text tForecast1Val
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 9,3 °C
Text :
Max. Text Size : 10
Text tF1Icon
@@ -187,7 +145,7 @@ Text tF1Icon
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 
Text :
Max. Text Size : 10
Text tForecast2
@@ -197,7 +155,7 @@ Text tForecast2
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : Do
Text :
Max. Text Size : 10
Text tF2Icon
@@ -207,7 +165,7 @@ Text tF2Icon
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 
Text :
Max. Text Size : 10
Text tForecast2Val
@@ -217,7 +175,7 @@ Text tForecast2Val
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text : 11,9 °C
Text :
Max. Text Size : 10
Text t10
@@ -288,7 +246,7 @@ Text tF4Icon
Send Component ID : disabled
Associated Keyboard : none
Text :
Max. Text Size : 10
Max. Text Size : 5
Text tForecast4Val
Attributes
@@ -300,6 +258,46 @@ Text tForecast4Val
Text :
Max. Text Size : 10
Text tMainTextAlt
Attributes
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text :
Max. Text Size : 10
Text tMainIconAlt
Attributes
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text :
Max. Text Size : 10
Text tMRIcon
Attributes
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text :
Max. Text Size : 10
Text tMR
Attributes
Scope : local
Dragging : 0
Disable release event after dragging: 0
Send Component ID : disabled
Associated Keyboard : none
Text :
Max. Text Size : 10
Picture p0
Attributes
Scope : local
@@ -357,7 +355,7 @@ Timer tmSerial
// write command to variable strCommand
ucopy strCommand.txt,4,payloadLength-5,0
// write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
spstr strCommand.txt,tInstruction.txt,",",0
spstr strCommand.txt,tInstruction.txt,"~",0
if(tInstruction.txt=="wake")
{
//dim=100
@@ -366,16 +364,16 @@ Timer tmSerial
if(tInstruction.txt=="dimmode")
{
// get value
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,dimValue,0,0
dim=dimValue
}
if(tInstruction.txt=="time")
{
//get set time to global variable
spstr strCommand.txt,vaTime.txt,",",1
spstr vaTime.txt,tTime.txt,"?",0
spstr vaTime.txt,tAMPM.txt,"?",1
spstr strCommand.txt,pageIcons.vaTime.txt,"~",1
spstr pageIcons.vaTime.txt,tTime.txt,"?",0
spstr pageIcons.vaTime.txt,tAMPM.txt,"?",1
if(tAMPM.txt=="")
{
vis tAMPM,0
@@ -384,66 +382,104 @@ Timer tmSerial
if(tInstruction.txt=="date")
{
//get set date to global variable
spstr strCommand.txt,vaDate.txt,"?",1
tDate.txt=vaDate.txt
spstr strCommand.txt,pageIcons.vaDate.txt,"~",1
tDate.txt=pageIcons.vaDate.txt
}
if(tInstruction.txt=="timeout")
{
//set timeout to global var
spstr strCommand.txt,tTmp.txt,",",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sleepTimeout,0,0
}
if(tInstruction.txt=="weatherUpdate")
{
vis tMainIcon,1
vis tMainIconAlt,0
vis tMainText,1
vis tMainTextAlt,0
vis tMRIcon,0
vis tMR,0
//tMainIcon
spstr strCommand.txt,tTmp.txt,"?",1
spstr strCommand.txt,tTmp.txt,"~",1
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tMainIcon.txt,sys0,1
tMainIconAlt.txt=tMainIcon.txt
//tMainText
spstr strCommand.txt,tMainText.txt,"?",2
spstr strCommand.txt,tMainText.txt,"~",2
tMainTextAlt.txt=tMainText.txt
//tForecast1
spstr strCommand.txt,tForecast1.txt,"?",3
spstr strCommand.txt,tForecast1.txt,"~",3
//tF1Icon
spstr strCommand.txt,tTmp.txt,"?",4
spstr strCommand.txt,tTmp.txt,"~",4
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF1Icon.txt,sys0,1
//tForecast1Val
spstr strCommand.txt,tForecast1Val.txt,"?",5
spstr strCommand.txt,tForecast1Val.txt,"~",5
//tForecast2
spstr strCommand.txt,tForecast2.txt,"?",6
spstr strCommand.txt,tForecast2.txt,"~",6
//tF2Icon
spstr strCommand.txt,tTmp.txt,"?",7
spstr strCommand.txt,tTmp.txt,"~",7
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF2Icon.txt,sys0,1
//tForecast2Val
spstr strCommand.txt,tForecast2Val.txt,"?",8
spstr strCommand.txt,tForecast2Val.txt,"~",8
//tForecast3
spstr strCommand.txt,tForecast3.txt,"?",9
spstr strCommand.txt,tForecast3.txt,"~",9
//tF3Icon
spstr strCommand.txt,tTmp.txt,"?",10
spstr strCommand.txt,tTmp.txt,"~",10
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF3Icon.txt,sys0,1
//tForecast3Val
spstr strCommand.txt,tForecast3Val.txt,"?",11
spstr strCommand.txt,tForecast3Val.txt,"~",11
//tForecast4
spstr strCommand.txt,tForecast4.txt,"?",12
spstr strCommand.txt,tForecast4.txt,"~",12
//tF4Icon
spstr strCommand.txt,tTmp.txt,"?",13
spstr strCommand.txt,tTmp.txt,"~",13
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tF4Icon.txt,sys0,1
//tForecast4Val
spstr strCommand.txt,tForecast4Val.txt,"?",14
spstr strCommand.txt,tForecast4Val.txt,"~",14
//alternative layout
//tMRIcon
spstr strCommand.txt,tTmp.txt,"~",15
covx tTmp.txt,sys0,0,0
substr pageIcons.tIcons.txt,tMRIcon.txt,sys0,1
if(tTmp.txt!="")
{
//value for tMRIcon, activate alternative layout
vis tMainIcon,0
vis tMainText,0
vis tMainTextAlt,1
vis tMainIconAlt,1
vis tMRIcon,1
vis tMR,1
vis tForecast1,0
vis tF1Icon,0
vis tForecast1Val,0
//move forecast values to the right
tForecast4.txt=tForecast3.txt
tForecast3.txt=tForecast2.txt
tForecast2.txt=tForecast1.txt
tForecast4Val.txt=tForecast3Val.txt
tForecast3Val.txt=tForecast2Val.txt
tForecast2Val.txt=tForecast1Val.txt
tF4Icon.txt=tF3Icon.txt
tF3Icon.txt=tF2Icon.txt
tF2Icon.txt=tF1Icon.txt
}
//tMR
spstr strCommand.txt,tMR.txt,"~",16
}
if(tInstruction.txt=="pageType")
{
dim=100
//command format pageType,specialPageName
//write name of speical page to tId
spstr strCommand.txt,tId.txt,",",1
spstr strCommand.txt,tId.txt,"~",1
//save second arg if there's one
spstr strCommand.txt,tTmp.txt,",",2
spstr strCommand.txt,tTmp.txt,"~",2
//save third arg if there's one
spstr strCommand.txt,pageIcons.tTmp2.txt,",",3
spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3
//we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ...
udelete u[2]+3
bufferPos=0
@@ -497,6 +533,25 @@ Timer tmSerial
}
}
Timer tmSleep
Attributes
Scope : local
Period (ms): 1000
Enabled : yes
Events
Timer Event
if(sleepTimeout!=0&&dimValue!=dim)
{
sleepValue+=1
if(sleepTimeout<=sleepValue)
{
sleepValue=0
dim=dimValue
vaTap.val=0
}
}
TouchCap tc0
Attributes
Scope: local
@@ -504,7 +559,7 @@ TouchCap tc0
Events
Touch Press Event
dim=100
dim=dimValueNormal
vaTap.val+=1
covx vaTap.val,tTmp.txt,0,0
tSend.txt="event,buttonPress2,screensaver,bExit,"+tTmp.txt
@@ -519,6 +574,4 @@ TouchCap tc0
prints sys0,2
prints tSend.txt,0
prints crcval,2
//dim=100
//page originPage.val

Binary file not shown.

Binary file not shown.

186
README.md
View File

@@ -4,9 +4,12 @@ If you like this project consider buying me a pizza 🍕 <a href="https://paypal
[![hacs_badge](https://img.shields.io/badge/HACS-Default-41BDF5.svg)](https://github.com/hacs/integration)
![hacs validation](https://github.com/joBr99/nspanel-lovelace-ui/actions/workflows/hacs-validation.yaml/badge.svg)
[![Man Hours](https://img.shields.io/endpoint?url=https%3A%2F%2Fmh.jessemillar.com%2Fhours%3Frepo%3Dhttps%3A%2F%2Fgithub.com%2FjoBr99%2Fnspanel-lovelace-ui.git)](https://jessemillar.com/r/man-hours)
NsPanel Lovelace UI is a Firmware for the nextion screen inside of NSPanel in the Design of [HomeAssistant](https://www.home-assistant.io/)'s Lovelace UI Design.
EU Model and US Model supported (in portrait and landscape orientation)
## Features
- Entities Page with support for cover, switch, input_boolean, binary_sensor, sensor, button, number, scenes, script, input_button and light
@@ -24,6 +27,10 @@ See the following picture to get an idea of the look of this firmware for NSPane
![screens](doc-pics/screens.png)
Some (not all) screenshots from the US Portrait Version:
![screens-us-p](doc-pics/screens-us-p.png)
## TLDR
1. Install Tasmota to NSPanel
2. Install Berry Driver in Tasmota and setup MQTT
@@ -181,7 +188,7 @@ See Tasmota [MQTT Documentation](https://tasmota.github.io/docs/MQTT/) for more
### Upload Berry Driver to Tasmota
1. Download the autoexec.be berry driver from the latest release. (Development Version [Berry Driver from this Repository](tasmota/autoexec.be))
1. Download the autoexec.be from the repository: [Berry Driver](tasmota/autoexec.be)
2. Go to `Consoles` > `Manage File System` in Tasmota and upload the previously downloaded file.
@@ -189,6 +196,8 @@ See Tasmota [MQTT Documentation](https://tasmota.github.io/docs/MQTT/) for more
### Flash Firmware to Nextion Screen
Note for ioBroker Users: Check the Release Notes, if the ioBroker Backend is not up to date with the current release there will be a note and you have to flash the latest compatible version from there.
#### Use your own Webserver
Upload the nspanel.tft from the lastest release to a Webserver (for example www folder of Home Assistant) and execute the following command in Tasmota Console. (Development Version: [tft file from HMI folder](HMI/nspanel.tft))
@@ -246,7 +255,7 @@ Please see [appdaemon.yaml](appdaemon/appdaemon.yaml) as an exmaple.
### Configure your NSPanel in AppDaemon
Confiure your NSPanel as you like, you need to edit the `apps.yaml` inside of your Appdaemon config folder.
You can have multiple nspanel sections.
You can have multiple nspanel sections. There are some more exmaples in the appdaemon folder of this repo.
```yaml
---
@@ -256,57 +265,63 @@ nspanel-1:
config:
panelRecvTopic: "tele/tasmota_your_mqtt_topic/RESULT"
panelSendTopic: "cmnd/tasmota_your_mqtt_topic/CustomSend"
#model: 'us-p' # uncomment this if you have the us version, see table below for more information
timeoutScreensaver: 20
#brightnessScreensaver: 10
brightnessScreensaver:
updateMode: "auto-notify"
sleepTimeout: 20
#sleepBrightness: 10
sleepBrightness:
- time: "7:00:00"
value: 10
- time: "23:00:00"
value: 0
locale: "de_DE"
dateFormatBabel: "full"
timeFormat: "%H:%M"
dateFormat: "%A, %d. %B %Y" # ignored if babel python package is installed
weather: weather.example
pages:
locale: "de_DE" # used for translations in translations.py and for localized date if babel python package is installed
screensaver:
entity: weather.k3ll3r
cards:
- type: cardEntities
heading: Example Page 1
items:
- cover.example_cover
- switch.example_switch
- input_boolean.example_input_boolean
- sensor.example_sensor
entities:
- entity: switch.example_item
name: NameOverride
icon: lightbulb
- entity: light.example_item
- entity: cover.example_item
- entity: input_boolean.example_item
title: Example Entities 1
- type: cardEntities
heading: Example Page 2
items:
- button.example_button
- input_button.example_input_button
- light.light_example
- delete # (read this as 'empty')
entities:
- entity: switch.example_item
- entity: delete
- entity: cover.example_item
- entity: input_boolean.example_item
title: Example Entities 2
- type: cardEntities
heading: Example Page 3
items:
- scene.example_scene
- delete
- delete
- delete
entities:
- entity: binary_sensor.example_item
- entity: sensor.example_item
- entity: button.example_item
- entity: number.example_item
title: Example Entities 3
- type: cardEntities
entities:
- entity: scenes.example_item
- entity: script.example_item
- entity: button.example_item
- entity: input_button.example_item
title: Example Entities 4
- type: cardGrid
heading: Example Page 4
items:
- light.light_example
- button.example_button
- cover.example_cover
- scene.example_scene
- switch.example_switch
- delete
entities:
- entity: light.example_item
- entity: switch.example_item
- entity: delete
- entity: button.example_item
- entity: cover.example_item
- entity: delete # delete at the end is optional
title: Exmaple Gird
- type: cardThermo
heading: Exmaple Thermostat
item: climate.example_climate
entity: climate.example_item
- type: cardMedia
item: media_player.spotify_user
entity: media_player.example_item
- type: cardAlarm
item: alarm_control_panel.alarmo
entity: alarm_control_panel.alarmo
```
key | optional | type | default | description
@@ -323,27 +338,57 @@ key | optional | type | default | description
`panelSendTopic` | False | string | `cmnd/tasmota_your_mqtt_topic/CustomSend` | The mqtt topic used to send messages.
`updateMode` | True | string | `auto-notify` | Update Mode; Possible values: "auto", "auto-notify", "manual"
`model` | True | string | `eu` | Model; Possible values: "eu", "us-l" and "us-p"
`timeoutScreensaver` | True | integer | `20` | Timeout for the screen to enter screensaver, to disable screensaver use 0
`brightnessScreensaver` | True | integer/complex | `20` | Brightness for the screen to enter screensaver, see example below for complex/scheduled config.
`brightnessScreensaverTracking` | True | string | None | Forces screensaver brightness to 0 in case entity state is not_home, can be a group, person or device_tracker entity.
`sleepTimeout` | True | integer | `20` | Timeout for the screen to enter screensaver, to disable screensaver use 0
`sleepBrightness` | True | integer/complex | `20` | Brightness for the screen to enter screensaver, see example below for complex/scheduled config.
`sleepTracking` | True | string | None | Forces screensaver brightness to 0 in case entity state is not_home, can be a group, person or device_tracker entity.
`locale` | True | string | `en_US` | Used by babel to determinante Date format on screensaver, also used for localization.
`dateFormatBabel` | True | string | `full` | formatting options on https://babel.pocoo.org/en/latest/dates.html?highlight=name%20of%20day#date-fields
`timeFormat` | True | string | `%H:%M` | Time Format on screensaver. Substring after `?` is displayed in a seperate smaller textbox. Useful for 12h time format with AM/PM `"%I:%M ?%p"`
`dateFormat` | True | string | `%A, %d. %B %Y` | date format used if babel is not installed
`weather` | True | string | `weather.example` | weather entity from homeassistant
`weatherOverrideForecast1` | True | string | `None` | sensor entity from home assistant here to override the first weather forecast item on the screensaver
`weatherOverrideForecast2` | True | string | `None` | sensor entity from home assistant here to override the second weather forecast item on the screensaver
`weatherOverrideForecast3` | True | string | `None` | sensor entity from home assistant here to override the third weather forecast item on the screensaver
`weatherOverrideForecast4` | True | string | `None` | sensor entity from home assistant here to override the forth weather forecast item on the screensaver
`doubleTapToUnlock` | True | boolean | `False` | requires to tap screensaver two times
`pages` | False | complex | | configuration for pages on panel
`cards` | False | complex | | configuration for cards that are displayed on panel
`screensaver` | True | complex | | configuration for screensaver
`hiddenCards` | True | complex | | configuration for cards that can be accessed though navigate items
#### Schedule screensaver brightness
Possible configuration values for a card in card config:
key | optional | type | default | description
-- | -- | -- | -- | --
`type` | False | string | `None` | Used by navigate items
`entities` | False | complex | `None` | contains entities of the card, applys only to cardEntities and cardGrid
`title` | True | string | `None` | Title of the Page
`entity` | False | string | `None` | contains the entity of the current card, valid for cardThermo, cardAlarm and cardMedia
`key` | True | string | `None` | Used by navigate items
Possible configuration values for screensaver config:
key | optional | type | default | description
-- | -- | -- | -- | --
`entity` | True | string | `weather.example` | weather entity from homeassistant
`weatherUnit` | True | string | `celsius` | unit for temperature, valid values are `celsius` or `fahrenheit`
`weatherOverrideForecast1` | True | complex | `None` | sensor entity from home assistant here to override the first weather forecast item on the screensaver
`weatherOverrideForecast2` | True | complex | `None` | sensor entity from home assistant here to override the second weather forecast item on the screensaver
`weatherOverrideForecast3` | True | complex | `None` | sensor entity from home assistant here to override the third weather forecast item on the screensaver
`weatherOverrideForecast4` | True | complex | `None` | sensor entity from home assistant here to override the forth weather forecast item on the screensaver
`doubleTapToUnlock` | True | boolean | `False` | requires to tap screensaver two times
`alternativeLayout` | True | boolean | `False` | alternative layout with humidity
`defaultCard` | True | string | `None` | default page after exiting screensaver; only works with top level cards defined in cards
`key` | True | string | `None` | Used by navigate items
Example for the weatherOverride config options:
```yaml
weatherOverrideForecast4:
entity: sensor.example_item
name: name
icon: lightbulb
```
#### Schedule sleep brightness
It is possible to schedule a brightness change for the screen at specific times.
```yaml
brightnessScreensaver:
sleepBrightness:
- time: "7:00:00"
value: 10
- time: "23:00:00"
@@ -356,17 +401,29 @@ To override Icons or Names of entities you can configure an icon and/or name in
Only the icons listed in the [Icon Table](HMI#icons-ids) are useable.
```yaml
entities:
- entity: light.test_item
name: NameOverride
icon: lightbulb
```
#### Subpages
You can configure entities with with the prefix `navigate`, that are navigating to cards, in case it's hidden page, the navigation items will change and the arrow is bringing you back to the current page on the top level.
```yaml
- entity: navigate.cardGrid_testKey
```
will allow you to navigate to a cardGrid page with the configured key testKey
```yaml
hiddenCards:
- type: cardGrid
heading: Lights
items:
- light.wled
- light.schreibtischlampe
- switch.deckenbeleuchtung_hinten:
icon: lightbulb
name: Lampe
- delete
- delete
- type: cardMedia
title: Exmaple Grid
entities:
- entity: light.test_item
key: testKey
```
## How to update
@@ -400,7 +457,6 @@ Since release 1.1 you can update the berry driver directly from the Tasmota Cons
`UpdateDriverVersion https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be`
## FAQ - Frequently Asked Questions
### Flashing of the Display Firmware with FlashNextion doesn't work

View File

@@ -6,54 +6,72 @@ nspanel-1:
panelRecvTopic: "tele/tasmota_your_mqtt_topic/RESULT"
panelSendTopic: "cmnd/tasmota_your_mqtt_topic/CustomSend"
updateMode: "auto-notify"
timeoutScreensaver: 20
#brightnessScreensaver: 10
brightnessScreensaver:
sleepTimeout: 20
#sleepBrightness: 10
sleepBrightness:
- time: "7:00:00"
value: 10
- time: "23:00:00"
value: 0
locale: "de_DE" # only used if babel python package is installed
dateFormatBabel: "full" # only used if babel python package is installed
# formatting options on https://babel.pocoo.org/en/latest/dates.html?highlight=name%20of%20day#date-fields
timeFormat: "%H:%M"
dateFormat: "%A, %d. %B %Y" # ignored if babel python package is installed
weather: weather.example
pages:
locale: "de_DE" # used for translations in translations.py and for localized date if babel python package is installed
screensaver:
entity: weather.k3ll3r
weatherOverrideForecast4:
entity: sensor.example_item
name: name
icon: lightbulb
alternativeLayout: True
cards:
- type: cardEntities
heading: Example Page 1
items:
- cover.example_cover
- switch.example_switch
- input_boolean.example_input_boolean
- sensor.example_sensor
entities:
- entity: switch.example_item
name: NameOverride
icon: lightbulb
- entity: light.example_item
- entity: cover.example_item
- entity: input_boolean.example_item
title: Example Entities 1
- type: cardEntities
heading: Example Page 2
items:
- button.example_button
- input_button.example_input_button
- light.light_example
- delete # (read this as 'empty')
entities:
- entity: switch.example_item
- entity: delete
- entity: cover.example_item
- entity: input_boolean.example_item
title: Example Entities 2
- type: cardEntities
heading: Example Page 3
items:
- scene.example_scene
- delete
- delete
- delete
entities:
- entity: binary_sensor.example_item
- entity: sensor.example_item
- entity: button.example_item
- entity: number.example_item
title: Example Entities 3
- type: cardEntities
entities:
- entity: scenes.example_item
- entity: script.example_item
- entity: button.example_item
- entity: input_button.example_item
title: Example Entities 4
- type: cardGrid
heading: Example Page 4
items:
- light.light_example
- button.example_button
- cover.example_cover
- scene.example_scene
- switch.example_switch
- delete
entities:
- entity: light.example_item
- entity: switch.example_item
- entity: delete
- entity: button.example_item
- entity: cover.example_item
- entity: navigate.cardGrid_testKey
title: Exmaple Gird
- type: cardThermo
heading: Exmaple Thermostat
item: climate.example_climate
entity: climate.example_item
- type: cardMedia
item: media_player.spotify_user
entity: media_player.example_item
- type: cardAlarm
item: alarm_control_panel.alarmo
entity: alarm_control_panel.alarmo
hiddenCards:
- type: cardGrid
title: Exmaple Grid
entities:
- entity: light.kueche_lights
- entity: light.kueche_lights
- entity: light.kueche_lights
key: testKey

View File

@@ -2,97 +2,40 @@ import logging
LOGGER = logging.getLogger(__name__)
class PageNode(object):
def __init__(self, data, parent=None):
self.data = data
self.name = None
self.childs = []
self.parent = parent
self.pos = None
HA_API = None
if "items" in data:
childs = data.pop("items")
for page in childs:
self.add_child(PageNode(page, self))
class Entity(object):
def __init__(self, entity_input_config):
self.entityId = entity_input_config.get("entity", "unknown")
self.nameOverride = entity_input_config.get("name")
self.iconOverride = entity_input_config.get("icon")
name = self.data.get("heading", "unkown") if type(self.data) is dict else self.data
ptype = self.data.get("type", "unkown") if type(self.data) is dict else "leaf"
class Card(object):
def __init__(self, card_input_config, pos=None):
self.pos = pos
self.raw_config = card_input_config
self.cardType = card_input_config.get("type", "unknown")
self.title = card_input_config.get("title", "unknown")
self.key = card_input_config.get("key", "unknown")
# for single entity card like climate or media
self.entity = None
if card_input_config.get("entity") is not None:
self.entity = Entity(card_input_config)
# for pages like grid or entities
self.entities = []
for e in card_input_config.get("entities", []):
self.entities.append(Entity(e))
self.id = f"{self.cardType}_{self.key}".replace(".","_").replace("~","_").replace(" ","_")
LOGGER.info(f"Created Card {self.cardType} with pos {pos} and id {self.id}")
self.name = f"{ptype}.{name}" if type(self.data) is dict else self.data
self.name = self.name.replace(".","_")
self.name = self.name.replace(",","_")
self.name = self.name.replace(" ","_")
def add_child(self, obj):
obj.pos = len(self.childs)
self.childs.append(obj)
def next(self):
if self.parent is not None:
pos = self.pos
length = len(self.parent.childs)
return self.parent.childs[(pos+1)%length]
def get_entity_list(self):
entityIds = []
if self.entity is not None:
entityIds.append(self.entity.entityId)
else:
return self
def prev(self):
if self.parent is not None:
pos = self.pos
length = len(self.parent.childs)
return self.parent.childs[(pos-1)%length]
else:
return self
def search_page_by_name(self, name):
name = name.replace("navigate.", "")
pages = []
for i in self.childs:
# compare name of current page
if i.name == name:
pages.append(i)
# current pages has also childs
if len(i.childs) > 0:
pages.extend(i.search_page_by_name(name))
return pages
return items
def dump(self, indent=0):
"""dump tree to string"""
tab = ' '*(indent-1) + ' |- ' if indent > 0 else ''
name = self.name
parent = self.parent.name if self.parent is not None else "root"
dumpstring = f"{tab}{self.pos}:{name} -> {parent} \n"
for obj in self.childs:
dumpstring += obj.dump(indent + 1)
return dumpstring
def get_items(self):
items = []
for i in self.childs:
if len(i.childs) > 0:
items.append(f"navigate.{i.name}")
else:
items.append(i.data)
return items
def get_all_item_names(self, recursive=True):
items = []
# current page
if type(self.data) is dict:
items.append(self.data.get("item", next(iter(self.data))))
else:
items.append(self.data)
# childs of page
for i in self.childs:
if len(i.childs) > 0:
if recursive:
items.extend(i.get_all_item_names())
else:
if type(i.data) is dict:
items.append(i.data.get("item", next(iter(i.data))))
else:
items.append(i.data)
return items
for e in self.entities:
entityIds.append(e.entityId)
return entityIds
class LuiBackendConfig(object):
@@ -101,40 +44,61 @@ class LuiBackendConfig(object):
'panelSendTopic': "cmnd/tasmota_your_mqtt_topic/CustomSend",
'updateMode': "auto-notify",
'model': "eu",
'timeoutScreensaver': 20,
'brightnessScreensaver': 20,
'brightnessScreensaverTracking': None,
'sleepTimeout': 20,
'sleepBrightness': 20,
'sleepTracking': None,
'locale': "en_US",
'timeFormat': "%H:%M",
'dateFormatBabel': "full",
'dateFormat': "%A, %d. %B %Y",
'weather': 'weather.example',
'weatherOverrideForecast1': None,
'weatherOverrideForecast2': None,
'weatherOverrideForecast3': None,
'weatherOverrideForecast4': None,
'doubleTapToUnlock': False,
'pages': [{
'cards': [{
'type': 'cardEntities',
'heading': 'Test Entities 1',
'items': ['switch.test_item', 'switch.test_item', 'switch.test_item']
}, {
'entities': [{
'entity': 'switch.test_item',
'name': 'Test Item'
}, {
'entity': 'switch.test_item'
}],
'title': 'Example Entities Page'
}, {
'type': 'cardGrid',
'heading': 'Test Grid 1',
'items': ['switch.test_item', 'switch.test_item', 'switch.test_item']
}
]
'entities': [{
'entity': 'switch.test_item'
}, {
'entity': 'switch.test_item'
}, {
'entity': 'switch.test_item'
}
],
'title': 'Example Grid Page'
}, {
'type': 'climate',
'entity': 'climate.test_item',
}],
'screensaver': {
'type': 'screensaver',
'entity': 'weather.example',
'weatherUnit': 'celsius',
'weatherOverrideForecast1': None,
'weatherOverrideForecast2': None,
'weatherOverrideForecast3': None,
'weatherOverrideForecast4': None,
'doubleTapToUnlock': False,
'alternativeLayout': False,
'defaultCard': None
},
'hiddenCards': []
}
def __init__(self, args=None, check=True):
def __init__(self, ha_api, config_in):
global HA_API
HA_API = ha_api
self._config = {}
self._page_config = None
self._config_cards = []
self._config_screensaver = None
self._config_hidden_cards = []
if args:
self.load(args)
if check:
self.check()
self.load(config_in)
def load(self, args):
for k, v in args.items():
@@ -142,20 +106,52 @@ class LuiBackendConfig(object):
self._config[k] = v
LOGGER.info(f"Loaded config: {self._config}")
root_page = {"items": self.get("pages"), "type": "internal", "heading": "root"}
self._page_config = PageNode(root_page)
# parse cards displayed on panel
pos = 0
for card in self.get("cards"):
self._config_cards.append(Card(card, pos))
pos = pos + 1
# parse screensaver
self._config_screensaver = Card(self.get("screensaver"))
LOGGER.info(f"Parsed Page config to the following Tree: \n {self._page_config.dump()}")
def check(self):
return
# parsed hidden pages that can be accessed through navigate
for card in self.get("hiddenCards"):
self._config_hidden_cards.append(Card(card))
def get(self, name):
value = self._config.get(name)
if value is None:
value = self._DEFAULT_CONFIG.get(name)
path = name.split(".")
value = self._config
for p in path:
if value is not None:
value = value.get(p, None)
if value is not None:
return value
# try to get a value from default config
value = self._DEFAULT_CONFIG
for p in path:
if value is not None:
value = value.get(p, None)
return value
def get_root_page(self):
return self._page_config
def get_all_entity_names(self):
entities = []
for card in self._config_cards:
entities.extend(card.get_entity_list())
for card in self._config_hidden_cards:
entities.extend(card.get_entity_list())
return entities
def getCard(self, pos):
card = self._config_cards[pos%len(self._config_cards)]
return card
def searchCard(self, id):
id = id.replace("navigate.", "")
for card in self._config_cards:
if card.id == id:
return card
if self._config_screensaver.id == id:
return self._config_screensaver
for card in self._config_hidden_cards:
if card.id == id:
return card

View File

@@ -13,8 +13,9 @@ class LuiController(object):
self._config = config
self._send_mqtt_msg = send_mqtt_msg
# first child of root page (default, after startup)
self._current_page = self._config._page_config.childs[0]
# first card (default, after startup)
self._current_card = self._config.getCard(0)
self._previous_cards = []
self._pages_gen = LuiPagesGen(ha_api, config, send_mqtt_msg)
@@ -25,6 +26,9 @@ class LuiController(object):
time = datetime.time(0, 0, 0)
ha_api.run_minutely(self._pages_gen.update_time, time)
# Setup date callback
ha_api.run_daily(self._pages_gen.update_date, time)
# weather callback
weather_interval = 15 * 60 # 15 minutes
ha_api.run_every(self.weather_update, "now", weather_interval)
@@ -33,15 +37,14 @@ class LuiController(object):
self.register_callbacks()
# register callbacks for each time
if type(self._config.get("brightnessScreensaver")) == list:
for index, timeset in enumerate(self._config.get("brightnessScreensaver")):
if type(self._config.get("sleepBrightness")) == list:
for index, timeset in enumerate(self._config.get("sleepBrightness")):
self._ha_api.run_daily(self.update_screensaver_brightness, timeset["time"], value=timeset["value"])
# calculate current brightness
self.current_screensaver_brightness = self.calc_current_screensaver_brightness()
# call update_screensaver_brightness on changes of entity configured in brightnessScreensaverTracking
bst = self._config.get("brightnessScreensaverTracking")
bst = self._config.get("sleepTracking")
if bst is not None and self._ha_api.entity_exists(bst):
self._ha_api.listen_state(self.update_screensaver_brightness_state_callback, entity_id=bst)
@@ -52,8 +55,8 @@ class LuiController(object):
self._pages_gen.update_date("")
# set screensaver timeout
timeout = self._config.get("timeoutScreensaver")
self._send_mqtt_msg(f"timeout,{timeout}")
timeout = self._config.get("sleepTimeout")
self._send_mqtt_msg(f"timeout~{timeout}")
# set current screensaver brightness
self.update_screensaver_brightness(kwargs={"value": self.current_screensaver_brightness})
@@ -66,22 +69,25 @@ class LuiController(object):
self.update_screensaver_brightness(kwargs={"value": self.current_screensaver_brightness})
def update_screensaver_brightness(self, kwargs):
bst = self._config.get("brightnessScreensaverTracking")
bst = self._config.get("sleepTracking")
brightness = 0
if bst is not None and self._ha_api.entity_exists(bst) and self._ha_api.get_entity(bst).state == "not_home":
brightness = 0
else:
self.current_screensaver_brightness = kwargs['value']
brightness = kwargs['value']
self._send_mqtt_msg(f"dimmode,{brightness}")
self._send_mqtt_msg(f"dimmode~{brightness}")
def weather_update(self, kwargs):
self._pages_gen.update_screensaver_weather()
def calc_current_screensaver_brightness(self):
current_screensaver_brightness = 20
# set brightness of screensaver
if type(self._config.get("brightnessScreensaver")) == int:
current_screensaver_brightness = self._config.get("brightnessScreensaver")
elif type(self._config.get("brightnessScreensaver")) == list:
sorted_timesets = sorted(self._config.get("brightnessScreensaver"), key=lambda d: self._ha_api.parse_time(d['time']))
if type(self._config.get("sleepBrightness")) == int:
current_screensaver_brightness = self._config.get("sleepBrightness")
elif type(self._config.get("sleepBrightness")) == list:
sorted_timesets = sorted(self._config.get("sleepBrightness"), key=lambda d: self._ha_api.parse_time(d['time']))
# calc current screensaver brightness
found_current_dim_value = False
for index, timeset in enumerate(sorted_timesets):
@@ -96,13 +102,8 @@ class LuiController(object):
current_screensaver_brightness = sorted_timesets[-1]["value"]
return current_screensaver_brightness
def weather_update(self, kwargs):
we_name = self._config.get("weather")
unit = "°C"
self._pages_gen.update_screensaver_weather(kwargs={"weather": we_name, "unit": unit})
def register_callbacks(self):
items = self._config.get_root_page().get_all_item_names()
items = self._config.get_all_entity_names()
LOGGER.debug(f"Registering callbacks for the following items: {items}")
for item in items:
if self._ha_api.entity_exists(item):
@@ -110,12 +111,12 @@ class LuiController(object):
def state_change_callback(self, entity, attribute, old, new, kwargs):
LOGGER.debug(f"Got callback for: {entity}")
LOGGER.debug(f"Current page has the following items: {self._current_page.get_items()}")
if entity in self._current_page.get_all_item_names(recursive=False):
LOGGER.debug(f"Current page has the following items: {self._current_card.get_entity_list()}")
if entity in self._current_card.get_entity_list():
LOGGER.debug(f"Callback Entity is on current page: {entity}")
self._pages_gen.render_page(self._current_page, send_page_type=False)
self._pages_gen.render_card(self._current_card, send_page_type=False)
# send detail page update, just in case
if self._current_page.data.get("type", "unknown") in ["cardGrid", "cardEntities"]:
if self._current_card.cardType in ["cardGrid", "cardEntities"]:
if entity.startswith("light"):
self._pages_gen.generate_light_detail_page(entity)
if entity.startswith("cover"):
@@ -132,23 +133,40 @@ class LuiController(object):
LOGGER.info(f"Button Press Event; entity_id: {entity_id}; button_type: {button_type}; value: {value} ")
# internal buttons
if entity_id == "screensaver" and button_type == "bExit":
# get default card if there is one
if self._config.get("screensaver.defaultCard") is not None:
dstCard = self._config.searchCard(self._config.get("screensaver.defaultCard"))
if dstCard is not None:
self._previous_cards = []
self._current_card = dstCard
# check for duouble tap if configured and render current page
if self._config.get("doubleTapToUnlock") and int(value) >= 2:
self._pages_gen.render_page(self._current_page)
self._pages_gen.render_card(self._current_card)
elif not self._config.get("doubleTapToUnlock"):
self._pages_gen.render_page(self._current_page)
self._pages_gen.render_card(self._current_card)
return
if button_type == "sleepReached":
self._pages_gen.generate_screensaver_page()
return
if button_type == "bExit":
self._pages_gen.render_page(self._current_page)
self._pages_gen.render_card(self._current_card)
if button_type == "bUp":
self._current_card = self._previous_cards.pop()
self._pages_gen.render_card(self._current_card)
if button_type == "bNext":
self._current_page = self._current_page.next()
self._pages_gen.render_page(self._current_page)
card = self._config.getCard(self._current_card.pos+1)
self._current_card = card
self._pages_gen.render_card(card)
if button_type == "bPrev":
self._current_page = self._current_page.prev()
self._pages_gen.render_page(self._current_page)
card = self._config.getCard(self._current_card.pos-1)
self._current_card = card
self._pages_gen.render_card(card)
elif entity_id == "updateDisplayNoYes" and value == "no":
self._pages_gen.render_page(self._current_page)
self._pages_gen.render_card(self._current_card)
# buttons with actions on HA
if button_type == "OnOff":
@@ -174,8 +192,9 @@ class LuiController(object):
if button_type == "button":
if entity_id.startswith('navigate'):
# internal for navigation to nested pages
self._current_page = self._config.get_root_page().search_page_by_name(entity_id)[0]
self._pages_gen.render_page(self._current_page)
self._previous_cards.append(self._current_card)
self._current_card = self._config.searchCard(entity_id)
self._pages_gen.render_card(self._current_card)
elif entity_id.startswith('scene'):
self._ha_api.get_entity(entity_id).call_service("turn_on")
elif entity_id.startswith('script'):

View File

@@ -43,6 +43,13 @@ def rgb_dec565(rgb_color):
# and shift them to make them a 16 bit dec value in 565 format.
return ((int(red / 255 * 31) << 11) | (int(green / 255 * 63) << 5) | (int(blue / 255 * 31)))
def convert_temperature(temp, unit):
if unit == "fahrenheit":
#temp = round(((c * 1.8) + 32), 1)
return f"{temp}°F"
else:
return f"{temp}°C"
def get_attr_safe(entity, attr, default):
res = entity.attributes.get(attr, default)
if res is None:

View File

@@ -45,6 +45,14 @@ icons = {
'bell-ring': 43,
'ray-vertex': 44,
'script-text': 45,
'home-import-outline': 46,
'home-export-outline': 47,
'arrow-up-bold': 48,
'arrow-down-bold': 49,
'cast-audio': 50,
'cast': 51,
'radio': 52,
'fireplace': 53,
}
def get_icon_id(ma_name):

View File

@@ -41,8 +41,9 @@ class LuiMqttListener(object):
# send messages for current page
if not msg_send:
self._controller.startup()
if msg[1] == "screensaverOpen":
self._controller.weather_update("")
if msg[1] == "sleepReached":
entity_id = msg[2]
self._controller.button_press(entity_id, "sleepReached", None)
# try to request tasmota driver version again in case it's still None
if self._updater.current_tasmota_driver_version is None:
self._updater.request_berry_driver_version()

Some files were not shown because too many files have changed in this diff Show More