Source code for qibolab.instruments.port

[docs]class Port: """Abstract interface for instrument parameters. These parameters are exposed to the user through :class:`qibolab.channels.Channel`. Drivers should subclass this interface and implement the getters and setters for all the parameters that are available for the corresponding instruments. Each port is identified by the ``name`` attribute. Note that the type of the identifier can be different of each port implementation. """ name: str """Name of the port that acts as its identifier.""" offset: float """DC offset that is applied to this port.""" lo_frequency: float """Local oscillator frequency for the given port. Relevant only for controllers with internal local oscillators. """ lo_power: float """Local oscillator power for the given port. Relevant only for controllers with internal local oscillators. """ # TODO: Maybe gain, attenuation and power range can be unified to a single attribute gain: float """Gain that is applied to this port.""" attenuation: float """Attenuation that is applied to this port.""" power_range: int """Similar to attenuation (negative) and gain (positive) for (Zurich instruments)."""