pylabrobot.bmg_labtech.vantastar.driver.master.VANTAstarDriver.estimate_duration#

async VANTAstarDriver.estimate_duration(read: Callable[[], Awaitable[Any]]) → int#

The run time in s the reader expects for the read read makes, without reading.

read is called as usual, e.g. lambda: reader.absorbance.measure([450]). When the read reaches its RUN, the RUN is sent with CalcTimeOnly set (estimate_run_time) and the call ends there with the reader’s estimate: one read, the first. Meanwhile shaking before the read and pause_before_reading are skipped, so the estimate leaves them out, and any other command (a drawer move, a gain and focus adjustment) is refused: nothing moves.

On the tested reader every read finished 2.5-7 s before its estimate. A reader without the luminescence module estimates a luminescence read too, which it then refuses (quit code 205).

Raises:
  • ValueError – if read ends without a read.

  • RuntimeError – if read sends another command, or as the read raises it (the drawer is open, no plate).

  • CommandRefusedError – if the reader refuses the read’s fields, as it refuses them for a read.

Parameters:

read (Callable[[], Awaitable[Any]])

Return type:

int