63 lines
1.4 KiB
Plaintext
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 tank_a d0
|
||
|
alias tank_b d1
|
||
|
alias tank_out d2
|
||
|
alias mixer d3
|
||
|
alias pump d4
|
||
|
alias button d5
|
||
|
|
||
|
alias tank_a_press r0
|
||
|
alias tank_b_press r1
|
||
|
alias tank_out_press r2
|
||
|
alias tank_a_ok r3
|
||
|
alias tank_b_ok r4
|
||
|
alias tank_out_ok r5
|
||
|
alias mixer_run r6
|
||
|
alias purge_activate r7
|
||
|
|
||
|
# Stops mixing if either input-gas is below 500kPa
|
||
|
define press_in_min 500
|
||
|
# Stops mixing if output-tank is "full"
|
||
|
define press_out_max 58000
|
||
|
|
||
|
# Sets purge pump to max output
|
||
|
l tank_a_press pump Maximum
|
||
|
s pump Setting tank_a_press
|
||
|
|
||
|
start:
|
||
|
yield
|
||
|
s pump On 0 # Ensures purge pump is off
|
||
|
# Checks is purge is activated
|
||
|
l purge_activate button Setting
|
||
|
bgtz purge_activate purge
|
||
|
|
||
|
# Loads tank pressures
|
||
|
l tank_a_press tank_a Pressure
|
||
|
l tank_b_press tank_b Pressure
|
||
|
l tank_out_press tank_out Pressure
|
||
|
|
||
|
# Checks if pressures are within tolerances
|
||
|
sgt tank_a_ok tank_a_press press_in_min
|
||
|
sgt tank_b_ok tank_b_press press_in_min
|
||
|
slt tank_out_ok tank_out_press press_out_max
|
||
|
|
||
|
and mixer_run tank_a_ok tank_b_ok
|
||
|
and mixer_run tank_out_ok mixer_run
|
||
|
|
||
|
# Activates mixer if all is ok
|
||
|
s mixer On mixer_run
|
||
|
j start
|
||
|
|
||
|
purge:
|
||
|
yield
|
||
|
s mixer On 0 # Turns mixer off
|
||
|
# Gets output tank pressure
|
||
|
l tank_out_press tank_out Pressure
|
||
|
s pump On 1 # Activates purge pump
|
||
|
# Runs pump until tank is empty
|
||
|
bgtz tank_out_press purge
|
||
|
j start
|