2022-09-13 18:22:22 +00:00
|
|
|
alias Weather d0 # Weather Station
|
|
|
|
alias Readout d1 # Kit (Console)
|
|
|
|
alias Announcer d2 # Kit (Speaker)
|
|
|
|
alias Siren d3 # Kit (Speaker)
|
2021-08-30 15:28:11 +00:00
|
|
|
|
2022-09-13 18:22:22 +00:00
|
|
|
alias StormMode r0
|
|
|
|
alias Minutes r1
|
2022-11-17 14:53:42 +00:00
|
|
|
alias SirenOn r2
|
2021-08-30 15:28:11 +00:00
|
|
|
|
2022-09-13 18:22:22 +00:00
|
|
|
s Announcer Mode 18 # "StormIncoming"
|
|
|
|
s Siren Mode 10 # "Alarm8"
|
2021-08-30 15:28:11 +00:00
|
|
|
|
|
|
|
start:
|
2021-09-04 11:06:00 +00:00
|
|
|
yield
|
2022-09-13 18:22:22 +00:00
|
|
|
l StormMode Weather Mode # check weather
|
|
|
|
s Announcer On 0 # reset Announcer
|
|
|
|
beq StormMode 1 countdown # countdown if incoming
|
2021-08-30 15:28:11 +00:00
|
|
|
j start # else return to start
|
|
|
|
|
|
|
|
countdown:
|
2021-09-04 11:06:00 +00:00
|
|
|
yield
|
2022-09-13 18:22:22 +00:00
|
|
|
l StormMode Weather Mode # check weather
|
|
|
|
s Announcer On 1 # announce storm
|
2021-08-30 15:28:11 +00:00
|
|
|
# get countdown value
|
2022-09-13 18:22:22 +00:00
|
|
|
l Minutes Weather NextWeatherEventTime
|
|
|
|
div Minutes Minutes 60 # convert to minutes
|
|
|
|
trunc Minutes Minutes # drop decimals
|
|
|
|
s Readout Setting Minutes # send to display
|
2022-11-17 14:53:42 +00:00
|
|
|
bgt Minutes 2 countdown # got more than 3m?
|
|
|
|
sgt SirenOn Minutes 0 # got more than 60s?
|
2022-09-13 18:22:22 +00:00
|
|
|
s Siren On SirenOn # start siren if 1<minutes<3
|
|
|
|
beq StormMode 1 countdown # still waiting? go back
|
2022-11-17 14:33:44 +00:00
|
|
|
j start # reset and start waiting again
|