SYSTEM_NAME = "FIDO SN 02"  # change to name once written to Flash drive
BOARD_INFORMATION = "FIDO Rev B"  # print this out on boot

# The following are the valve channel numbers.
# A total of 16 valves are spread across 2 boards of 8 valves each.
# board 0 handles 0-7 and board 1 handles 8-15
# Board 0 (0-7)
SAMPLEPUMP = 5
INTAKEVALVE = 0
NITROAIRVALVE = 1    # air is a pressurized N2 gas canister
PRESERVATIVEVALVE = 2

# Board 1 (8-15)
EXHAUSTVALVE = 8
VACUUMVALVE = 9
WASTEVALVE = 10
DECONVALVE = 11
SUCTIONVALVE = 12  # Vacuum arm valve
SUCTIONBREAKVALVE = 13
VACUUMCLEARVALVE = 14

MIN_PRESSUREPOT_PRESSURE_PSI = 5.0
SAMPLING_PRESSURE = 20.0  # PSI

CLAMP_MIN_PRELOAD_LBS = 10

GOODVACUUM = 100  # ADC counts related to a strong vacuum

# default values for sample if not specified in parameters
pressurePot = False

# Clamp closes on puck with just enough force to hold it so
# arm can let go and back away, then it holds it in place,
# finally sealing
CLAMP_GRAB_LBS = 2.5    # lbs: just enough force to back away
CLAMP_CLOSE_LBS = 60    # lbs: crushed down on puck
CLAMP_SEAL_LBS = 65     # lbs: full seal, ready for sample

# distances the clamp needs to travel
CLAMP_MAX_DISTANCE = 51000       # full open to full close
CLAMP_FLUSH_DISTANCE = (10850*5)+4000     # full open to flush position (full close)
CLAMP_GRAB_OPEN_DISTANCE = (2000*5)+3000  # full open to grab position
CLAMP_GRAB_CLOSE_RETAIN_DISTANCE = (2800*5)+3000  # move from close back to grab
CLAMP_CLOSE_SEAL_DISTANCE = 100*5       # addition from close to seal
CLAMP_PUCK_CLOSE_DISTANCE = 20000       # from open to close on puck, bypass grab

# Puck positioning detection via clamp travel distance
# Properly positioned pucks require clamp travel within expected range to reach close force
# Insufficient travel: flipped puck, misaligned puck, improperly assembled puck
# Excessive travel: no puck present, puck fell through, mechanical issue
CLAMP_MIN_PUCK_STEPS = 16000            # minimum steps for properly positioned puck
CLAMP_MAX_PUCK_STEPS = 21000            # maximum steps for properly positioned puck

CLAMP_MIN_FULL_STEPS = 48000            # minimum steps for full lcose
CLAMP_MAX_FULL_STEPS = 53000            # maximum steps for full close

# Max per-call delivery volume (all reagents), in microliters (uL)
# Default 500 mL; adjust per deployment needs
MAX_DELIVERY_UL = 500_000

# Actuator stateSet wait time in milliseconds
# Time to wait after setting actuator state before checking fault flags
ACTUATOR_WAIT_MS = 1000