.. _energy-instrument-backends: Energy Instrument Backends ========================== .. contents:: :depth: 1 :local: ---------- acme_cape --------- BayLibre ACME cape This backend relies on iio-capture utility: https://github.com/BayLibre/iio-capture For more information about ACME cape please see: https://baylibre.com/acme/ parameters ~~~~~~~~~~ iio_capture: type: ``'str'`` Path to the iio-capture binary will be taken from the environment, if not specfied. host: type: ``'str'`` Host name (or IP address) of the ACME cape board. default: ``'baylibre-acme.local'`` iio_devices: type: ``'list_or_string'`` default: ``'iio:device0'`` buffer_size: type: ``'integer'`` Size of the capture buffer (in KB). default: ``256`` keep_raw: type: ``'boolean'`` If set to ``True``, this will prevent the raw files obtained from the device before processing from being deleted (this is maily used for debugging). default: ``False`` ---------- arm_energy_probe ---------------- Arm Energy Probe arm-probe version An alternative Arm Energy Probe backend that relies on arm-probe utility: https://git.linaro.org/tools/arm-probe.git For more information about Arm Energy Probe please see https://developer.arm.com/products/software-development-tools/ds-5-development-studio/streamline/arm-energy-probe parameters ~~~~~~~~~~ config_file: type: ``'str'`` Path to config file of the AEP keep_raw: type: ``'boolean'`` If set to ``True``, this will prevent the raw files obtained from the device before processing from being deleted (this is maily used for debugging). default: ``False`` ---------- daq --- National Instruments Data Acquisition device For more information about the device, please see the NI website: http://www.ni.com/data-acquisition/ This backend has been used with USB-62xx and USB-63xx devices, though other models (e.g. the PCIe variants will most likely also work). This backend relies on the daq-server running on a machinge connected to a DAQ device: https://github.com/ARM-software/daq-server The server is necessary because DAQ devices have drivers only for Windows and very specific (old) Linux kernels, so the machine interfacing with the DAQ is most likely going to be different from the machinge running WA. parameters ~~~~~~~~~~ resistor_values: type: ``'list_of_numbers'`` The values of resistors (in Ohms) across which the voltages are measured on. global alias: ``'daq_resistor_values'`` labels: type: ``'list_of_strs'`` 'List of port labels. If specified, the length of the list must match the length of ``resistor_values``. global alias: ``'daq_labels'`` host: type: ``'str'`` The host address of the machine that runs the daq Server which the instrument communicates with. global alias: ``'daq_server_host'`` default: ``'localhost'`` port: type: ``'integer'`` The port number for daq Server in which daq instrument communicates with. global alias: ``'daq_server_port'`` default: ``45677`` device_id: type: ``'str'`` The ID under which the DAQ is registered with the driver. global alias: ``'daq_device_id'`` default: ``'Dev1'`` v_range: type: ``'str'`` Specifies the voltage range for the SOC voltage channel on the DAQ (please refer to ``daq-server`` package documentation for details). global alias: ``'daq_v_range'`` default: ``2.5`` dv_range: type: ``'str'`` Specifies the voltage range for the resistor voltage channel on the DAQ (please refer to ``daq-server`` package documentation for details). global alias: ``'daq_dv_range'`` default: ``0.2`` sample_rate_hz: type: ``'integer'`` Specify the sample rate in Hz. global alias: ``'daq_sampling_rate'`` default: ``10000`` channel_map: type: ``'list_of_ints'`` Represents mapping from logical AI channel number to physical connector on the DAQ (varies between DAQ models). The default assumes DAQ 6363 and similar with AI channels on connectors 0-7 and 16-23. global alias: ``'daq_channel_map'`` default: ``(0, 1, 2, 3, 4, 5, 6, 7, 16, 17, 18, 19, 20, 21, 22, 23)`` keep_raw: type: ``'boolean'`` If set to ``True``, this will prevent the raw files obtained from the device before processing from being deleted (this is maily used for debugging). default: ``False`` ---------- energy_probe ------------ Arm Energy Probe caiman version This backend relies on caiman utility: https://github.com/ARM-software/caiman For more information about Arm Energy Probe please see https://developer.arm.com/products/software-development-tools/ds-5-development-studio/streamline/arm-energy-probe parameters ~~~~~~~~~~ resistor_values: type: ``'list_of_ints'`` The values of resistors (in Ohms) across which the voltages are measured on. labels: type: ``'list_of_strs'`` 'List of port labels. If specified, the length of the list must match the length of ``resistor_values``. device_entry: type: ``'str'`` Path to /dev entry for the energy probe (it should be /dev/ttyACMx) default: ``'/dev/ttyACM0'`` keep_raw: type: ``'boolean'`` If set to ``True``, this will prevent the raw files obtained from the device before processing from being deleted (this is maily used for debugging). default: ``False`` ---------- juno_readenergy --------------- Arm Juno development board on-board energy meters For more information about Arm Juno board see: https://developer.arm.com/products/system-design/development-boards/juno-development-board ---------- monsoon ------- Monsoon Solutions power monitor To use this instrument, you need to install the monsoon.py script available from the Android Open Source Project. As of May 2017 this is under the CTS repository: https://android.googlesource.com/platform/cts/+/master/tools/utils/monsoon.py Collects power measurements only, from a selection of two channels, the USB passthrough channel and the main output channel. parameters ~~~~~~~~~~ monsoon_bin: type: ``'str'`` Path to monsoon.py executable. If not provided, ``PATH`` is searched. tty_device: type: ``'str'`` TTY device to use to communicate with the Power Monitor. If not provided, /dev/ttyACM0 is used. default: ``'/dev/ttyACM0'``