stationeers_ic10/filtration.ic10

73 lines
1.6 KiB
Plaintext
Raw Normal View History

2021-09-04 22:15:58 +00:00
# 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)
2021-09-04 21:53:19 +00:00
alias MudTemp r0
alias Filter1 r1
alias Filter2 r2
alias TankPress r3
alias FilterRun r4
alias FilterTest r5
alias PurgeRun r6
alias HasGas r7
2021-09-04 21:53:19 +00:00
2021-11-15 13:32:10 +00:00
define MAX_PRESS 58000 # 58MPa
define MAX_TEMP 313.15 # 40C
2021-09-04 21:53:19 +00:00
l r9 PurgePump Maximum
s PurgePump Setting r9
2022-01-17 10:49:38 +00:00
s FilterDisplay Color 4 # red
2021-09-04 21:53:19 +00:00
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
2022-01-17 10:49:38 +00:00
j filter
2021-09-04 22:15:58 +00:00
swap_filter_1: # if right filter needs swapping
s FilterDisplay Setting 1
s FilterDisplay On 1
2022-01-17 10:49:38 +00:00
j filter # then continue filtering
2021-09-04 21:53:19 +00:00
2021-09-04 22:15:58 +00:00
swap_filter_2: # if left filter needs swapping
s FilterDisplay Setting 2
s FilterDisplay On 1
2022-01-17 10:49:38 +00:00
j filter # then continue filtering
2021-09-04 21:53:19 +00:00
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
2022-01-17 10:49:38 +00:00
j start
2021-09-04 22:15:58 +00:00
2022-01-17 10:49:38 +00:00
purge:
2021-09-04 21:53:19 +00:00
yield
s FilterUnit On 0
l TankPress Tank Pressure
s PurgePump On 1
bgtz TankPress purge
2022-01-17 10:49:38 +00:00
j start