stationeers_ic10/gas_mixer.ic10
Snorre Selmer 0eaec70c48 Rewrote variables to not use snake-case
Added automatic light-switch
2022-09-13 20:22:22 +02:00

63 lines
1.4 KiB
Plaintext

# 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
# Stops mixing if either input-gas is below 500kPa
define PRESSINMIN 500
# Stops mixing if output-tank is "full"
define PRESSOUTMAX 58000
# Sets purge pump to max output
l TankAPress Pump Maximum
s Pump Setting TankAPress
start:
yield
s Pump On 0 # Ensures purge pump is off
# Checks is purge is activated
l PurgeActivate Button Setting
bgtz PurgeActivate purge
# Loads tank pressures
l TankAPress TankA Pressure
l TankBPress TankB Pressure
l TankOutPress TankOut Pressure
# Checks if pressures are within tolerances
sgt TankAOK TankAPress PRESSINMIN
sgt TankBOK TankBPress PRESSINMIN
slt TankOutOK TankOutPress PRESSOUTMAX
and MixerRun TankAOK TankBOK
and MixerRun TankOutOK MixerRun
# Activates mixer if all is ok
s Mixer On MixerRun
j start
purge:
yield
s Mixer On 0 # Turns mixer off
# Gets output tank pressure
l TankOutPress TankOut Pressure
s Pump On 1 # Activates purge pump
# Runs pump until tank is empty
bgtz TankOutPress purge
j start