ECS-L Home Automation and Security Archives
  learn more | view messages for this month | NetBloc® | terms of use | search

Google
 


  subject (prev) or (next) | time (prev) or (next) | author (prev) or (next) | view more subjects

Subject:
From:
Date:
message system
peter kraus
Sat, 9 Sep 2000 19:38:58 -0400
Sat, 9 Sep 2000 19:38:58 -0400
I have taken the time to break my config into several sections.

base
omni
mes
tv
phone

the base.cfg and tv.cfg and phone are from marks example. the omni.cfg is
mine and processes information from an omnipro through ACE to ECS. the final
section is a message processing system which reads messages from a text file
reminder.txt and then queues them for announcement during the day. i have
included it for discussion, use, and/or incorporation into the base
example.cfg

I think that it adds a nice flexible capability to ecs and would like to get
feedback and enhancement thoughts.

reminder.txt

t     canc wai 1  1  2m 2d mot s cli
y cou el   t   mo da on ay ion r ent
p nt  time tim nt y  th    GMG v grp SMTWTFS Time   Message
* *** **** *** ** ** ** ** *** * *** ******* ****** *******

C --- ---- --- -- -- -- -- --- - --- ------- --:-- ----routines
M --3 --40 -12 -- 01 -- 07 1-- 1 --- ----1-- 06:45 recycling goes out today
M --3 --40 -12 -- 15 -- 21 1-- 1 --- ----1-- 06:45 recycling goes out today
M --4 -290 -17 -- 15 -- 21 1-- 1 --- -----1- 09:30 check the water
conditioner salt level
D --3 --60 -17 -- -- -- -- 1-- 1 --- --1--1- 06:50 garbage goes out today
C --- ---- --- -- -- -- -- --- - --- ------- --:-- ----business
D --3 --25 --6 -- -- -- -- -1- - --1 -11111- 10:10 check trading positions
D --3 --25 --6 -- -- -- -- -1- - --1 -11111- 15:30 check trading positions
C --- ---- --- -- -- -- -- --- - --- ------- --:-- ----alarms
R --2 --20 --3 01 01 12 31 --- 1 --- -11111- 06:25 peter wake up and go
swimming
C --- ---- --- -- -- -- -- --- - --- ------- --:-- ----kid-stuff
R --3 --20 --4 09 07 05 19 111 1 --- -11111- 13:30 pick up kids at bus stop
R --3 -120 -24 09 07 05 19 1-- 1 --- 11111-- 18:30 select a current event
R --3 -120 -24 09 07 05 19 1-- 1 --- ----1-- 18:45 select a show and tell
D --3 --40 --8 -- -- -- -- --- 1 --- -1----- 17:01 kaa ra tee starts soon
D --3 --40 --8 -- -- -- -- --- 1 --- ---1--- 18:01 kaa ra tee starts soon
D --3 --40 --8 -- -- -- -- --- 1 --- -----1- 17:01 kaa ra tee starts soon
D --3 --40 --8 -- -- -- -- --- 1 --- ------1 11:31 kaa ra tee starts soon
C --- ---- --- -- -- -- -- --- - --- ------- --:-- ----medicine
D --3 --90 -17 -- -- -- -- 1-- 1 --1 1111111 18:10 malcolm needs drops in
his ears
D --3 -120 -17 -- -- -- -- 1-- 1 --1 1111111 07:50 malcolm needs drops in
his ears
C --- ---- --- -- -- -- -- --- - --- ------- --:-- ----birthdays
C --- ---- --- -- -- -- -- --- - --- ------- --:-- ----misc dates
R --3 --20 --4 02 11 02 14 111 1 --- 1111111 07:30 valentines day is coming
C --- ---- --- -- -- -- -- --- - --- ------- --:-- ----birthdays & ...
R --2 -600 151 09 09 09 09 111 1 --- 1111111 09:30 Happy birthday Peter

mes.cfg

Item:m.sys: txt attention Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :Attention
Item:m.q: mesage 01  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :check trading positions
Item:m.q: cnt 01  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timeout 01  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timewait 01  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: wait timer 01  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: mesage  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :malcolm needs drops in his ears
Item:m.q: cnt   Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timewait  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timeout  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: mesage 02  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :malcolm needs drops in his ears
Item:m.q: cnt 02  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timeout 02  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timewait 02  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: wait timer 02  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: mesage 03  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :malcolm needs drops in his ears
Item:m.q: cnt 03  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timeout 03  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timewait 03  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: wait timer 03  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: mesage 04  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: cnt 04  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timeout 04  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timewait 04  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: wait timer 04  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: mesage 05  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: cnt 05  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timeout 05  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timewait 05  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: wait timer 05  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: mesage 06  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: cnt 06  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timeout 06  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timewait 06  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: wait timer 06  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: mesage 07  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: cnt 07  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timeout 07  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timewait 07  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: wait timer 07  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: mesage 08  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: cnt 08  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timeout 08  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timewait 08  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: wait timer 08  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: mesage 09  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: cnt 09  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timeout 09  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timewait 09  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: wait timer 09  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.sys: temp  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :Attention \pau=500\check trading positions \pau=500\
Item:m.sys: txt pause .5sec Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         : \pau=500\ \SPD=125\
Item:m.inp: cnt   Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: timeout  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: timewait  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: month1  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: day1  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: month2  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: day2  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: motion  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :111
Item:m.inp: re-read  Type:Yes/No   Acc:User/User
 Initial State:No     Backup:No
Item:m.inp: sunday  Type:Yes/No   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: monday  Type:Yes/No   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: tuesday  Type:Yes/No   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: wednesday  Type:Yes/No   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: thursday  Type:Yes/No   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: friday  Type:Yes/No   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: saturday  Type:Yes/No   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: time  Type:Time   Acc:Virtual/User/User
 Initial State:(none)     Backup:No
Item:m.inp: message  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :valentines day is coming
Item:m.inp: type  Type:Character   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.sys: Remind File  Type:File   Acc:User/User
 Initial State:(none)     Backup:No
 File         :reminder.txt
Item:m.sys: char A  Type:Character   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.sys: char B  Type:Character   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.sys: char C  Type:Character   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.sys: char D  Type:Character   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: motion  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :1--
Item:m.q: output  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :1--1
Item:m.inp: output  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :1---
Item:m.q: motion 01  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :-1-
Item:m.q: output 01  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :---1
Item:m.q: wait timer  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: time2time  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: motion 02  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :1--
Item:m.q: motion 03  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :1--
Item:m.q: motion 04  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :1--
Item:m.q: output 02  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :1--1
Item:m.q: output 03  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :1--1
Item:m.q: output 04  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :1---
Item:m.q: motion 05  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: motion 06  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: motion 07  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: output 05  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: output 06  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: output 07  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.sys: logic a  Type:True/False   Acc:User/Maint
 Initial State:(none)     Backup:No
Item:m.q: motion 08  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: motion 09  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: output 08  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: output 09  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :


Group: msg queue  Bkgnd:
 m.q: cnt 02     73    32767 47    155
 m.q: cnt 02     78    0     47    78
 m.q: cnt 01     11    0     47    75
 m.q: wait timer 01    11    167   47    103
 m.q: timewait 01    11    269   47    105
 m.q: mesage 03  Text:12/6/02  144   374   68    166
 m.q: output 01  Text:12/6/02  11    684   68    167
 m.q: mesage 04  Text:12/6/02  211   375   68    165
 m.q: wait timer 02    78    171   47    105
 m.q: timewait 02    78    274   47    102
 m.q: motion 03  Text:12/6/02  147   530   68    157
 m.q: motion 04  Text:12/6/02  212   530   68    156
 m.q: output 02  Text:12/6/02  79    684   68    240
 m.q: output 03  Text:12/6/02  147   683   68    157
 m.q: output 04  Text:12/6/02  212   683   68    154
 m.q: cnt 03     145   -1    48    77
 m.q: wait timer 03    145   169   47    105
 m.q: timewait 03    145   273   47    104
 m.q: cnt 04     212   1     47    76
 m.q: wait timer 04    211   169   48    105
 m.q: timewait 04    211   272   47    100
 m.q: cnt 06     344   0     47    177
 m.q: cnt 07     413   0     47    177
 m.q: cnt 05     279   1     47    76
 m.q: timewait 05    279   169   47    106
 m.q: mesage 01  Text:12/6/02  11    373   68    159
 m.q: mesage 02  Text:12/6/02  78    374   68    160
 m.q: motion 02  Text:12/6/02  79    530   68    155
 m.q: motion 01  Text:12/6/02  11    530   68    155
 m.q: mesage 05  Text:12/6/02  278   375   68    160
 m.q: mesage 06  Text:12/6/02  344   375   68    162
 m.q: mesage 07  Text:12/6/02  411   375   68    160
 m.q: timeout 01     11    74    47    95
 m.q: timeout 02     78    75    47    97
 m.q: timeout 03     145   75    49    95
 m.q: timeout 04     212   76    47    95
 m.q: timeout 05     279   76    47    95
 oM: mstr     324   579   47    177
 End


Group: msg input  Bkgnd:
 m.q: cnt 02     73    32767 47    155
 m.inp: sunday     29    597   47    177
 m.inp: monday     75    598   47    177
 m.inp: tuesday     120   598   47    177
 m.inp: wednesday    164   598   47    177
 m.inp: thursday     210   598   47    177
 m.inp: friday     256   597   47    177
 m.inp: saturday     302   597   47    177
 m.sys: char A     272   177   47    177
 m.sys: char B     318   177   47    177
 m.inp: motion  Text:12/6/02  272   355   68    240
 m.inp: output  Text:12/6/02  340   354   68    240
 m.inp: message  Text:12/6/02  406   354   68    240
 m.sys: char C     365   177   47    177
 m.inp: cnt     272   1     47    177
 m.inp: timeout     318   1     49    180
 m.inp: timewait     366   1     50    180
 Time      97    8     47    177
 Month      8     8     47    177
 Date      53    8     47    177
 m.inp: month1     8     189   47    177
 m.inp: day1     54    189   47    177
 m.inp: day2     54    365   47    177
 m.inp: month2     8     365   47    177
 m.inp: time     100   189   47    177
 End


Event: msg 0 Init   Called ?:Yes
 Do m.q: cnt 01  Set  0
 Do m.q: cnt 02  Set  0
 Do m.q: cnt 03  Set  0
 Do m.q: cnt 04  Set  0
 Do m.q: cnt 05  Set  0
 Do m.q: cnt 06  Set  0
 Do m.q: cnt 07  Set  0
 Do m.q: cnt 08  Set  0
 Do m.q: cnt 09  Set  0
 End


Event: msg 3 Queue   Called ?:Yes
 BEGINIF m.q: cnt 01  Is  0
 Do m.q: cnt 01  Set  m.q: cnt
 Do m.q: mesage 01  T1<-T1  m.q: mesage
 Do m.q: timeout 01  Set  m.q: timeout
 Do m.q: timewait 01 Set  m.q: timewait
 Do m.q: wait timer 01 Set  m.q: wait timer
 Do m.q: motion 01  T1<-T1  m.q: motion
 Do m.q: output 01  T1<-T1  m.q: output
 Do Event-Exit  Set  True
 ENDIF
 ;
 BEGINIF m.q: cnt 02  Is  0
 Do m.q: cnt 02  Set  m.q: cnt
 Do m.q: mesage 02  T1<-T1  m.q: mesage
 Do m.q: timeout 02  Set  m.q: timeout
 Do m.q: timewait 02 Set  m.q: timewait
 Do m.q: wait timer 02 Set  m.q: wait timer
 Do m.q: motion 02  T1<-T1  m.q: motion
 Do m.q: output 02  T1<-T1  m.q: output
 Do Event-Exit  Set  True
 ENDIF
 ;
 BEGINIF m.q: cnt 03  Is  0
 Do m.q: cnt 03  Set  m.q: cnt
 Do m.q: mesage 03  T1<-T1  m.q: mesage
 Do m.q: timeout 03  Set  m.q: timeout
 Do m.q: timewait 03 Set  m.q: timewait
 Do m.q: wait timer 03 Set  m.q: wait timer
 Do m.q: motion 03  T1<-T1  m.q: motion
 Do m.q: output 03  T1<-T1  m.q: output
 Do Event-Exit  Set  True
 ENDIF
 ;
 BEGINIF m.q: cnt 04  Is  0
 Do m.q: cnt 04  Set  m.q: cnt
 Do m.q: mesage 04  T1<-T1  m.q: mesage
 Do m.q: timeout 04  Set  m.q: timeout
 Do m.q: timewait 04 Set  m.q: timewait
 Do m.q: wait timer 04 Set  m.q: wait timer
 Do m.q: motion 04  T1<-T1  m.q: motion
 Do m.q: output 04  T1<-T1  m.q: output
 Do Event-Exit  Set  True
 ENDIF
 ;
 BEGINIF m.q: cnt 05  Is  0
 Do m.q: cnt 05  Set  m.q: cnt
 Do m.q: mesage 05  T1<-T1  m.q: mesage
 Do m.q: timeout 05  Set  m.q: timeout
 Do m.q: timewait 05 Set  m.q: timewait
 Do m.q: wait timer 05 Set  m.q: wait timer
 Do m.q: motion 05  T1<-T1  m.q: motion
 Do m.q: output 05  T1<-T1  m.q: output
 Do Event-Exit  Set  True
 ENDIF
 ;
 BEGINIF m.q: cnt 06  Is  0
 Do m.q: cnt 06  Set  m.q: cnt
 Do m.q: mesage 06  T1<-T1  m.q: mesage
 Do m.q: timeout 06  Set  m.q: timeout
 Do m.q: timewait 06 Set  m.q: timewait
 Do m.q: wait timer 06 Set  m.q: wait timer
 Do m.q: motion 06  T1<-T1  m.q: motion
 Do m.q: output 06  T1<-T1  m.q: output
 Do Event-Exit  Set  True
 ENDIF
 ;
 BEGINIF m.q: cnt 07  Is  0
 Do m.q: cnt 07  Set  m.q: cnt
 Do m.q: mesage 07  T1<-T1  m.q: mesage
 Do m.q: timeout 07  Set  m.q: timeout
 Do m.q: timewait 07 Set  m.q: timewait
 Do m.q: wait timer 07 Set  m.q: wait timer
 Do m.q: motion 07  T1<-T1  m.q: motion
 Do m.q: output 07  T1<-T1  m.q: output
 Do Event-Exit  Set  True
 ENDIF
 ;
 BEGINIF m.q: cnt 08  Is  0
 Do m.q: cnt 08  Set  m.q: cnt
 Do m.q: mesage 08  T1<-T1  m.q: mesage
 Do m.q: timeout 08  Set  m.q: timeout
 Do m.q: timewait 08 Set  m.q: timewait
 Do m.q: wait timer 08 Set  m.q: wait timer
 Do m.q: motion 08  T1<-T1  m.q: motion
 Do m.q: output 08  T1<-T1  m.q: output
 Do Event-Exit  Set  True
 ENDIF
 ;
 BEGINIF m.q: cnt 09  Is  0
 Do m.q: cnt 09  Set  m.q: cnt
 Do m.q: mesage 09  T1<-T1  m.q: mesage
 Do m.q: timeout 09  Set  m.q: timeout
 Do m.q: timewait 09 Set  m.q: timewait
 Do m.q: wait timer 09 Set  m.q: wait timer
 Do m.q: motion 09  T1<-T1  m.q: motion
 Do m.q: output 09  T1<-T1  m.q: output
 Do Event-Exit  Set  True
 ENDIF
 End


Event: msg 4 Process   Called ?:No
 If m.q: cnt 01  Is  0
 And m.q: cnt 02  Is  0
 And m.q: cnt 03  Is  0
 And m.q: cnt 04  Is  0
 And m.q: cnt 05  Is  0
 And m.q: cnt 06  Is  0
 And m.q: cnt 07  Is  0
 And m.q: cnt 08  Is  0
 And m.q: cnt 09  Is  0
 Then Event-Exit  Set  True
 ;
 BEGINIF m.q: cnt 01  Is Not  0
 And m.q: wait timer 01 Is  0
 Do m.sys: char A  Set/Char m.q: motion 01
 Do m.sys: char B  Set/Char m.q: motion 01
 Do m.sys: char C  Set/Char m.q: motion 01
 Do m.sys: logic a  Set  False
 If m.sys: char A  Is  -
 And m.sys: char B  Is  -
 And m.sys: char C  Is  -
 Or m.sys: char A  Is  1
 And oM: great  Is GT  1606
 Or m.sys: char B  Is  1
 And oM: mstr  Is GT  1606
 Or m.sys: char C  Is  1
 And oM: guest  Is GT  1606
 Then m.sys: logic a  Set  True
 BEGINIF m.sys: logic a  Is  True
 Do m.q: cnt 01  Subtract 1
 Do m.q: wait timer 01 Set  m.q: timewait 01
 Do m.sys: temp  T1<-T1  m.sys: txt attention
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: temp  T1/A<-T1 m.q: mesage 01
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: char A  Set/Char m.q: output 01
 Do m.sys: char B  Set/Char m.q: output 01
 Do m.sys: char C  Set/Char m.q: output 01
 Do m.sys: char D  Set/Char m.q: output 01
 If m.sys: char A  Is  1
 Then m.sys: temp  Set  Speak
 If m.sys: char A  Is  -
 Then m.sys: temp  Set  Speak
 ENDIF
 ENDIF
 ;
 BEGINIF m.q: cnt 02  Is Not  0
 And m.q: wait timer 02 Is  0
 Do m.sys: char A  Set/Char m.q: motion 02
 Do m.sys: char B  Set/Char m.q: motion 02
 Do m.sys: char C  Set/Char m.q: motion 02
 Do m.sys: logic a  Set  False
 If m.sys: char A  Is  -
 And m.sys: char B  Is  -
 And m.sys: char C  Is  -
 Or m.sys: char A  Is  1
 And oM: great  Is GT  1606
 Or m.sys: char B  Is  1
 And oM: mstr  Is GT  1606
 Or m.sys: char C  Is  1
 And oM: guest  Is GT  1606
 Then m.sys: logic a  Set  True
 BEGINIF m.sys: logic a  Is  True
 Do m.q: cnt 02  Subtract 1
 Do m.q: wait timer 02 Set  m.q: timewait 02
 Do m.sys: temp  T1<-T1  m.sys: txt attention
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: temp  T1/A<-T1 m.q: mesage 02
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: char A  Set/Char m.q: output 02
 Do m.sys: char B  Set/Char m.q: output 02
 Do m.sys: char C  Set/Char m.q: output 02
 Do m.sys: char D  Set/Char m.q: output 02
 If m.sys: char A  Is  1
 Then m.sys: temp  Set  Speak
 If m.sys: char A  Is  -
 Then m.sys: temp  Set  Speak
 ENDIF
 ENDIF
 ;
 BEGINIF m.q: cnt 03  Is Not  0
 And m.q: wait timer 03 Is  0
 Do m.sys: char A  Set/Char m.q: motion 03
 Do m.sys: char B  Set/Char m.q: motion 03
 Do m.sys: char C  Set/Char m.q: motion 03
 Do m.sys: logic a  Set  False
 If m.sys: char A  Is  -
 And m.sys: char B  Is  -
 And m.sys: char C  Is  -
 Or m.sys: char A  Is  1
 And oM: great  Is GT  1606
 Or m.sys: char B  Is  1
 And oM: mstr  Is GT  1606
 Or m.sys: char C  Is  1
 And oM: guest  Is GT  1606
 Then m.sys: logic a  Set  True
 BEGINIF m.sys: logic a  Is  True
 Do m.q: cnt 03  Subtract 1
 Do m.q: wait timer 03 Set  m.q: timewait 03
 Do m.sys: temp  T1<-T1  m.sys: txt attention
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: temp  T1/A<-T1 m.q: mesage 03
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: char A  Set/Char m.q: output 03
 Do m.sys: char B  Set/Char m.q: output 03
 Do m.sys: char C  Set/Char m.q: output 03
 Do m.sys: char D  Set/Char m.q: output 03
 If m.sys: char A  Is  1
 Then m.sys: temp  Set  Speak
 If m.sys: char A  Is  -
 Then m.sys: temp  Set  Speak
 ENDIF
 ENDIF
 ;
 BEGINIF m.q: cnt 04  Is Not  0
 And m.q: wait timer 04 Is  0
 Do m.sys: char A  Set/Char m.q: motion 04
 Do m.sys: char B  Set/Char m.q: motion 04
 Do m.sys: char C  Set/Char m.q: motion 04
 Do m.sys: logic a  Set  False
 If m.sys: char A  Is  -
 And m.sys: char B  Is  -
 And m.sys: char C  Is  -
 Or m.sys: char A  Is  1
 And oM: great  Is GT  1606
 Or m.sys: char B  Is  1
 And oM: mstr  Is GT  1606
 Or m.sys: char C  Is  1
 And oM: guest  Is GT  1606
 Then m.sys: logic a  Set  True
 BEGINIF m.sys: logic a  Is  True
 Do m.q: cnt 04  Subtract 1
 Do m.q: wait timer 04 Set  m.q: timewait 04
 Do m.sys: temp  T1<-T1  m.sys: txt attention
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: temp  T1/A<-T1 m.q: mesage 04
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: char A  Set/Char m.q: output 04
 Do m.sys: char B  Set/Char m.q: output 04
 Do m.sys: char C  Set/Char m.q: output 04
 Do m.sys: char D  Set/Char m.q: output 04
 If m.sys: char A  Is  1
 Then m.sys: temp  Set  Speak
 If m.sys: char A  Is  -
 Then m.sys: temp  Set  Speak
 ENDIF
 ENDIF
 ;
 BEGINIF m.q: cnt 05  Is Not  0
 And m.q: wait timer 05 Is  0
 Do m.sys: char A  Set/Char m.q: motion 05
 Do m.sys: char B  Set/Char m.q: motion 05
 Do m.sys: char C  Set/Char m.q: motion 05
 Do m.sys: logic a  Set  False
 If m.sys: char A  Is  -
 And m.sys: char B  Is  -
 And m.sys: char C  Is  -
 Or m.sys: char A  Is  1
 And oM: great  Is GT  1606
 Or m.sys: char B  Is  1
 And oM: mstr  Is GT  1606
 Or m.sys: char C  Is  1
 And oM: guest  Is GT  1606
 Then m.sys: logic a  Set  True
 BEGINIF m.sys: logic a  Is  True
 Do m.q: cnt 05  Subtract 1
 Do m.q: wait timer 05 Set  m.q: timewait 05
 Do m.sys: temp  T1<-T1  m.sys: txt attention
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: temp  T1/A<-T1 m.q: mesage 05
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: char A  Set/Char m.q: output 05
 Do m.sys: char B  Set/Char m.q: output 05
 Do m.sys: char C  Set/Char m.q: output 05
 Do m.sys: char D  Set/Char m.q: output 05
 If m.sys: char A  Is  1
 Then m.sys: temp  Set  Speak
 If m.sys: char A  Is  -
 Then m.sys: temp  Set  Speak
 ENDIF
 ENDIF
 ;
 BEGINIF m.q: cnt 06  Is Not  0
 And m.q: wait timer 06 Is  0
 Do m.sys: char A  Set/Char m.q: motion 06
 Do m.sys: char B  Set/Char m.q: motion 06
 Do m.sys: char C  Set/Char m.q: motion 06
 Do m.sys: logic a  Set  False
 If m.sys: char A  Is  -
 And m.sys: char B  Is  -
 And m.sys: char C  Is  -
 Or m.sys: char A  Is  1
 And oM: great  Is GT  1606
 Or m.sys: char B  Is  1
 And oM: mstr  Is GT  1606
 Or m.sys: char C  Is  1
 And oM: guest  Is GT  1606
 Then m.sys: logic a  Set  True
 BEGINIF m.sys: logic a  Is  True
 Do m.q: cnt 06  Subtract 1
 Do m.q: wait timer 06 Set  m.q: timewait 06
 Do m.sys: temp  T1<-T1  m.sys: txt attention
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: temp  T1/A<-T1 m.q: mesage 06
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: char A  Set/Char m.q: output 06
 Do m.sys: char B  Set/Char m.q: output 06
 Do m.sys: char C  Set/Char m.q: output 06
 Do m.sys: char D  Set/Char m.q: output 06
 If m.sys: char A  Is  1
 Then m.sys: temp  Set  Speak
 If m.sys: char A  Is  -
 Then m.sys: temp  Set  Speak
 ENDIF
 ENDIF
 ;
 BEGINIF m.q: cnt 07  Is Not  0
 And m.q: wait timer 07 Is  0
 Do m.sys: char A  Set/Char m.q: motion 07
 Do m.sys: char B  Set/Char m.q: motion 07
 Do m.sys: char C  Set/Char m.q: motion 07
 Do m.sys: logic a  Set  False
 If m.sys: char A  Is  -
 And m.sys: char B  Is  -
 And m.sys: char C  Is  -
 Or m.sys: char A  Is  1
 And oM: great  Is GT  1606
 Or m.sys: char B  Is  1
 And oM: mstr  Is GT  1606
 Or m.sys: char C  Is  1
 And oM: guest  Is GT  1606
 Then m.sys: logic a  Set  True
 BEGINIF m.sys: logic a  Is  True
 Do m.q: cnt 07  Subtract 1
 Do m.q: wait timer 07 Set  m.q: timewait 07
 Do m.sys: temp  T1<-T1  m.sys: txt attention
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: temp  T1/A<-T1 m.q: mesage 07
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: char A  Set/Char m.q: output 07
 Do m.sys: char B  Set/Char m.q: output 07
 Do m.sys: char C  Set/Char m.q: output 07
 Do m.sys: char D  Set/Char m.q: output 07
 If m.sys: char A  Is  1
 Then m.sys: temp  Set  Speak
 If m.sys: char A  Is  -
 Then m.sys: temp  Set  Speak
 ENDIF
 ENDIF
 ;
 BEGINIF m.q: cnt 08  Is Not  0
 And m.q: wait timer 08 Is  0
 Do m.sys: char A  Set/Char m.q: motion 08
 Do m.sys: char B  Set/Char m.q: motion 08
 Do m.sys: char C  Set/Char m.q: motion 08
 Do m.sys: logic a  Set  False
 If m.sys: char A  Is  -
 And m.sys: char B  Is  -
 And m.sys: char C  Is  -
 Or m.sys: char A  Is  1
 And oM: great  Is GT  1606
 Or m.sys: char B  Is  1
 And oM: mstr  Is GT  1606
 Or m.sys: char C  Is  1
 And oM: guest  Is GT  1606
 Then m.sys: logic a  Set  True
 BEGINIF m.sys: logic a  Is  True
 Do m.q: cnt 08  Subtract 1
 Do m.q: wait timer 08 Set  m.q: timewait 08
 Do m.sys: temp  T1<-T1  m.sys: txt attention
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: temp  T1/A<-T1 m.q: mesage 08
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: char A  Set/Char m.q: output 08
 Do m.sys: char B  Set/Char m.q: output 08
 Do m.sys: char C  Set/Char m.q: output 08
 Do m.sys: char D  Set/Char m.q: output 08
 If m.sys: char A  Is  1
 Then m.sys: temp  Set  Speak
 If m.sys: char A  Is  -
 Then m.sys: temp  Set  Speak
 ENDIF
 ENDIF
 ;
 BEGINIF m.q: cnt 09  Is Not  0
 And m.q: wait timer 09 Is  0
 Do m.sys: char A  Set/Char m.q: motion 09
 Do m.sys: char B  Set/Char m.q: motion 09
 Do m.sys: char C  Set/Char m.q: motion 09
 Do m.sys: logic a  Set  False
 If m.sys: char A  Is  -
 And m.sys: char B  Is  -
 And m.sys: char C  Is  -
 Or m.sys: char A  Is  1
 And oM: great  Is GT  1606
 Or m.sys: char B  Is  1
 And oM: mstr  Is GT  1606
 Or m.sys: char C  Is  1
 And oM: guest  Is GT  1606
 Then m.sys: logic a  Set  True
 BEGINIF m.sys: logic a  Is  True
 Do m.q: cnt 09  Subtract 1
 Do m.q: wait timer 09 Set  m.q: timewait 09
 Do m.sys: temp  T1<-T1  m.sys: txt attention
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: temp  T1/A<-T1 m.q: mesage 09
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: char A  Set/Char m.q: output 09
 Do m.sys: char B  Set/Char m.q: output 09
 Do m.sys: char C  Set/Char m.q: output 09
 Do m.sys: char D  Set/Char m.q: output 09
 If m.sys: char A  Is  1
 Then m.sys: temp  Set  Speak
 If m.sys: char A  Is  -
 Then m.sys: temp  Set  Speak
 ENDIF
 ENDIF
 ;
 End


Event: msg 1 Read   Called ?:No
 BEGINIF Time   Is Now  12:03 AM
 Or m.inp: re-read  Is  Yes
 Or Start/Stop-Status Is Now  Starting
 do m.inp: re-read  set  No
 ;
 Do Event-Call  Set  msg 0 Init
 ;
 Do m.sys: Remind File Set  Open
 Do m.sys: Remind File Set  Rewind
 ;
 Do Number-A  Set  0
 WHILE Number-A  Is LT  200
 Do m.sys: char A  Set  m.sys: Remind File
 Do Number-A  Add  1
 ENDWHILE
 Do m.sys: char A  Set  m.sys: Remind File
 WHILE m.sys: char A  Is  D
 Or m.sys: char A  Is  M
 Or m.sys: char A  Is  R
 Or m.sys: char A  Is  C
 ;Or         m.sys: char A           Is         O
 ;Or         m.sys: char A           Is         R
 ;Or         m.sys: char A           Is         A
 ;
 Do m.inp: type  Set  m.sys: char A
 ;
 ;get count
 Do Number-A  Set  0
 Do Number-B  Set  1
 WHILE Number-B  Is LE  4
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is GE  0
 And m.sys: char A  Is LE  9
 Then Number-A  Multiply 10
 Then Number-A  Add  m.sys: char A
 Then Number-A  Subtract 48
 Do Number-B  Add  1
 ENDWHILE
 Do m.inp: cnt  Set  Number-A
 ;
 ;get timeout
 Do Number-A  Set  0
 Do Number-B  Set  1
 WHILE Number-B  Is LE  5
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is GE  0
 And m.sys: char A  Is LE  9
 Then Number-A  Multiply 10
 Then Number-A  Add  m.sys: char A
 Then Number-A  Subtract 48
 Do Number-B  Add  1
 ENDWHILE
 Do m.inp: timeout  Set  Number-A
 ;
 ;get timewait
 Do Number-A  Set  0
 Do Number-B  Set  1
 WHILE Number-B  Is LE  4
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is GE  0
 And m.sys: char A  Is LE  9
 Then Number-A  Multiply 10
 Then Number-A  Add  m.sys: char A
 Then Number-A  Subtract 48
 Do Number-B  Add  1
 ENDWHILE
 Do m.inp: timewait  Set  Number-A
 ;
 ;get month1
 Do Number-A  Set  0
 Do Number-B  Set  1
 WHILE Number-B  Is LE  3
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is GE  0
 And m.sys: char A  Is LE  9
 Then Number-A  Multiply 10
 Then Number-A  Add  m.sys: char A
 Then Number-A  Subtract 48
 Do Number-B  Add  1
 ENDWHILE
 Do m.inp: month1  Set  Number-A
 ;
 ;get day1
 Do Number-A  Set  0
 Do Number-B  Set  1
 WHILE Number-B  Is LE  3
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is GE  0
 And m.sys: char A  Is LE  9
 Then Number-A  Multiply 10
 Then Number-A  Add  m.sys: char A
 Then Number-A  Subtract 48
 Do Number-B  Add  1
 ENDWHILE
 Do m.inp: day1  Set  Number-A
 ;
 ;get month2
 Do Number-A  Set  0
 Do Number-B  Set  1
 WHILE Number-B  Is LE  3
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is GE  0
 And m.sys: char A  Is LE  9
 Then Number-A  Multiply 10
 Then Number-A  Add  m.sys: char A
 Then Number-A  Subtract 48
 Do Number-B  Add  1
 ENDWHILE
 Do m.inp: month2  Set  Number-A
 ;
 ;get day2
 Do Number-A  Set  0
 Do Number-B  Set  1
 WHILE Number-B  Is LE  3
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is GE  0
 And m.sys: char A  Is LE  9
 Then Number-A  Multiply 10
 Then Number-A  Add  m.sys: char A
 Then Number-A  Subtract 48
 Do Number-B  Add  1
 ENDWHILE
 Do m.inp: day2  Set  Number-A
 ;
 ;get motion
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.inp: motion  Set  Reset
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.inp: motion  Set  m.sys: char A
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.inp: motion  Set  m.sys: char A
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.inp: motion  Set  m.sys: char A
 ;
 ;get send2server
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.inp: output  Set  Reset
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.inp: output  Set  m.sys: char A
 ;get send2client
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.inp: output  Set  m.sys: char A
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.inp: output  Set  m.sys: char A
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.inp: output  Set  m.sys: char A
 ;
 ;get dayofweek
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is  1
 Then m.inp: sunday  Set  Yes
 Else m.inp: sunday  Set  No
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is  1
 Then m.inp: monday  Set  Yes
 Else m.inp: monday  Set  No
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is  1
 Then m.inp: tuesday  Set  Yes
 Else m.inp: tuesday  Set  No
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is  1
 Then m.inp: wednesday Set  Yes
 Else m.inp: wednesday Set  No
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is  1
 Then m.inp: thursday  Set  Yes
 Else m.inp: thursday  Set  No
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is  1
 Then m.inp: friday  Set  Yes
 Else m.inp: friday  Set  No
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is  1
 Then m.inp: saturday  Set  Yes
 Else m.inp: saturday  Set  No
 ;
 ;get time
 Do Number-A  Set  0
 Do Number-B  Set  1
 WHILE Number-B  Is LE  6
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is GE  0
 And m.sys: char A  Is LE  9
 Then Number-A  Multiply 10
 Then Number-A  Add  m.sys: char A
 Then Number-A  Subtract 48
 Do Number-B  Add  1
 ENDWHILE
 Do m.inp: time  Set  Number-A
 ;
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.sys: char A  Set  m.sys: Remind File
 Do Text-A   Set  Reset
 WHILE m.sys: char A  Is Not  <LF>
 And m.sys: char A  Is Not  <CR>
 Do Text-A   Set  m.sys: char A
 Do m.sys: char A  Set  m.sys: Remind File
 ENDWHILE
 Do m.inp: message  T1<-T1  Text-A
 ;Do         Text-A                  Set        Log
 ;
 Do Event-Call  Set  msg 2 Evaluate
 ;
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.sys: char A  Set  m.sys: Remind File
 ;read line end while
 ENDWHILE
 ;
 Do m.sys: Remind File Set  Close
 ;
 ENDIF
 End


Event: msg 2 Evaluate   Called ?:Yes
 Do m.sys: logic a  Set  False
 If m.inp: type  Is  D
 And m.inp: time  Is GE  Time
 Then m.sys: logic a  Set  True
 If m.inp: type  Is  M
 And m.inp: time  Is GE  Time
 And m.inp: day1  Is LE  Date
 And m.inp: day2  Is GE  Date
 Then m.sys: logic a  Set  True
 If m.inp: type  Is  R
 And m.inp: time  Is GE  Time
 And m.inp: month1  Is LE  Month
 And m.inp: day1  Is LE  Date
 And m.inp: month2  Is GE  Month
 And m.inp: day2  Is GE  Date
 Then m.sys: logic a  Set  True
 ;
 ;Do         Text-A                  Set        Reset
 ;Do         Text-A                  T1<-Stt    m.sys: logic a
 ;Do         Text-A                  Set        Log
 ;
 BEGINIF m.sys: logic a  Is  True
 ;
 BEGINIF m.inp: sunday  Is  Yes
 And Day   Is  Sunday
 Or m.inp: monday  Is  Yes
 And Day   Is  Monday
 Or m.inp: tuesday  Is  Yes
 And Day   Is  Tuesday
 Or m.inp: wednesday Is  Yes
 And Day   Is  Wednesday
 Or m.inp: thursday  Is  Yes
 And Day   Is  Thursday
 Or m.inp: friday  Is  Yes
 And Day   Is  Friday
 Or m.inp: saturday  Is  Yes
 And Day   Is  Saturday
 Do Number-A  Set  m.inp: time
 Do Number-B  Set  Number-A
 Do Number-B  Divide  100
 Do Number-C  Set  Number-B
 Do Number-C  Multiply 100
 Do Number-D  Set  Number-A
 Do Number-D  Subtract Number-C
 Do m.inp: time2time Set  Number-B
 Do m.inp: time2time Multiply 60
 Do m.inp: time2time Add  Number-D
 Do Number-A  Set  Time
 Do Number-B  Set  Number-A
 Do Number-B  Divide  100
 Do Number-C  Set  Number-B
 Do Number-C  Multiply 100
 Do Number-D  Set  Number-A
 Do Number-D  Subtract Number-C
 Do Number-B  Multiply 60
 Do Number-B  Add  Number-D
 Do m.inp: time2time Subtract Number-B
 Do m.q: mesage  T1<-T1  m.inp: message
 Do m.q: cnt  Set  m.inp: cnt
 Do m.q: timewait  Set  m.inp: timewait
 Do m.q: timeout  Set  m.inp: timeout
 Do m.q: timeout  Add  m.inp: time2time
 Do m.q: wait timer  Set  m.inp: time2time
 Do m.q: motion  T1<-T1  m.inp: motion
 Do m.q: output  T1<-T1  m.inp: output
 Do Event-Call  Set  msg 3 Queue
 ;
 ENDIF
 ENDIF
 End


Event: msg 5 Timeout   Called ?:No
 If m.q: timeout 01  Is Now  0
 Then m.q: cnt 01  Set  0
 Then m.q: mesage 01  Set  Reset
 If m.q: timeout 02  Is Now  0
 Then m.q: cnt 02  Set  0
 Then m.q: mesage 02  Set  Reset
 If m.q: timeout 03  Is Now  0
 Then m.q: cnt 03  Set  0
 Then m.q: mesage 03  Set  Reset
 If m.q: timeout 04  Is Now  0
 Then m.q: cnt 04  Set  0
 Then m.q: mesage 04  Set  Reset
 If m.q: timeout 05  Is Now  0
 Then m.q: cnt 05  Set  0
 Then m.q: mesage 05  Set  Reset
 If m.q: timeout 06  Is Now  0
 Then m.q: cnt 06  Set  0
 Then m.q: mesage 06  Set  Reset
 If m.q: timeout 07  Is Now  0
 Then m.q: cnt 07  Set  0
 Then m.q: mesage 07  Set  Reset
 End






I have taken the time to break my config into several sections.

base
omni
mes
tv
phone

the base.cfg and tv.cfg and phone are from marks example. the omni.cfg is mine and processes information from an omnipro through ACE to ECS. the final section is a message processing system which reads messages from a text file reminder.txt and then queues them for announcement during the day. i have included it for discussion, use, and/or incorporation into the base example.cfg

I think that it adds a nice flexible capability to ecs and would like to get feedback and enhancement thoughts.

reminder.txt

t     canc wai 1  1  2m 2d mot s cli
y cou el   t   mo da on ay ion r ent
p nt  time tim nt y  th    GMG v grp SMTWTFS Time   Message
* *** **** *** ** ** ** ** *** * *** ******* ****** *******

C --- ---- --- -- -- -- -- --- - --- ------- --:-- ----routines
M --3 --40 -12 -- 01 -- 07 1-- 1 --- ----1-- 06:45 recycling goes out today
M --3 --40 -12 -- 15 -- 21 1-- 1 --- ----1-- 06:45 recycling goes out today
M --4 -290 -17 -- 15 -- 21 1-- 1 --- -----1- 09:30 check the water conditioner salt level
D --3 --60 -17 -- -- -- -- 1-- 1 --- --1--1- 06:50 garbage goes out today
C --- ---- --- -- -- -- -- --- - --- ------- --:-- ----business
D --3 --25 --6 -- -- -- -- -1- - --1 -11111- 10:10 check trading positions
D --3 --25 --6 -- -- -- -- -1- - --1 -11111- 15:30 check trading positions
C --- ---- --- -- -- -- -- --- - --- ------- --:-- ----alarms
R --2 --20 --3 01 01 12 31 --- 1 --- -11111- 06:25 peter wake up and go swimming
C --- ---- --- -- -- -- -- --- - --- ------- --:-- ----kid-stuff
R --3 --20 --4 09 07 05 19 111 1 --- -11111- 13:30 pick up kids at bus stop
R --3 -120 -24 09 07 05 19 1-- 1 --- 11111-- 18:30 select a current event
R --3 -120 -24 09 07 05 19 1-- 1 --- ----1-- 18:45 select a show and tell
D --3 --40 --8 -- -- -- -- --- 1 --- -1----- 17:01 kaa ra tee starts soon
D --3 --40 --8 -- -- -- -- --- 1 --- ---1--- 18:01 kaa ra tee starts soon
D --3 --40 --8 -- -- -- -- --- 1 --- -----1- 17:01 kaa ra tee starts soon
D --3 --40 --8 -- -- -- -- --- 1 --- ------1 11:31 kaa ra tee starts soon
C --- ---- --- -- -- -- -- --- - --- ------- --:-- ----medicine
D --3 --90 -17 -- -- -- -- 1-- 1 --1 1111111 18:10 malcolm needs drops in his ears
D --3 -120 -17 -- -- -- -- 1-- 1 --1 1111111 07:50 malcolm needs drops in his ears
C --- ---- --- -- -- -- -- --- - --- ------- --:-- ----birthdays
C --- ---- --- -- -- -- -- --- - --- ------- --:-- ----misc dates
R --3 --20 --4 02 11 02 14 111 1 --- 1111111 07:30 valentines day is coming
C --- ---- --- -- -- -- -- --- - --- ------- --:-- ----birthdays & ...
R --2 -600 151 09 09 09 09 111 1 --- 1111111 09:30 Happy birthday Peter

mes.cfg

Item:m.sys: txt attention Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :Attention
Item:m.q: mesage 01  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :check trading positions
Item:m.q: cnt 01  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timeout 01  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timewait 01  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: wait timer 01  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: mesage  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :malcolm needs drops in his ears
Item:m.q: cnt   Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timewait  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timeout  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: mesage 02  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :malcolm needs drops in his ears
Item:m.q: cnt 02  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timeout 02  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timewait 02  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: wait timer 02  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: mesage 03  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :malcolm needs drops in his ears
Item:m.q: cnt 03  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timeout 03  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timewait 03  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: wait timer 03  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: mesage 04  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: cnt 04  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timeout 04  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timewait 04  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: wait timer 04  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: mesage 05  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: cnt 05  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timeout 05  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timewait 05  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: wait timer 05  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: mesage 06  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: cnt 06  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timeout 06  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timewait 06  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: wait timer 06  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: mesage 07  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: cnt 07  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timeout 07  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timewait 07  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: wait timer 07  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: mesage 08  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: cnt 08  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timeout 08  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timewait 08  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: wait timer 08  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: mesage 09  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: cnt 09  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timeout 09  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: timewait 09  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: wait timer 09  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.sys: temp  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :Attention \pau=500\check trading positions \pau=500\
Item:m.sys: txt pause .5sec Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         : \pau=500\ \SPD=125\
Item:m.inp: cnt   Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: timeout  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: timewait  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: month1  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: day1  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: month2  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: day2  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: motion  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :111
Item:m.inp: re-read  Type:Yes/No   Acc:User/User
 Initial State:No     Backup:No
Item:m.inp: sunday  Type:Yes/No   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: monday  Type:Yes/No   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: tuesday  Type:Yes/No   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: wednesday  Type:Yes/No   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: thursday  Type:Yes/No   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: friday  Type:Yes/No   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: saturday  Type:Yes/No   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: time  Type:Time   Acc:Virtual/User/User
 Initial State:(none)     Backup:No
Item:m.inp: message  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :valentines day is coming
Item:m.inp: type  Type:Character   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.sys: Remind File  Type:File   Acc:User/User
 Initial State:(none)     Backup:No
 File         :reminder.txt
Item:m.sys: char A  Type:Character   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.sys: char B  Type:Character   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.sys: char C  Type:Character   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.sys: char D  Type:Character   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: motion  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :1--
Item:m.q: output  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :1--1
Item:m.inp: output  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :1---
Item:m.q: motion 01  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :-1-
Item:m.q: output 01  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :---1
Item:m.q: wait timer  Type:Minute-Timer  Acc:User/User
 Initial State:(none)     Backup:No
Item:m.inp: time2time  Type:Number   Acc:User/User
 Initial State:(none)     Backup:No
Item:m.q: motion 02  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :1--
Item:m.q: motion 03  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :1--
Item:m.q: motion 04  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :1--
Item:m.q: output 02  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :1--1
Item:m.q: output 03  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :1--1
Item:m.q: output 04  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :1---
Item:m.q: motion 05  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: motion 06  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: motion 07  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: output 05  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: output 06  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: output 07  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.sys: logic a  Type:True/False   Acc:User/Maint
 Initial State:(none)     Backup:No
Item:m.q: motion 08  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: motion 09  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: output 08  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :
Item:m.q: output 09  Type:Text   Acc:User/User
 Initial State:(none)     Backup:No
 Text         :


Group: msg queue  Bkgnd:
 m.q: cnt 02     73    32767 47    155
 m.q: cnt 02     78    0     47    78
 m.q: cnt 01     11    0     47    75
 m.q: wait timer 01    11    167   47    103
 m.q: timewait 01    11    269   47    105
 m.q: mesage 03  Text:12/6/02  144   374   68    166
 m.q: output 01  Text:12/6/02  11    684   68    167
 m.q: mesage 04  Text:12/6/02  211   375   68    165
 m.q: wait timer 02    78    171   47    105
 m.q: timewait 02    78    274   47    102
 m.q: motion 03  Text:12/6/02  147   530   68    157
 m.q: motion 04  Text:12/6/02  212   530   68    156
 m.q: output 02  Text:12/6/02  79    684   68    240
 m.q: output 03  Text:12/6/02  147   683   68    157
 m.q: output 04  Text:12/6/02  212   683   68    154
 m.q: cnt 03     145   -1    48    77
 m.q: wait timer 03    145   169   47    105
 m.q: timewait 03    145   273   47    104
 m.q: cnt 04     212   1     47    76
 m.q: wait timer 04    211   169   48    105
 m.q: timewait 04    211   272   47    100
 m.q: cnt 06     344   0     47    177
 m.q: cnt 07     413   0     47    177
 m.q: cnt 05     279   1     47    76
 m.q: timewait 05    279   169   47    106
 m.q: mesage 01  Text:12/6/02  11    373   68    159
 m.q: mesage 02  Text:12/6/02  78    374   68    160
 m.q: motion 02  Text:12/6/02  79    530   68    155
 m.q: motion 01  Text:12/6/02  11    530   68    155
 m.q: mesage 05  Text:12/6/02  278   375   68    160
 m.q: mesage 06  Text:12/6/02  344   375   68    162
 m.q: mesage 07  Text:12/6/02  411   375   68    160
 m.q: timeout 01     11    74    47    95
 m.q: timeout 02     78    75    47    97
 m.q: timeout 03     145   75    49    95
 m.q: timeout 04     212   76    47    95
 m.q: timeout 05     279   76    47    95
 oM: mstr     324   579   47    177
 End


Group: msg input  Bkgnd:
 m.q: cnt 02     73    32767 47    155
 m.inp: sunday     29    597   47    177
 m.inp: monday     75    598   47    177
 m.inp: tuesday     120   598   47    177
 m.inp: wednesday    164   598   47    177
 m.inp: thursday     210   598   47    177
 m.inp: friday     256   597   47    177
 m.inp: saturday     302   597   47    177
 m.sys: char A     272   177   47    177
 m.sys: char B     318   177   47    177
 m.inp: motion  Text:12/6/02  272   355   68    240
 m.inp: output  Text:12/6/02  340   354   68    240
 m.inp: message  Text:12/6/02  406   354   68    240
 m.sys: char C     365   177   47    177
 m.inp: cnt     272   1     47    177
 m.inp: timeout     318   1     49    180
 m.inp: timewait     366   1     50    180
 Time      97    8     47    177
 Month      8     8     47    177
 Date      53    8     47    177
 m.inp: month1     8     189   47    177
 m.inp: day1     54    189   47    177
 m.inp: day2     54    365   47    177
 m.inp: month2     8     365   47    177
 m.inp: time     100   189   47    177
 End


Event: msg 0 Init   Called ?:Yes
 Do m.q: cnt 01  Set  0
 Do m.q: cnt 02  Set  0
 Do m.q: cnt 03  Set  0
 Do m.q: cnt 04  Set  0
 Do m.q: cnt 05  Set  0
 Do m.q: cnt 06  Set  0
 Do m.q: cnt 07  Set  0
 Do m.q: cnt 08  Set  0
 Do m.q: cnt 09  Set  0
 End


Event: msg 3 Queue   Called ?:Yes
 BEGINIF m.q: cnt 01  Is  0
 Do m.q: cnt 01  Set  m.q: cnt
 Do m.q: mesage 01  T1<-T1  m.q: mesage
 Do m.q: timeout 01  Set  m.q: timeout
 Do m.q: timewait 01 Set  m.q: timewait
 Do m.q: wait timer 01 Set  m.q: wait timer
 Do m.q: motion 01  T1<-T1  m.q: motion
 Do m.q: output 01  T1<-T1  m.q: output
 Do Event-Exit  Set  True
 ENDIF
 ;
 BEGINIF m.q: cnt 02  Is  0
 Do m.q: cnt 02  Set  m.q: cnt
 Do m.q: mesage 02  T1<-T1  m.q: mesage
 Do m.q: timeout 02  Set  m.q: timeout
 Do m.q: timewait 02 Set  m.q: timewait
 Do m.q: wait timer 02 Set  m.q: wait timer
 Do m.q: motion 02  T1<-T1  m.q: motion
 Do m.q: output 02  T1<-T1  m.q: output
 Do Event-Exit  Set  True
 ENDIF
 ;
 BEGINIF m.q: cnt 03  Is  0
 Do m.q: cnt 03  Set  m.q: cnt
 Do m.q: mesage 03  T1<-T1  m.q: mesage
 Do m.q: timeout 03  Set  m.q: timeout
 Do m.q: timewait 03 Set  m.q: timewait
 Do m.q: wait timer 03 Set  m.q: wait timer
 Do m.q: motion 03  T1<-T1  m.q: motion
 Do m.q: output 03  T1<-T1  m.q: output
 Do Event-Exit  Set  True
 ENDIF
 ;
 BEGINIF m.q: cnt 04  Is  0
 Do m.q: cnt 04  Set  m.q: cnt
 Do m.q: mesage 04  T1<-T1  m.q: mesage
 Do m.q: timeout 04  Set  m.q: timeout
 Do m.q: timewait 04 Set  m.q: timewait
 Do m.q: wait timer 04 Set  m.q: wait timer
 Do m.q: motion 04  T1<-T1  m.q: motion
 Do m.q: output 04  T1<-T1  m.q: output
 Do Event-Exit  Set  True
 ENDIF
 ;
 BEGINIF m.q: cnt 05  Is  0
 Do m.q: cnt 05  Set  m.q: cnt
 Do m.q: mesage 05  T1<-T1  m.q: mesage
 Do m.q: timeout 05  Set  m.q: timeout
 Do m.q: timewait 05 Set  m.q: timewait
 Do m.q: wait timer 05 Set  m.q: wait timer
 Do m.q: motion 05  T1<-T1  m.q: motion
 Do m.q: output 05  T1<-T1  m.q: output
 Do Event-Exit  Set  True
 ENDIF
 ;
 BEGINIF m.q: cnt 06  Is  0
 Do m.q: cnt 06  Set  m.q: cnt
 Do m.q: mesage 06  T1<-T1  m.q: mesage
 Do m.q: timeout 06  Set  m.q: timeout
 Do m.q: timewait 06 Set  m.q: timewait
 Do m.q: wait timer 06 Set  m.q: wait timer
 Do m.q: motion 06  T1<-T1  m.q: motion
 Do m.q: output 06  T1<-T1  m.q: output
 Do Event-Exit  Set  True
 ENDIF
 ;
 BEGINIF m.q: cnt 07  Is  0
 Do m.q: cnt 07  Set  m.q: cnt
 Do m.q: mesage 07  T1<-T1  m.q: mesage
 Do m.q: timeout 07  Set  m.q: timeout
 Do m.q: timewait 07 Set  m.q: timewait
 Do m.q: wait timer 07 Set  m.q: wait timer
 Do m.q: motion 07  T1<-T1  m.q: motion
 Do m.q: output 07  T1<-T1  m.q: output
 Do Event-Exit  Set  True
 ENDIF
 ;
 BEGINIF m.q: cnt 08  Is  0
 Do m.q: cnt 08  Set  m.q: cnt
 Do m.q: mesage 08  T1<-T1  m.q: mesage
 Do m.q: timeout 08  Set  m.q: timeout
 Do m.q: timewait 08 Set  m.q: timewait
 Do m.q: wait timer 08 Set  m.q: wait timer
 Do m.q: motion 08  T1<-T1  m.q: motion
 Do m.q: output 08  T1<-T1  m.q: output
 Do Event-Exit  Set  True
 ENDIF
 ;
 BEGINIF m.q: cnt 09  Is  0
 Do m.q: cnt 09  Set  m.q: cnt
 Do m.q: mesage 09  T1<-T1  m.q: mesage
 Do m.q: timeout 09  Set  m.q: timeout
 Do m.q: timewait 09 Set  m.q: timewait
 Do m.q: wait timer 09 Set  m.q: wait timer
 Do m.q: motion 09  T1<-T1  m.q: motion
 Do m.q: output 09  T1<-T1  m.q: output
 Do Event-Exit  Set  True
 ENDIF
 End


Event: msg 4 Process   Called ?:No
 If m.q: cnt 01  Is  0
 And m.q: cnt 02  Is  0
 And m.q: cnt 03  Is  0
 And m.q: cnt 04  Is  0
 And m.q: cnt 05  Is  0
 And m.q: cnt 06  Is  0
 And m.q: cnt 07  Is  0
 And m.q: cnt 08  Is  0
 And m.q: cnt 09  Is  0
 Then Event-Exit  Set  True
 ;
 BEGINIF m.q: cnt 01  Is Not  0
 And m.q: wait timer 01 Is  0
 Do m.sys: char A  Set/Char m.q: motion 01
 Do m.sys: char B  Set/Char m.q: motion 01
 Do m.sys: char C  Set/Char m.q: motion 01
 Do m.sys: logic a  Set  False
 If m.sys: char A  Is  -
 And m.sys: char B  Is  -
 And m.sys: char C  Is  -
 Or m.sys: char A  Is  1
 And oM: great  Is GT  1606
 Or m.sys: char B  Is  1
 And oM: mstr  Is GT  1606
 Or m.sys: char C  Is  1
 And oM: guest  Is GT  1606
 Then m.sys: logic a  Set  True
 BEGINIF m.sys: logic a  Is  True
 Do m.q: cnt 01  Subtract 1
 Do m.q: wait timer 01 Set  m.q: timewait 01
 Do m.sys: temp  T1<-T1  m.sys: txt attention
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: temp  T1/A<-T1 m.q: mesage 01
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: char A  Set/Char m.q: output 01
 Do m.sys: char B  Set/Char m.q: output 01
 Do m.sys: char C  Set/Char m.q: output 01
 Do m.sys: char D  Set/Char m.q: output 01
 If m.sys: char A  Is  1
 Then m.sys: temp  Set  Speak
 If m.sys: char A  Is  -
 Then m.sys: temp  Set  Speak
 ENDIF
 ENDIF
 ;
 BEGINIF m.q: cnt 02  Is Not  0
 And m.q: wait timer 02 Is  0
 Do m.sys: char A  Set/Char m.q: motion 02
 Do m.sys: char B  Set/Char m.q: motion 02
 Do m.sys: char C  Set/Char m.q: motion 02
 Do m.sys: logic a  Set  False
 If m.sys: char A  Is  -
 And m.sys: char B  Is  -
 And m.sys: char C  Is  -
 Or m.sys: char A  Is  1
 And oM: great  Is GT  1606
 Or m.sys: char B  Is  1
 And oM: mstr  Is GT  1606
 Or m.sys: char C  Is  1
 And oM: guest  Is GT  1606
 Then m.sys: logic a  Set  True
 BEGINIF m.sys: logic a  Is  True
 Do m.q: cnt 02  Subtract 1
 Do m.q: wait timer 02 Set  m.q: timewait 02
 Do m.sys: temp  T1<-T1  m.sys: txt attention
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: temp  T1/A<-T1 m.q: mesage 02
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: char A  Set/Char m.q: output 02
 Do m.sys: char B  Set/Char m.q: output 02
 Do m.sys: char C  Set/Char m.q: output 02
 Do m.sys: char D  Set/Char m.q: output 02
 If m.sys: char A  Is  1
 Then m.sys: temp  Set  Speak
 If m.sys: char A  Is  -
 Then m.sys: temp  Set  Speak
 ENDIF
 ENDIF
 ;
 BEGINIF m.q: cnt 03  Is Not  0
 And m.q: wait timer 03 Is  0
 Do m.sys: char A  Set/Char m.q: motion 03
 Do m.sys: char B  Set/Char m.q: motion 03
 Do m.sys: char C  Set/Char m.q: motion 03
 Do m.sys: logic a  Set  False
 If m.sys: char A  Is  -
 And m.sys: char B  Is  -
 And m.sys: char C  Is  -
 Or m.sys: char A  Is  1
 And oM: great  Is GT  1606
 Or m.sys: char B  Is  1
 And oM: mstr  Is GT  1606
 Or m.sys: char C  Is  1
 And oM: guest  Is GT  1606
 Then m.sys: logic a  Set  True
 BEGINIF m.sys: logic a  Is  True
 Do m.q: cnt 03  Subtract 1
 Do m.q: wait timer 03 Set  m.q: timewait 03
 Do m.sys: temp  T1<-T1  m.sys: txt attention
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: temp  T1/A<-T1 m.q: mesage 03
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: char A  Set/Char m.q: output 03
 Do m.sys: char B  Set/Char m.q: output 03
 Do m.sys: char C  Set/Char m.q: output 03
 Do m.sys: char D  Set/Char m.q: output 03
 If m.sys: char A  Is  1
 Then m.sys: temp  Set  Speak
 If m.sys: char A  Is  -
 Then m.sys: temp  Set  Speak
 ENDIF
 ENDIF
 ;
 BEGINIF m.q: cnt 04  Is Not  0
 And m.q: wait timer 04 Is  0
 Do m.sys: char A  Set/Char m.q: motion 04
 Do m.sys: char B  Set/Char m.q: motion 04
 Do m.sys: char C  Set/Char m.q: motion 04
 Do m.sys: logic a  Set  False
 If m.sys: char A  Is  -
 And m.sys: char B  Is  -
 And m.sys: char C  Is  -
 Or m.sys: char A  Is  1
 And oM: great  Is GT  1606
 Or m.sys: char B  Is  1
 And oM: mstr  Is GT  1606
 Or m.sys: char C  Is  1
 And oM: guest  Is GT  1606
 Then m.sys: logic a  Set  True
 BEGINIF m.sys: logic a  Is  True
 Do m.q: cnt 04  Subtract 1
 Do m.q: wait timer 04 Set  m.q: timewait 04
 Do m.sys: temp  T1<-T1  m.sys: txt attention
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: temp  T1/A<-T1 m.q: mesage 04
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: char A  Set/Char m.q: output 04
 Do m.sys: char B  Set/Char m.q: output 04
 Do m.sys: char C  Set/Char m.q: output 04
 Do m.sys: char D  Set/Char m.q: output 04
 If m.sys: char A  Is  1
 Then m.sys: temp  Set  Speak
 If m.sys: char A  Is  -
 Then m.sys: temp  Set  Speak
 ENDIF
 ENDIF
 ;
 BEGINIF m.q: cnt 05  Is Not  0
 And m.q: wait timer 05 Is  0
 Do m.sys: char A  Set/Char m.q: motion 05
 Do m.sys: char B  Set/Char m.q: motion 05
 Do m.sys: char C  Set/Char m.q: motion 05
 Do m.sys: logic a  Set  False
 If m.sys: char A  Is  -
 And m.sys: char B  Is  -
 And m.sys: char C  Is  -
 Or m.sys: char A  Is  1
 And oM: great  Is GT  1606
 Or m.sys: char B  Is  1
 And oM: mstr  Is GT  1606
 Or m.sys: char C  Is  1
 And oM: guest  Is GT  1606
 Then m.sys: logic a  Set  True
 BEGINIF m.sys: logic a  Is  True
 Do m.q: cnt 05  Subtract 1
 Do m.q: wait timer 05 Set  m.q: timewait 05
 Do m.sys: temp  T1<-T1  m.sys: txt attention
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: temp  T1/A<-T1 m.q: mesage 05
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: char A  Set/Char m.q: output 05
 Do m.sys: char B  Set/Char m.q: output 05
 Do m.sys: char C  Set/Char m.q: output 05
 Do m.sys: char D  Set/Char m.q: output 05
 If m.sys: char A  Is  1
 Then m.sys: temp  Set  Speak
 If m.sys: char A  Is  -
 Then m.sys: temp  Set  Speak
 ENDIF
 ENDIF
 ;
 BEGINIF m.q: cnt 06  Is Not  0
 And m.q: wait timer 06 Is  0
 Do m.sys: char A  Set/Char m.q: motion 06
 Do m.sys: char B  Set/Char m.q: motion 06
 Do m.sys: char C  Set/Char m.q: motion 06
 Do m.sys: logic a  Set  False
 If m.sys: char A  Is  -
 And m.sys: char B  Is  -
 And m.sys: char C  Is  -
 Or m.sys: char A  Is  1
 And oM: great  Is GT  1606
 Or m.sys: char B  Is  1
 And oM: mstr  Is GT  1606
 Or m.sys: char C  Is  1
 And oM: guest  Is GT  1606
 Then m.sys: logic a  Set  True
 BEGINIF m.sys: logic a  Is  True
 Do m.q: cnt 06  Subtract 1
 Do m.q: wait timer 06 Set  m.q: timewait 06
 Do m.sys: temp  T1<-T1  m.sys: txt attention
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: temp  T1/A<-T1 m.q: mesage 06
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: char A  Set/Char m.q: output 06
 Do m.sys: char B  Set/Char m.q: output 06
 Do m.sys: char C  Set/Char m.q: output 06
 Do m.sys: char D  Set/Char m.q: output 06
 If m.sys: char A  Is  1
 Then m.sys: temp  Set  Speak
 If m.sys: char A  Is  -
 Then m.sys: temp  Set  Speak
 ENDIF
 ENDIF
 ;
 BEGINIF m.q: cnt 07  Is Not  0
 And m.q: wait timer 07 Is  0
 Do m.sys: char A  Set/Char m.q: motion 07
 Do m.sys: char B  Set/Char m.q: motion 07
 Do m.sys: char C  Set/Char m.q: motion 07
 Do m.sys: logic a  Set  False
 If m.sys: char A  Is  -
 And m.sys: char B  Is  -
 And m.sys: char C  Is  -
 Or m.sys: char A  Is  1
 And oM: great  Is GT  1606
 Or m.sys: char B  Is  1
 And oM: mstr  Is GT  1606
 Or m.sys: char C  Is  1
 And oM: guest  Is GT  1606
 Then m.sys: logic a  Set  True
 BEGINIF m.sys: logic a  Is  True
 Do m.q: cnt 07  Subtract 1
 Do m.q: wait timer 07 Set  m.q: timewait 07
 Do m.sys: temp  T1<-T1  m.sys: txt attention
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: temp  T1/A<-T1 m.q: mesage 07
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: char A  Set/Char m.q: output 07
 Do m.sys: char B  Set/Char m.q: output 07
 Do m.sys: char C  Set/Char m.q: output 07
 Do m.sys: char D  Set/Char m.q: output 07
 If m.sys: char A  Is  1
 Then m.sys: temp  Set  Speak
 If m.sys: char A  Is  -
 Then m.sys: temp  Set  Speak
 ENDIF
 ENDIF
 ;
 BEGINIF m.q: cnt 08  Is Not  0
 And m.q: wait timer 08 Is  0
 Do m.sys: char A  Set/Char m.q: motion 08
 Do m.sys: char B  Set/Char m.q: motion 08
 Do m.sys: char C  Set/Char m.q: motion 08
 Do m.sys: logic a  Set  False
 If m.sys: char A  Is  -
 And m.sys: char B  Is  -
 And m.sys: char C  Is  -
 Or m.sys: char A  Is  1
 And oM: great  Is GT  1606
 Or m.sys: char B  Is  1
 And oM: mstr  Is GT  1606
 Or m.sys: char C  Is  1
 And oM: guest  Is GT  1606
 Then m.sys: logic a  Set  True
 BEGINIF m.sys: logic a  Is  True
 Do m.q: cnt 08  Subtract 1
 Do m.q: wait timer 08 Set  m.q: timewait 08
 Do m.sys: temp  T1<-T1  m.sys: txt attention
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: temp  T1/A<-T1 m.q: mesage 08
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: char A  Set/Char m.q: output 08
 Do m.sys: char B  Set/Char m.q: output 08
 Do m.sys: char C  Set/Char m.q: output 08
 Do m.sys: char D  Set/Char m.q: output 08
 If m.sys: char A  Is  1
 Then m.sys: temp  Set  Speak
 If m.sys: char A  Is  -
 Then m.sys: temp  Set  Speak
 ENDIF
 ENDIF
 ;
 BEGINIF m.q: cnt 09  Is Not  0
 And m.q: wait timer 09 Is  0
 Do m.sys: char A  Set/Char m.q: motion 09
 Do m.sys: char B  Set/Char m.q: motion 09
 Do m.sys: char C  Set/Char m.q: motion 09
 Do m.sys: logic a  Set  False
 If m.sys: char A  Is  -
 And m.sys: char B  Is  -
 And m.sys: char C  Is  -
 Or m.sys: char A  Is  1
 And oM: great  Is GT  1606
 Or m.sys: char B  Is  1
 And oM: mstr  Is GT  1606
 Or m.sys: char C  Is  1
 And oM: guest  Is GT  1606
 Then m.sys: logic a  Set  True
 BEGINIF m.sys: logic a  Is  True
 Do m.q: cnt 09  Subtract 1
 Do m.q: wait timer 09 Set  m.q: timewait 09
 Do m.sys: temp  T1<-T1  m.sys: txt attention
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: temp  T1/A<-T1 m.q: mesage 09
 Do m.sys: temp  T1/A<-T1 m.sys: txt pause .5sec
 Do m.sys: char A  Set/Char m.q: output 09
 Do m.sys: char B  Set/Char m.q: output 09
 Do m.sys: char C  Set/Char m.q: output 09
 Do m.sys: char D  Set/Char m.q: output 09
 If m.sys: char A  Is  1
 Then m.sys: temp  Set  Speak
 If m.sys: char A  Is  -
 Then m.sys: temp  Set  Speak
 ENDIF
 ENDIF
 ;
 End


Event: msg 1 Read   Called ?:No
 BEGINIF Time   Is Now  12:03 AM
 Or m.inp: re-read  Is  Yes
 Or Start/Stop-Status Is Now  Starting
 do m.inp: re-read  set  No
 ;
 Do Event-Call  Set  msg 0 Init
 ;
 Do m.sys: Remind File Set  Open
 Do m.sys: Remind File Set  Rewind
 ;
 Do Number-A  Set  0
 WHILE Number-A  Is LT  200
 Do m.sys: char A  Set  m.sys: Remind File
 Do Number-A  Add  1
 ENDWHILE
 Do m.sys: char A  Set  m.sys: Remind File
 WHILE m.sys: char A  Is  D
 Or m.sys: char A  Is  M
 Or m.sys: char A  Is  R
 Or m.sys: char A  Is  C
 ;Or         m.sys: char A           Is         O
 ;Or         m.sys: char A           Is         R
 ;Or         m.sys: char A           Is         A
 ;
 Do m.inp: type  Set  m.sys: char A
 ;
 ;get count
 Do Number-A  Set  0
 Do Number-B  Set  1
 WHILE Number-B  Is LE  4
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is GE  0
 And m.sys: char A  Is LE  9
 Then Number-A  Multiply 10
 Then Number-A  Add  m.sys: char A
 Then Number-A  Subtract 48
 Do Number-B  Add  1
 ENDWHILE
 Do m.inp: cnt  Set  Number-A
 ;
 ;get timeout
 Do Number-A  Set  0
 Do Number-B  Set  1
 WHILE Number-B  Is LE  5
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is GE  0
 And m.sys: char A  Is LE  9
 Then Number-A  Multiply 10
 Then Number-A  Add  m.sys: char A
 Then Number-A  Subtract 48
 Do Number-B  Add  1
 ENDWHILE
 Do m.inp: timeout  Set  Number-A
 ;
 ;get timewait
 Do Number-A  Set  0
 Do Number-B  Set  1
 WHILE Number-B  Is LE  4
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is GE  0
 And m.sys: char A  Is LE  9
 Then Number-A  Multiply 10
 Then Number-A  Add  m.sys: char A
 Then Number-A  Subtract 48
 Do Number-B  Add  1
 ENDWHILE
 Do m.inp: timewait  Set  Number-A
 ;
 ;get month1
 Do Number-A  Set  0
 Do Number-B  Set  1
 WHILE Number-B  Is LE  3
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is GE  0
 And m.sys: char A  Is LE  9
 Then Number-A  Multiply 10
 Then Number-A  Add  m.sys: char A
 Then Number-A  Subtract 48
 Do Number-B  Add  1
 ENDWHILE
 Do m.inp: month1  Set  Number-A
 ;
 ;get day1
 Do Number-A  Set  0
 Do Number-B  Set  1
 WHILE Number-B  Is LE  3
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is GE  0
 And m.sys: char A  Is LE  9
 Then Number-A  Multiply 10
 Then Number-A  Add  m.sys: char A
 Then Number-A  Subtract 48
 Do Number-B  Add  1
 ENDWHILE
 Do m.inp: day1  Set  Number-A
 ;
 ;get month2
 Do Number-A  Set  0
 Do Number-B  Set  1
 WHILE Number-B  Is LE  3
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is GE  0
 And m.sys: char A  Is LE  9
 Then Number-A  Multiply 10
 Then Number-A  Add  m.sys: char A
 Then Number-A  Subtract 48
 Do Number-B  Add  1
 ENDWHILE
 Do m.inp: month2  Set  Number-A
 ;
 ;get day2
 Do Number-A  Set  0
 Do Number-B  Set  1
 WHILE Number-B  Is LE  3
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is GE  0
 And m.sys: char A  Is LE  9
 Then Number-A  Multiply 10
 Then Number-A  Add  m.sys: char A
 Then Number-A  Subtract 48
 Do Number-B  Add  1
 ENDWHILE
 Do m.inp: day2  Set  Number-A
 ;
 ;get motion
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.inp: motion  Set  Reset
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.inp: motion  Set  m.sys: char A
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.inp: motion  Set  m.sys: char A
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.inp: motion  Set  m.sys: char A
 ;
 ;get send2server
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.inp: output  Set  Reset
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.inp: output  Set  m.sys: char A
 ;get send2client
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.inp: output  Set  m.sys: char A
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.inp: output  Set  m.sys: char A
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.inp: output  Set  m.sys: char A
 ;
 ;get dayofweek
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is  1
 Then m.inp: sunday  Set  Yes
 Else m.inp: sunday  Set  No
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is  1
 Then m.inp: monday  Set  Yes
 Else m.inp: monday  Set  No
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is  1
 Then m.inp: tuesday  Set  Yes
 Else m.inp: tuesday  Set  No
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is  1
 Then m.inp: wednesday Set  Yes
 Else m.inp: wednesday Set  No
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is  1
 Then m.inp: thursday  Set  Yes
 Else m.inp: thursday  Set  No
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is  1
 Then m.inp: friday  Set  Yes
 Else m.inp: friday  Set  No
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is  1
 Then m.inp: saturday  Set  Yes
 Else m.inp: saturday  Set  No
 ;
 ;get time
 Do Number-A  Set  0
 Do Number-B  Set  1
 WHILE Number-B  Is LE  6
 Do m.sys: char A  Set  m.sys: Remind File
 If m.sys: char A  Is GE  0
 And m.sys: char A  Is LE  9
 Then Number-A  Multiply 10
 Then Number-A  Add  m.sys: char A
 Then Number-A  Subtract 48
 Do Number-B  Add  1
 ENDWHILE
 Do m.inp: time  Set  Number-A
 ;
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.sys: char A  Set  m.sys: Remind File
 Do Text-A   Set  Reset
 WHILE m.sys: char A  Is Not  <LF>
 And m.sys: char A  Is Not  <CR>
 Do Text-A   Set  m.sys: char A
 Do m.sys: char A  Set  m.sys: Remind File
 ENDWHILE
 Do m.inp: message  T1<-T1  Text-A
 ;Do         Text-A                  Set        Log
 ;
 Do Event-Call  Set  msg 2 Evaluate
 ;
 Do m.sys: char A  Set  m.sys: Remind File
 Do m.sys: char A  Set  m.sys: Remind File
 ;read line end while
 ENDWHILE
 ;
 Do m.sys: Remind File Set  Close
 ;
 ENDIF
 End


Event: msg 2 Evaluate   Called ?:Yes
 Do m.sys: logic a  Set  False
 If m.inp: type  Is  D
 And m.inp: time  Is GE  Time
 Then m.sys: logic a  Set  True
 If m.inp: type  Is  M
 And m.inp: time  Is GE  Time
 And m.inp: day1  Is LE  Date
 And m.inp: day2  Is GE  Date
 Then m.sys: logic a  Set  True
 If m.inp: type  Is  R
 And m.inp: time  Is GE  Time
 And m.inp: month1  Is LE  Month
 And m.inp: day1  Is LE  Date
 And m.inp: month2  Is GE  Month
 And m.inp: day2  Is GE  Date
 Then m.sys: logic a  Set  True
 ;
 ;Do         Text-A                  Set        Reset
 ;Do         Text-A                  T1<-Stt    m.sys: logic a
 ;Do         Text-A                  Set        Log
 ;
 BEGINIF m.sys: logic a  Is  True
 ;
 BEGINIF m.inp: sunday  Is  Yes
 And Day   Is  Sunday
 Or m.inp: monday  Is  Yes
 And Day   Is  Monday
 Or m.inp: tuesday  Is  Yes
 And Day   Is  Tuesday
 Or m.inp: wednesday Is  Yes
 And Day   Is  Wednesday
 Or m.inp: thursday  Is  Yes
 And Day   Is  Thursday
 Or m.inp: friday  Is  Yes
 And Day   Is  Friday
 Or m.inp: saturday  Is  Yes
 And Day   Is  Saturday
 Do Number-A  Set  m.inp: time
 Do Number-B  Set  Number-A
 Do Number-B  Divide  100
 Do Number-C  Set  Number-B
 Do Number-C  Multiply 100
 Do Number-D  Set  Number-A
 Do Number-D  Subtract Number-C
 Do m.inp: time2time Set  Number-B
 Do m.inp: time2time Multiply 60
 Do m.inp: time2time Add  Number-D
 Do Number-A  Set  Time
 Do Number-B  Set  Number-A
 Do Number-B  Divide  100
 Do Number-C  Set  Number-B
 Do Number-C  Multiply 100
 Do Number-D  Set  Number-A
 Do Number-D  Subtract Number-C
 Do Number-B  Multiply 60
 Do Number-B  Add  Number-D
 Do m.inp: time2time Subtract Number-B
 Do m.q: mesage  T1<-T1  m.inp: message
 Do m.q: cnt  Set  m.inp: cnt
 Do m.q: timewait  Set  m.inp: timewait
 Do m.q: timeout  Set  m.inp: timeout
 Do m.q: timeout  Add  m.inp: time2time
 Do m.q: wait timer  Set  m.inp: time2time
 Do m.q: motion  T1<-T1  m.inp: motion
 Do m.q: output  T1<-T1  m.inp: output
 Do Event-Call  Set  msg 3 Queue
 ;
 ENDIF
 ENDIF
 End


Event: msg 5 Timeout   Called ?:No
 If m.q: timeout 01  Is Now  0
 Then m.q: cnt 01  Set  0
 Then m.q: mesage 01  Set  Reset
 If m.q: timeout 02  Is Now  0
 Then m.q: cnt 02  Set  0
 Then m.q: mesage 02  Set  Reset
 If m.q: timeout 03  Is Now  0
 Then m.q: cnt 03  Set  0
 Then m.q: mesage 03  Set  Reset
 If m.q: timeout 04  Is Now  0
 Then m.q: cnt 04  Set  0
 Then m.q: mesage 04  Set  Reset
 If m.q: timeout 05  Is Now  0
 Then m.q: cnt 05  Set  0
 Then m.q: mesage 05  Set  Reset
 If m.q: timeout 06  Is Now  0
 Then m.q: cnt 06  Set  0
 Then m.q: mesage 06  Set  Reset
 If m.q: timeout 07  Is Now  0
 Then m.q: cnt 07  Set  0
 Then m.q: mesage 07  Set  Reset
 End


 


  subject (prev) or (next) | time (prev) or (next) | author (prev) or (next) | view more subjects




Services provided by [NetBloc]®! NetBloc Solutions Inc.
Terms of use. Indexing software (c) 1999 Lin-De, Inc
.