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
batch-solar-control.mips
centrifuge-miner-manager.mips
chamber-liquification-mgr.mips
cooling-gas-buffer-room.mips
cooling-gas-buffer.mips
display-avionics.mips
exhaust-gas-cooler-control.mips
fuel-mixer-n2o.mips
fuel-mixer-o2.mips
larre-config-1.mips
larre-farming-hardcoded.mips
larre-farming-stack.mips
light-console.manager.mips
light-manager.mips
loulan-airlock.mips
loulan-arc-furnace-room.mips
loulan-greenhouse.mips
measure-condensation-rate.mips
nitrolyzer-battery-threshold.mips
nitrous-warmer.mips
power-consumption-triple.mips
radiator-control.mips
simpler-gate.mips
sorter-feeding-autooven.mips
trader-scanner.mips
vend-ingots-to-printer-2.mips

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

# 0.33333 for O2, 0.5 for nitrous
define rpprime 0.33333333
alias oxidizermoles r15
alias moles r14
alias volmoles r13
alias volume r12
alias oxidizertemp r11
alias voltemp r10
alias g r9
alias rprime r8
alias beta r7
define MIN_PRESSURE 500

start:
yield

move oxidizermoles 0
move volmoles 0

l moles sensor TotalMoles
blez moles empty
l r0 sensor RatioOxygen		# change this to be the oxidizer
mul oxidizermoles r0 moles

l r0 sensor RatioVolatiles
mul volmoles r0 moles

empty:

mul r0 rpprime volmoles
sub r1 1 rpprime
mul r1 r1 oxidizermoles
sub g r1 r0
# beta = (1-r'')ma - r''mb

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

jal calcvolume
s db Setting volume

l oxidizertemp oxidizersensor 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 oxidizertemp
mul r4 g r4
sub r4 r4 r3 # (T_b-T_a)g - V12.2
div rprime r2 r4

mul r2 rprime oxidizertemp
sub r3 1 rprime
mul r3 r3 voltemp
mul r4 rprime oxidizertemp
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

l r0 oxidizersensor Pressure
sge r1 r0 10
l r0 volsensor Pressure
sge r2 r0 10
and r1 r1 r2

l r0 mixer On
and r1 r0 r1

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.