stationeers_ic10/gas_mixer.ic10

61 lines
1.3 KiB
Plaintext
Raw Permalink Normal View History

2021-09-17 09:37:00 +00:00
# Gas-mixing script. Needs two source-tanks and an
# output tank, a gas-mixer, a (turbo) volume pump,
# and a Kit (Button, moment type) to trigger purge.
# Gas mixer ratio is manually set!
alias TankA d0
alias TankB d1
alias TankOut d2
alias Mixer d3
alias Pump d4
alias Button d5
alias TankAPress r0
alias TankBPress r1
alias TankOutPress r2
alias TankAOk r3
alias TankBOk r4
alias TankOutOk r5
alias MixerRun r6
alias PurgeActivate r7
2022-09-25 11:46:15 +00:00
define PRESS_IN_MIN 500 # 500kPa
define PRESS_OUT_MAX 2000 # 2MPa
2021-09-17 09:37:00 +00:00
# Sets purge pump to max output
l TankAPress Pump Maximum
s Pump Setting TankAPress
2021-09-17 09:37:00 +00:00
start:
yield
s Pump On 0 # Ensures purge pump is off
2021-09-17 09:37:00 +00:00
# Checks is purge is activated
l PurgeActivate Button Setting
bgtz PurgeActivate purge
2021-09-17 09:37:00 +00:00
# Loads tank pressures
l TankAPress TankA Pressure
l TankBPress TankB Pressure
l TankOutPress TankOut Pressure
2021-09-17 09:37:00 +00:00
# Checks if pressures are within tolerances
sgt TankAOk TankAPress PRESS_IN_MIN
sgt TankBOk TankBPress PRESS_IN_MIN
slt TankOutOk TankOutPress PRESS_OUT_MAX
2021-09-17 09:37:00 +00:00
and MixerRun TankAOk TankBOk
and MixerRun TankOutOk MixerRun
2021-09-17 09:37:00 +00:00
# Activates mixer if all is ok
s Mixer On MixerRun
2021-09-17 09:37:00 +00:00
j start
purge:
yield
s Mixer On 0 # Turns mixer off
2021-09-17 09:37:00 +00:00
# Gets output tank pressure
l TankOutPress TankOut Pressure
s Pump On 1 # Activates purge pump
2021-09-17 09:37:00 +00:00
# Runs pump until tank is empty
bgtz TankOutPress purge
2021-09-17 09:37:00 +00:00
j start