# 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