furnace
advanced-furnace.mips
arc-furnace-room-control.mips
furnace-calc-pre.mips
furnace-ingot-recipe.mips
furnace-operate.mips
furnace-room-vacuum-pump.mips
hot-cold-waste-tank-manager.mips
hot-tank-filler.mips
pressurize-furnace.mips
waste-tank-to-cold-tank-with-chiller.mips
furnace-waste-chiller.mips

manufacturing
vend-ingots-to-printer.mips
vending-ore-counter-omni-fast.mips
vending-ore-counter-omni-slow.mips
vending-ore-counter-single.mipsr
vending-ore-counter-triple.mips

greenhouse
greenhouse-ac.mips
greenhouse-o2-pressure-display.mips
greenhouse-oxygen-harvest.mips
greenhouse-temperature.mips
harvie-triple.mips
seed-distributer.mips
seed-sorter-old.mips
seed-sorter.mips
stacker-vending-button.mips

atmospherics
base-atmosphere-control.mips
battery-room-atmosphere.mips
battery-room-vent-setter.mips
harvest-cold-atmosphere.mips
harvest-liquid-from-atmosphere.mips
refrigeration-room.mips

mining rocket
rocket-driving.mips
rocket-miner-readout.mips

ore warehousing
ore-sorter-multi.mips
ore-sorter2-multi.mips
gas-rock-sorter.mips
centrifuge-ore.mips

gas handling
gas-filter-chain.mips
co2-tank-pressure-management.mips
fuel-mixer.mips
gas-harvester.mips
gas-mixer-nitrous.mips
n2o-heater.mips
pump-feed-nitrolyzer.mips
show-gas-pressure-triple.mips
manage-coolant-from-atmosphere.mips

doors
weather-gate.mips
door-switch-logic.mips

solar
solar-old.mips
1-axis-solar-panel-control.mips
2-axis-solar-panel-control.mips

biomass fuel
biomass-generator-pipeline.mips
biomass-generator-silo.mips
biomass-recycler.mips
charcoal-stockpile-display.mips

AIMeE
aimee-old.mips
aimee-position-display.mips
aimee.mips


airlock-tank-accelerator-mgmt.mips
cooling-gas-buffer-room.mips
cooling-gas-buffer.mips
light-console.manager.mips
light-manager.mips
loulan-airlock.mips
loulan-arc-furnace-room.mips
loulan-greenhouse.mips
power-consumption-triple.mips
radiator-control.mips
trader-scanner.mips

alias mixer d0
alias sensor d1
alias n2osensor d3
alias volsensor d4


define rpprime 0.5
alias n2omoles r15
alias moles r14
alias volmoles r13
alias volume r12
alias n2otemp r11
alias voltemp r10
alias g r9
alias rprime r8
define MIN_PRESSURE 500

start:
yield

move n2omoles 0
move volmoles 0

l moles sensor TotalMoles
blez moles empty
l r0 sensor RatioNitrousOxide
mul n2omoles r0 moles

l r0 sensor RatioVolatiles
mul volmoles r0 moles

empty:

sub g n2omoles volmoles # ratio of 0.5
mul g rpprime g
# formula gets more complex if r'' != 0.5

jal calcvolume
s db Setting volume

l n2otemp n2osensor Temperature
l voltemp volsensor Temperature

mul r3 volume 12.187
mul r2 g voltemp
mul r5 rpprime r3
sub r2 r2 r5 # gT_b - r''V12.2

sub r4 voltemp n2otemp
mul r4 g r4
sub r4 r4 r3 # (T_b-T_a)g - V12.2
div rprime r2 r4

mul r2 rprime n2otemp
sub r3 1 rprime
mul r3 r3 voltemp
mul r4 rprime n2otemp
add r3 r3 r4
div r2 r2 r3

mul r2 r2 100
#sub r2 100 r2  # if your volatiles are on Input 1
#s d5 Setting r2
s mixer Setting r2


l r0 sensor Pressure
slt r1 r0 MIN_PRESSURE
# need more pressure

s mixer On r1


j start

calcvolume:
l volume sensor Volume
j ra

MIPS is the programming language used by IC (integrated circuits) in the game Stationeers. Stationeering web site has a MIPS emulator with syntax highlighting and error detection.