# HWTimestamper

## class HWTimestamper(last_timestamp: int)[source]

Bases: [`object`](https://docs.python.org/3/builtins/functions.html#object "(in Python v3.15)")

Contiguous nanosecond timestamps for hardware-timed DAQ batches.

Anchors to the wall clock exactly once via `seed()`, then advances by
sample period on every `next_batch()` call — eliminates timestamp overlap
when consecutive reads return in rapid succession.

Methods

| [`next_batch`](https://dev.nominal.io/instro/ref/instruments/instro.daq.drivers.HWTimestamper.md#instro.daq.drivers.HWTimestamper.next_batch "instro.daq.drivers.HWTimestamper.next_batch") | Return `length` ns timestamps at `dt` spacing, continuing from the previous batch. |
| --- | --- |
| [`seed`](https://dev.nominal.io/instro/ref/instruments/instro.daq.drivers.HWTimestamper.md#instro.daq.drivers.HWTimestamper.seed "instro.daq.drivers.HWTimestamper.seed") | Anchor the timeline at `t_wall` ns (read-return time of the first batch). |

### classmethod seed( t_wall: int, dt: int, length: int, ) → tuple[HWTimestamper, list[int]][source]

Anchor the timeline at `t_wall` ns (read-return time of the first batch).

### next_batch(dt: int, length: int) → list[int][source]

Return `length` ns timestamps at `dt` spacing, continuing from the previous batch.
