The following compiles, but I'm not able to test yet as I'm waiting for a 20 x 4 LCD
Code:
TimeCmpFlags = 0 ; clear flags first
; if the Start and Stop times are the same, then Always OFF
if (lightsetHR[fn]=timeH) AND _
(lightsetMN[fn]=timeM) then AlwaysOFF
; is it past the Start time?
if (timeH>lightsetHR[fn]) OR _
(timeH=lightsetHR[fn] AND timeM>lightsetMN[fn])then PastStart[fn]=1
; is it past the Stop time?
if (timeH>lightoffHR[fn]) OR _
(timeH=lightoffHR[fn] AND timeM>lightoffMN[fn])then PastStop[fn]=1
; does the period end the following day?
if (lightoffHR[fn]< lightsetHR[fn]) OR _
(lightoffHR[fn]=lightsetHR[fn] AND lightoffMN[fn] < lightsetMN[fn]) then NextDay[fn]=1
' endif
;---------------
if !NextDay then ; same day, use AND
if PastStart[fn] AND !PastStop[fn] then ProgON = 1
else ; next day, use OR
IF PastStart[fn] OR !PastStop[fn] then ProgON = 1
endif
if fn=0 and ProgON=1 then Lights1 = 1
LCDOut $FE, $94+9,"Lights ON"
if fn=1 and ProgOn=1 then Lights2 = 1 'turn on those light
LCDOut $FE, $94+9,"Lights ON"
AlwaysOFF:
Lights1 = 0
Lights2 = 0 'turn off the light
if lights1 = 0 and lights2 = 0 then
LCDOut $FE, $94+9," "
endif
return
Bookmarks