########################################################################
### FILE: fluidics.mod
### PURPOSE: Fluidics initialization
### SCOPE: Top Level
###
### Copyrights (C) 2010 Life Technologies. All rights reserved.
########################################################################
### Fluidics Ready state
STATE:NEW Fluidics:Ready
STATe:DEPendency+ Instrument:Initialized -requires=Fluidics:Ready
### Liquid Pump
STATE:NEW LiquidPump:On
STATe:DEPendency+ LiquidPump:On -conflicts=FrontDoor:Open
STATE:DEPendency+ Fluidics:Ready -requires=LiquidPump:On
### Tank Levels
STATE:NEW SystemLiquid:Installed
STATe:NEW SystemLiquid:Full
STATe:NEW SystemLiquid:HalfEmpty
STATe:NEW SystemLiquid:Low
STATe:NEW SystemLiquid:Empty
STATe:DEPendency LiquidPump:On -requires=SystemLiquid:Installed -conflicts=SystemLiquid:Empty
STATE:NEW RinseTank:Installed
STATe:NEW RinseTank:Empty
STATe:NEW RinseTank:High
STATe:NEW RinseTank:Full
STATe:NEW WasteTank:Installed
STATe:NEW WasteTank:Empty
STATe:NEW WasteTank:High
STATe:NEW WasteTank:Full
STATe:DEPendency Fluidics:Ready -conflicts=SystemLiquid:Empty,RinseTank:Full,WasteTank:Full
STATe:DEPendency Fluidics:Ready -requires=RinseTank:Installed,WasteTank:Installed
FLUidics:ALIas TankThreshold? CONFiguration? fluidics_specs.ini TankThresholds
DEFine TANK? $tank$
SET statelist $(CONF? -ignoreMissing fluidics_specs.ini TankLevels $tank$)
UNLESS ${#statelist}
ERRor -id=NoSuchTank -tank="$tank$" \
"Tank must be one of: $(CONF* fluidics_specs.ini TankLevels)"
ITERATE -key=statelevel ${statelist}
SET state $[ "${statelevel}".split(":")[0] ]
SET color $[ "${statelevel}".split(":")[1] ]
IF $[ "${state}" == "" ]
RETURN ${color}
ELIF $(STATE? -errorstate=False $tank$:${state})
RETURN ${color}
DESCribe TANK?
Return the current sensor state for the specified tank, which must be one of
"SystemLiquid", "RinseTank", or "WasteTank".
The returned level is one of:
Full
High
Low
Minimal (only for "SystemLiquid" tank)
Empty
### Set up Robot
MODule robotics.mod