# 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) alias MudTemp r0 alias Filter1 r1 alias Filter2 r2 alias TankPress r3 alias FilterRun r4 alias FilterTest r5 alias PurgeRun r6 alias HasGas r7 define MAX_PRESS 58000 # 58MPa define MAX_TEMP 313.15 # 40C l r9 PurgePump Maximum s PurgePump Setting r9 s FilterDisplay Color 4 # red 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 j filter swap_filter_1: # if right filter needs swapping s FilterDisplay Setting 1 s FilterDisplay On 1 j filter # then continue filtering swap_filter_2: # if left filter needs swapping s FilterDisplay Setting 2 s FilterDisplay On 1 j filter # then continue filtering 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 j start purge: yield s FilterUnit On 0 l TankPress Tank Pressure s PurgePump On 1 bgtz TankPress purge j start