# Functions Operations exposed by this device — schema-registered operations and ``@expose_to_api`` methods. See [Usage](usage.md) for how to call them, locally or over a client. ```{eval-rst} .. py:function:: configure_and_measure_power(wavelength: float, averaging: int = 1) -> dict :no-index: :bdg-secondary-line:`custom` Set wavelength and averaging, then perform a power measurement. :param wavelength: Operating wavelength in nm. Must be within the sensor's supported range (typically 185–25000 nm). :type wavelength: float :param averaging: Number of samples to average. Must be 1–3000. Default is 1. :type averaging: int :returns: Dictionary with keys: ``` ```{eval-rst} .. py:function:: zero_and_measure_power() -> dict :no-index: :bdg-secondary-line:`custom` Zero the sensor and then perform a power measurement. :returns: Dictionary with keys: ``` ```{eval-rst} .. py:function:: measure_power(averaging: int = None) -> float :no-index: :bdg-primary-line:`schema` :bdg-info-line:`field: 4.1 ms` Perform a single power measurement and return the result. Optionally sets the averaging count first (wavelength is configured separately, once). :param averaging: Optional samples to average for this reading (~0.34 ms each). When omitted the meter's current averaging setting is used. (1–3000) :type averaging: int :returns: Measured optical power in Watts (or current unit if power_unit is changed). (W) ``` ```{eval-rst} .. py:function:: measure_energy() -> float :no-index: :bdg-primary-line:`schema` Perform a single energy measurement and return the result. :returns: Measured pulse energy in Joules. (J) ``` ```{eval-rst} .. py:function:: measure_current() -> float :no-index: :bdg-primary-line:`schema` :bdg-info-line:`field: 4.5 ms` Perform a single current measurement and return the result. :returns: Measured photodiode current in Amperes. (A) ``` ```{eval-rst} .. py:function:: measure_voltage() -> float :no-index: :bdg-primary-line:`schema` :bdg-info-line:`field: 4.3 ms` Perform a single voltage measurement and return the result. :returns: Measured thermopile voltage in Volts. (V) ``` ```{eval-rst} .. py:function:: measure_frequency() -> float :no-index: :bdg-primary-line:`schema` :bdg-info-line:`field: 3.8 ms` Perform a single frequency measurement and return the result. :returns: Measured pulse repetition frequency in Hertz. (Hz) ``` ```{eval-rst} .. py:function:: measure_temperature() -> float :no-index: :bdg-primary-line:`schema` Perform a sensor temperature measurement and return the result. :returns: Measured sensor head temperature in degrees Celsius. (degC) ``` ```{eval-rst} .. py:function:: get_sensor_info() -> dict :no-index: :bdg-primary-line:`schema` :bdg-info-line:`field: 4.6 ms` Query information about the connected sensor (name, SN, calibration, type, subtype, flags). :returns: Dictionary containing sensor name, serial number, calibration message, type, subtype, and flags. ``` ```{eval-rst} .. py:function:: zero_sensor() -> bool :no-index: :bdg-primary-line:`schema` Initiate and complete the zero-adjustment routine on the connected sensor. :returns: True if the zeroing procedure completed successfully. ```