Finisted and tested

This commit is contained in:
Snorre Selmer 2021-08-29 21:37:16 +02:00
parent f7326bbcae
commit e501867d2a

View File

@ -1,8 +1,8 @@
# check for presence of canister # automatic gas-canister filler.
# check canister type in tank storage # only works with player-made cans, starter-cans
# set target pressure accordingly # have different hashes that won't work
# run volume pump until target pressure in canister is reached # !!! Remember to set volume pump to no more !!!
# stop volume pump # !!! than 10l! I have mine at 2l for safety !!!
alias canister_storage d0 alias canister_storage d0
alias volume_pump d1 alias volume_pump d1
@ -10,6 +10,37 @@ alias volume_pump d1
alias canister_present r0 alias canister_present r0
alias canister_hash r1 alias canister_hash r1
alias canister_pressure r2 alias canister_pressure r2
alias canister_hasroom r3
alias fill_pressure r4
alias pump_active r5
define canister 42280099 define canister 42280099
define smart_canister -668314371 define smart_canister -668314371
start:
# check if canister is present
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
regular:
move fill_pressure 8000000 # regular can safe max
j fill # start filling
smart:
move fill_pressure 1400000 # smart can safe max
j fill # start filling
fill:
# get canister pressure in Pa
ls canister_pressure canister_storage 0 Pressure
# is there room in the canister for more gas?
slt canister_hasroom canister_pressure fill_pressure
# is there a can in the slot that has room?
and pump_active canister_hasroom canister_present
# trigger volume pump
s volume_pump On pump_active
j start