0eaec70c48
Added automatic light-switch
73 lines
1.6 KiB
Plaintext
73 lines
1.6 KiB
Plaintext
# Complete filtration circuit that controls filter-
|
|
# unit, checks filters, maintains safe temperature
|
|
# and pressure.
|
|
#
|
|
# "Mud pipe" is the shared input-pipe for all
|
|
# filtration units, where all gasses are mixed into
|
|
# a "mud" before being filtered.
|
|
|
|
alias MudSensor d0 # Pipe Analyzer
|
|
alias Tank d1 # Tank
|
|
alias PurgeButton d2 # Logic (Switch)
|
|
alias PurgePump d3 # Volume (Turbo) Pump
|
|
alias FilterUnit d4 # Kit (Atmospherics)
|
|
alias FilterDisplay d5 # Kit (Console)
|
|
|
|
alias MudTemp r0
|
|
alias Filter1 r1
|
|
alias Filter2 r2
|
|
alias TankPress r3
|
|
alias FilterRun r4
|
|
alias FilterTest r5
|
|
alias PurgeRun r6
|
|
alias HasGas r7
|
|
|
|
define MAX_PRESS 58000 # 58MPa
|
|
define MAX_TEMP 313.15 # 40C
|
|
|
|
l r9 PurgePump Maximum
|
|
s PurgePump Setting r9
|
|
|
|
s FilterDisplay Color 4 # red
|
|
|
|
start:
|
|
yield
|
|
s PurgePump On 0
|
|
ls Filter1 FilterUnit 0 Quantity
|
|
ls Filter2 FilterUnit 1 Quantity
|
|
beqz Filter1 swap_filter_1
|
|
beqz Filter2 swap_filter_2
|
|
s FilterDisplay On 0
|
|
l PurgeRun PurgeButton Setting
|
|
bgtz PurgeRun purge
|
|
j filter
|
|
|
|
swap_filter_1: # if right filter needs swapping
|
|
s FilterDisplay Setting 1
|
|
s FilterDisplay On 1
|
|
j filter # then continue filtering
|
|
|
|
swap_filter_2: # if left filter needs swapping
|
|
s FilterDisplay Setting 2
|
|
s FilterDisplay On 1
|
|
j filter # then continue filtering
|
|
|
|
filter:
|
|
l MudTemp MudSensor Temperature
|
|
l TankPress Tank Pressure
|
|
l HasGas MudSensor RatioCarbonDioxide
|
|
sgtz HasGas HasGas
|
|
slt FilterRun MudTemp MAX_TEMP
|
|
slt FilterTest TankPress MAX_PRESS
|
|
and FilterRun FilterRun FilterTest
|
|
and FilterRun FilterRun HasGas
|
|
s FilterUnit On FilterRun
|
|
j start
|
|
|
|
purge:
|
|
yield
|
|
s FilterUnit On 0
|
|
l TankPress Tank Pressure
|
|
s PurgePump On 1
|
|
bgtz TankPress purge
|
|
j start |