Driver framework ================ All Python instrument drivers derive directly or indirectly from :class:`~mpylab.device.driver.DRIVER`. A concrete driver translates the common device API into protocol commands and declares the unit used by the instrument. Unit conversion is delegated to :mod:`mpylab.tools.uconv`. Common base class ----------------- .. autoclass:: mpylab.device.driver.DRIVER :members: Init, Quit, GetDescription Instrument-family contracts --------------------------- .. autoclass:: mpylab.device.signalgenerator.SIGNALGENERATOR :members: .. autoclass:: mpylab.device.receiver.RECEIVER :members: .. autoclass:: mpylab.device.powermeter.POWERMETER :members: .. autoclass:: mpylab.device.fieldprobe.FIELDPROBE :members: .. autoclass:: mpylab.device.amplifier.AMPLIFIER :members: .. autoclass:: mpylab.device.nport.NPORT :members: .. autoclass:: mpylab.device.networkanalyzer.NETWORKANALYZER :members: .. autoclass:: mpylab.device.spectrumanalyzer.SPECTRUMANALYZER :members: .. autoclass:: mpylab.device.motorcontroller.MOTORCONTROLLER :members: .. autoclass:: mpylab.device.lisn.LISN :members: These classes define family-specific behavior and defaults. Applications normally select a concrete driver through an INI file instead of importing it directly. The :doc:`multichannel driver guide <../en/framework/multichannel-drivers>` documents shared controllers, channel facades, acquisition modes, and the supported concrete power-meter and field-probe drivers.