The wiki has moved!

Visit the new wiki at stationeers-wiki.com The old wiki here at legacy.stationeers-wiki.com will sunset eventually.

Edits made after the 7th of March 6PM EST were NOT carried over to the new server as previously announced right here in this box.

 Actions

User

Difference between revisions of "Carsten Milkau/Dual-Atmosphere Airlock"

From Unofficial Stationeers Wiki

< User:Carsten Milkau
(Vent activation: binary variants)
(Vent direction: Vent direction: equality comparison is a more straightforward explanation than a NOT gate)
 
(3 intermediate revisions by the same user not shown)
Line 18: Line 18:
  
 
[[User:Carsten Milkau/D-Latch]]
 
[[User:Carsten Milkau/D-Latch]]
 +
 +
<pre>if (internal_pressure > vacuum_pressure)
 +
then current_atmosphere = current_atmosphere
 +
else current_atmosphere = target_atmosphere</pre>
  
 
=== Door sensor ===
 
=== Door sensor ===
Line 24: Line 28:
 
* [[Kit (Logic I/O)#Batch Reader|Batch Reader]]
 
* [[Kit (Logic I/O)#Batch Reader|Batch Reader]]
 
* [[User:Carsten Milkau/NOT Gate]]
 
* [[User:Carsten Milkau/NOT Gate]]
 +
 +
<pre>num_open_doors = read_sum(airlock_door open)
 +
doors_closed  = (num_open_doors = 0)</pre>
  
 
=== Door control ===
 
=== Door control ===
Line 42: Line 49:
 
=== Vent direction ===
 
=== Vent direction ===
  
[[User:Carsten Milkau/NOT Gate]]
+
[[Kit (Logic Processor)#Compare Unit|Compare Unit]]
 +
 
 +
<pre>if (my target atmosphere)
 +
then pressurize
 +
else depressurize</pre>

Latest revision as of 09:18, 22 July 2018

Structure

Piping

Electronics

Constants

  • Zero
  • "Vacuum" pressure

Target Atmosphere

Current Atmosphere

User:Carsten Milkau/D-Latch

if (internal_pressure > vacuum_pressure)
then current_atmosphere = current_atmosphere
else current_atmosphere = target_atmosphere

Door sensor

num_open_doors = read_sum(airlock_door open)
doors_closed   = (num_open_doors = 0)

Door control

 if (my atmosphere) 
 then (internal pressure >= external pressure)
 else Zero

Vent activation

 if (my atmosphere) 
 then (doors closed) 
 else Zero
  • atmosphere 0: max(atmosphere1, any door open) = Zero
  • atmosphere 1: atmosphere1 > any door open

Vent direction

Compare Unit

if (my target atmosphere) 
then pressurize 
else depressurize