| ECS-L Home Automation and Security Archives |
| Subject: From: Date: | message system peter kraus 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