striqt.sensor.bindings

A registry of data class <-> IQ acquisition control class bindings. These are taken to define sensors. Extension classes can implement peripherals and expanded data fields elsewhere.

Available Sensor Bindings:

class striqt.sensor.bindings.Schema(source: 'type[SS]', capture: 'type[SC]', peripherals: 'type[SP]', init_like: 'Callable[PS, Any]', arm_like: 'Callable[PC, Any]')

Bases: Generic[SS, SP, SC, PS, PC]

arm_like: Callable[PC, Any]
capture: type[SC]
init_like: Callable[PS, Any]
peripherals: type[SP]
source: type[SS]
class striqt.sensor.bindings.SensorBinding(source: 'type[SourceBackend[SS, SC]]', sweep_spec: 'type[BoundSweep[SS, SP, SC]]', peripherals: 'type[Peripherals[SP, SC]]', sink: 'type[sinks.SinkBase[SC]]', schema: 'specs.Schema[SS, SP, SC, PS, PC]')

Bases: Sensor[SS, SP, SC], Generic[SS, SP, SC, PS, PC]

property controller: type[Controller[SS, SC, PS, PC]]
schema: Schema[SS, SP, SC, PS, PC]
sweep_spec: type[BoundSweep[SS, SP, SC]]
striqt.sensor.bindings.bind_manual_yfactor_calibration(name: str, sensor: bindings.SensorBinding[SS, SP, Any, PS, PC]) bindings.SensorBinding[SS, SP, Any, PS, PC]

extend an existing binding with a y-factor calibration

striqt.sensor.bindings.bind_sensor(key: str, sensor: Sensor[TS2, TP2, TC2], schema: Schema[SS, SP, SC, PS, PC], register: bool = True) SensorBinding[SS, SP, SC, PS, PC]

register a binding between specifications and controller classes.

Parameters:
  • key – the key used when instantiating from yaml/json

  • sensor – the binding classes

striqt.sensor.bindings.sensor(*, source: type[~striqt.sensor.lib.typing.SourceBackend[~striqt.sensor.lib.typing.SS, ~striqt.sensor.lib.typing.SC]], sweep_spec: type[~striqt.sensor.specs.Sweep[~striqt.sensor.lib.typing.SS, ~striqt.sensor.lib.typing.SP, ~striqt.sensor.lib.typing.SC]] = <class 'striqt.sensor.specs.Sweep'>, peripherals: type[~striqt.sensor.lib.typing.Peripherals[~striqt.sensor.lib.typing.SP, ~striqt.sensor.lib.typing.SC]] = <class 'striqt.sensor.lib.peripherals.NoPeripherals'>, sink: type[~striqt.sensor.lib.sinks.SinkBase[~striqt.sensor.lib.typing.SC]] = <class 'striqt.sensor.lib.sinks.ZarrCaptureSink'>) Sensor[SS, SP, SC]