This commit is contained in:
Snorre Selmer 2022-11-22 22:37:41 +01:00
commit 9fb5e6d42c
2 changed files with 20 additions and 33 deletions

View File

@ -1,26 +1,24 @@
alias GasSensor d0
# d1= Logic Switch, Dial variant (Max=30)
alias Thermostat d1
# d2 = Logic Memory, must be more than 0
alias TempVariance d2
# d3 = Console, LED Display variant, optional
alias TempDisplay d3
# d4 = Wall Cooler
alias WallCooler d4
# d5 = Wall Heater
alias WallHeater d5
# d2 = Console, LED Display variant, optional
alias TempDisplay d2
# d3 = Wall Cooler
alias WallCooler d3
# d4 = Wall Heater
alias WallHeater d4
alias CurrentTemp r0
alias TargetTemp r1
alias Variance r2
alias MinTemp r3
alias MaxTemp r4
alias CoolingActive r5
alias HeatingActive r6
alias Cooler r7
alias Heater r8
alias MinTemp r2
alias MaxTemp r3
alias CoolingActive r4
alias HeatingActive r5
alias Cooler r6
alias Heater r7
define TEMPCONVERT 273.15
define VARIANCE 2
move CoolingActive 0
move HeatingActive 0
@ -31,10 +29,9 @@ l Heater WallHeater PrefabHash
start:
yield
# establish min- and max-temps to registry
l Variance TempVariance Setting
l TargetTemp Thermostat Setting
sub MinTemp TargetTemp Variance
add MaxTemp TargetTemp Variance
sub MinTemp TargetTemp VARIANCE
add MaxTemp TargetTemp VARIANCE
# get current temperature
jal temp_read

View File

@ -1,7 +1,3 @@
# needs a Weather Station
# a siren and an announcer (2x Kit (Speaker))
# and a display of some sort (Kit (Console))
alias Weather d0 # Weather Station
alias Readout d1 # Kit (Console)
alias Announcer d2 # Kit (Speaker)
@ -9,9 +5,7 @@ alias Siren d3 # Kit (Speaker)
alias StormMode r0
alias Minutes r1
alias SirenHigh r2
alias SirenLow r3
alias SirenOn r4
alias SirenOn r2
s Announcer Mode 18 # "StormIncoming"
s Siren Mode 10 # "Alarm8"
@ -32,12 +26,8 @@ l Minutes Weather NextWeatherEventTime
div Minutes Minutes 60 # convert to minutes
trunc Minutes Minutes # drop decimals
s Readout Setting Minutes # send to display
j warning
warning:
slt SirenHigh Minutes 3 # got less than 3m?
sgt SirenLow Minutes 0 # got more than 60s?
and SirenOn SirenHigh SirenLow # sound siren?
bgt Minutes 2 countdown # got more than 3m?
sgt SirenOn Minutes 0 # got more than 60s?
s Siren On SirenOn # start siren if 1<minutes<3
beq StormMode 1 countdown # still waiting? go back
j start # reset and start waiting again