pychemstation.utils.injector_types
1from dataclasses import dataclass 2from enum import Enum 3from typing import List, Optional, Union 4 5from pychemstation.utils.tray_types import Tray 6 7 8class SourceType(Enum): 9 DEFAULT = "ActualPosition" 10 SPECIFIC_LOCATION = "ActualPositionPlusLocation" 11 LOCATION = "Location" 12 13 14class Mode(Enum): 15 DEFAULT = "Default" 16 SET = "Set" 17 18 19@dataclass 20class Draw: 21 amount: Optional[float] = None 22 location: Optional[Tray] = None 23 source: Optional[Tray] = None 24 25 26@dataclass 27class DrawDefaultVolume: 28 location: Optional[Tray] = None 29 30 31@dataclass 32class DrawDefaultLocation: 33 amount: Optional[float] = None 34 35 36@dataclass 37class DrawDefault: 38 pass 39 40 41@dataclass 42class Wait: 43 duration: Union[int, float] 44 45 46@dataclass 47class Inject: 48 pass 49 50 51class RemoteCommand(Enum): 52 START = "START" 53 NOT_READY = "NOT_READY" 54 STOP = "STOP" 55 READY = "READY" 56 PREPARE = "PREPARE" 57 58 59@dataclass 60class Remote: 61 command: RemoteCommand 62 duration: int 63 64 65InjectorFunction = Union[ 66 Draw, DrawDefault, DrawDefaultVolume, DrawDefaultLocation, Wait, Inject, Remote 67] 68 69 70@dataclass 71class InjectorTable: 72 functions: List[InjectorFunction]
class
SourceType(enum.Enum):
9class SourceType(Enum): 10 DEFAULT = "ActualPosition" 11 SPECIFIC_LOCATION = "ActualPositionPlusLocation" 12 LOCATION = "Location"
DEFAULT =
<SourceType.DEFAULT: 'ActualPosition'>
SPECIFIC_LOCATION =
<SourceType.SPECIFIC_LOCATION: 'ActualPositionPlusLocation'>
LOCATION =
<SourceType.LOCATION: 'Location'>
class
Mode(enum.Enum):
DEFAULT =
<Mode.DEFAULT: 'Default'>
SET =
<Mode.SET: 'Set'>
@dataclass
class
Draw:
20@dataclass 21class Draw: 22 amount: Optional[float] = None 23 location: Optional[Tray] = None 24 source: Optional[Tray] = None
Draw( amount: Optional[float] = None, location: Union[pychemstation.utils.tray_types.FiftyFourVialPlate, pychemstation.utils.tray_types.VialBar, pychemstation.utils.tray_types.LocationPlus, NoneType] = None, source: Union[pychemstation.utils.tray_types.FiftyFourVialPlate, pychemstation.utils.tray_types.VialBar, pychemstation.utils.tray_types.LocationPlus, NoneType] = None)
location: Union[pychemstation.utils.tray_types.FiftyFourVialPlate, pychemstation.utils.tray_types.VialBar, pychemstation.utils.tray_types.LocationPlus, NoneType] =
None
source: Union[pychemstation.utils.tray_types.FiftyFourVialPlate, pychemstation.utils.tray_types.VialBar, pychemstation.utils.tray_types.LocationPlus, NoneType] =
None
@dataclass
class
DrawDefaultVolume:
DrawDefaultVolume( location: Union[pychemstation.utils.tray_types.FiftyFourVialPlate, pychemstation.utils.tray_types.VialBar, pychemstation.utils.tray_types.LocationPlus, NoneType] = None)
location: Union[pychemstation.utils.tray_types.FiftyFourVialPlate, pychemstation.utils.tray_types.VialBar, pychemstation.utils.tray_types.LocationPlus, NoneType] =
None
@dataclass
class
DrawDefaultLocation:
@dataclass
class
DrawDefault:
@dataclass
class
Wait:
@dataclass
class
Inject:
class
RemoteCommand(enum.Enum):
52class RemoteCommand(Enum): 53 START = "START" 54 NOT_READY = "NOT_READY" 55 STOP = "STOP" 56 READY = "READY" 57 PREPARE = "PREPARE"
START =
<RemoteCommand.START: 'START'>
NOT_READY =
<RemoteCommand.NOT_READY: 'NOT_READY'>
STOP =
<RemoteCommand.STOP: 'STOP'>
READY =
<RemoteCommand.READY: 'READY'>
PREPARE =
<RemoteCommand.PREPARE: 'PREPARE'>
@dataclass
class
Remote:
Remote( command: RemoteCommand, duration: int)
command: RemoteCommand
InjectorFunction =
typing.Union[Draw, DrawDefault, DrawDefaultVolume, DrawDefaultLocation, Wait, Inject, Remote]
@dataclass
class
InjectorTable:
InjectorTable( functions: List[Union[Draw, DrawDefault, DrawDefaultVolume, DrawDefaultLocation, Wait, Inject, Remote]])
functions: List[Union[Draw, DrawDefault, DrawDefaultVolume, DrawDefaultLocation, Wait, Inject, Remote]]