@@ -26,6 +26,7 @@ def __init__(
2626 filepath : Optional [Union [str , Path ]] = None ,
2727 max_volume : Union [int , float ] = 950 ,
2828 auto_split : bool = True ,
29+ diti_mode : bool = False ,
2930 ) -> None :
3031 """Creates a worklist writer.
3132
@@ -38,6 +39,9 @@ def __init__(
3839 auto_split : bool
3940 If `True`, large volumes in transfer operations are automatically splitted.
4041 If set to `False`, `InvalidOperationError` is raised when a pipetting volume exceeds `max_volume`.
42+ diti_mode
43+ Activate this when using DiTis.
44+ Uses ``W;`` for all wash schemes and raises errors when using commands that are only for fixed tips.
4145 """
4246 self ._filepath : Optional [Path ] = None
4347 if filepath is not None :
@@ -46,6 +50,7 @@ def __init__(
4650 raise ValueError ("The `max_volume` parameter is required." )
4751 self .max_volume = max_volume
4852 self .auto_split = auto_split
53+ self .diti_mode = diti_mode
4954 super ().__init__ ()
5055
5156 @property
@@ -113,13 +118,19 @@ def wash(self, scheme: int = 1) -> None:
113118 scheme : int
114119 Number indicating the wash scheme (default: 1)
115120 """
121+ if self .diti_mode :
122+ self .append ("W;" )
123+ return
124+
116125 if not scheme in {1 , 2 , 3 , 4 }:
117126 raise ValueError ("scheme must be either 1, 2, 3 or 4" )
118127 self .append (f"W{ scheme } ;" )
119128 return
120129
121130 def decontaminate (self ) -> None :
122131 """Decontamination wash consists of a decontamination wash followed by a normal wash."""
132+ if self .diti_mode :
133+ raise InvalidOperationError ("Decontamination wash is not available with DiTis." )
123134 self .append ("WD;" )
124135 return
125136
0 commit comments