@@ -1621,6 +1621,7 @@ async def aspirate96(
16211621 liquids = [(None , volume )]
16221622 all_liquids .append (liquids )
16231623 else :
1624+ # tracker is enabled: update tracker liquid history
16241625 liquids = well .tracker .remove_liquid (volume = volume ) # type: ignore
16251626 all_liquids .append (liquids )
16261627
@@ -1760,15 +1761,16 @@ async def dispense96(
17601761 if not len (containers ) == 96 :
17611762 raise ValueError (f"dispense96 expects 96 wells, got { len (containers )} " )
17621763
1763- for channel , well in zip (self .head96 .values (), containers ):
1764+ for well , channel in zip (containers , self .head96 .values ()):
17641765 # even if the volume tracker is disabled, a liquid (None, volume) is added to the list
17651766 # during the aspiration command
17661767 liquids = channel .get_tip ().tracker .remove_liquid (volume = volume )
17671768 reversed_liquids = list (reversed (liquids ))
17681769 all_liquids .append (reversed_liquids )
17691770
1770- for liquid , vol in reversed_liquids :
1771- well .tracker .add_liquid (liquid = liquid , volume = vol )
1771+ if not well .tracker .is_disabled and does_volume_tracking ():
1772+ for liquid , vol in reversed_liquids :
1773+ well .tracker .add_liquid (liquid = liquid , volume = vol )
17721774
17731775 dispense = MultiHeadDispensePlate (
17741776 wells = cast (List [Well ], containers ),
0 commit comments