Merge branch 'main' of https://github.com/SnorreSelmer/stationeers_ic10
This commit is contained in:
commit
e113078211
@ -16,8 +16,8 @@ alias gas_to_move r3
|
||||
alias fill_pressure r4
|
||||
alias pump_active r5
|
||||
|
||||
define canister 42280099
|
||||
define smart_canister -668314371
|
||||
define CANISTER 42280099
|
||||
define SMART_CANISTER -668314371
|
||||
|
||||
start:
|
||||
yield
|
||||
@ -26,8 +26,8 @@ ls canister_present canister_storage 0 Occupied
|
||||
# identify canister
|
||||
ls canister_hash canister_storage 0 OccupantHash
|
||||
# set safe fill-pressure
|
||||
beq canister_hash canister regular
|
||||
beq canister_hash smart_canister smart
|
||||
beq canister_hash CANISTER regular
|
||||
beq canister_hash SMART_CANISTER smart
|
||||
|
||||
regular:
|
||||
move fill_pressure 8000000 # regular can safe max
|
||||
|
@ -11,7 +11,7 @@ alias temp_go r2
|
||||
alias press_go r3
|
||||
alias pump_go r4
|
||||
|
||||
define temp_thresh 313 # 39.85C
|
||||
define TEMP_THRESH 313 # 39.85C
|
||||
|
||||
# Sets volume pump max capacity
|
||||
l pipe_press pump Maximum
|
||||
@ -23,7 +23,7 @@ yield
|
||||
l pipe_temp sensor Temperature
|
||||
l pipe_press sensor Pressure
|
||||
# Checks if temp is below threshold
|
||||
slt temp_go pipe_temp temp_thresh
|
||||
slt temp_go pipe_temp TEMP_THRESH
|
||||
sgtz press_go pipe_press
|
||||
# If cooling-tower has pressure, and temp is safe..
|
||||
and pump_go temp_go press_go
|
||||
|
@ -23,8 +23,8 @@ alias press_run r6
|
||||
alias filter_run r7
|
||||
alias purge_run r8
|
||||
|
||||
define max_press 58000 # 58MPa
|
||||
define max_temp 313 # 40C
|
||||
define MAX_PRESS 58000 # 58MPa
|
||||
define MAX_TEMP 313 # 40C
|
||||
|
||||
l filter1 purge_pump Maximum # borrow filter1
|
||||
s purge_pump Setting filter1 # set max throughput
|
||||
@ -55,8 +55,8 @@ j filter # then start filtering
|
||||
filter:
|
||||
l mud_temp mud_sensor Temperature # get input temp
|
||||
l tank_press tank Pressure # get output pressure
|
||||
slt temp_run mud_temp max_temp # is temp safe
|
||||
slt press_run tank_press max_press # is press safe
|
||||
slt temp_run mud_temp MAX_TEMP # is temp safe
|
||||
slt press_run tank_press MAX_PRESS # is press safe
|
||||
and filter_run temp_run press_run # temp and press?
|
||||
s filter_unit On filter_run # run filter
|
||||
j start # loop
|
||||
|
@ -20,9 +20,9 @@ alias mixer_run r6
|
||||
alias purge_activate r7
|
||||
|
||||
# Stops mixing if either input-gas is below 500kPa
|
||||
define press_in_min 500
|
||||
define PRESS_IN_MIN 500
|
||||
# Stops mixing if output-tank is "full"
|
||||
define press_out_max 58000
|
||||
define PRESS_OUT_MAX 58000
|
||||
|
||||
# Sets purge pump to max output
|
||||
l tank_a_press pump Maximum
|
||||
@ -41,9 +41,9 @@ 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
|
||||
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
|
||||
|
@ -1,6 +1,11 @@
|
||||
alias gas_sensor d0
|
||||
alias thermostat d1 # Logic Switch, Dial variant (Max=30)
|
||||
alias temp_variance d2 # Logic Memory, must be more than 0 (2 is a good value)
|
||||
# d1= Logic Switch, Dial variant (Max=30)
|
||||
alias thermostat d1
|
||||
# d2 = Logic Memory, must be more than 0
|
||||
alias temp_variance d2
|
||||
# d3 = Console, LED Display variant, optional
|
||||
alias temp_disp d3
|
||||
|
||||
alias curr_temp r0
|
||||
alias target_temp r1
|
||||
alias variance r2
|
||||
@ -9,10 +14,13 @@ alias max_temp r4
|
||||
alias cooling_active r5
|
||||
alias heating_active r6
|
||||
|
||||
define wall_heaters 24258244 # Wall Heaters
|
||||
define wall_coolers -739292323 # Wall Coolers (Gas)
|
||||
define liquid_wall_coolers -1369060582 # Wall Coolers (Liquid)
|
||||
define temp_convert 273
|
||||
define WALL_HEATERS 24258244
|
||||
define WALL_COOLERS -739292323
|
||||
define LIQUID_WALL_COOLERS -1369060582
|
||||
define TEMP_CONVERT 273.15
|
||||
|
||||
move cooling_active 0
|
||||
move heating_active 0
|
||||
|
||||
start:
|
||||
yield
|
||||
@ -23,54 +31,64 @@ sub min_temp min_temp variance
|
||||
l max_temp thermostat Setting
|
||||
add max_temp max_temp variance
|
||||
|
||||
# initiate target temperature
|
||||
l target_temp thermostat Setting
|
||||
|
||||
# read ambient temp from sensor and convert to C
|
||||
l curr_temp gas_sensor Temperature
|
||||
sub curr_temp curr_temp temp_convert
|
||||
# get current temperature
|
||||
jal temp_read
|
||||
|
||||
# update display
|
||||
brdns temp_disp 2
|
||||
jal display
|
||||
|
||||
# compare current temp to max/min temp and
|
||||
# initiate cooling or heating if needed
|
||||
bgt curr_temp max_temp cooling
|
||||
blt curr_temp min_temp heating
|
||||
|
||||
# Go to start again
|
||||
sb WALL_COOLERS On cooling_active
|
||||
sb LIQUID_WALL_COOLERS On cooling_active
|
||||
sb WALL_HEATERS On heating_active
|
||||
|
||||
j start
|
||||
|
||||
temp_read:
|
||||
l curr_temp gas_sensor Temperature
|
||||
sub curr_temp curr_temp TEMP_CONVERT
|
||||
j ra
|
||||
|
||||
display:
|
||||
s temp_disp Setting curr_temp
|
||||
j ra
|
||||
|
||||
cooling:
|
||||
yield
|
||||
# read ambient temp from sensor and convert to C
|
||||
l curr_temp gas_sensor Temperature
|
||||
sub curr_temp curr_temp temp_convert
|
||||
jal temp_read
|
||||
|
||||
# test if coolers need to be on or not
|
||||
sgt cooling_active curr_temp target_temp
|
||||
|
||||
brdns temp_disp 2
|
||||
jal display
|
||||
|
||||
# send state to coolers
|
||||
sb wall_coolers On cooling_active
|
||||
sb liquid_wall_coolers On cooling_active
|
||||
sb WALL_COOLERS On cooling_active
|
||||
sb LIQUID_WALL_COOLERS On cooling_active
|
||||
|
||||
# if curr_temp is higher than target, keep cooling
|
||||
bgt curr_temp target_temp cooling
|
||||
|
||||
# ...if not, go to start again
|
||||
bgtz cooling_active cooling
|
||||
j start
|
||||
|
||||
heating:
|
||||
yield
|
||||
# read ambient temp from sensor and convert to C
|
||||
l curr_temp gas_sensor Temperature
|
||||
sub curr_temp curr_temp temp_convert
|
||||
jal temp_read
|
||||
|
||||
# test if heaters need to be on or not
|
||||
slt heating_active curr_temp target_temp
|
||||
|
||||
brdns temp_disp 2
|
||||
jal display
|
||||
|
||||
# send state to heaters
|
||||
sb wall_heaters On heating_active
|
||||
sb WALL_HEATERS On heating_active
|
||||
|
||||
# if curr_temp is lower than target, keep heating
|
||||
blt curr_temp target_temp heating
|
||||
|
||||
# ...if not, go to start again
|
||||
bgtz heating_active heating
|
||||
j start
|
Loading…
Reference in New Issue
Block a user