diff --git a/README.md b/README.md index 84955b2..1a359a0 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# spectrumdevice +from spectrumdevice.settings.transfer_buffer import BufferTypefrom spectrumdevice.settings.transfer_buffer import transfer_buffer_factoryfrom spectrumdevice.settings.transfer_buffer import transfer_buffer_factory# spectrumdevice A high-level, object-oriented Python library for controlling Spectrum Instrumentation devices. `spectrumdevice` can connect to individual cards or @@ -6,21 +6,21 @@ A high-level, object-oriented Python library for controlling Spectrum Instrument [NetBox](https://spectrum-instrumentation.com/en/digitizernetbox)). `spectrumdevice` provides the following classes for controlling devices: -| Name | Purpose | -|----------------------------|---------------------------------------------------------| -| `SpectrumDigitiserCard` | Controlling individual digitiser cards | -| `SpectrumDigitiserStarHub` | Controlling digitiser cards aggregated with a StarHub | -| `SpectrumAWGCard` | Controlling individual AWG cards | -| `SpectrumAWGStarHub` | Controlling AWG cards aggregated with a StarHub | +| Name | Purpose | +|----------------------------|-----------------------------------------------------------------------| +| `SpectrumDigitiserCard` | Controlling individual digitiser cards | +| `SpectrumDigitiserStarHub` | Controlling digitiser cards aggregated with a StarHub | +| `SpectrumAWGCard` | Controlling individual AWG cards (Not yet implemented) | +| `SpectrumAWGStarHub` | Controlling AWG cards aggregated with a StarHub (Not yet implemented) | `spectrumdevice` also includes mock classes for testing software without drivers installed or hardware connected: -| Name | Purpose | -|--------------------------------|-----------------------------------------------------| -| `MockSpectrumDigitiserCard` | Mocking individual digitiser cards | -| `MockSpectrumDigitiserStarHub` | Mocking digitiser cards aggregated with a StarHub | -| `MockSpectrumAWGCard` | Mocking individual AWG cards | -| `MockSpectrumAWGStarHub` | Mocking AWG cards aggregated with a StarHub | +| Name | Purpose | +|--------------------------------|-------------------------------------------------------------------| +| `MockSpectrumDigitiserCard` | Mocking individual digitiser cards | +| `MockSpectrumDigitiserStarHub` | Mocking digitiser cards aggregated with a StarHub | +| `MockSpectrumAWGCard` | Mocking individual AWG cards (Not yet implemented) | +| `MockSpectrumAWGStarHub` | Mocking AWG cards aggregated with a StarHub (Not yet implemented) | For digitisers, `spectrumdevice` currently only supports 'Standard Single' and 'Multi FIFO' acquisition modes. See the Limitations section for more information. @@ -59,9 +59,6 @@ files taken from the `spcm_examples` directory, provided with Spectrum hardware. ## Limitations * Currently, `spectrumdevice` only supports Standard Single and Multi FIFO digitiser acquisition modes. See the Spectrum documentation for more information. -* When defining a transfer buffer - the software buffer into which samples are transferred between a hardware device - - and Python - the notify-size is automatically set equal to the buffer length. This works fine for most situations. - See the Spectrum documentation for more information. * If timestamping is enabled, timestamps are acquired using Spectrum's 'polling' mode. This seems to add around 5 to 10 ms of latency to the acquisition. * Only current digitisers from the [59xx](https://spectrum-instrumentation.com/de/59xx-16-bit-digitizer-125-mss), @@ -70,7 +67,6 @@ files taken from the `spcm_examples` directory, provided with Spectrum hardware. `spectrumdevice` has only been tested on 59xx devices. However, `spectrumdevice` may work fine on older devices. If you've tried `spectrumdevice` on an older device, please let us know if it works and raise any issues you encounter in the issue tracker. It's likely possible to add support with minimal effort. -# todo: add supported AWG devices ## Usage ### Connect to devices @@ -124,9 +120,9 @@ of the mock data source must also be set on construction. ```python from spectrumdevice import MockSpectrumDigitiserCard, MockSpectrumDigitiserStarHub -from spectrumdevice.settings import CardType +from spectrumdevice.settings import ModelNumber -mock_card = MockSpectrumDigitiserCard(device_number=0, card_type=CardType.TYP_M2P5966_X4, +mock_card = MockSpectrumDigitiserCard(device_number=0, model=ModelNumber.TYP_M2P5966_X4, mock_source_frame_rate_hz=10.0, num_modules=2, num_channels_per_module=4) mock_hub = MockSpectrumDigitiserStarHub(device_number=0, child_cards=[mock_card], master_card_index=0) @@ -212,7 +208,33 @@ timestamp = measurement.timestamp # A datetime.datetime object ### Acquiring waveforms from a digitiser (FIFO mode) To acquire data in FIFO mode, place the device into the correct mode using `configure_acquisition()` or ` -card.set_acquisition_mode(AcquisitionMode.SPC_REC_FIFO_MULTI)`. +card.set_acquisition_mode(AcquisitionMode.SPC_REC_FIFO_MULTI)`. You can then also construct your own +`TransferBuffer` object and provide it to card using the `define_transfer_buffer()` method: + +```python +from spectrumdevice.settings.transfer_buffer import ( + BufferDirection, + BufferType, + transfer_buffer_factory, +) + +size_in_samples = 100 +board_memory_offset_bytes = 0 +notify_size_in_pages = 10 + +buffer = transfer_buffer_factory( + buffer_type=BufferType.SPCM_BUF_DATA, # must be SPCM_BUF_DATA to transfer samples from digitiser + direction=BufferDirection.SPCM_DIR_CARDTOPC, # must be SPCM_DIR_CARDTOPC to transfer samples from digitiser + size_in_samples=size_in_samples, + board_memory_offset_bytes=board_memory_offset_bytes, + notify_size_in_pages=notify_size_in_pages +) + +card.define_transfer_buffer(buffer) +``` +this allows you to set your own transfer buffer size and notify size. If you do not call `define_transfer_buffer()` yourself, +then a default transfer buffer will be used, which will have a notify size of 10 pages (40 kB) and will be large +enough to hold 1000 repeat acquisitions without overflowing. You can then carry out a predefined number of Multi FIFO measurements like this: diff --git a/docs/contents.html b/docs/contents.html new file mode 100644 index 0000000..3864281 --- /dev/null +++ b/docs/contents.html @@ -0,0 +1,227 @@ + + + + + + + Module List – pdoc 8.0.1 + + + + + + + + + + +
+ + pdoc logo + + +
+
+
+ + \ No newline at end of file diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..6ce2bf8 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,6779 @@ + + + + + + + spectrumdevice API documentation + + + + + + + + +
+
+

+spectrumdevice

+ +

A high-level, object-oriented Python library for controlling Spectrum Instrumentation devices.

+ +

spectrumdevice can connect to individual cards or +StarHubs (e.g. the +NetBox). spectrumdevice provides the following classes +for controlling devices:

+ +

Hardware Classes

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
NamePurpose
SpectrumDigitiserCardControlling individual digitiser cards
SpectrumDigitiserStarHubControlling digitiser cards aggregated with a StarHub
SpectrumAWGCardControlling individual AWG cards
SpectrumAWGStarHubControlling AWG cards aggregated with a StarHub
+ +

Mock Classes

+ +

spectrumdevice also includes mock classes for testing software without drivers installed or hardware connected:

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
NamePurpose
MockSpectrumDigitiserCardMocking individual digitiser cards
MockSpectrumDigitiserStarHubMocking digitiser cards aggregated with a StarHub
MockSpectrumAWGCardMocking individual AWG cards
MockSpectrumAWGStarHubMocking AWG cards aggregated with a StarHub
+ +

Abstract Classes

+ +

The following abstract classes provide common implementations for methods whose functionality is identical across +different Spectrum devices. They cannot be instantiated themselves, but are included here as they contain +documentation for methods inherited by the concrete (and therefore instantiatable) classes above.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NamePurpose
AbstractSpectrumDeviceImplements methods common to all devices
AbstractSpectrumCardImplements methods common to all card
AbstractSpectrumStarHubImplements methods common to all hubs
AbstractSpectrumChannelImplements methods common to all channels
AbstractSpectrumDigitiserImplements methods common to all digitisers
AbstractSpectrumAWGImplements methods common to all AWGs
+ +

Settings

+ +

The submodule spectrumdevice.settings provides Enums and Dataclasses wrapping the register values provided by the +Spectrum API, to be used for configuring hardware and interpreting responses received from hardware.

+ +

Resources

+ + + +

Reference Documentation

+
+ +
+ View Source +
"""
+A high-level, object-oriented Python library for controlling Spectrum Instrumentation devices.
+
+`spectrumdevice` can connect to individual cards or
+[StarHubs](https://spectrum-instrumentation.com/en/m4i-star-hub) (e.g. the
+[NetBox](https://spectrum-instrumentation.com/en/digitizernetbox)). `spectrumdevice` provides the following classes
+for controlling devices:
+
+### Hardware Classes
+| Name                       | Purpose                                                 |
+|----------------------------|---------------------------------------------------------|
+| `SpectrumDigitiserCard`    | Controlling individual digitiser cards                  |
+| `SpectrumDigitiserStarHub` | Controlling digitiser cards aggregated with a StarHub   |
+| `SpectrumAWGCard`          | Controlling individual AWG cards                        |
+| `SpectrumAWGStarHub`       | Controlling AWG cards aggregated with a StarHub         |
+
+### Mock Classes
+`spectrumdevice` also includes mock classes for testing software without drivers installed or hardware connected:
+
+| Name                           | Purpose                                             |
+|--------------------------------|-----------------------------------------------------|
+| `MockSpectrumDigitiserCard`    | Mocking individual digitiser cards                  |
+| `MockSpectrumDigitiserStarHub` | Mocking digitiser cards aggregated with a StarHub   |
+| `MockSpectrumAWGCard`          | Mocking individual AWG cards                        |
+| `MockSpectrumAWGStarHub`       | Mocking AWG cards aggregated with a StarHub         |
+
+### Abstract Classes
+The following abstract classes provide common implementations for methods whose functionality is identical across
+different Spectrum devices. They cannot be instantiated themselves, but are included here as they contain
+documentation for methods inherited by the concrete (and therefore instantiatable) classes above.
+
+| Name                           | Purpose                                             |
+|--------------------------------|-----------------------------------------------------|
+| `AbstractSpectrumDevice`       | Implements methods common to all devices            |
+| `AbstractSpectrumCard`         | Implements methods common to all card               |
+| `AbstractSpectrumStarHub`      | Implements methods common to all hubs               |
+| `AbstractSpectrumChannel`      | Implements methods common to all channels           |
+| `AbstractSpectrumDigitiser`    | Implements methods common to all digitisers         |
+| `AbstractSpectrumAWG`          | Implements methods common to all AWGs               |
+
+### Settings
+The submodule `spectrumdevice.settings` provides Enums and Dataclasses wrapping the register values provided by the
+Spectrum API, to be used for configuring hardware and interpreting responses received from hardware.
+
+### Resources
+* [Source on GitHub](https://github.com/KCL-BMEIS/spectrumdevice)
+* [README including quickstart](https://github.com/KCL-BMEIS/spectrumdevice/blob/main/README.md)
+* [Examples](https://github.com/KCL-BMEIS/spectrumdevice/tree/main/example_scripts)
+* [PyPi](https://pypi.org/project/spectrumdevice/)
+* [API reference documentation](https://kcl-bmeis.github.io/spectrumdevice/)
+
+### Reference Documentation
+"""
+
+# Christian Baker, King's College London
+# Copyright (c) 2021 School of Biomedical Engineering & Imaging Sciences, King's College London
+# Licensed under the MIT. You may obtain a copy at https://opensource.org/licenses/MIT.
+
+from spectrumdevice.measurement import Measurement
+from .devices.digitiser.digitiser_card import SpectrumDigitiserCard
+from .devices.digitiser.digitiser_channel import SpectrumDigitiserChannel
+from .devices.digitiser.digitiser_star_hub import SpectrumDigitiserStarHub
+from .devices.mocks import MockSpectrumDigitiserCard, MockSpectrumDigitiserStarHub
+from .devices.abstract_device import (
+    AbstractSpectrumDevice,
+    AbstractSpectrumCard,
+    AbstractSpectrumChannel,
+    AbstractSpectrumStarHub,
+)
+from .devices.digitiser.abstract_spectrum_digitiser import AbstractSpectrumDigitiser
+
+__all__ = [
+    "SpectrumDigitiserChannel",
+    "SpectrumDigitiserCard",
+    "SpectrumDigitiserStarHub",
+    "MockSpectrumDigitiserCard",
+    "MockSpectrumDigitiserStarHub",
+    "AbstractSpectrumDigitiser",
+    "AbstractSpectrumStarHub",
+    "AbstractSpectrumCard",
+    "AbstractSpectrumDevice",
+    "AbstractSpectrumChannel",
+    "settings",
+    "Measurement",
+]
+
+
+from . import _version
+
+__version__ = _version.get_versions()["version"]  # type: ignore
+
+ +
+ +
+
+
+ #   + + + class + SpectrumDigitiserChannel(spectrumdevice.AbstractSpectrumChannel, spectrumdevice.devices.digitiser.digitiser_interface.SpectrumDigitiserChannelInterface): +
+ +
+ View Source +
class SpectrumDigitiserChannel(AbstractSpectrumChannel, SpectrumDigitiserChannelInterface):
+    """Class for controlling an individual channel of a spectrum digitiser. Channels are constructed automatically when
+    a `SpectrumDigitiserCard` or `SpectrumDigitiserStarHub` is instantiated, and can then be accessed via the
+    `.channels` property."""
+
+    def __init__(self, channel_number: int, parent_device: AbstractSpectrumCard):
+
+        AbstractSpectrumChannel.__init__(self, channel_number, parent_device)
+
+        self._full_scale_value = self._parent_device.read_spectrum_device_register(SPC_MIINST_MAXADCVALUE)
+        # used frequently so store locally instead of reading from device each time:
+        self._vertical_range_mv = self.vertical_range_in_mv
+        self._vertical_offset_in_percent = self.vertical_offset_in_percent
+
+    def convert_raw_waveform_to_voltage_waveform(self, raw_waveform: ndarray) -> ndarray:
+        vertical_offset_mv = 0.01 * float(self._vertical_range_mv * self._vertical_offset_in_percent)
+        return 1e-3 * (
+            float(self._vertical_range_mv) * raw_waveform / float(self._full_scale_value) + vertical_offset_mv
+        )
+
+    @property
+    def vertical_range_in_mv(self) -> int:
+        """The currently set input range of the channel in mV.
+
+        Returns:
+            vertical_range (int): The currently set vertical range in mV.
+        """
+        self._vertical_range_mv = self._parent_device.read_spectrum_device_register(
+            VERTICAL_RANGE_COMMANDS[self._number]
+        )
+        return self._vertical_range_mv
+
+    def set_vertical_range_in_mv(self, vertical_range: int) -> None:
+        """Set the input range of the channel in mV. See Spectrum documentation for valid values.
+
+        Args:
+            vertical_range (int): The desired vertical range in mV.
+        """
+        self._parent_device.write_to_spectrum_device_register(VERTICAL_RANGE_COMMANDS[self._number], vertical_range)
+        self._vertical_range_mv = vertical_range
+
+    @property
+    def vertical_offset_in_percent(self) -> int:
+        """The currently set input offset of the channel in percent of the vertical range.
+
+        Returns:
+            offset (int): The currently set vertical offset in percent.
+        """
+        self._vertical_offset_in_percent = self._parent_device.read_spectrum_device_register(
+            VERTICAL_OFFSET_COMMANDS[self._number]
+        )
+        return self._vertical_offset_in_percent
+
+    def set_vertical_offset_in_percent(self, offset: int) -> None:
+        """Set the input offset of the channel in percent of the vertical range. See spectrum documentation for valid
+        values.
+
+        Args:
+            offset (int): The desired vertical offset in percent.
+        """
+        self._parent_device.write_to_spectrum_device_register(VERTICAL_OFFSET_COMMANDS[self._number], offset)
+        self._vertical_offset_in_percent = offset
+
+ +
+ +

Class for controlling an individual channel of a spectrum digitiser. Channels are constructed automatically when +a SpectrumDigitiserCard or SpectrumDigitiserStarHub is instantiated, and can then be accessed via the +.channels property.

+
+ + +
+
#   + + + SpectrumDigitiserChannel( + channel_number: int, + parent_device: spectrumdevice.devices.abstract_device.abstract_spectrum_card.AbstractSpectrumCard +) +
+ +
+ View Source +
    def __init__(self, channel_number: int, parent_device: AbstractSpectrumCard):
+
+        AbstractSpectrumChannel.__init__(self, channel_number, parent_device)
+
+        self._full_scale_value = self._parent_device.read_spectrum_device_register(SPC_MIINST_MAXADCVALUE)
+        # used frequently so store locally instead of reading from device each time:
+        self._vertical_range_mv = self.vertical_range_in_mv
+        self._vertical_offset_in_percent = self.vertical_offset_in_percent
+
+ +
+ + + +
+
+
#   + + + def + convert_raw_waveform_to_voltage_waveform(self, raw_waveform: numpy.ndarray) -> numpy.ndarray: +
+ +
+ View Source +
    def convert_raw_waveform_to_voltage_waveform(self, raw_waveform: ndarray) -> ndarray:
+        vertical_offset_mv = 0.01 * float(self._vertical_range_mv * self._vertical_offset_in_percent)
+        return 1e-3 * (
+            float(self._vertical_range_mv) * raw_waveform / float(self._full_scale_value) + vertical_offset_mv
+        )
+
+ +
+ + + +
+
+
#   + + vertical_range_in_mv: int +
+ +

The currently set input range of the channel in mV.

+ +
Returns
+ +
+

vertical_range (int): The currently set vertical range in mV.

+
+
+ + +
+
+
#   + + + def + set_vertical_range_in_mv(self, vertical_range: int) -> None: +
+ +
+ View Source +
    def set_vertical_range_in_mv(self, vertical_range: int) -> None:
+        """Set the input range of the channel in mV. See Spectrum documentation for valid values.
+
+        Args:
+            vertical_range (int): The desired vertical range in mV.
+        """
+        self._parent_device.write_to_spectrum_device_register(VERTICAL_RANGE_COMMANDS[self._number], vertical_range)
+        self._vertical_range_mv = vertical_range
+
+ +
+ +

Set the input range of the channel in mV. See Spectrum documentation for valid values.

+ +
Args
+ +
    +
  • vertical_range (int): The desired vertical range in mV.
  • +
+
+ + +
+
+
#   + + vertical_offset_in_percent: int +
+ +

The currently set input offset of the channel in percent of the vertical range.

+ +
Returns
+ +
+

offset (int): The currently set vertical offset in percent.

+
+
+ + +
+
+
#   + + + def + set_vertical_offset_in_percent(self, offset: int) -> None: +
+ +
+ View Source +
    def set_vertical_offset_in_percent(self, offset: int) -> None:
+        """Set the input offset of the channel in percent of the vertical range. See spectrum documentation for valid
+        values.
+
+        Args:
+            offset (int): The desired vertical offset in percent.
+        """
+        self._parent_device.write_to_spectrum_device_register(VERTICAL_OFFSET_COMMANDS[self._number], offset)
+        self._vertical_offset_in_percent = offset
+
+ +
+ +

Set the input offset of the channel in percent of the vertical range. See spectrum documentation for valid +values.

+ +
Args
+ +
    +
  • offset (int): The desired vertical offset in percent.
  • +
+
+ + +
+
+
Inherited Members
+
+
AbstractSpectrumChannel
+
name
+ +
+
+
+
+
+ + +
+ View Source +
class SpectrumDigitiserCard(AbstractSpectrumCard, AbstractSpectrumDigitiser):
+    """Class for controlling individual Spectrum digitiser cards."""
+
+    def __init__(self, device_number: int = 0, ip_address: Optional[str] = None):
+        """
+        Args:
+            device_number (int): Index of the card to control. If only one card is present, set to 0.
+            ip_address (Optional[str]): If connecting to a networked card, provide the IP address here as a string.
+
+        """
+        AbstractSpectrumCard.__init__(self, device_number, ip_address)
+        self._acquisition_mode = self.acquisition_mode
+        self._timestamper: Optional[Timestamper] = None
+
+    def _init_channels(self) -> Sequence[SpectrumDigitiserChannelInterface]:
+        num_modules = self.read_spectrum_device_register(SPC_MIINST_MODULES)
+        num_channels_per_module = self.read_spectrum_device_register(SPC_MIINST_CHPERMODULE)
+        total_channels = num_modules * num_channels_per_module
+        return tuple([SpectrumDigitiserChannel(n, self) for n in range(total_channels)])
+
+    def enable_timestamping(self) -> None:
+        self._timestamper = Timestamper(self, self._handle)
+
+    def wait_for_acquisition_to_complete(self) -> None:
+        """Blocks until the current acquisition has finished, or the timeout is reached.
+
+        In Standard Single mode (SPC_REC_STD_SINGLE), this should be called after `start_acquisition()`. Once the call
+            to `wait_for_acquisition_to_complete()` returns, the newly acquired samples are in the on_device buffer and
+            ready for transfer to the `TransferBuffer` using `start_transfer()`.
+
+        In FIFO mode (SPC_REC_FIFO_MULTI), the card will continue to acquire samples until
+            `stop_acquisition()` is called, so `wait_for_acquisition_to_complete()` should not be used.
+
+        """
+        self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_CARD_WAITREADY)
+
+    def get_waveforms(self) -> List[NDArray[float_]]:
+        """Get a list of the most recently transferred waveforms, in channel order.
+
+        This method copies and reshapes the samples in the `TransferBuffer` into a list of 1D NumPy arrays (waveforms)
+        and returns the list.
+
+        In Standard Single mode (SPC_REC_STD_SINGLE), `get_waveforms()` should be called after
+        `wait_for_transfer_to_complete()` has returned.
+
+        In FIFO mode (SPC_REC_FIFO_MULTI), while the card is continuously acquiring samples and transferring them to the
+        `TransferBuffer`, this method should be called in a loop . The method will block until each new transfer is
+        received, so the loop will run at the same rate as the acquisition (in SPC_REC_FIFO_MULTI mode, for example,
+        this would the rate at which your trigger source was running).
+
+        Returns:
+            waveforms (List[NDArray[float_]]): A list of 1D NumPy arrays, one for each channel enabled for the
+                acquisition, ordered by channel number.
+
+        """
+        num_available_bytes = 0
+        if self.acquisition_mode == AcquisitionMode.SPC_REC_FIFO_MULTI:
+            self.wait_for_transfer_to_complete()
+            num_available_bytes = self.read_spectrum_device_register(SPC_DATA_AVAIL_USER_LEN)
+
+        if self._transfer_buffer is not None:
+            num_expected_bytes_per_frame = self._transfer_buffer.data_array_length_in_bytes
+            if num_available_bytes > num_expected_bytes_per_frame:
+                num_available_bytes = num_expected_bytes_per_frame
+        else:
+            raise SpectrumNoTransferBufferDefined("Cannot find a samples transfer buffer")
+
+        waveforms_in_columns = (
+            self.transfer_buffers[0]
+            .copy_contents()
+            .reshape((self.acquisition_length_in_samples, len(self.enabled_channels)))
+        )
+        if self.acquisition_mode == AcquisitionMode.SPC_REC_FIFO_MULTI:
+            self.write_to_spectrum_device_register(SPC_DATA_AVAIL_CARD_LEN, num_available_bytes)
+
+        voltage_waveforms = [
+            cast(SpectrumDigitiserChannel, ch).convert_raw_waveform_to_voltage_waveform(waveform)
+            for ch, waveform in zip(self.channels, waveforms_in_columns.T)
+        ]
+
+        return voltage_waveforms
+
+    def get_timestamp(self) -> Optional[datetime.datetime]:
+        """Get timestamp for the last acquisition"""
+        if self._timestamper is not None:
+            return self._timestamper.get_timestamp()
+        else:
+            return None
+
+    @property
+    def acquisition_length_in_samples(self) -> int:
+        """The current recording length (per channel) in samples.
+
+        Returns:
+            length_in_samples (int): The current recording length ('acquisition length') in samples."""
+        return self.read_spectrum_device_register(SPC_MEMSIZE)
+
+    def set_acquisition_length_in_samples(self, length_in_samples: int) -> None:
+        """Change the recording length (per channel). In FIFO mode, it will be quantised according to the step size
+          allowed by the connected card type.
+
+        Args:
+            length_in_samples (int): The desired recording length ('acquisition length'), in samples.
+        """
+        length_in_samples = self._coerce_num_samples_if_fifo(length_in_samples)
+        self.write_to_spectrum_device_register(SPC_SEGMENTSIZE, length_in_samples)
+        self.write_to_spectrum_device_register(SPC_MEMSIZE, length_in_samples)
+
+    @property
+    def post_trigger_length_in_samples(self) -> int:
+        """The number of samples of the recording that will contain data received after the trigger event.
+
+        Returns:
+            length_in_samples (int): The currently set post trigger length in samples.
+        """
+        return self.read_spectrum_device_register(SPC_POSTTRIGGER)
+
+    def set_post_trigger_length_in_samples(self, length_in_samples: int) -> None:
+        """Change the number of samples of the recording that will contain data received after the trigger event.
+        In FIFO mode, this will be quantised according to the minimum step size allowed by the connected card.
+
+        Args:
+            length_in_samples (int): The desired post trigger length in samples."""
+        length_in_samples = self._coerce_num_samples_if_fifo(length_in_samples)
+        if self.acquisition_mode == AcquisitionMode.SPC_REC_FIFO_MULTI:
+            if (self.acquisition_length_in_samples - length_in_samples) < get_memsize_step_size(self._card_type):
+                logger.warning(
+                    "FIFO mode: coercing post trigger length to maximum allowed value (step-size samples less than "
+                    "the acquisition length)."
+                )
+                length_in_samples = self.acquisition_length_in_samples - get_memsize_step_size(self._card_type)
+        self.write_to_spectrum_device_register(SPC_POSTTRIGGER, length_in_samples)
+
+    def _coerce_num_samples_if_fifo(self, value: int) -> int:
+        if self.acquisition_mode == AcquisitionMode.SPC_REC_FIFO_MULTI:
+            if value != mod(value, get_memsize_step_size(self._card_type)):
+                logger.warning(
+                    f"FIFO mode: coercing length to nearest {get_memsize_step_size(self._card_type)}" f" samples"
+                )
+                value = int(value - mod(value, get_memsize_step_size(self._card_type)))
+        return value
+
+    @property
+    def number_of_averages(self) -> int:
+        return self.read_spectrum_device_register(SPC_AVERAGES)
+
+    def set_number_of_averages(self, num_averages: int) -> None:
+        if num_averages > 0:
+            self.write_to_spectrum_device_register(SPC_AVERAGES, num_averages)
+        else:
+            raise ValueError("Number of averages must be greater than 0.")
+
+    @property
+    def acquisition_mode(self) -> AcquisitionMode:
+        """The currently enabled card mode. Will raise an exception if the current mode is not supported by
+        `spectrumdevice`.
+
+        Returns:
+            mode (`AcquisitionMode`): The currently enabled card acquisition mode."""
+        return AcquisitionMode(self.read_spectrum_device_register(SPC_CARDMODE))
+
+    def set_acquisition_mode(self, mode: AcquisitionMode) -> None:
+        """Change the currently enabled card mode. See `AcquisitionMode` and the Spectrum documentation
+        for the available modes.
+
+        Args:
+            mode (`AcquisitionMode`): The desired acquisition mode."""
+        self.write_to_spectrum_device_register(SPC_CARDMODE, mode.value)
+
+    def define_transfer_buffer(self, buffer: Optional[List[CardToPCDataTransferBuffer]] = None) -> None:
+        """Create or provide a `CardToPCDataTransferBuffer` object for receiving acquired samples from the device.
+
+        If no buffer is provided, one will be created with the correct size and a board_memory_offset_bytes of 0. A
+        seperate buffer for transfering Timestamps will also be created using the Timestamper class.
+
+        Args:
+            buffer (Optional[List[`CardToPCDataTransferBuffer`]]): A length-1 list containing a pre-constructed
+                `CardToPCDataTransferBuffer`  The size of the buffer should be chosen according to the current number of
+                active channels and the acquisition length.
+        """
+        if buffer:
+            self._transfer_buffer = buffer[0]
+        else:
+            self._transfer_buffer = CardToPCDataTransferBuffer(
+                self.acquisition_length_in_samples * len(self.enabled_channels)
+            )
+        set_transfer_buffer(self._handle, self._transfer_buffer)
+
+    def __str__(self) -> str:
+        return f"Card {self._visa_string}"
+
+ +
+ +

Class for controlling individual Spectrum digitiser cards.

+
+ + +
+
#   + + + SpectrumDigitiserCard(device_number: int = 0, ip_address: Optional[str] = None) +
+ +
+ View Source +
    def __init__(self, device_number: int = 0, ip_address: Optional[str] = None):
+        """
+        Args:
+            device_number (int): Index of the card to control. If only one card is present, set to 0.
+            ip_address (Optional[str]): If connecting to a networked card, provide the IP address here as a string.
+
+        """
+        AbstractSpectrumCard.__init__(self, device_number, ip_address)
+        self._acquisition_mode = self.acquisition_mode
+        self._timestamper: Optional[Timestamper] = None
+
+ +
+ +
Args
+ +
    +
  • device_number (int): Index of the card to control. If only one card is present, set to 0.
  • +
  • ip_address (Optional[str]): If connecting to a networked card, provide the IP address here as a string.
  • +
+
+ + +
+
+
#   + + + def + enable_timestamping(self) -> None: +
+ +
+ View Source +
    def enable_timestamping(self) -> None:
+        self._timestamper = Timestamper(self, self._handle)
+
+ +
+ + + +
+
+
#   + + + def + wait_for_acquisition_to_complete(self) -> None: +
+ +
+ View Source +
    def wait_for_acquisition_to_complete(self) -> None:
+        """Blocks until the current acquisition has finished, or the timeout is reached.
+
+        In Standard Single mode (SPC_REC_STD_SINGLE), this should be called after `start_acquisition()`. Once the call
+            to `wait_for_acquisition_to_complete()` returns, the newly acquired samples are in the on_device buffer and
+            ready for transfer to the `TransferBuffer` using `start_transfer()`.
+
+        In FIFO mode (SPC_REC_FIFO_MULTI), the card will continue to acquire samples until
+            `stop_acquisition()` is called, so `wait_for_acquisition_to_complete()` should not be used.
+
+        """
+        self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_CARD_WAITREADY)
+
+ +
+ +

Blocks until the current acquisition has finished, or the timeout is reached.

+ +

In Standard Single mode (SPC_REC_STD_SINGLE), this should be called after start_acquisition(). Once the call + to wait_for_acquisition_to_complete() returns, the newly acquired samples are in the on_device buffer and + ready for transfer to the TransferBuffer using start_transfer().

+ +

In FIFO mode (SPC_REC_FIFO_MULTI), the card will continue to acquire samples until + stop_acquisition() is called, so wait_for_acquisition_to_complete() should not be used.

+
+ + +
+
+
#   + + + def + get_waveforms(self) -> List[numpy.ndarray[Any, numpy.dtype[numpy.float64]]]: +
+ +
+ View Source +
    def get_waveforms(self) -> List[NDArray[float_]]:
+        """Get a list of the most recently transferred waveforms, in channel order.
+
+        This method copies and reshapes the samples in the `TransferBuffer` into a list of 1D NumPy arrays (waveforms)
+        and returns the list.
+
+        In Standard Single mode (SPC_REC_STD_SINGLE), `get_waveforms()` should be called after
+        `wait_for_transfer_to_complete()` has returned.
+
+        In FIFO mode (SPC_REC_FIFO_MULTI), while the card is continuously acquiring samples and transferring them to the
+        `TransferBuffer`, this method should be called in a loop . The method will block until each new transfer is
+        received, so the loop will run at the same rate as the acquisition (in SPC_REC_FIFO_MULTI mode, for example,
+        this would the rate at which your trigger source was running).
+
+        Returns:
+            waveforms (List[NDArray[float_]]): A list of 1D NumPy arrays, one for each channel enabled for the
+                acquisition, ordered by channel number.
+
+        """
+        num_available_bytes = 0
+        if self.acquisition_mode == AcquisitionMode.SPC_REC_FIFO_MULTI:
+            self.wait_for_transfer_to_complete()
+            num_available_bytes = self.read_spectrum_device_register(SPC_DATA_AVAIL_USER_LEN)
+
+        if self._transfer_buffer is not None:
+            num_expected_bytes_per_frame = self._transfer_buffer.data_array_length_in_bytes
+            if num_available_bytes > num_expected_bytes_per_frame:
+                num_available_bytes = num_expected_bytes_per_frame
+        else:
+            raise SpectrumNoTransferBufferDefined("Cannot find a samples transfer buffer")
+
+        waveforms_in_columns = (
+            self.transfer_buffers[0]
+            .copy_contents()
+            .reshape((self.acquisition_length_in_samples, len(self.enabled_channels)))
+        )
+        if self.acquisition_mode == AcquisitionMode.SPC_REC_FIFO_MULTI:
+            self.write_to_spectrum_device_register(SPC_DATA_AVAIL_CARD_LEN, num_available_bytes)
+
+        voltage_waveforms = [
+            cast(SpectrumDigitiserChannel, ch).convert_raw_waveform_to_voltage_waveform(waveform)
+            for ch, waveform in zip(self.channels, waveforms_in_columns.T)
+        ]
+
+        return voltage_waveforms
+
+ +
+ +

Get a list of the most recently transferred waveforms, in channel order.

+ +

This method copies and reshapes the samples in the TransferBuffer into a list of 1D NumPy arrays (waveforms) +and returns the list.

+ +

In Standard Single mode (SPC_REC_STD_SINGLE), get_waveforms() should be called after +wait_for_transfer_to_complete() has returned.

+ +

In FIFO mode (SPC_REC_FIFO_MULTI), while the card is continuously acquiring samples and transferring them to the +TransferBuffer, this method should be called in a loop . The method will block until each new transfer is +received, so the loop will run at the same rate as the acquisition (in SPC_REC_FIFO_MULTI mode, for example, +this would the rate at which your trigger source was running).

+ +
Returns
+ +
+

waveforms (List[NDArray[float_]]): A list of 1D NumPy arrays, one for each channel enabled for the + acquisition, ordered by channel number.

+
+
+ + +
+
+
#   + + + def + get_timestamp(self) -> Optional[datetime.datetime]: +
+ +
+ View Source +
    def get_timestamp(self) -> Optional[datetime.datetime]:
+        """Get timestamp for the last acquisition"""
+        if self._timestamper is not None:
+            return self._timestamper.get_timestamp()
+        else:
+            return None
+
+ +
+ +

Get timestamp for the last acquisition

+
+ + +
+
+
#   + + acquisition_length_in_samples: int +
+ +

The current recording length (per channel) in samples.

+ +
Returns
+ +
+

length_in_samples (int): The current recording length ('acquisition length') in samples.

+
+
+ + +
+
+
#   + + + def + set_acquisition_length_in_samples(self, length_in_samples: int) -> None: +
+ +
+ View Source +
    def set_acquisition_length_in_samples(self, length_in_samples: int) -> None:
+        """Change the recording length (per channel). In FIFO mode, it will be quantised according to the step size
+          allowed by the connected card type.
+
+        Args:
+            length_in_samples (int): The desired recording length ('acquisition length'), in samples.
+        """
+        length_in_samples = self._coerce_num_samples_if_fifo(length_in_samples)
+        self.write_to_spectrum_device_register(SPC_SEGMENTSIZE, length_in_samples)
+        self.write_to_spectrum_device_register(SPC_MEMSIZE, length_in_samples)
+
+ +
+ +

Change the recording length (per channel). In FIFO mode, it will be quantised according to the step size + allowed by the connected card type.

+ +
Args
+ +
    +
  • length_in_samples (int): The desired recording length ('acquisition length'), in samples.
  • +
+
+ + +
+
+
#   + + post_trigger_length_in_samples: int +
+ +

The number of samples of the recording that will contain data received after the trigger event.

+ +
Returns
+ +
+

length_in_samples (int): The currently set post trigger length in samples.

+
+
+ + +
+
+
#   + + + def + set_post_trigger_length_in_samples(self, length_in_samples: int) -> None: +
+ +
+ View Source +
    def set_post_trigger_length_in_samples(self, length_in_samples: int) -> None:
+        """Change the number of samples of the recording that will contain data received after the trigger event.
+        In FIFO mode, this will be quantised according to the minimum step size allowed by the connected card.
+
+        Args:
+            length_in_samples (int): The desired post trigger length in samples."""
+        length_in_samples = self._coerce_num_samples_if_fifo(length_in_samples)
+        if self.acquisition_mode == AcquisitionMode.SPC_REC_FIFO_MULTI:
+            if (self.acquisition_length_in_samples - length_in_samples) < get_memsize_step_size(self._card_type):
+                logger.warning(
+                    "FIFO mode: coercing post trigger length to maximum allowed value (step-size samples less than "
+                    "the acquisition length)."
+                )
+                length_in_samples = self.acquisition_length_in_samples - get_memsize_step_size(self._card_type)
+        self.write_to_spectrum_device_register(SPC_POSTTRIGGER, length_in_samples)
+
+ +
+ +

Change the number of samples of the recording that will contain data received after the trigger event. +In FIFO mode, this will be quantised according to the minimum step size allowed by the connected card.

+ +
Args
+ +
    +
  • length_in_samples (int): The desired post trigger length in samples.
  • +
+
+ + +
+
+
#   + + number_of_averages: int +
+ + + +
+
+
#   + + + def + set_number_of_averages(self, num_averages: int) -> None: +
+ +
+ View Source +
    def set_number_of_averages(self, num_averages: int) -> None:
+        if num_averages > 0:
+            self.write_to_spectrum_device_register(SPC_AVERAGES, num_averages)
+        else:
+            raise ValueError("Number of averages must be greater than 0.")
+
+ +
+ + + +
+
+ + +

The currently enabled card mode. Will raise an exception if the current mode is not supported by +spectrumdevice.

+ +
Returns
+ +
+

mode (AcquisitionMode): The currently enabled card acquisition mode.

+
+
+ + +
+
+
#   + + + def + set_acquisition_mode( + self, + mode: spectrumdevice.settings.device_modes.AcquisitionMode +) -> None: +
+ +
+ View Source +
    def set_acquisition_mode(self, mode: AcquisitionMode) -> None:
+        """Change the currently enabled card mode. See `AcquisitionMode` and the Spectrum documentation
+        for the available modes.
+
+        Args:
+            mode (`AcquisitionMode`): The desired acquisition mode."""
+        self.write_to_spectrum_device_register(SPC_CARDMODE, mode.value)
+
+ +
+ +

Change the currently enabled card mode. See AcquisitionMode and the Spectrum documentation +for the available modes.

+ +
Args
+ +
    +
  • mode (AcquisitionMode): The desired acquisition mode.
  • +
+
+ + +
+
+
#   + + + def + define_transfer_buffer( + self, + buffer: Optional[List[spectrumdevice.settings.transfer_buffer.CardToPCDataTransferBuffer]] = None +) -> None: +
+ +
+ View Source +
    def define_transfer_buffer(self, buffer: Optional[List[CardToPCDataTransferBuffer]] = None) -> None:
+        """Create or provide a `CardToPCDataTransferBuffer` object for receiving acquired samples from the device.
+
+        If no buffer is provided, one will be created with the correct size and a board_memory_offset_bytes of 0. A
+        seperate buffer for transfering Timestamps will also be created using the Timestamper class.
+
+        Args:
+            buffer (Optional[List[`CardToPCDataTransferBuffer`]]): A length-1 list containing a pre-constructed
+                `CardToPCDataTransferBuffer`  The size of the buffer should be chosen according to the current number of
+                active channels and the acquisition length.
+        """
+        if buffer:
+            self._transfer_buffer = buffer[0]
+        else:
+            self._transfer_buffer = CardToPCDataTransferBuffer(
+                self.acquisition_length_in_samples * len(self.enabled_channels)
+            )
+        set_transfer_buffer(self._handle, self._transfer_buffer)
+
+ +
+ +

Create or provide a CardToPCDataTransferBuffer object for receiving acquired samples from the device.

+ +

If no buffer is provided, one will be created with the correct size and a board_memory_offset_bytes of 0. A +seperate buffer for transfering Timestamps will also be created using the Timestamper class.

+ +
Args
+ +
    +
  • buffer (Optional[List[CardToPCDataTransferBuffer]]): A length-1 list containing a pre-constructed +CardToPCDataTransferBuffer The size of the buffer should be chosen according to the current number of +active channels and the acquisition length.
  • +
+
+ + +
+ +
+
+ + +
+ View Source +
class SpectrumDigitiserStarHub(AbstractSpectrumStarHub, AbstractSpectrumDigitiser):
+    """Composite class of `SpectrumCards` for controlling a StarHub digitiser device, for example the Spectrum NetBox.
+    StarHub digitiser devices are composites of more than one Spectrum digitiser card. Acquisition from the child cards
+    of a StarHub is synchronised, aggregating the channels of all child cards. This class enables the control of a
+    StarHub device as if it were a single Spectrum card."""
+
+    def __init__(
+        self,
+        device_number: int,
+        child_cards: Sequence[SpectrumDigitiserCard],
+        master_card_index: int,
+    ):
+        """
+        Args:
+            device_number (int): The index of the StarHub to connect to. If only one StarHub is present, set to 0.
+            child_cards (Sequence[`SpectrumDigitiserCard`]): A list of `SpectrumCard` objects defining the child cards
+                located within the StarHub, correctly constructed with their IP addresses and/or device numbers.
+            master_card_index (int): The position within child_cards where the master card (the card which controls the
+                clock) is located.
+        """
+        AbstractSpectrumStarHub.__init__(self, device_number, child_cards, master_card_index)
+        self._acquisition_mode = self.acquisition_mode
+
+    def define_transfer_buffer(self, buffer: Optional[List[CardToPCDataTransferBuffer]] = None) -> None:
+        """Create or provide `CardToPCDataTransferBuffer` objects for receiving acquired samples from the child cards.
+        If no buffers are provided, they will be created with the correct size and a board_memory_offset_bytes of 0. See
+        `SpectrumDigitiserCard.define_transfer_buffer()` for more information
+
+        Args:
+            buffer (Optional[`CardToPCDataTransferBuffer`]): A list containing pre-constructed
+            `CardToPCDataTransferBuffer` objects, one for each child card. The size of the buffers should be chosen
+            according to the current number of active channels in each card and the acquisition length.
+        """
+        if buffer:
+            for card, buff in zip(self._child_cards, buffer):
+                card.define_transfer_buffer([buff])
+        else:
+            for card in self._child_cards:
+                card.define_transfer_buffer()
+
+    def wait_for_acquisition_to_complete(self) -> None:
+        """Wait for each card to finish its acquisition. See `SpectrumDigitiserCard.wait_for_acquisition_to_complete()`
+        for more information."""
+        for card in self._child_cards:
+            cast(SpectrumDigitiserCard, card).wait_for_acquisition_to_complete()
+
+    def get_waveforms(self) -> List[NDArray[float_]]:
+        """Get a list of the most recently transferred waveforms.
+
+        This method gets the waveforms from each child card and joins them into a new list, ordered by channel number.
+        See `SpectrumDigitiserCard.get_waveforms()` for more information.
+
+        Returns:
+            waveforms (List[NDArray[float_]]): A list of 1D numpy arrays, one per enabled channel, in channel order.
+        """
+        waveforms_all_cards = []
+        for card in self._child_cards:
+            waveforms_all_cards += cast(SpectrumDigitiserCard, card).get_waveforms()
+
+        return waveforms_all_cards
+
+    def get_timestamp(self) -> Optional[datetime.datetime]:
+        """Get timestamp for the last acquisition"""
+        return cast(SpectrumDigitiserCard, self._triggering_card).get_timestamp()
+
+    def enable_timestamping(self) -> None:
+        cast(SpectrumDigitiserCard, self._triggering_card).enable_timestamping()
+
+    @property
+    def acquisition_length_in_samples(self) -> int:
+        """The currently set recording length, which should be the same for all child cards. If different recording
+        lengths are set, an exception is raised. See `SpectrumDigitiserCard.acquisition_length_in_samples` for more
+        information.
+
+        Returns:
+            length_in_samples: The currently set acquisition length in samples."""
+        lengths = []
+        for d in self._child_cards:
+            lengths.append(cast(SpectrumDigitiserCard, d).acquisition_length_in_samples)
+        return check_settings_constant_across_devices(lengths, __name__)
+
+    def set_acquisition_length_in_samples(self, length_in_samples: int) -> None:
+        """Set a new recording length for all child cards. See `SpectrumDigitiserCard.set_acquisition_length_in_samples()`
+        for more information.
+
+        Args:
+            length_in_samples (int): The desired acquisition length in samples."""
+        for d in self._child_cards:
+            cast(SpectrumDigitiserCard, d).set_acquisition_length_in_samples(length_in_samples)
+
+    @property
+    def post_trigger_length_in_samples(self) -> int:
+        """The number of samples recorded after a trigger is received. This should be consistent across all child
+        cards. If different values are found across the child cards, an exception is raised. See
+        `SpectrumDigitiserCard.post_trigger_length_in_samples` for more information.
+
+        Returns:
+            length_in_samples (int): The current post trigger length in samples.
+        """
+        lengths = []
+        for d in self._child_cards:
+            lengths.append(cast(SpectrumDigitiserCard, d).post_trigger_length_in_samples)
+        return check_settings_constant_across_devices(lengths, __name__)
+
+    def set_post_trigger_length_in_samples(self, length_in_samples: int) -> None:
+        """Set a new post trigger length for all child cards. See `SpectrumDigitiserCard.set_post_trigger_length_in_samples()`
+        for more information.
+
+        Args:
+            length_in_samples (int): The desired post trigger length in samples.
+        """
+        for d in self._child_cards:
+            cast(SpectrumDigitiserCard, d).set_post_trigger_length_in_samples(length_in_samples)
+
+    @property
+    def acquisition_mode(self) -> AcquisitionMode:
+        """The acquisition mode, which should be the same for all child cards. If it's not, an exception is raised.
+        See `SpectrumDigitiserCard.acquisition_mode` for more information.
+
+        Returns:
+            mode (`AcquisitionMode`): The currently enabled acquisition mode.
+        """
+        modes = []
+        for d in self._child_cards:
+            modes.append(cast(SpectrumDigitiserCard, d).acquisition_mode)
+        return AcquisitionMode(check_settings_constant_across_devices([m.value for m in modes], __name__))
+
+    def set_acquisition_mode(self, mode: AcquisitionMode) -> None:
+        """Change the acquisition mode for all child cards. See `SpectrumDigitiserCard.set_acquisition_mode()` for more
+        information.
+
+        Args:
+            mode (`AcquisitionMode`): The desired acquisition mode."""
+        for d in self._child_cards:
+            cast(SpectrumDigitiserCard, d).set_acquisition_mode(mode)
+
+ +
+ +

Composite class of SpectrumCards for controlling a StarHub digitiser device, for example the Spectrum NetBox. +StarHub digitiser devices are composites of more than one Spectrum digitiser card. Acquisition from the child cards +of a StarHub is synchronised, aggregating the channels of all child cards. This class enables the control of a +StarHub device as if it were a single Spectrum card.

+
+ + +
+
#   + + + SpectrumDigitiserStarHub( + device_number: int, + child_cards: Sequence[spectrumdevice.devices.digitiser.digitiser_card.SpectrumDigitiserCard], + master_card_index: int +) +
+ +
+ View Source +
    def __init__(
+        self,
+        device_number: int,
+        child_cards: Sequence[SpectrumDigitiserCard],
+        master_card_index: int,
+    ):
+        """
+        Args:
+            device_number (int): The index of the StarHub to connect to. If only one StarHub is present, set to 0.
+            child_cards (Sequence[`SpectrumDigitiserCard`]): A list of `SpectrumCard` objects defining the child cards
+                located within the StarHub, correctly constructed with their IP addresses and/or device numbers.
+            master_card_index (int): The position within child_cards where the master card (the card which controls the
+                clock) is located.
+        """
+        AbstractSpectrumStarHub.__init__(self, device_number, child_cards, master_card_index)
+        self._acquisition_mode = self.acquisition_mode
+
+ +
+ +
Args
+ +
    +
  • device_number (int): The index of the StarHub to connect to. If only one StarHub is present, set to 0.
  • +
  • child_cards (Sequence[SpectrumDigitiserCard]): A list of SpectrumCard objects defining the child cards +located within the StarHub, correctly constructed with their IP addresses and/or device numbers.
  • +
  • master_card_index (int): The position within child_cards where the master card (the card which controls the +clock) is located.
  • +
+
+ + +
+
+
#   + + + def + define_transfer_buffer( + self, + buffer: Optional[List[spectrumdevice.settings.transfer_buffer.CardToPCDataTransferBuffer]] = None +) -> None: +
+ +
+ View Source +
    def define_transfer_buffer(self, buffer: Optional[List[CardToPCDataTransferBuffer]] = None) -> None:
+        """Create or provide `CardToPCDataTransferBuffer` objects for receiving acquired samples from the child cards.
+        If no buffers are provided, they will be created with the correct size and a board_memory_offset_bytes of 0. See
+        `SpectrumDigitiserCard.define_transfer_buffer()` for more information
+
+        Args:
+            buffer (Optional[`CardToPCDataTransferBuffer`]): A list containing pre-constructed
+            `CardToPCDataTransferBuffer` objects, one for each child card. The size of the buffers should be chosen
+            according to the current number of active channels in each card and the acquisition length.
+        """
+        if buffer:
+            for card, buff in zip(self._child_cards, buffer):
+                card.define_transfer_buffer([buff])
+        else:
+            for card in self._child_cards:
+                card.define_transfer_buffer()
+
+ +
+ +

Create or provide CardToPCDataTransferBuffer objects for receiving acquired samples from the child cards. +If no buffers are provided, they will be created with the correct size and a board_memory_offset_bytes of 0. See +SpectrumDigitiserCard.define_transfer_buffer() for more information

+ +
Args
+ +
    +
  • buffer (Optional[CardToPCDataTransferBuffer]): A list containing pre-constructed
  • +
  • CardToPCDataTransferBuffer objects, one for each child card. The size of the buffers should be chosen
  • +
  • according to the current number of active channels in each card and the acquisition length.
  • +
+
+ + +
+
+
#   + + + def + wait_for_acquisition_to_complete(self) -> None: +
+ +
+ View Source +
    def wait_for_acquisition_to_complete(self) -> None:
+        """Wait for each card to finish its acquisition. See `SpectrumDigitiserCard.wait_for_acquisition_to_complete()`
+        for more information."""
+        for card in self._child_cards:
+            cast(SpectrumDigitiserCard, card).wait_for_acquisition_to_complete()
+
+ +
+ +

Wait for each card to finish its acquisition. See SpectrumDigitiserCard.wait_for_acquisition_to_complete() +for more information.

+
+ + +
+
+
#   + + + def + get_waveforms(self) -> List[numpy.ndarray[Any, numpy.dtype[numpy.float64]]]: +
+ +
+ View Source +
    def get_waveforms(self) -> List[NDArray[float_]]:
+        """Get a list of the most recently transferred waveforms.
+
+        This method gets the waveforms from each child card and joins them into a new list, ordered by channel number.
+        See `SpectrumDigitiserCard.get_waveforms()` for more information.
+
+        Returns:
+            waveforms (List[NDArray[float_]]): A list of 1D numpy arrays, one per enabled channel, in channel order.
+        """
+        waveforms_all_cards = []
+        for card in self._child_cards:
+            waveforms_all_cards += cast(SpectrumDigitiserCard, card).get_waveforms()
+
+        return waveforms_all_cards
+
+ +
+ +

Get a list of the most recently transferred waveforms.

+ +

This method gets the waveforms from each child card and joins them into a new list, ordered by channel number. +See SpectrumDigitiserCard.get_waveforms() for more information.

+ +
Returns
+ +
+

waveforms (List[NDArray[float_]]): A list of 1D numpy arrays, one per enabled channel, in channel order.

+
+
+ + +
+
+
#   + + + def + get_timestamp(self) -> Optional[datetime.datetime]: +
+ +
+ View Source +
    def get_timestamp(self) -> Optional[datetime.datetime]:
+        """Get timestamp for the last acquisition"""
+        return cast(SpectrumDigitiserCard, self._triggering_card).get_timestamp()
+
+ +
+ +

Get timestamp for the last acquisition

+
+ + +
+
+
#   + + + def + enable_timestamping(self) -> None: +
+ +
+ View Source +
    def enable_timestamping(self) -> None:
+        cast(SpectrumDigitiserCard, self._triggering_card).enable_timestamping()
+
+ +
+ + + +
+
+
#   + + acquisition_length_in_samples: int +
+ +

The currently set recording length, which should be the same for all child cards. If different recording +lengths are set, an exception is raised. See SpectrumDigitiserCard.acquisition_length_in_samples for more +information.

+ +
Returns
+ +
+

length_in_samples: The currently set acquisition length in samples.

+
+
+ + +
+
+
#   + + + def + set_acquisition_length_in_samples(self, length_in_samples: int) -> None: +
+ +
+ View Source +
    def set_acquisition_length_in_samples(self, length_in_samples: int) -> None:
+        """Set a new recording length for all child cards. See `SpectrumDigitiserCard.set_acquisition_length_in_samples()`
+        for more information.
+
+        Args:
+            length_in_samples (int): The desired acquisition length in samples."""
+        for d in self._child_cards:
+            cast(SpectrumDigitiserCard, d).set_acquisition_length_in_samples(length_in_samples)
+
+ +
+ +

Set a new recording length for all child cards. See SpectrumDigitiserCard.set_acquisition_length_in_samples() +for more information.

+ +
Args
+ +
    +
  • length_in_samples (int): The desired acquisition length in samples.
  • +
+
+ + +
+
+
#   + + post_trigger_length_in_samples: int +
+ +

The number of samples recorded after a trigger is received. This should be consistent across all child +cards. If different values are found across the child cards, an exception is raised. See +SpectrumDigitiserCard.post_trigger_length_in_samples for more information.

+ +
Returns
+ +
+

length_in_samples (int): The current post trigger length in samples.

+
+
+ + +
+
+
#   + + + def + set_post_trigger_length_in_samples(self, length_in_samples: int) -> None: +
+ +
+ View Source +
    def set_post_trigger_length_in_samples(self, length_in_samples: int) -> None:
+        """Set a new post trigger length for all child cards. See `SpectrumDigitiserCard.set_post_trigger_length_in_samples()`
+        for more information.
+
+        Args:
+            length_in_samples (int): The desired post trigger length in samples.
+        """
+        for d in self._child_cards:
+            cast(SpectrumDigitiserCard, d).set_post_trigger_length_in_samples(length_in_samples)
+
+ +
+ +

Set a new post trigger length for all child cards. See SpectrumDigitiserCard.set_post_trigger_length_in_samples() +for more information.

+ +
Args
+ +
    +
  • length_in_samples (int): The desired post trigger length in samples.
  • +
+
+ + +
+
+ + +

The acquisition mode, which should be the same for all child cards. If it's not, an exception is raised. +See SpectrumDigitiserCard.acquisition_mode for more information.

+ +
Returns
+ +
+

mode (AcquisitionMode): The currently enabled acquisition mode.

+
+
+ + +
+
+
#   + + + def + set_acquisition_mode( + self, + mode: spectrumdevice.settings.device_modes.AcquisitionMode +) -> None: +
+ +
+ View Source +
    def set_acquisition_mode(self, mode: AcquisitionMode) -> None:
+        """Change the acquisition mode for all child cards. See `SpectrumDigitiserCard.set_acquisition_mode()` for more
+        information.
+
+        Args:
+            mode (`AcquisitionMode`): The desired acquisition mode."""
+        for d in self._child_cards:
+            cast(SpectrumDigitiserCard, d).set_acquisition_mode(mode)
+
+ +
+ +

Change the acquisition mode for all child cards. See SpectrumDigitiserCard.set_acquisition_mode() for more +information.

+ +
Args
+ +
    +
  • mode (AcquisitionMode): The desired acquisition mode.
  • +
+
+ + +
+ +
+
+
+ #   + + + class + MockSpectrumDigitiserCard(spectrumdevice.SpectrumDigitiserCard, spectrumdevice.devices.mocks.mock_abstract_devices.MockAbstractSpectrumDigitiser): +
+ +
+ View Source +
class MockSpectrumDigitiserCard(SpectrumDigitiserCard, MockAbstractSpectrumDigitiser):
+    """A mock spectrum card, for testing software written to use the `SpectrumDigitiserCard` class.
+
+    This class overrides methods of `SpectrumDigitiserCard` that communicate with hardware with mocked implementations,
+    allowing software to be tested without Spectrum hardware connected or drivers installed, e.g. during CI. It overrides
+    methods to use to set up a mock 'on-device buffer' attribute into which a mock waveform source will write
+    samples. It also uses a MockTimestamper to generated timestamps for mock waveforms.
+    """
+
+    def __init__(
+        self,
+        device_number: int,
+        card_type: CardType,
+        mock_source_frame_rate_hz: float,
+        num_modules: int = 2,
+        num_channels_per_module: int = 4,
+    ):
+        """
+        Args:
+            device_number (int): The index of the mock device to create. Used to create a name for the device which is
+                used internally.
+            card_type (CardType): The model of card to mock. Affects the allowed acquisition and post-trigger lengths.
+            mock_source_frame_rate_hz (float): Rate at which waveforms will be generated by the mock source providing
+                data to the mock spectrum card.
+            num_modules (int): The number of internal modules to assign the mock card. Default 2. On real hardware, this
+                is read from the device so does not need to be set. See the Spectrum documentation to work out how many
+                modules your hardware has.
+            num_channels_per_module (int): The number of channels per module. Default 4 (so 8 channels in total). On
+                real hardware, this is read from the device so does not need to be set.
+        """
+        MockAbstractSpectrumDigitiser.__init__(self, mock_source_frame_rate_hz)
+        self._param_dict[SPC_MIINST_MODULES] = num_modules
+        self._param_dict[SPC_MIINST_CHPERMODULE] = num_channels_per_module
+        self._param_dict[SPC_PCITYP] = card_type.value
+        SpectrumDigitiserCard.__init__(self, device_number=device_number)
+        self._visa_string = f"MockCard{device_number}"
+        self._connect(self._visa_string)
+        self._acquisition_mode = self.acquisition_mode
+
+    def enable_timestamping(self) -> None:
+        self._timestamper: MockTimestamper = MockTimestamper(self, self._handle)
+
+    def set_acquisition_mode(self, mode: AcquisitionMode) -> None:
+        """Mock timestamper needs to be recreated if the acquisition mode is changed."""
+        super().set_acquisition_mode(mode)
+        self._timestamper = MockTimestamper(self, self._handle)
+
+    def set_sample_rate_in_hz(self, rate: int) -> None:
+        """Mock timestamper needs to be recreated if the sample rate is changed."""
+        super().set_sample_rate_in_hz(rate)
+        self._timestamper = MockTimestamper(self, self._handle)
+
+    def set_acquisition_length_in_samples(self, length_in_samples: int) -> None:
+        """Set length of mock recording (per channel). In FIFO mode, this will be quantised to the nearest 8 samples.
+        See `SpectrumDigitiserCard` for more information. This method is overridden here only so that the internal
+        attributes related to the mock on-device buffer can be set.
+
+        Args:
+            length_in_samples (int): Number of samples in each generated mock waveform
+        """
+        self._on_device_buffer = zeros(length_in_samples * len(self.enabled_channels))
+        self._previous_data = zeros(length_in_samples * len(self.enabled_channels))
+        super().set_acquisition_length_in_samples(length_in_samples)
+
+    def set_enabled_channels(self, channels_nums: List[int]) -> None:
+        """Set the channels to enable for the mock acquisition. See `SpectrumDigitiserCard` for more information. This
+        method is overridden here only so that the internal attributes related to the mock on-device buffer
+        can be set.
+
+        Args:
+            channels_nums (List[int]): List of mock channel indices to enable, e.g. [0, 1, 2].
+
+        """
+        if len(list(filter(lambda x: 0 <= x < len(self.channels), channels_nums))) == len(channels_nums):
+            self._on_device_buffer = zeros(self.acquisition_length_in_samples * len(channels_nums))
+            self._previous_data = zeros(self.acquisition_length_in_samples * len(channels_nums))
+            super().set_enabled_channels(channels_nums)
+        else:
+            raise SpectrumSettingsMismatchError("Not enough channels in mock device configuration.")
+
+    def define_transfer_buffer(self, buffer: Optional[List[CardToPCDataTransferBuffer]] = None) -> None:
+        """Create or provide a `CardToPCDataTransferBuffer` object into which samples from the mock 'on-device buffer'
+        will be transferred. If none is provided, a buffer will be instantiated using the currently set acquisition
+        length and the number of enabled channels.
+
+        Args:
+            buffer (Optional[List[`CardToPCDataTransferBuffer`]]): A length-1 list containing a
+            `CardToPCDataTransferBuffer` object.
+        """
+        if buffer:
+            self._transfer_buffer = buffer[0]
+        else:
+            self._transfer_buffer = CardToPCDataTransferBuffer(
+                self.acquisition_length_in_samples * len(self.enabled_channels)
+            )
+
+    def start_transfer(self) -> None:
+        """See `SpectrumDigitiserCard.start_transfer()`. This mock implementation simulates the continuous transfer of
+        samples from the mock 'on-device buffer' to the transfer buffer by pointing the transfer buffer's data buffer
+        attribute to the mock on-device buffer."""
+        if self._transfer_buffer:
+            self._transfer_buffer.data_array = self._on_device_buffer
+        else:
+            raise SpectrumNoTransferBufferDefined("Call define_transfer_buffer method.")
+
+    def stop_transfer(self) -> None:
+        """See `SpectrumDigitiserCard.stop_transfer()`. This mock implementation simulates the end of the continuous
+        transfer of samples from the mock 'on-device buffer' to the transfer buffer by assigning the transfer buffer
+        to an array of zeros."""
+        if self._transfer_buffer:
+            self._transfer_buffer.data_array = zeros(self._transfer_buffer.data_array.shape)
+        else:
+            raise SpectrumNoTransferBufferDefined("Call define_transfer_buffer method.")
+
+    def wait_for_transfer_to_complete(self) -> None:
+        """See `SpectrumDigitiserCard.wait_for_transfer_to_complete()`. This mock implementation blocks until a new mock
+        transfer has been completed (i.e. the contents of the transfer buffer has changed since __init__() or since the
+        last call to `wait_for_transfer_to_complete()`)."""
+        if self._transfer_buffer:
+            while (self._previous_data == self._transfer_buffer.data_array).all():
+                sleep(0.01)
+            self._previous_data = self._transfer_buffer.data_array.copy()
+        else:
+            raise SpectrumNoTransferBufferDefined("No transfer in progress.")
+
+    def wait_for_acquisition_to_complete(self) -> None:
+        """See `SpectrumDigitiserCard.wait_for_acquisition_to_complete()`. This mock implementation blocks until a mock
+        acquisition has been completed (i.e. the acquisition thread has shut down) or the request has timed out
+        according to the `self.timeout_ms attribute`."""
+        if self._acquisition_thread is not None:
+            self._acquisition_thread.join(timeout=1e-3 * self.timeout_in_ms)
+            if self._acquisition_thread.is_alive():
+                logger.warning("A timeout occurred while waiting for mock acquisition to complete.")
+        else:
+            logger.warning("No acquisition in progress. Wait for acquisition to complete has no effect")
+
+ +
+ +

A mock spectrum card, for testing software written to use the SpectrumDigitiserCard class.

+ +

This class overrides methods of SpectrumDigitiserCard that communicate with hardware with mocked implementations, +allowing software to be tested without Spectrum hardware connected or drivers installed, e.g. during CI. It overrides +methods to use to set up a mock 'on-device buffer' attribute into which a mock waveform source will write +samples. It also uses a MockTimestamper to generated timestamps for mock waveforms.

+
+ + +
+
#   + + + MockSpectrumDigitiserCard( + device_number: int, + card_type: spectrumdevice.settings.card_dependent_properties.CardType, + mock_source_frame_rate_hz: float, + num_modules: int = 2, + num_channels_per_module: int = 4 +) +
+ +
+ View Source +
    def __init__(
+        self,
+        device_number: int,
+        card_type: CardType,
+        mock_source_frame_rate_hz: float,
+        num_modules: int = 2,
+        num_channels_per_module: int = 4,
+    ):
+        """
+        Args:
+            device_number (int): The index of the mock device to create. Used to create a name for the device which is
+                used internally.
+            card_type (CardType): The model of card to mock. Affects the allowed acquisition and post-trigger lengths.
+            mock_source_frame_rate_hz (float): Rate at which waveforms will be generated by the mock source providing
+                data to the mock spectrum card.
+            num_modules (int): The number of internal modules to assign the mock card. Default 2. On real hardware, this
+                is read from the device so does not need to be set. See the Spectrum documentation to work out how many
+                modules your hardware has.
+            num_channels_per_module (int): The number of channels per module. Default 4 (so 8 channels in total). On
+                real hardware, this is read from the device so does not need to be set.
+        """
+        MockAbstractSpectrumDigitiser.__init__(self, mock_source_frame_rate_hz)
+        self._param_dict[SPC_MIINST_MODULES] = num_modules
+        self._param_dict[SPC_MIINST_CHPERMODULE] = num_channels_per_module
+        self._param_dict[SPC_PCITYP] = card_type.value
+        SpectrumDigitiserCard.__init__(self, device_number=device_number)
+        self._visa_string = f"MockCard{device_number}"
+        self._connect(self._visa_string)
+        self._acquisition_mode = self.acquisition_mode
+
+ +
+ +
Args
+ +
    +
  • device_number (int): The index of the mock device to create. Used to create a name for the device which is +used internally.
  • +
  • card_type (CardType): The model of card to mock. Affects the allowed acquisition and post-trigger lengths.
  • +
  • mock_source_frame_rate_hz (float): Rate at which waveforms will be generated by the mock source providing +data to the mock spectrum card.
  • +
  • num_modules (int): The number of internal modules to assign the mock card. Default 2. On real hardware, this +is read from the device so does not need to be set. See the Spectrum documentation to work out how many +modules your hardware has.
  • +
  • num_channels_per_module (int): The number of channels per module. Default 4 (so 8 channels in total). On +real hardware, this is read from the device so does not need to be set.
  • +
+
+ + +
+
+
#   + + + def + enable_timestamping(self) -> None: +
+ +
+ View Source +
    def enable_timestamping(self) -> None:
+        self._timestamper: MockTimestamper = MockTimestamper(self, self._handle)
+
+ +
+ + + +
+
+
#   + + + def + set_acquisition_mode( + self, + mode: spectrumdevice.settings.device_modes.AcquisitionMode +) -> None: +
+ +
+ View Source +
    def set_acquisition_mode(self, mode: AcquisitionMode) -> None:
+        """Mock timestamper needs to be recreated if the acquisition mode is changed."""
+        super().set_acquisition_mode(mode)
+        self._timestamper = MockTimestamper(self, self._handle)
+
+ +
+ +

Mock timestamper needs to be recreated if the acquisition mode is changed.

+
+ + +
+
+
#   + + + def + set_sample_rate_in_hz(self, rate: int) -> None: +
+ +
+ View Source +
    def set_sample_rate_in_hz(self, rate: int) -> None:
+        """Mock timestamper needs to be recreated if the sample rate is changed."""
+        super().set_sample_rate_in_hz(rate)
+        self._timestamper = MockTimestamper(self, self._handle)
+
+ +
+ +

Mock timestamper needs to be recreated if the sample rate is changed.

+
+ + +
+
+
#   + + + def + set_acquisition_length_in_samples(self, length_in_samples: int) -> None: +
+ +
+ View Source +
    def set_acquisition_length_in_samples(self, length_in_samples: int) -> None:
+        """Set length of mock recording (per channel). In FIFO mode, this will be quantised to the nearest 8 samples.
+        See `SpectrumDigitiserCard` for more information. This method is overridden here only so that the internal
+        attributes related to the mock on-device buffer can be set.
+
+        Args:
+            length_in_samples (int): Number of samples in each generated mock waveform
+        """
+        self._on_device_buffer = zeros(length_in_samples * len(self.enabled_channels))
+        self._previous_data = zeros(length_in_samples * len(self.enabled_channels))
+        super().set_acquisition_length_in_samples(length_in_samples)
+
+ +
+ +

Set length of mock recording (per channel). In FIFO mode, this will be quantised to the nearest 8 samples. +See SpectrumDigitiserCard for more information. This method is overridden here only so that the internal +attributes related to the mock on-device buffer can be set.

+ +
Args
+ +
    +
  • length_in_samples (int): Number of samples in each generated mock waveform
  • +
+
+ + +
+
+
#   + + + def + set_enabled_channels(self, channels_nums: List[int]) -> None: +
+ +
+ View Source +
    def set_enabled_channels(self, channels_nums: List[int]) -> None:
+        """Set the channels to enable for the mock acquisition. See `SpectrumDigitiserCard` for more information. This
+        method is overridden here only so that the internal attributes related to the mock on-device buffer
+        can be set.
+
+        Args:
+            channels_nums (List[int]): List of mock channel indices to enable, e.g. [0, 1, 2].
+
+        """
+        if len(list(filter(lambda x: 0 <= x < len(self.channels), channels_nums))) == len(channels_nums):
+            self._on_device_buffer = zeros(self.acquisition_length_in_samples * len(channels_nums))
+            self._previous_data = zeros(self.acquisition_length_in_samples * len(channels_nums))
+            super().set_enabled_channels(channels_nums)
+        else:
+            raise SpectrumSettingsMismatchError("Not enough channels in mock device configuration.")
+
+ +
+ +

Set the channels to enable for the mock acquisition. See SpectrumDigitiserCard for more information. This +method is overridden here only so that the internal attributes related to the mock on-device buffer +can be set.

+ +
Args
+ +
    +
  • channels_nums (List[int]): List of mock channel indices to enable, e.g. [0, 1, 2].
  • +
+
+ + +
+
+
#   + + + def + define_transfer_buffer( + self, + buffer: Optional[List[spectrumdevice.settings.transfer_buffer.CardToPCDataTransferBuffer]] = None +) -> None: +
+ +
+ View Source +
    def define_transfer_buffer(self, buffer: Optional[List[CardToPCDataTransferBuffer]] = None) -> None:
+        """Create or provide a `CardToPCDataTransferBuffer` object into which samples from the mock 'on-device buffer'
+        will be transferred. If none is provided, a buffer will be instantiated using the currently set acquisition
+        length and the number of enabled channels.
+
+        Args:
+            buffer (Optional[List[`CardToPCDataTransferBuffer`]]): A length-1 list containing a
+            `CardToPCDataTransferBuffer` object.
+        """
+        if buffer:
+            self._transfer_buffer = buffer[0]
+        else:
+            self._transfer_buffer = CardToPCDataTransferBuffer(
+                self.acquisition_length_in_samples * len(self.enabled_channels)
+            )
+
+ +
+ +

Create or provide a CardToPCDataTransferBuffer object into which samples from the mock 'on-device buffer' +will be transferred. If none is provided, a buffer will be instantiated using the currently set acquisition +length and the number of enabled channels.

+ +
Args
+ +
    +
  • buffer (Optional[List[CardToPCDataTransferBuffer]]): A length-1 list containing a
  • +
  • CardToPCDataTransferBuffer object.
  • +
+
+ + +
+
+
#   + + + def + start_transfer(self) -> None: +
+ +
+ View Source +
    def start_transfer(self) -> None:
+        """See `SpectrumDigitiserCard.start_transfer()`. This mock implementation simulates the continuous transfer of
+        samples from the mock 'on-device buffer' to the transfer buffer by pointing the transfer buffer's data buffer
+        attribute to the mock on-device buffer."""
+        if self._transfer_buffer:
+            self._transfer_buffer.data_array = self._on_device_buffer
+        else:
+            raise SpectrumNoTransferBufferDefined("Call define_transfer_buffer method.")
+
+ +
+ +

See SpectrumDigitiserCard.start_transfer(). This mock implementation simulates the continuous transfer of +samples from the mock 'on-device buffer' to the transfer buffer by pointing the transfer buffer's data buffer +attribute to the mock on-device buffer.

+
+ + +
+
+
#   + + + def + stop_transfer(self) -> None: +
+ +
+ View Source +
    def stop_transfer(self) -> None:
+        """See `SpectrumDigitiserCard.stop_transfer()`. This mock implementation simulates the end of the continuous
+        transfer of samples from the mock 'on-device buffer' to the transfer buffer by assigning the transfer buffer
+        to an array of zeros."""
+        if self._transfer_buffer:
+            self._transfer_buffer.data_array = zeros(self._transfer_buffer.data_array.shape)
+        else:
+            raise SpectrumNoTransferBufferDefined("Call define_transfer_buffer method.")
+
+ +
+ +

See SpectrumDigitiserCard.stop_transfer(). This mock implementation simulates the end of the continuous +transfer of samples from the mock 'on-device buffer' to the transfer buffer by assigning the transfer buffer +to an array of zeros.

+
+ + +
+
+
#   + + + def + wait_for_transfer_to_complete(self) -> None: +
+ +
+ View Source +
    def wait_for_transfer_to_complete(self) -> None:
+        """See `SpectrumDigitiserCard.wait_for_transfer_to_complete()`. This mock implementation blocks until a new mock
+        transfer has been completed (i.e. the contents of the transfer buffer has changed since __init__() or since the
+        last call to `wait_for_transfer_to_complete()`)."""
+        if self._transfer_buffer:
+            while (self._previous_data == self._transfer_buffer.data_array).all():
+                sleep(0.01)
+            self._previous_data = self._transfer_buffer.data_array.copy()
+        else:
+            raise SpectrumNoTransferBufferDefined("No transfer in progress.")
+
+ +
+ +

See SpectrumDigitiserCard.wait_for_transfer_to_complete(). This mock implementation blocks until a new mock +transfer has been completed (i.e. the contents of the transfer buffer has changed since __init__() or since the +last call to wait_for_transfer_to_complete()).

+
+ + +
+
+
#   + + + def + wait_for_acquisition_to_complete(self) -> None: +
+ +
+ View Source +
    def wait_for_acquisition_to_complete(self) -> None:
+        """See `SpectrumDigitiserCard.wait_for_acquisition_to_complete()`. This mock implementation blocks until a mock
+        acquisition has been completed (i.e. the acquisition thread has shut down) or the request has timed out
+        according to the `self.timeout_ms attribute`."""
+        if self._acquisition_thread is not None:
+            self._acquisition_thread.join(timeout=1e-3 * self.timeout_in_ms)
+            if self._acquisition_thread.is_alive():
+                logger.warning("A timeout occurred while waiting for mock acquisition to complete.")
+        else:
+            logger.warning("No acquisition in progress. Wait for acquisition to complete has no effect")
+
+ +
+ +

See SpectrumDigitiserCard.wait_for_acquisition_to_complete(). This mock implementation blocks until a mock +acquisition has been completed (i.e. the acquisition thread has shut down) or the request has timed out +according to the self.timeout_ms attribute.

+
+ + +
+ +
+
+
+ #   + + + class + MockSpectrumDigitiserStarHub(spectrumdevice.SpectrumDigitiserStarHub, spectrumdevice.devices.mocks.mock_abstract_devices.MockAbstractSpectrumDigitiser): +
+ +
+ View Source +
class MockSpectrumDigitiserStarHub(SpectrumDigitiserStarHub, MockAbstractSpectrumDigitiser):
+    """A mock spectrum StarHub, for testing software written to use the `SpectrumStarHub` class.
+
+    Overrides methods of `SpectrumStarHub` and `AbstractSpectrumDigitiser` that communicate with hardware with mocked
+    implementations allowing software to be tested without Spectrum hardware connected or drivers installed, e.g. during
+    CI."""
+
+    def __init__(
+        self,
+        device_number: int,
+        child_cards: Sequence[MockSpectrumDigitiserCard],
+        master_card_index: int,
+    ):
+        """
+        Args:
+            child_cards (Sequence[`MockSpectrumDigitiserCard`]): A list of `MockSpectrumCard` objects defining the
+                properties of the child cards located within the mock hub.
+            master_card_index (int): The position within child_cards where the master card (the card which controls the
+                clock) is located.
+        """
+        MockAbstractSpectrumDigitiser.__init__(self)
+        SpectrumDigitiserStarHub.__init__(self, device_number, child_cards, master_card_index)
+        self._visa_string = f"MockHub{device_number}"
+        self._connect(self._visa_string)
+        self._acquisition_mode = self.acquisition_mode
+
+    def start(self) -> None:
+        """Start a mock acquisition
+
+        See `AbstractSpectrumDevice.start()`. With a hardware device, StarHub's only need to be sent a single
+        instruction to start acquisition, which they automatically relay to their child cards - hence why
+        `start` is implemented in `AbstractSpectrumDevice` (base class to both `SpectrumDigitiserCard` and
+        `SpectrumStarHub`) rather than in `SpectrumStarHub`. In this mock `implementation`, each card's acquisition is
+        started individually.
+
+        """
+        for card in self._child_cards:
+            card.start()
+
+    def stop(self) -> None:
+        """Stop a mock acquisition
+
+        See `AbstractSpectrumDevice.stop_acquisition`. With a hardware device, StarHub's only need to be sent a single
+        instruction to stop acquisition, which they automatically relay to their child cards - hence why
+        `stop_acquisition()` is implemented in `AbstractSpectrumDevice` (base class to both `SpectrumDigitiserCard` and
+        `SpectrumStarHub`) rather than in `SpectrumStarHub`. In this mock implementation, each card's acquisition is
+        stopped individually.
+
+        """
+        for card in self._child_cards:
+            card.stop()
+
+ +
+ +

A mock spectrum StarHub, for testing software written to use the SpectrumStarHub class.

+ +

Overrides methods of SpectrumStarHub and AbstractSpectrumDigitiser that communicate with hardware with mocked +implementations allowing software to be tested without Spectrum hardware connected or drivers installed, e.g. during +CI.

+
+ + +
+
#   + + + MockSpectrumDigitiserStarHub( + device_number: int, + child_cards: Sequence[spectrumdevice.devices.mocks.MockSpectrumDigitiserCard], + master_card_index: int +) +
+ +
+ View Source +
    def __init__(
+        self,
+        device_number: int,
+        child_cards: Sequence[MockSpectrumDigitiserCard],
+        master_card_index: int,
+    ):
+        """
+        Args:
+            child_cards (Sequence[`MockSpectrumDigitiserCard`]): A list of `MockSpectrumCard` objects defining the
+                properties of the child cards located within the mock hub.
+            master_card_index (int): The position within child_cards where the master card (the card which controls the
+                clock) is located.
+        """
+        MockAbstractSpectrumDigitiser.__init__(self)
+        SpectrumDigitiserStarHub.__init__(self, device_number, child_cards, master_card_index)
+        self._visa_string = f"MockHub{device_number}"
+        self._connect(self._visa_string)
+        self._acquisition_mode = self.acquisition_mode
+
+ +
+ +
Args
+ +
    +
  • child_cards (Sequence[MockSpectrumDigitiserCard]): A list of MockSpectrumCard objects defining the +properties of the child cards located within the mock hub.
  • +
  • master_card_index (int): The position within child_cards where the master card (the card which controls the +clock) is located.
  • +
+
+ + +
+
+
#   + + + def + start(self) -> None: +
+ +
+ View Source +
    def start(self) -> None:
+        """Start a mock acquisition
+
+        See `AbstractSpectrumDevice.start()`. With a hardware device, StarHub's only need to be sent a single
+        instruction to start acquisition, which they automatically relay to their child cards - hence why
+        `start` is implemented in `AbstractSpectrumDevice` (base class to both `SpectrumDigitiserCard` and
+        `SpectrumStarHub`) rather than in `SpectrumStarHub`. In this mock `implementation`, each card's acquisition is
+        started individually.
+
+        """
+        for card in self._child_cards:
+            card.start()
+
+ +
+ +

Start a mock acquisition

+ +

See AbstractSpectrumDevice.start(). With a hardware device, StarHub's only need to be sent a single +instruction to start acquisition, which they automatically relay to their child cards - hence why +start is implemented in AbstractSpectrumDevice (base class to both SpectrumDigitiserCard and +SpectrumStarHub) rather than in SpectrumStarHub. In this mock implementation, each card's acquisition is +started individually.

+
+ + +
+
+
#   + + + def + stop(self) -> None: +
+ +
+ View Source +
    def stop(self) -> None:
+        """Stop a mock acquisition
+
+        See `AbstractSpectrumDevice.stop_acquisition`. With a hardware device, StarHub's only need to be sent a single
+        instruction to stop acquisition, which they automatically relay to their child cards - hence why
+        `stop_acquisition()` is implemented in `AbstractSpectrumDevice` (base class to both `SpectrumDigitiserCard` and
+        `SpectrumStarHub`) rather than in `SpectrumStarHub`. In this mock implementation, each card's acquisition is
+        stopped individually.
+
+        """
+        for card in self._child_cards:
+            card.stop()
+
+ +
+ +

Stop a mock acquisition

+ +

See AbstractSpectrumDevice.stop_acquisition. With a hardware device, StarHub's only need to be sent a single +instruction to stop acquisition, which they automatically relay to their child cards - hence why +stop_acquisition() is implemented in AbstractSpectrumDevice (base class to both SpectrumDigitiserCard and +SpectrumStarHub) rather than in SpectrumStarHub. In this mock implementation, each card's acquisition is +stopped individually.

+
+ + +
+ +
+
+
+ #   + + + class + AbstractSpectrumDigitiser(spectrumdevice.devices.digitiser.digitiser_interface.SpectrumDigitiserInterface, spectrumdevice.AbstractSpectrumDevice, abc.ABC): +
+ +
+ View Source +
class AbstractSpectrumDigitiser(SpectrumDigitiserInterface, AbstractSpectrumDevice, ABC):
+    """Abstract superclass which implements methods common to all Spectrum digitiser devices. Instances of this class
+    cannot be constructed directly. Instead, construct instances of the concrete classes (`SpectrumDigitiserCard`,
+    `SpectrumDigitiserStarHub` or their mock equivalents) which inherit the methods defined here. Note that
+    the mock devices override several of the methods defined here."""
+
+    def configure_acquisition(self, settings: AcquisitionSettings) -> None:
+        """Apply all the settings contained in an `AcquisitionSettings` dataclass to the device.
+
+        Args:
+            settings (`AcquisitionSettings`): An `AcquisitionSettings` dataclass containing the setting values to apply.
+        """
+        self._acquisition_mode = settings.acquisition_mode
+        self.set_acquisition_mode(settings.acquisition_mode)
+        self.set_sample_rate_in_hz(settings.sample_rate_in_hz)
+        self.set_acquisition_length_in_samples(settings.acquisition_length_in_samples)
+        self.set_post_trigger_length_in_samples(
+            settings.acquisition_length_in_samples - settings.pre_trigger_length_in_samples
+        )
+        self.set_timeout_in_ms(settings.timeout_in_ms)
+        self.set_enabled_channels(settings.enabled_channels)
+        for channel, v_range, v_offset in zip(
+            self.channels, settings.vertical_ranges_in_mv, settings.vertical_offsets_in_percent
+        ):
+            cast(SpectrumDigitiserChannel, channel).set_vertical_range_in_mv(v_range)
+            cast(SpectrumDigitiserChannel, channel).set_vertical_offset_in_percent(v_offset)
+
+        # Write the configuration to the card
+        self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_CARD_WRITESETUP)
+
+        if settings.timestamping_enabled:
+            self.enable_timestamping()
+
+    def execute_standard_single_acquisition(self) -> Measurement:
+        """Carry out a single measurement in standard single mode and return the acquired waveforms.
+
+        This method automatically carries out a standard single mode acquisition, including handling the creation
+        of a `TransferBuffer` and the retrieval of the acquired waveforms. After being called, it will wait until a
+        trigger event is received before carrying out the acquisition and then transferring and returning the acquired
+        waveforms. The device must be configured in SPC_REC_STD_SINGLE acquisition mode.
+
+        Returns:
+            measurement (Measurement): A Measurement object. The `.waveforms` attribute of `measurement` will be a list
+                of 1D NumPy arrays, each array containing the waveform data received on one channel, in channel order.
+                The Waveform object also has a timestamp attribute, which (if timestamping was enabled in acquisition
+                settings) contains the time at which the acquisition was triggered.
+        """
+        if self._acquisition_mode != AcquisitionMode.SPC_REC_STD_SINGLE:
+            raise SpectrumWrongAcquisitionMode(
+                "Set the acquisition mode to SPC_REC_STD_SINGLE using "
+                "configure_acquisition() or set_acquisition_mode() before executing "
+                "a standard single mode acquisition."
+            )
+        self.start()
+        self.wait_for_acquisition_to_complete()
+        self.define_transfer_buffer()
+        self.start_transfer()
+        self.wait_for_transfer_to_complete()
+        waveforms = self.get_waveforms()
+        self.stop()  # Only strictly required for Mock devices. Should not affect hardware.
+        return Measurement(waveforms=waveforms, timestamp=self.get_timestamp())
+
+    def execute_finite_fifo_acquisition(self, num_measurements: int) -> List[Measurement]:
+        """Carry out a finite number of FIFO mode measurements and then stop the acquisitions.
+
+        This method automatically carries out a defined number of measurement in Multi FIFO mode, including handling the
+        creation of a `TransferBuffer`, streaming the acquired waveforms to the PC, terminating the acquisition and
+        returning the acquired waveforms. After being called, it will wait for the requested number of triggers to be
+        received, generating the correct number of measurements. It retrieves each measurement's waveforms from the
+        `TransferBuffer` as they arrive. Once the requested number of measurements have been received, the acquisition
+        is terminated and the waveforms are returned. The device must be configured in SPC_REC_FIFO_MULTI or
+        SPC_REC_FIFO_AVERAGE acquisition mode.
+
+        Args:
+            num_measurements (int): The number of measurements to carry out, each triggered by subsequent trigger
+                events.
+        Returns:
+            measurements (List[Measurement]): A list of Measurement objects with length `num_measurements`. Each
+                Measurement object has a `waveforms` attribute containing a list of 1D NumPy arrays. Each array is a
+                waveform acquired from one channel. The arrays are in channel order. The Waveform objects also have a
+                timestamp attribute, which (if timestamping was enabled in acquisition settings) contains the time at
+                which the acquisition was triggered.
+        """
+        self.execute_continuous_fifo_acquisition()
+        measurements = []
+        for _ in range(num_measurements):
+            measurements.append(Measurement(waveforms=self.get_waveforms(), timestamp=self.get_timestamp()))
+        self.stop()
+        return measurements
+
+    def execute_continuous_fifo_acquisition(self) -> None:
+        """Start a continuous FIFO mode acquisition.
+
+        This method automatically starts acquiring and streaming samples in FIFO mode, including handling the
+        creation of a `TransferBuffer` and streaming the acquired waveforms to the PC. It will return almost
+        instantaneously. The acquired waveforms must then be read out of the transfer buffer in a loop using the
+        `get_waveforms()` method. Waveforms must be read at least as fast as they are being acquired.
+        The FIFO acquisition and streaming will continue until `stop_acquisition()` is called. The device
+        must be configured in SPC_REC_FIFO_MULTI or SPC_REC_FIFO_AVERAGE acquisition mode."""
+        if self._acquisition_mode not in (AcquisitionMode.SPC_REC_FIFO_MULTI, AcquisitionMode.SPC_REC_FIFO_AVERAGE):
+            raise SpectrumWrongAcquisitionMode(
+                "Set the acquisition mode to SPC_REC_FIFO_MULTI or SPC_REC_FIFO_AVERAGE using "
+                "configure_acquisition() or set_acquisition_mode() before executing "
+                "a fifo mode acquisition."
+            )
+        self.define_transfer_buffer()
+        self.start()
+        self.start_transfer()
+
+ +
+ +

Abstract superclass which implements methods common to all Spectrum digitiser devices. Instances of this class +cannot be constructed directly. Instead, construct instances of the concrete classes (SpectrumDigitiserCard, +SpectrumDigitiserStarHub or their mock equivalents) which inherit the methods defined here. Note that +the mock devices override several of the methods defined here.

+
+ + +
+
#   + + + def + configure_acquisition(self, settings: spectrumdevice.settings.AcquisitionSettings) -> None: +
+ +
+ View Source +
    def configure_acquisition(self, settings: AcquisitionSettings) -> None:
+        """Apply all the settings contained in an `AcquisitionSettings` dataclass to the device.
+
+        Args:
+            settings (`AcquisitionSettings`): An `AcquisitionSettings` dataclass containing the setting values to apply.
+        """
+        self._acquisition_mode = settings.acquisition_mode
+        self.set_acquisition_mode(settings.acquisition_mode)
+        self.set_sample_rate_in_hz(settings.sample_rate_in_hz)
+        self.set_acquisition_length_in_samples(settings.acquisition_length_in_samples)
+        self.set_post_trigger_length_in_samples(
+            settings.acquisition_length_in_samples - settings.pre_trigger_length_in_samples
+        )
+        self.set_timeout_in_ms(settings.timeout_in_ms)
+        self.set_enabled_channels(settings.enabled_channels)
+        for channel, v_range, v_offset in zip(
+            self.channels, settings.vertical_ranges_in_mv, settings.vertical_offsets_in_percent
+        ):
+            cast(SpectrumDigitiserChannel, channel).set_vertical_range_in_mv(v_range)
+            cast(SpectrumDigitiserChannel, channel).set_vertical_offset_in_percent(v_offset)
+
+        # Write the configuration to the card
+        self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_CARD_WRITESETUP)
+
+        if settings.timestamping_enabled:
+            self.enable_timestamping()
+
+ +
+ +

Apply all the settings contained in an AcquisitionSettings dataclass to the device.

+ +
Args
+ +
    +
  • settings (AcquisitionSettings): An AcquisitionSettings dataclass containing the setting values to apply.
  • +
+
+ + +
+
+
#   + + + def + execute_standard_single_acquisition(self) -> spectrumdevice.measurement.Measurement: +
+ +
+ View Source +
    def execute_standard_single_acquisition(self) -> Measurement:
+        """Carry out a single measurement in standard single mode and return the acquired waveforms.
+
+        This method automatically carries out a standard single mode acquisition, including handling the creation
+        of a `TransferBuffer` and the retrieval of the acquired waveforms. After being called, it will wait until a
+        trigger event is received before carrying out the acquisition and then transferring and returning the acquired
+        waveforms. The device must be configured in SPC_REC_STD_SINGLE acquisition mode.
+
+        Returns:
+            measurement (Measurement): A Measurement object. The `.waveforms` attribute of `measurement` will be a list
+                of 1D NumPy arrays, each array containing the waveform data received on one channel, in channel order.
+                The Waveform object also has a timestamp attribute, which (if timestamping was enabled in acquisition
+                settings) contains the time at which the acquisition was triggered.
+        """
+        if self._acquisition_mode != AcquisitionMode.SPC_REC_STD_SINGLE:
+            raise SpectrumWrongAcquisitionMode(
+                "Set the acquisition mode to SPC_REC_STD_SINGLE using "
+                "configure_acquisition() or set_acquisition_mode() before executing "
+                "a standard single mode acquisition."
+            )
+        self.start()
+        self.wait_for_acquisition_to_complete()
+        self.define_transfer_buffer()
+        self.start_transfer()
+        self.wait_for_transfer_to_complete()
+        waveforms = self.get_waveforms()
+        self.stop()  # Only strictly required for Mock devices. Should not affect hardware.
+        return Measurement(waveforms=waveforms, timestamp=self.get_timestamp())
+
+ +
+ +

Carry out a single measurement in standard single mode and return the acquired waveforms.

+ +

This method automatically carries out a standard single mode acquisition, including handling the creation +of a TransferBuffer and the retrieval of the acquired waveforms. After being called, it will wait until a +trigger event is received before carrying out the acquisition and then transferring and returning the acquired +waveforms. The device must be configured in SPC_REC_STD_SINGLE acquisition mode.

+ +
Returns
+ +
+

measurement (Measurement): A Measurement object. The .waveforms attribute of measurement will be a list + of 1D NumPy arrays, each array containing the waveform data received on one channel, in channel order. + The Waveform object also has a timestamp attribute, which (if timestamping was enabled in acquisition + settings) contains the time at which the acquisition was triggered.

+
+
+ + +
+
+
#   + + + def + execute_finite_fifo_acquisition( + self, + num_measurements: int +) -> List[spectrumdevice.measurement.Measurement]: +
+ +
+ View Source +
    def execute_finite_fifo_acquisition(self, num_measurements: int) -> List[Measurement]:
+        """Carry out a finite number of FIFO mode measurements and then stop the acquisitions.
+
+        This method automatically carries out a defined number of measurement in Multi FIFO mode, including handling the
+        creation of a `TransferBuffer`, streaming the acquired waveforms to the PC, terminating the acquisition and
+        returning the acquired waveforms. After being called, it will wait for the requested number of triggers to be
+        received, generating the correct number of measurements. It retrieves each measurement's waveforms from the
+        `TransferBuffer` as they arrive. Once the requested number of measurements have been received, the acquisition
+        is terminated and the waveforms are returned. The device must be configured in SPC_REC_FIFO_MULTI or
+        SPC_REC_FIFO_AVERAGE acquisition mode.
+
+        Args:
+            num_measurements (int): The number of measurements to carry out, each triggered by subsequent trigger
+                events.
+        Returns:
+            measurements (List[Measurement]): A list of Measurement objects with length `num_measurements`. Each
+                Measurement object has a `waveforms` attribute containing a list of 1D NumPy arrays. Each array is a
+                waveform acquired from one channel. The arrays are in channel order. The Waveform objects also have a
+                timestamp attribute, which (if timestamping was enabled in acquisition settings) contains the time at
+                which the acquisition was triggered.
+        """
+        self.execute_continuous_fifo_acquisition()
+        measurements = []
+        for _ in range(num_measurements):
+            measurements.append(Measurement(waveforms=self.get_waveforms(), timestamp=self.get_timestamp()))
+        self.stop()
+        return measurements
+
+ +
+ +

Carry out a finite number of FIFO mode measurements and then stop the acquisitions.

+ +

This method automatically carries out a defined number of measurement in Multi FIFO mode, including handling the +creation of a TransferBuffer, streaming the acquired waveforms to the PC, terminating the acquisition and +returning the acquired waveforms. After being called, it will wait for the requested number of triggers to be +received, generating the correct number of measurements. It retrieves each measurement's waveforms from the +TransferBuffer as they arrive. Once the requested number of measurements have been received, the acquisition +is terminated and the waveforms are returned. The device must be configured in SPC_REC_FIFO_MULTI or +SPC_REC_FIFO_AVERAGE acquisition mode.

+ +
Args
+ +
    +
  • num_measurements (int): The number of measurements to carry out, each triggered by subsequent trigger +events.
  • +
+ +
Returns
+ +
+

measurements (List[Measurement]): A list of Measurement objects with length num_measurements. Each + Measurement object has a waveforms attribute containing a list of 1D NumPy arrays. Each array is a + waveform acquired from one channel. The arrays are in channel order. The Waveform objects also have a + timestamp attribute, which (if timestamping was enabled in acquisition settings) contains the time at + which the acquisition was triggered.

+
+
+ + +
+
+
#   + + + def + execute_continuous_fifo_acquisition(self) -> None: +
+ +
+ View Source +
    def execute_continuous_fifo_acquisition(self) -> None:
+        """Start a continuous FIFO mode acquisition.
+
+        This method automatically starts acquiring and streaming samples in FIFO mode, including handling the
+        creation of a `TransferBuffer` and streaming the acquired waveforms to the PC. It will return almost
+        instantaneously. The acquired waveforms must then be read out of the transfer buffer in a loop using the
+        `get_waveforms()` method. Waveforms must be read at least as fast as they are being acquired.
+        The FIFO acquisition and streaming will continue until `stop_acquisition()` is called. The device
+        must be configured in SPC_REC_FIFO_MULTI or SPC_REC_FIFO_AVERAGE acquisition mode."""
+        if self._acquisition_mode not in (AcquisitionMode.SPC_REC_FIFO_MULTI, AcquisitionMode.SPC_REC_FIFO_AVERAGE):
+            raise SpectrumWrongAcquisitionMode(
+                "Set the acquisition mode to SPC_REC_FIFO_MULTI or SPC_REC_FIFO_AVERAGE using "
+                "configure_acquisition() or set_acquisition_mode() before executing "
+                "a fifo mode acquisition."
+            )
+        self.define_transfer_buffer()
+        self.start()
+        self.start_transfer()
+
+ +
+ +

Start a continuous FIFO mode acquisition.

+ +

This method automatically starts acquiring and streaming samples in FIFO mode, including handling the +creation of a TransferBuffer and streaming the acquired waveforms to the PC. It will return almost +instantaneously. The acquired waveforms must then be read out of the transfer buffer in a loop using the +get_waveforms() method. Waveforms must be read at least as fast as they are being acquired. +The FIFO acquisition and streaming will continue until stop_acquisition() is called. The device +must be configured in SPC_REC_FIFO_MULTI or SPC_REC_FIFO_AVERAGE acquisition mode.

+
+ + +
+
+
Inherited Members
+
+
spectrumdevice.devices.digitiser.digitiser_interface.SpectrumDigitiserInterface
+
wait_for_acquisition_to_complete
+
get_waveforms
+
get_timestamp
+
enable_timestamping
+
acquisition_length_in_samples
+
set_acquisition_length_in_samples
+
post_trigger_length_in_samples
+
set_post_trigger_length_in_samples
+
acquisition_mode
+
set_acquisition_mode
+ +
+
AbstractSpectrumDevice
+
reset
+
start
+
stop
+
configure_trigger
+
write_to_spectrum_device_register
+
read_spectrum_device_register
+ +
+
spectrumdevice.devices.abstract_device.device_interface.SpectrumDeviceInterface
+
connected
+
reconnect
+
status
+
start_transfer
+
stop_transfer
+
wait_for_transfer_to_complete
+
disconnect
+
transfer_buffers
+
define_transfer_buffer
+
channels
+
enabled_channels
+
set_enabled_channels
+
trigger_sources
+
set_trigger_sources
+
external_trigger_mode
+
set_external_trigger_mode
+
external_trigger_level_in_mv
+
set_external_trigger_level_in_mv
+
external_trigger_pulse_width_in_samples
+
set_external_trigger_pulse_width_in_samples
+
apply_channel_enabling
+
clock_mode
+
set_clock_mode
+
sample_rate_in_hz
+
set_sample_rate_in_hz
+
available_io_modes
+
feature_list
+
timeout_in_ms
+
set_timeout_in_ms
+ +
+
+
+
+
+
+ #   + + + class + AbstractSpectrumStarHub(spectrumdevice.AbstractSpectrumDevice, abc.ABC): +
+ +
+ View Source +
class AbstractSpectrumStarHub(AbstractSpectrumDevice, ABC):
+    """Composite abstract class of `AbstractSpectrumCard` implementing methods common to all StarHubs. StarHubs are
+    composites of more than one Spectrum card. Acquisition and generation from the child cards of a StarHub
+    is synchronised, aggregating the channels of all child cards."""
+
+    def __init__(
+        self,
+        device_number: int,
+        child_cards: Sequence[SpectrumDeviceInterface],
+        master_card_index: int,
+    ):
+        """
+        Args:
+            device_number (int): The index of the StarHub to connect to. If only one StarHub is present, set to 0.
+            child_cards (Sequence[`SpectrumDeviceInterface`]): A list of objects representing the child cards located
+                within the StarHub, correctly constructed with their IP addresses and/or device numbers.
+            master_card_index (int): The position within child_cards where the master card (the card which controls the
+                clock) is located.
+        """
+        self._child_cards: Sequence[SpectrumDeviceInterface] = child_cards
+        self._master_card = child_cards[master_card_index]
+        self._triggering_card = child_cards[master_card_index]
+        child_card_logical_indices = (2**n for n in range(len(self._child_cards)))
+        self._visa_string = f"sync{device_number}"
+        self._connect(self._visa_string)
+        all_cards_binary_mask = reduce(or_, child_card_logical_indices)
+        self.write_to_spectrum_device_register(SPC_SYNC_ENABLEMASK, all_cards_binary_mask)
+
+    def disconnect(self) -> None:
+        """Disconnects from each child card and terminates connection to the hub itself."""
+        if self._connected:
+            destroy_handle(self._handle)
+        for card in self._child_cards:
+            card.disconnect()
+        self._connected = False
+
+    def reconnect(self) -> None:
+        """Reconnects to the hub after a `disconnect()`, and reconnects to each child card."""
+        self._connect(self._visa_string)
+        for card in self._child_cards:
+            card.reconnect()
+
+    @property
+    def status(self) -> DEVICE_STATUS_TYPE:
+        """The statuses of each child card, in a list. See `SpectrumDigitiserCard.status` for more information.
+        Returns:
+            statuses (List[List[`CardStatus`]]): A list of lists of `CardStatus` (each card has a list of statuses).
+        """
+        return DEVICE_STATUS_TYPE([card.status[0] for card in self._child_cards])
+
+    def start_transfer(self) -> None:
+        """Start the transfer of data between the on-device buffer of each child card and its `TransferBuffer`. See
+        `AbstractSpectrumCard.start_transfer()` for more information."""
+        for card in self._child_cards:
+            card.start_transfer()
+
+    def stop_transfer(self) -> None:
+        """Stop the transfer of data between each card and its `TransferBuffer`. See
+        `AbstractSpectrumCard.stop_transfer()` for more information."""
+        for card in self._child_cards:
+            card.stop_transfer()
+
+    def wait_for_transfer_to_complete(self) -> None:
+        """Wait for all cards to stop transferring data to/from their `TransferBuffers`. See
+        `AbstractSpectrumCard.wait_for_transfer_to_complete()` for more information."""
+        for card in self._child_cards:
+            card.wait_for_transfer_to_complete()
+
+    @property
+    def connected(self) -> bool:
+        """True if the StarHub is connected, False if not."""
+        return self._connected
+
+    def set_triggering_card(self, card_index: int) -> None:
+        """Change the index of the child card responsible for receiving a trigger. During construction, this is set
+        equal to the index of the master card but in some situations it may be necessary to change it.
+
+        Args:
+            card_index (int): The index of the StarHub's triggering card within the list of child cards provided on
+                __init__().
+        """
+        self._triggering_card = self._child_cards[card_index]
+
+    @property
+    def clock_mode(self) -> ClockMode:
+        """The clock mode currently configured on the master card.
+
+        Returns:
+            mode (`ClockMode`): The currently configured clock mode."""
+        return self._master_card.clock_mode
+
+    def set_clock_mode(self, mode: ClockMode) -> None:
+        """Change the clock mode configured on the master card.
+
+        Args:
+            mode (`ClockMode`): The desired clock mode."""
+        self._master_card.set_clock_mode(mode)
+
+    @property
+    def sample_rate_in_hz(self) -> int:
+        """The sample rate configured on the master card.
+
+        Returns:
+            rate (int): The current sample rate of the master card in Hz.
+        """
+        return self._master_card.sample_rate_in_hz
+
+    def set_sample_rate_in_hz(self, rate: int) -> None:
+        """Change the sample rate of the child cards (including the master card).
+        Args:
+            rate (int): The desired sample rate of the child cards in Hz.
+        """
+        for card in self._child_cards:
+            card.set_sample_rate_in_hz(rate)
+
+    @property
+    def trigger_sources(self) -> List[TriggerSource]:
+        """The trigger sources configured on the triggering card, which by default is the master card. See
+        `AbstractSpectrumCard.trigger_sources()` for more information.
+
+        Returns:
+            sources (List[`TriggerSource`]): A list of the currently enabled trigger sources."""
+        return self._triggering_card.trigger_sources
+
+    def set_trigger_sources(self, sources: List[TriggerSource]) -> None:
+        """Change the trigger sources configured on the triggering card, which by default is the master card. See
+        `AbstractSpectrumCard.trigger_sources()` for more information.
+
+        Args:
+            sources (List[`TriggerSource`]): The trigger sources to enable, in a list."""
+        self._triggering_card.set_trigger_sources(sources)
+        for card in self._child_cards:
+            if card is not self._triggering_card:
+                card.set_trigger_sources([TriggerSource.SPC_TMASK_NONE])
+
+    @property
+    def external_trigger_mode(self) -> ExternalTriggerMode:
+        """The trigger mode configured on the triggering card, which by default is the master card. See
+        `AbstractSpectrumCard.external_trigger_mode()` for more information.
+
+        Returns:
+            mode (`ExternalTriggerMode`): The currently set external trigger mode.
+        """
+        return self._triggering_card.external_trigger_mode
+
+    def set_external_trigger_mode(self, mode: ExternalTriggerMode) -> None:
+        """Change the trigger mode configured on the triggering card, which by default is the master card. See
+        `AbstractSpectrumCard.set_external_trigger_mode()` for more information.
+
+        Args:
+            mode (`ExternalTriggerMode`): The desired external trigger mode."""
+        self._triggering_card.set_external_trigger_mode(mode)
+
+    @property
+    def external_trigger_level_in_mv(self) -> int:
+        """The external trigger level configured on the triggering card, which by default is the master card. See
+        `AbstractSpectrumCard.external_trigger_level_mv()` for more information.
+
+        Returns:
+            level (int): The external trigger level in mV.
+        """
+        return self._triggering_card.external_trigger_level_in_mv
+
+    def set_external_trigger_level_in_mv(self, level: int) -> None:
+        """Change the external trigger level configured on the triggering card, which by default is the master card.
+        See `AbstractSpectrumCard.set_external_trigger_level_mv()` for more information.
+
+        Args:
+            level (int): The desired external trigger level in mV.
+        """
+        self._triggering_card.set_external_trigger_level_in_mv(level)
+
+    @property
+    def external_trigger_pulse_width_in_samples(self) -> int:
+        """The trigger pulse width (samples) configured on the triggering card, which by default is the master card.
+        See `AbstractSpectrumCard.external_trigger_pulse_width_in_samples()` for more information.
+
+        Returns:
+            width (int): The current trigger pulse width in samples.
+        """
+        return self._triggering_card.external_trigger_pulse_width_in_samples
+
+    def set_external_trigger_pulse_width_in_samples(self, width: int) -> None:
+        """Change the trigger pulse width (samples) configured on the triggering card, which by default is the master
+        card. See `AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples()` for more information.
+
+        Args:
+            width (int): The desired trigger pulse width in samples.
+        """
+        self._triggering_card.set_external_trigger_pulse_width_in_samples(width)
+
+    def apply_channel_enabling(self) -> None:
+        """Apply the enabled channels chosen using `set_enable_channels()`. This happens automatically and does not
+        usually need to be called."""
+        for d in self._child_cards:
+            d.apply_channel_enabling()
+
+    @property
+    def enabled_channels(self) -> List[int]:
+        """The currently enabled channel indices, indexed over the whole hub (from 0 to N-1, where N is the total
+        number of channels available to the hub).
+
+        Returns:
+            channel_nums (List[int]): The currently enabled channel indices.
+        """
+        enabled_channels = []
+        n_channels_in_previous_card = 0
+        for card in self._child_cards:
+            enabled_channels += [channel_num + n_channels_in_previous_card for channel_num in card.enabled_channels]
+            n_channels_in_previous_card = len(card.channels)
+        return enabled_channels
+
+    def set_enabled_channels(self, channels_nums: List[int]) -> None:
+        """Change the currently enabled channel indices, indexed over the whole hub (from 0 to N-1, where N is the total
+        number of channels available to the hub).
+
+        Returns:
+            channel_nums (List[int]): The indices to enable.
+        """
+        channels_nums.sort()
+        channels_to_enable_all_cards = channels_nums
+
+        for child_card in self._child_cards:
+            n_channels_in_card = len(child_card.channels)
+            channels_to_enable_this_card = list(set(arange(n_channels_in_card)) & set(channels_to_enable_all_cards))
+            num_channels_to_enable_this_card = len(channels_to_enable_this_card)
+            child_card.set_enabled_channels(channels_to_enable_this_card)
+            channels_to_enable_all_cards = [
+                num - n_channels_in_card for num in channels_nums[num_channels_to_enable_this_card:]
+            ]
+
+    @property
+    def transfer_buffers(self) -> List[TransferBuffer]:
+        """The `TransferBuffer`s of all the child cards of the hub. See `AbstractSpectrumCard.transfer_buffers` for more
+        information.
+
+        Returns:
+            buffers (List[`TransferBuffer`]): A list of the transfer buffers for each child card."""
+        return [card.transfer_buffers[0] for card in self._child_cards]
+
+    @property
+    def channels(self) -> Sequence[SpectrumChannelInterface]:
+        """A tuple containing of all the channels of the child cards of the hub. See `AbstractSpectrumCard.channels` for
+        more information.
+
+        Returns:
+            channels (Sequence[`SpectrumChannelInterface`]): A tuple of `SpectrumDigitiserChannel` objects.
+        """
+        channels: List[SpectrumChannelInterface] = []
+        for device in self._child_cards:
+            channels += device.channels
+        return tuple(channels)
+
+    @property
+    def timeout_in_ms(self) -> int:
+        """The time for which the card will wait for a trigger to be received after a device has started
+        before returning an error. This should be the same for all child cards. If it's not, an exception is raised.
+
+        Returns:
+            timeout_ms (int): The currently set timeout in ms.
+        """
+        timeouts = []
+        for d in self._child_cards:
+            timeouts.append(d.timeout_in_ms)
+        return check_settings_constant_across_devices(timeouts, __name__)
+
+    def set_timeout_in_ms(self, timeout_ms: int) -> None:
+        """Change the timeout value for all child cards.
+
+        Args:
+            timeout_ms (int): The desired timeout setting in seconds."""
+        for d in self._child_cards:
+            d.set_timeout_in_ms(timeout_ms)
+
+    @property
+    def feature_list(self) -> List[Tuple[List[CardFeature], List[AdvancedCardFeature]]]:
+        """Get a list of the features of the child cards. See `CardFeature`, `AdvancedCardFeature` and the Spectrum
+        documentation for more information.
+
+        Returns:
+            features (List[Tuple[List[`CardFeature`], List[`AdvancedCardFeature`]]]): A list of tuples, one per child
+                card. Each tuple contains a list of features and a list of advanced features for that card.
+        """
+        return [card.feature_list[0] for card in self._child_cards]
+
+    @property
+    def available_io_modes(self) -> AvailableIOModes:
+        """For each multipurpose IO line on the master card, read the available modes. See `IOLineMode` and the Spectrum
+        Documentation for all possible available modes and their meanings.
+
+        Returns:
+            modes (AvailableIOModes): An `AvailableIOModes` dataclass containing the modes available for each IO line.
+        """
+        return self._master_card.available_io_modes
+
+    def __str__(self) -> str:
+        return f"StarHub {self._visa_string}"
+
+ +
+ +

Composite abstract class of AbstractSpectrumCard implementing methods common to all StarHubs. StarHubs are +composites of more than one Spectrum card. Acquisition and generation from the child cards of a StarHub +is synchronised, aggregating the channels of all child cards.

+
+ + +
+
#   + + + AbstractSpectrumStarHub( + device_number: int, + child_cards: Sequence[spectrumdevice.devices.abstract_device.device_interface.SpectrumDeviceInterface], + master_card_index: int +) +
+ +
+ View Source +
    def __init__(
+        self,
+        device_number: int,
+        child_cards: Sequence[SpectrumDeviceInterface],
+        master_card_index: int,
+    ):
+        """
+        Args:
+            device_number (int): The index of the StarHub to connect to. If only one StarHub is present, set to 0.
+            child_cards (Sequence[`SpectrumDeviceInterface`]): A list of objects representing the child cards located
+                within the StarHub, correctly constructed with their IP addresses and/or device numbers.
+            master_card_index (int): The position within child_cards where the master card (the card which controls the
+                clock) is located.
+        """
+        self._child_cards: Sequence[SpectrumDeviceInterface] = child_cards
+        self._master_card = child_cards[master_card_index]
+        self._triggering_card = child_cards[master_card_index]
+        child_card_logical_indices = (2**n for n in range(len(self._child_cards)))
+        self._visa_string = f"sync{device_number}"
+        self._connect(self._visa_string)
+        all_cards_binary_mask = reduce(or_, child_card_logical_indices)
+        self.write_to_spectrum_device_register(SPC_SYNC_ENABLEMASK, all_cards_binary_mask)
+
+ +
+ +
Args
+ +
    +
  • device_number (int): The index of the StarHub to connect to. If only one StarHub is present, set to 0.
  • +
  • child_cards (Sequence[SpectrumDeviceInterface]): A list of objects representing the child cards located +within the StarHub, correctly constructed with their IP addresses and/or device numbers.
  • +
  • master_card_index (int): The position within child_cards where the master card (the card which controls the +clock) is located.
  • +
+
+ + +
+
+
#   + + + def + disconnect(self) -> None: +
+ +
+ View Source +
    def disconnect(self) -> None:
+        """Disconnects from each child card and terminates connection to the hub itself."""
+        if self._connected:
+            destroy_handle(self._handle)
+        for card in self._child_cards:
+            card.disconnect()
+        self._connected = False
+
+ +
+ +

Disconnects from each child card and terminates connection to the hub itself.

+
+ + +
+
+
#   + + + def + reconnect(self) -> None: +
+ +
+ View Source +
    def reconnect(self) -> None:
+        """Reconnects to the hub after a `disconnect()`, and reconnects to each child card."""
+        self._connect(self._visa_string)
+        for card in self._child_cards:
+            card.reconnect()
+
+ +
+ +

Reconnects to the hub after a disconnect(), and reconnects to each child card.

+
+ + +
+
+ + +

The statuses of each child card, in a list. See SpectrumDigitiserCard.status for more information.

+ +
Returns
+ +
+

statuses (List[List[CardStatus]]): A list of lists of CardStatus (each card has a list of statuses).

+
+
+ + +
+
+
#   + + + def + start_transfer(self) -> None: +
+ +
+ View Source +
    def start_transfer(self) -> None:
+        """Start the transfer of data between the on-device buffer of each child card and its `TransferBuffer`. See
+        `AbstractSpectrumCard.start_transfer()` for more information."""
+        for card in self._child_cards:
+            card.start_transfer()
+
+ +
+ +

Start the transfer of data between the on-device buffer of each child card and its TransferBuffer. See +AbstractSpectrumCard.start_transfer() for more information.

+
+ + +
+
+
#   + + + def + stop_transfer(self) -> None: +
+ +
+ View Source +
    def stop_transfer(self) -> None:
+        """Stop the transfer of data between each card and its `TransferBuffer`. See
+        `AbstractSpectrumCard.stop_transfer()` for more information."""
+        for card in self._child_cards:
+            card.stop_transfer()
+
+ +
+ +

Stop the transfer of data between each card and its TransferBuffer. See +AbstractSpectrumCard.stop_transfer() for more information.

+
+ + +
+
+
#   + + + def + wait_for_transfer_to_complete(self) -> None: +
+ +
+ View Source +
    def wait_for_transfer_to_complete(self) -> None:
+        """Wait for all cards to stop transferring data to/from their `TransferBuffers`. See
+        `AbstractSpectrumCard.wait_for_transfer_to_complete()` for more information."""
+        for card in self._child_cards:
+            card.wait_for_transfer_to_complete()
+
+ +
+ +

Wait for all cards to stop transferring data to/from their TransferBuffers. See +AbstractSpectrumCard.wait_for_transfer_to_complete() for more information.

+
+ + +
+
+
#   + + connected: bool +
+ +

True if the StarHub is connected, False if not.

+
+ + +
+
+
#   + + + def + set_triggering_card(self, card_index: int) -> None: +
+ +
+ View Source +
    def set_triggering_card(self, card_index: int) -> None:
+        """Change the index of the child card responsible for receiving a trigger. During construction, this is set
+        equal to the index of the master card but in some situations it may be necessary to change it.
+
+        Args:
+            card_index (int): The index of the StarHub's triggering card within the list of child cards provided on
+                __init__().
+        """
+        self._triggering_card = self._child_cards[card_index]
+
+ +
+ +

Change the index of the child card responsible for receiving a trigger. During construction, this is set +equal to the index of the master card but in some situations it may be necessary to change it.

+ +
Args
+ +
    +
  • card_index (int): The index of the StarHub's triggering card within the list of child cards provided on +__init__().
  • +
+
+ + +
+
+ + +

The clock mode currently configured on the master card.

+ +
Returns
+ +
+

mode (ClockMode): The currently configured clock mode.

+
+
+ + +
+
+
#   + + + def + set_clock_mode(self, mode: spectrumdevice.settings.device_modes.ClockMode) -> None: +
+ +
+ View Source +
    def set_clock_mode(self, mode: ClockMode) -> None:
+        """Change the clock mode configured on the master card.
+
+        Args:
+            mode (`ClockMode`): The desired clock mode."""
+        self._master_card.set_clock_mode(mode)
+
+ +
+ +

Change the clock mode configured on the master card.

+ +
Args
+ +
    +
  • mode (ClockMode): The desired clock mode.
  • +
+
+ + +
+
+
#   + + sample_rate_in_hz: int +
+ +

The sample rate configured on the master card.

+ +
Returns
+ +
+

rate (int): The current sample rate of the master card in Hz.

+
+
+ + +
+
+
#   + + + def + set_sample_rate_in_hz(self, rate: int) -> None: +
+ +
+ View Source +
    def set_sample_rate_in_hz(self, rate: int) -> None:
+        """Change the sample rate of the child cards (including the master card).
+        Args:
+            rate (int): The desired sample rate of the child cards in Hz.
+        """
+        for card in self._child_cards:
+            card.set_sample_rate_in_hz(rate)
+
+ +
+ +

Change the sample rate of the child cards (including the master card).

+ +
Args
+ +
    +
  • rate (int): The desired sample rate of the child cards in Hz.
  • +
+
+ + +
+
+ + +

The trigger sources configured on the triggering card, which by default is the master card. See +AbstractSpectrumCard.trigger_sources() for more information.

+ +
Returns
+ +
+

sources (List[TriggerSource]): A list of the currently enabled trigger sources.

+
+
+ + +
+
+
#   + + + def + set_trigger_sources( + self, + sources: List[spectrumdevice.settings.triggering.TriggerSource] +) -> None: +
+ +
+ View Source +
    def set_trigger_sources(self, sources: List[TriggerSource]) -> None:
+        """Change the trigger sources configured on the triggering card, which by default is the master card. See
+        `AbstractSpectrumCard.trigger_sources()` for more information.
+
+        Args:
+            sources (List[`TriggerSource`]): The trigger sources to enable, in a list."""
+        self._triggering_card.set_trigger_sources(sources)
+        for card in self._child_cards:
+            if card is not self._triggering_card:
+                card.set_trigger_sources([TriggerSource.SPC_TMASK_NONE])
+
+ +
+ +

Change the trigger sources configured on the triggering card, which by default is the master card. See +AbstractSpectrumCard.trigger_sources() for more information.

+ +
Args
+ +
    +
  • sources (List[TriggerSource]): The trigger sources to enable, in a list.
  • +
+
+ + +
+
+ + +

The trigger mode configured on the triggering card, which by default is the master card. See +AbstractSpectrumCard.external_trigger_mode() for more information.

+ +
Returns
+ +
+

mode (ExternalTriggerMode): The currently set external trigger mode.

+
+
+ + +
+
+
#   + + + def + set_external_trigger_mode( + self, + mode: spectrumdevice.settings.triggering.ExternalTriggerMode +) -> None: +
+ +
+ View Source +
    def set_external_trigger_mode(self, mode: ExternalTriggerMode) -> None:
+        """Change the trigger mode configured on the triggering card, which by default is the master card. See
+        `AbstractSpectrumCard.set_external_trigger_mode()` for more information.
+
+        Args:
+            mode (`ExternalTriggerMode`): The desired external trigger mode."""
+        self._triggering_card.set_external_trigger_mode(mode)
+
+ +
+ +

Change the trigger mode configured on the triggering card, which by default is the master card. See +AbstractSpectrumCard.set_external_trigger_mode() for more information.

+ +
Args
+ +
    +
  • mode (ExternalTriggerMode): The desired external trigger mode.
  • +
+
+ + +
+
+
#   + + external_trigger_level_in_mv: int +
+ +

The external trigger level configured on the triggering card, which by default is the master card. See +AbstractSpectrumCard.external_trigger_level_mv() for more information.

+ +
Returns
+ +
+

level (int): The external trigger level in mV.

+
+
+ + +
+
+
#   + + + def + set_external_trigger_level_in_mv(self, level: int) -> None: +
+ +
+ View Source +
    def set_external_trigger_level_in_mv(self, level: int) -> None:
+        """Change the external trigger level configured on the triggering card, which by default is the master card.
+        See `AbstractSpectrumCard.set_external_trigger_level_mv()` for more information.
+
+        Args:
+            level (int): The desired external trigger level in mV.
+        """
+        self._triggering_card.set_external_trigger_level_in_mv(level)
+
+ +
+ +

Change the external trigger level configured on the triggering card, which by default is the master card. +See AbstractSpectrumCard.set_external_trigger_level_mv() for more information.

+ +
Args
+ +
    +
  • level (int): The desired external trigger level in mV.
  • +
+
+ + +
+
+
#   + + external_trigger_pulse_width_in_samples: int +
+ +

The trigger pulse width (samples) configured on the triggering card, which by default is the master card. +See AbstractSpectrumCard.external_trigger_pulse_width_in_samples() for more information.

+ +
Returns
+ +
+

width (int): The current trigger pulse width in samples.

+
+
+ + +
+
+
#   + + + def + set_external_trigger_pulse_width_in_samples(self, width: int) -> None: +
+ +
+ View Source +
    def set_external_trigger_pulse_width_in_samples(self, width: int) -> None:
+        """Change the trigger pulse width (samples) configured on the triggering card, which by default is the master
+        card. See `AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples()` for more information.
+
+        Args:
+            width (int): The desired trigger pulse width in samples.
+        """
+        self._triggering_card.set_external_trigger_pulse_width_in_samples(width)
+
+ +
+ +

Change the trigger pulse width (samples) configured on the triggering card, which by default is the master +card. See AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples() for more information.

+ +
Args
+ +
    +
  • width (int): The desired trigger pulse width in samples.
  • +
+
+ + +
+
+
#   + + + def + apply_channel_enabling(self) -> None: +
+ +
+ View Source +
    def apply_channel_enabling(self) -> None:
+        """Apply the enabled channels chosen using `set_enable_channels()`. This happens automatically and does not
+        usually need to be called."""
+        for d in self._child_cards:
+            d.apply_channel_enabling()
+
+ +
+ +

Apply the enabled channels chosen using set_enable_channels(). This happens automatically and does not +usually need to be called.

+
+ + +
+
+
#   + + enabled_channels: List[int] +
+ +

The currently enabled channel indices, indexed over the whole hub (from 0 to N-1, where N is the total +number of channels available to the hub).

+ +
Returns
+ +
+

channel_nums (List[int]): The currently enabled channel indices.

+
+
+ + +
+
+
#   + + + def + set_enabled_channels(self, channels_nums: List[int]) -> None: +
+ +
+ View Source +
    def set_enabled_channels(self, channels_nums: List[int]) -> None:
+        """Change the currently enabled channel indices, indexed over the whole hub (from 0 to N-1, where N is the total
+        number of channels available to the hub).
+
+        Returns:
+            channel_nums (List[int]): The indices to enable.
+        """
+        channels_nums.sort()
+        channels_to_enable_all_cards = channels_nums
+
+        for child_card in self._child_cards:
+            n_channels_in_card = len(child_card.channels)
+            channels_to_enable_this_card = list(set(arange(n_channels_in_card)) & set(channels_to_enable_all_cards))
+            num_channels_to_enable_this_card = len(channels_to_enable_this_card)
+            child_card.set_enabled_channels(channels_to_enable_this_card)
+            channels_to_enable_all_cards = [
+                num - n_channels_in_card for num in channels_nums[num_channels_to_enable_this_card:]
+            ]
+
+ +
+ +

Change the currently enabled channel indices, indexed over the whole hub (from 0 to N-1, where N is the total +number of channels available to the hub).

+ +
Returns
+ +
+

channel_nums (List[int]): The indices to enable.

+
+
+ + +
+
+ + +

The TransferBuffers of all the child cards of the hub. See AbstractSpectrumCard.transfer_buffers for more +information.

+ +
Returns
+ +
+

buffers (List[TransferBuffer]): A list of the transfer buffers for each child card.

+
+
+ + +
+
+ + +

A tuple containing of all the channels of the child cards of the hub. See AbstractSpectrumCard.channels for +more information.

+ +
Returns
+ +
+

channels (Sequence[SpectrumChannelInterface]): A tuple of SpectrumDigitiserChannel objects.

+
+
+ + +
+
+
#   + + timeout_in_ms: int +
+ +

The time for which the card will wait for a trigger to be received after a device has started +before returning an error. This should be the same for all child cards. If it's not, an exception is raised.

+ +
Returns
+ +
+

timeout_ms (int): The currently set timeout in ms.

+
+
+ + +
+
+
#   + + + def + set_timeout_in_ms(self, timeout_ms: int) -> None: +
+ +
+ View Source +
    def set_timeout_in_ms(self, timeout_ms: int) -> None:
+        """Change the timeout value for all child cards.
+
+        Args:
+            timeout_ms (int): The desired timeout setting in seconds."""
+        for d in self._child_cards:
+            d.set_timeout_in_ms(timeout_ms)
+
+ +
+ +

Change the timeout value for all child cards.

+ +
Args
+ +
    +
  • timeout_ms (int): The desired timeout setting in seconds.
  • +
+
+ + +
+
+ + +

Get a list of the features of the child cards. See CardFeature, AdvancedCardFeature and the Spectrum +documentation for more information.

+ +
Returns
+ +
+

features (List[Tuple[List[CardFeature], List[AdvancedCardFeature]]]): A list of tuples, one per child + card. Each tuple contains a list of features and a list of advanced features for that card.

+
+
+ + +
+
+ + +

For each multipurpose IO line on the master card, read the available modes. See IOLineMode and the Spectrum +Documentation for all possible available modes and their meanings.

+ +
Returns
+ +
+

modes (AvailableIOModes): An AvailableIOModes dataclass containing the modes available for each IO line.

+
+
+ + +
+
+
Inherited Members
+
+
AbstractSpectrumDevice
+
reset
+
start
+
stop
+
configure_trigger
+
write_to_spectrum_device_register
+
read_spectrum_device_register
+ +
+
spectrumdevice.devices.abstract_device.device_interface.SpectrumDeviceInterface
+
define_transfer_buffer
+ +
+
+
+
+
+
+ #   + + + class + AbstractSpectrumCard(spectrumdevice.AbstractSpectrumDevice, abc.ABC): +
+ +
+ View Source +
class AbstractSpectrumCard(AbstractSpectrumDevice, ABC):
+    """Abstract superclass implementing methods common to all individual "card" devices (as opposed to "hub" devices)."""
+
+    def __init__(self, device_number: int = 0, ip_address: Optional[str] = None):
+        """
+        Args:
+            device_number (int): Index of the card to control. If only one card is present, set to 0.
+            ip_address (Optional[str]): If connecting to a networked card, provide the IP address here as a string.
+
+        """
+        if ip_address is not None:
+            self._visa_string = _create_visa_string_from_ip(ip_address, device_number)
+        else:
+            self._visa_string = f"/dev/spcm{device_number}"
+        self._connect(self._visa_string)
+        self._card_type = CardType(self.read_spectrum_device_register(SPC_PCITYP))
+        self._trigger_sources: List[TriggerSource] = []
+        self._channels = self._init_channels()
+        self._enabled_channels: List[int] = [0]
+        self._transfer_buffer: Optional[TransferBuffer] = None
+        self.apply_channel_enabling()
+
+    def reconnect(self) -> None:
+        """Reconnect to the card after disconnect() has been called."""
+        self._connect(self._visa_string)
+
+    @property
+    def status(self) -> DEVICE_STATUS_TYPE:
+        """Read the current status of the card.
+        Returns:
+            Statuses (`List[List[StatusCode]]`): A length-1 list containing a list of `StatusCode` Enums describing the
+            current acquisition status of the card. See `StatusCode` (and the Spectrum documentation) for the list off
+            possible acquisition statuses.
+        """
+        return [decode_status(self.read_spectrum_device_register(SPC_M2STATUS))]
+
+    def start_transfer(self) -> None:
+        """Transfer between the on-device buffer and the `TransferBuffer`.
+
+        Requires that a `TransferBuffer` has been defined (see `define_transfer_buffer()`).
+
+        For digitisers in Standard Single mode (SPC_REC_STD_SINGLE), `start_transfer()` should be called after each
+        acquisition has completed to transfer the acquired waveforms from the device to the `TransferBuffer`.
+
+        For digitisers in FIFO mode (SPC_REC_FIFO_MULTI), `start_transfer()` should be called immediately after
+        `start()` has been called, so that the waveform data can be continuously streamed into the transfer buffer as it
+        is acquired.
+
+        # todo: docstring for AWG transfers
+        """
+        self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_DATA_STARTDMA)
+
+    def stop_transfer(self) -> None:
+        """Stop the transfer of data between the on-device buffer and the `TransferBuffer`.
+
+        Transfer is usually stopped automatically when an acquisition or stream of acquisitions completes, so this
+        method is rarely required. It may invalidate transferred samples.
+
+        For digitisers in Standard Single mode (SPC_REC_STD_SINGLE), transfer will automatically stop once all acquired
+        samples have been transferred, so `stop_transfer()` should not be used. Instead, call
+        `wait_for_transfer_to_complete()` after `start_transfer()`.
+
+        For digitisers in FIFO mode (SPC_REC_FIFO_MULTI), samples are transferred continuously during acquisition,
+        and transfer will automatically stop when `stop()` is called as there will be no more
+        samples to transfer, so `stop_transfer()` should not be used.
+
+        # todo: docstring for AWG
+        """
+        self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_DATA_STOPDMA)
+
+    def wait_for_transfer_to_complete(self) -> None:
+        """Blocks until the currently active transfer of between the on-device buffer and the TransferBuffer is
+        complete.
+
+        For digitisers in Standard Single mode (SPC_REC_STD_SINGLE), use after starting a transfer. Once the method
+        returns, all acquired waveforms have been transferred from the on-device buffer to the `TransferBuffer` and can
+        be read using the `get_waveforms()` method.
+
+        For digitisers in FIFO mode (SPC_REC_FIFO_MULTI) this method is not required because samples are continuously
+        streamed until `stop()` is called.
+
+        # todo: docstring for AWG
+        """
+        self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_DATA_WAITDMA)
+
+    @property
+    def transfer_buffers(self) -> List[TransferBuffer]:
+        """Return the `TransferBuffer` configured for transferring data between the card and the software.
+
+        Returns:
+            buffer (List[`TransferBuffer`]): A length-1 list containing the `TransferBuffer` object. Any data within
+                the `TransferBuffer` can be accessed using its own interface, but the samples are stored as a 1D array,
+                with the samples of each channel interleaved as per the Spectrum user manual. For digitisers, it is more
+                convenient to read waveform data using the `get_waveforms()` method.
+        """
+        if self._transfer_buffer is not None:
+            return [self._transfer_buffer]
+        else:
+            raise SpectrumNoTransferBufferDefined("Cannot find TransferBuffer.")
+
+    def disconnect(self) -> None:
+        """Terminate the connection to the card."""
+        if self.connected:
+            destroy_handle(self._handle)
+            self._connected = False
+
+    @property
+    def connected(self) -> bool:
+        """Returns True if a card is currently connected, False if not."""
+        return self._connected
+
+    def __eq__(self, other: object) -> bool:
+        if isinstance(other, self.__class__):
+            return self._handle == other._handle
+        else:
+            raise NotImplementedError(f"Cannot compare {self.__class__} with {other.__class__}")
+
+    @property
+    def channels(self) -> Sequence[SpectrumChannelInterface]:
+        """A tuple containing the channels that belong to the card.
+
+        Properties of the individual channels can be set by calling the methods of the
+            returned objects directly. See `SpectrumDigitiserChannel` and `SpectrumAWGChannel` for more information.
+
+        Returns:
+            channels (Sequence[`SpectrumChannelInterface`]): A tuple of objects conforming to the
+            `SpectrumChannelInterface` interface.
+        """
+        return self._channels
+
+    @property
+    def enabled_channels(self) -> List[int]:
+        """The indices of the currently enabled channels.
+        Returns:
+            enabled_channels (List[int]): The indices of the currently enabled channels.
+        """
+        return self._enabled_channels
+
+    def set_enabled_channels(self, channels_nums: List[int]) -> None:
+        """Change which channels are enabled.
+
+        Args:
+            channels_nums (List[int]): The integer channel indices to enable.
+        """
+        if len(channels_nums) in [1, 2, 4, 8]:
+            self._enabled_channels = channels_nums
+            self.apply_channel_enabling()
+        else:
+            raise SpectrumInvalidNumberOfEnabledChannels(f"{len(channels_nums)} cannot be enabled at once.")
+
+    @property
+    def trigger_sources(self) -> List[TriggerSource]:
+        """The currently enabled trigger sources
+
+        Returns:
+            sources (List[`TriggerSource`]): A list of TriggerSources.
+        """
+        or_of_sources = self.read_spectrum_device_register(SPC_TRIG_ORMASK)
+        self._trigger_sources = decode_trigger_sources(or_of_sources)
+        return self._trigger_sources
+
+    def set_trigger_sources(self, sources: List[TriggerSource]) -> None:
+        """Change the enabled trigger sources.
+
+        Args:
+            sources (List[`TriggerSource`]): The TriggerSources to enable.
+        """
+        self._trigger_sources = sources
+        or_of_sources = reduce(or_, [s.value for s in sources])
+        self.write_to_spectrum_device_register(SPC_TRIG_ORMASK, or_of_sources)
+        self.write_to_spectrum_device_register(SPC_TRIG_ANDMASK, 0)
+
+    @property
+    def external_trigger_mode(self) -> ExternalTriggerMode:
+        """The currently enabled external trigger mode. An external trigger source must be enabled.
+
+        Returns:
+            sources (`ExternalTriggerMode`): The currently enabled `ExternalTriggerMode`."""
+        if len(self._active_external_triggers) == 0:
+            raise SpectrumExternalTriggerNotEnabled("Cannot get external trigger mode.")
+        else:
+            first_trig_source = self._active_external_triggers[0]
+            try:
+                return ExternalTriggerMode(
+                    self.read_spectrum_device_register(EXTERNAL_TRIGGER_MODE_COMMANDS[first_trig_source.value])
+                )
+            except KeyError:
+                raise SpectrumTriggerOperationNotImplemented(f"Cannot get trigger mode of {first_trig_source.name}.")
+
+    def set_external_trigger_mode(self, mode: ExternalTriggerMode) -> None:
+        """Change the currently enabled trigger mode. An external trigger source must be enabled.
+
+        Args:
+            mode (`ExternalTriggerMode`): The `ExternalTriggerMode` to apply.
+        """
+        if len(self._active_external_triggers) == 0:
+            raise SpectrumExternalTriggerNotEnabled("Cannot set external trigger mode.")
+        else:
+            for trigger_source in self._active_external_triggers:
+                try:
+                    self.write_to_spectrum_device_register(
+                        EXTERNAL_TRIGGER_MODE_COMMANDS[trigger_source.value], mode.value
+                    )
+                except KeyError:
+                    raise SpectrumTriggerOperationNotImplemented(f"Cannot set trigger mode of {trigger_source.name}.")
+
+    @property
+    def _active_external_triggers(self) -> List[TriggerSource]:
+        return [
+            TriggerSource(val)
+            for val in list(
+                set(EXTERNAL_TRIGGER_MODE_COMMANDS.keys()) & set([source.value for source in self._trigger_sources])
+            )
+        ]
+
+    @property
+    def external_trigger_level_in_mv(self) -> int:
+        """The signal level (mV) needed to trigger an event using an external trigger source. An external
+        trigger source must be enabled.
+
+        Returns:
+            level (int): The currently set trigger level in mV.
+        """
+        if len(self._active_external_triggers) == 0:
+            raise SpectrumExternalTriggerNotEnabled("Cannot get external trigger level.")
+        else:
+            first_trig_source = self._active_external_triggers[0]
+            try:
+                return self.read_spectrum_device_register(EXTERNAL_TRIGGER_LEVEL_COMMANDS[first_trig_source.value])
+            except KeyError:
+                raise SpectrumTriggerOperationNotImplemented(f"Cannot get trigger level of {first_trig_source.name}.")
+
+    def set_external_trigger_level_in_mv(self, level: int) -> None:
+        """Change the signal level (mV) needed to trigger an event using an external trigger source. An external
+        trigger source must be enabled.
+
+        Args:
+            level (int): The trigger level to set in mV.
+        """
+        if len(self._active_external_triggers) == 0:
+            raise SpectrumExternalTriggerNotEnabled("Cannot set external trigger level.")
+        else:
+            for trigger_source in self._active_external_triggers:
+                try:
+                    self.write_to_spectrum_device_register(EXTERNAL_TRIGGER_LEVEL_COMMANDS[trigger_source.value], level)
+                except KeyError:
+                    raise SpectrumTriggerOperationNotImplemented(f"Cannot set trigger level of {trigger_source.name}.")
+
+    @property
+    def external_trigger_pulse_width_in_samples(self) -> int:
+        """The pulse width (in samples) needed to trigger an event using an external trigger source, if
+        SPC_TM_PW_SMALLER or SPC_TM_PW_GREATER `ExternalTriggerMode` is selected. An external trigger source must be
+        enabled.
+
+        Returns:
+            width (int): The current trigger pulse width in samples.
+        """
+        if len(self._active_external_triggers) == 0:
+            raise SpectrumExternalTriggerNotEnabled("Cannot get external trigger pulse width.")
+        else:
+            first_trig_source = self._active_external_triggers[0]
+            try:
+                return self.read_spectrum_device_register(
+                    EXTERNAL_TRIGGER_PULSE_WIDTH_COMMANDS[first_trig_source.value]
+                )
+            except KeyError:
+                raise SpectrumTriggerOperationNotImplemented(f"Cannot get pulse width of {first_trig_source.name}.")
+
+    def set_external_trigger_pulse_width_in_samples(self, width: int) -> None:
+        """Change the pulse width (samples) needed to trigger an event using an external trigger source if
+        SPC_TM_PW_SMALLER or SPC_TM_PW_GREATER `ExternalTriggerMode` is selected. An external trigger source must be
+        enabled.
+
+        Args:
+            width (int): The trigger pulse width to set, in samples."""
+        if len(self._active_external_triggers) == 0:
+            raise SpectrumExternalTriggerNotEnabled("Cannot set external trigger pulse width.")
+        else:
+            for trigger_source in self._active_external_triggers:
+                try:
+                    self.write_to_spectrum_device_register(
+                        EXTERNAL_TRIGGER_PULSE_WIDTH_COMMANDS[trigger_source.value], width
+                    )
+                except KeyError:
+                    raise SpectrumTriggerOperationNotImplemented(f"Cannot set pulse width of {trigger_source.name}.")
+
+    def apply_channel_enabling(self) -> None:
+        """Apply the enabled channels chosen using set_enable_channels(). This happens automatically and does not
+        usually need to be called."""
+        enabled_channel_spectrum_values = [self.channels[i].name.value for i in self._enabled_channels]
+        if len(enabled_channel_spectrum_values) in [1, 2, 4, 8]:
+            bitwise_or_of_enabled_channels = reduce(or_, enabled_channel_spectrum_values)
+            self.write_to_spectrum_device_register(SPC_CHENABLE, bitwise_or_of_enabled_channels)
+        else:
+            raise SpectrumInvalidNumberOfEnabledChannels(
+                f"Cannot enable {len(enabled_channel_spectrum_values)} " f"channels on one card."
+            )
+
+    @abstractmethod
+    def _init_channels(self) -> Sequence[SpectrumChannelInterface]:
+        raise NotImplementedError()
+
+    @property
+    def timeout_in_ms(self) -> int:
+        """The time for which the card will wait for a trigger to be received after the device has been started
+        before returning an error.
+
+        Returns:
+            timeout_in_ms (in)t: The currently set timeout in ms.
+        """
+        return self.read_spectrum_device_register(SPC_TIMEOUT)
+
+    def set_timeout_in_ms(self, timeout_in_ms: int) -> None:
+        """Change the time for which the card will wait for a trigger to tbe received after the device has started
+        before returning an error.
+
+        Args:
+            timeout_in_ms (int): The desired timeout in ms.
+        """
+        self.write_to_spectrum_device_register(SPC_TIMEOUT, timeout_in_ms)
+
+    @property
+    def clock_mode(self) -> ClockMode:
+        """The currently enabled clock mode.
+
+        Returns:
+            mode (`ClockMode`): The currently set clock mode.
+        """
+        return ClockMode(self.read_spectrum_device_register(SPC_CLOCKMODE))
+
+    def set_clock_mode(self, mode: ClockMode) -> None:
+        """Change the clock mode. See `ClockMode` and the Spectrum documentation for available modes.
+
+        Args:
+            mode (`ClockMode`): The desired clock mode.
+        """
+        self.write_to_spectrum_device_register(SPC_CLOCKMODE, mode.value)
+
+    @property
+    def available_io_modes(self) -> AvailableIOModes:
+        """For each multipurpose IO line on the card, read the available modes. See IOLineMode and the Spectrum
+        Documentation for all possible available modes and their meanings.
+
+        Returns:
+            modes (`AvailableIOModes`): An `AvailableIOModes` dataclass containing the modes for each IO line."""
+        return AvailableIOModes(
+            X0=decode_available_io_modes(self.read_spectrum_device_register(SPCM_X0_AVAILMODES)),
+            X1=decode_available_io_modes(self.read_spectrum_device_register(SPCM_X1_AVAILMODES)),
+            X2=decode_available_io_modes(self.read_spectrum_device_register(SPCM_X2_AVAILMODES)),
+            X3=decode_available_io_modes(self.read_spectrum_device_register(SPCM_X3_AVAILMODES)),
+        )
+
+    @property
+    def feature_list(self) -> List[Tuple[List[CardFeature], List[AdvancedCardFeature]]]:
+        """Get a list of the features of the card. See `CardFeature`, `AdvancedCardFeature` and the Spectrum
+        documentation for more information.
+
+        Returns:
+            features (List[Tuple[List[`CardFeature`], List[`AdvancedCardFeature`]]]): A tuple of two lists - of features
+                and advanced features respectively - wrapped in a list.
+        """
+        normal_features = decode_card_features(self.read_spectrum_device_register(SPC_PCIFEATURES))
+        advanced_features = decode_advanced_card_features(self.read_spectrum_device_register(SPC_PCIEXTFEATURES))
+        return [(normal_features, advanced_features)]
+
+    @property
+    def sample_rate_in_hz(self) -> int:
+        """The rate at which samples will be acquired or generated, in Hz.
+
+        Returns:
+            rate (int): The currently set sample rate in Hz.
+        """
+        return self.read_spectrum_device_register(SPC_SAMPLERATE, SpectrumRegisterLength.SIXTY_FOUR)
+
+    def set_sample_rate_in_hz(self, rate: int) -> None:
+        """Change the rate at which samples will be acquired or generated, in Hz.
+        Args:
+            rate (int): The desired sample rate in Hz.
+        """
+        self.write_to_spectrum_device_register(SPC_SAMPLERATE, rate, SpectrumRegisterLength.SIXTY_FOUR)
+
+    def __str__(self) -> str:
+        return f"Card {self._visa_string}"
+
+ +
+ +

Abstract superclass implementing methods common to all individual "card" devices (as opposed to "hub" devices).

+
+ + +
+
#   + + + AbstractSpectrumCard(device_number: int = 0, ip_address: Optional[str] = None) +
+ +
+ View Source +
    def __init__(self, device_number: int = 0, ip_address: Optional[str] = None):
+        """
+        Args:
+            device_number (int): Index of the card to control. If only one card is present, set to 0.
+            ip_address (Optional[str]): If connecting to a networked card, provide the IP address here as a string.
+
+        """
+        if ip_address is not None:
+            self._visa_string = _create_visa_string_from_ip(ip_address, device_number)
+        else:
+            self._visa_string = f"/dev/spcm{device_number}"
+        self._connect(self._visa_string)
+        self._card_type = CardType(self.read_spectrum_device_register(SPC_PCITYP))
+        self._trigger_sources: List[TriggerSource] = []
+        self._channels = self._init_channels()
+        self._enabled_channels: List[int] = [0]
+        self._transfer_buffer: Optional[TransferBuffer] = None
+        self.apply_channel_enabling()
+
+ +
+ +
Args
+ +
    +
  • device_number (int): Index of the card to control. If only one card is present, set to 0.
  • +
  • ip_address (Optional[str]): If connecting to a networked card, provide the IP address here as a string.
  • +
+
+ + +
+
+
#   + + + def + reconnect(self) -> None: +
+ +
+ View Source +
    def reconnect(self) -> None:
+        """Reconnect to the card after disconnect() has been called."""
+        self._connect(self._visa_string)
+
+ +
+ +

Reconnect to the card after disconnect() has been called.

+
+ + +
+
+ + +

Read the current status of the card.

+ +
Returns
+ +
+

Statuses (List[List[StatusCode]]): A length-1 list containing a list of StatusCode Enums describing the + current acquisition status of the card. See StatusCode (and the Spectrum documentation) for the list off + possible acquisition statuses.

+
+
+ + +
+
+
#   + + + def + start_transfer(self) -> None: +
+ +
+ View Source +
    def start_transfer(self) -> None:
+        """Transfer between the on-device buffer and the `TransferBuffer`.
+
+        Requires that a `TransferBuffer` has been defined (see `define_transfer_buffer()`).
+
+        For digitisers in Standard Single mode (SPC_REC_STD_SINGLE), `start_transfer()` should be called after each
+        acquisition has completed to transfer the acquired waveforms from the device to the `TransferBuffer`.
+
+        For digitisers in FIFO mode (SPC_REC_FIFO_MULTI), `start_transfer()` should be called immediately after
+        `start()` has been called, so that the waveform data can be continuously streamed into the transfer buffer as it
+        is acquired.
+
+        # todo: docstring for AWG transfers
+        """
+        self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_DATA_STARTDMA)
+
+ +
+ +

Transfer between the on-device buffer and the TransferBuffer.

+ +

Requires that a TransferBuffer has been defined (see define_transfer_buffer()).

+ +

For digitisers in Standard Single mode (SPC_REC_STD_SINGLE), start_transfer() should be called after each +acquisition has completed to transfer the acquired waveforms from the device to the TransferBuffer.

+ +

For digitisers in FIFO mode (SPC_REC_FIFO_MULTI), start_transfer() should be called immediately after +start() has been called, so that the waveform data can be continuously streamed into the transfer buffer as it +is acquired.

+ +

todo: docstring for AWG transfers

+
+ + +
+
+
#   + + + def + stop_transfer(self) -> None: +
+ +
+ View Source +
    def stop_transfer(self) -> None:
+        """Stop the transfer of data between the on-device buffer and the `TransferBuffer`.
+
+        Transfer is usually stopped automatically when an acquisition or stream of acquisitions completes, so this
+        method is rarely required. It may invalidate transferred samples.
+
+        For digitisers in Standard Single mode (SPC_REC_STD_SINGLE), transfer will automatically stop once all acquired
+        samples have been transferred, so `stop_transfer()` should not be used. Instead, call
+        `wait_for_transfer_to_complete()` after `start_transfer()`.
+
+        For digitisers in FIFO mode (SPC_REC_FIFO_MULTI), samples are transferred continuously during acquisition,
+        and transfer will automatically stop when `stop()` is called as there will be no more
+        samples to transfer, so `stop_transfer()` should not be used.
+
+        # todo: docstring for AWG
+        """
+        self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_DATA_STOPDMA)
+
+ +
+ +

Stop the transfer of data between the on-device buffer and the TransferBuffer.

+ +

Transfer is usually stopped automatically when an acquisition or stream of acquisitions completes, so this +method is rarely required. It may invalidate transferred samples.

+ +

For digitisers in Standard Single mode (SPC_REC_STD_SINGLE), transfer will automatically stop once all acquired +samples have been transferred, so stop_transfer() should not be used. Instead, call +wait_for_transfer_to_complete() after start_transfer().

+ +

For digitisers in FIFO mode (SPC_REC_FIFO_MULTI), samples are transferred continuously during acquisition, +and transfer will automatically stop when stop() is called as there will be no more +samples to transfer, so stop_transfer() should not be used.

+ +

todo: docstring for AWG

+
+ + +
+
+
#   + + + def + wait_for_transfer_to_complete(self) -> None: +
+ +
+ View Source +
    def wait_for_transfer_to_complete(self) -> None:
+        """Blocks until the currently active transfer of between the on-device buffer and the TransferBuffer is
+        complete.
+
+        For digitisers in Standard Single mode (SPC_REC_STD_SINGLE), use after starting a transfer. Once the method
+        returns, all acquired waveforms have been transferred from the on-device buffer to the `TransferBuffer` and can
+        be read using the `get_waveforms()` method.
+
+        For digitisers in FIFO mode (SPC_REC_FIFO_MULTI) this method is not required because samples are continuously
+        streamed until `stop()` is called.
+
+        # todo: docstring for AWG
+        """
+        self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_DATA_WAITDMA)
+
+ +
+ +

Blocks until the currently active transfer of between the on-device buffer and the TransferBuffer is +complete.

+ +

For digitisers in Standard Single mode (SPC_REC_STD_SINGLE), use after starting a transfer. Once the method +returns, all acquired waveforms have been transferred from the on-device buffer to the TransferBuffer and can +be read using the get_waveforms() method.

+ +

For digitisers in FIFO mode (SPC_REC_FIFO_MULTI) this method is not required because samples are continuously +streamed until stop() is called.

+ +

todo: docstring for AWG

+
+ + +
+
+ + +

Return the TransferBuffer configured for transferring data between the card and the software.

+ +
Returns
+ +
+

buffer (List[TransferBuffer]): A length-1 list containing the TransferBuffer object. Any data within + the TransferBuffer can be accessed using its own interface, but the samples are stored as a 1D array, + with the samples of each channel interleaved as per the Spectrum user manual. For digitisers, it is more + convenient to read waveform data using the get_waveforms() method.

+
+
+ + +
+
+
#   + + + def + disconnect(self) -> None: +
+ +
+ View Source +
    def disconnect(self) -> None:
+        """Terminate the connection to the card."""
+        if self.connected:
+            destroy_handle(self._handle)
+            self._connected = False
+
+ +
+ +

Terminate the connection to the card.

+
+ + +
+
+
#   + + connected: bool +
+ +

Returns True if a card is currently connected, False if not.

+
+ + +
+
+ + +

A tuple containing the channels that belong to the card.

+ +

Properties of the individual channels can be set by calling the methods of the + returned objects directly. See SpectrumDigitiserChannel and SpectrumAWGChannel for more information.

+ +
Returns
+ +
+

channels (Sequence[SpectrumChannelInterface]): A tuple of objects conforming to the + SpectrumChannelInterface interface.

+
+
+ + +
+
+
#   + + enabled_channels: List[int] +
+ +

The indices of the currently enabled channels.

+ +
Returns
+ +
+

enabled_channels (List[int]): The indices of the currently enabled channels.

+
+
+ + +
+
+
#   + + + def + set_enabled_channels(self, channels_nums: List[int]) -> None: +
+ +
+ View Source +
    def set_enabled_channels(self, channels_nums: List[int]) -> None:
+        """Change which channels are enabled.
+
+        Args:
+            channels_nums (List[int]): The integer channel indices to enable.
+        """
+        if len(channels_nums) in [1, 2, 4, 8]:
+            self._enabled_channels = channels_nums
+            self.apply_channel_enabling()
+        else:
+            raise SpectrumInvalidNumberOfEnabledChannels(f"{len(channels_nums)} cannot be enabled at once.")
+
+ +
+ +

Change which channels are enabled.

+ +
Args
+ +
    +
  • channels_nums (List[int]): The integer channel indices to enable.
  • +
+
+ + +
+
+ + +

The currently enabled trigger sources

+ +
Returns
+ +
+

sources (List[TriggerSource]): A list of TriggerSources.

+
+
+ + +
+
+
#   + + + def + set_trigger_sources( + self, + sources: List[spectrumdevice.settings.triggering.TriggerSource] +) -> None: +
+ +
+ View Source +
    def set_trigger_sources(self, sources: List[TriggerSource]) -> None:
+        """Change the enabled trigger sources.
+
+        Args:
+            sources (List[`TriggerSource`]): The TriggerSources to enable.
+        """
+        self._trigger_sources = sources
+        or_of_sources = reduce(or_, [s.value for s in sources])
+        self.write_to_spectrum_device_register(SPC_TRIG_ORMASK, or_of_sources)
+        self.write_to_spectrum_device_register(SPC_TRIG_ANDMASK, 0)
+
+ +
+ +

Change the enabled trigger sources.

+ +
Args
+ +
    +
  • sources (List[TriggerSource]): The TriggerSources to enable.
  • +
+
+ + +
+
+ + +

The currently enabled external trigger mode. An external trigger source must be enabled.

+ +
Returns
+ +
+

sources (ExternalTriggerMode): The currently enabled ExternalTriggerMode.

+
+
+ + +
+
+
#   + + + def + set_external_trigger_mode( + self, + mode: spectrumdevice.settings.triggering.ExternalTriggerMode +) -> None: +
+ +
+ View Source +
    def set_external_trigger_mode(self, mode: ExternalTriggerMode) -> None:
+        """Change the currently enabled trigger mode. An external trigger source must be enabled.
+
+        Args:
+            mode (`ExternalTriggerMode`): The `ExternalTriggerMode` to apply.
+        """
+        if len(self._active_external_triggers) == 0:
+            raise SpectrumExternalTriggerNotEnabled("Cannot set external trigger mode.")
+        else:
+            for trigger_source in self._active_external_triggers:
+                try:
+                    self.write_to_spectrum_device_register(
+                        EXTERNAL_TRIGGER_MODE_COMMANDS[trigger_source.value], mode.value
+                    )
+                except KeyError:
+                    raise SpectrumTriggerOperationNotImplemented(f"Cannot set trigger mode of {trigger_source.name}.")
+
+ +
+ +

Change the currently enabled trigger mode. An external trigger source must be enabled.

+ +
Args
+ +
    +
  • mode (ExternalTriggerMode): The ExternalTriggerMode to apply.
  • +
+
+ + +
+
+
#   + + external_trigger_level_in_mv: int +
+ +

The signal level (mV) needed to trigger an event using an external trigger source. An external +trigger source must be enabled.

+ +
Returns
+ +
+

level (int): The currently set trigger level in mV.

+
+
+ + +
+
+
#   + + + def + set_external_trigger_level_in_mv(self, level: int) -> None: +
+ +
+ View Source +
    def set_external_trigger_level_in_mv(self, level: int) -> None:
+        """Change the signal level (mV) needed to trigger an event using an external trigger source. An external
+        trigger source must be enabled.
+
+        Args:
+            level (int): The trigger level to set in mV.
+        """
+        if len(self._active_external_triggers) == 0:
+            raise SpectrumExternalTriggerNotEnabled("Cannot set external trigger level.")
+        else:
+            for trigger_source in self._active_external_triggers:
+                try:
+                    self.write_to_spectrum_device_register(EXTERNAL_TRIGGER_LEVEL_COMMANDS[trigger_source.value], level)
+                except KeyError:
+                    raise SpectrumTriggerOperationNotImplemented(f"Cannot set trigger level of {trigger_source.name}.")
+
+ +
+ +

Change the signal level (mV) needed to trigger an event using an external trigger source. An external +trigger source must be enabled.

+ +
Args
+ +
    +
  • level (int): The trigger level to set in mV.
  • +
+
+ + +
+
+
#   + + external_trigger_pulse_width_in_samples: int +
+ +

The pulse width (in samples) needed to trigger an event using an external trigger source, if +SPC_TM_PW_SMALLER or SPC_TM_PW_GREATER ExternalTriggerMode is selected. An external trigger source must be +enabled.

+ +
Returns
+ +
+

width (int): The current trigger pulse width in samples.

+
+
+ + +
+
+
#   + + + def + set_external_trigger_pulse_width_in_samples(self, width: int) -> None: +
+ +
+ View Source +
    def set_external_trigger_pulse_width_in_samples(self, width: int) -> None:
+        """Change the pulse width (samples) needed to trigger an event using an external trigger source if
+        SPC_TM_PW_SMALLER or SPC_TM_PW_GREATER `ExternalTriggerMode` is selected. An external trigger source must be
+        enabled.
+
+        Args:
+            width (int): The trigger pulse width to set, in samples."""
+        if len(self._active_external_triggers) == 0:
+            raise SpectrumExternalTriggerNotEnabled("Cannot set external trigger pulse width.")
+        else:
+            for trigger_source in self._active_external_triggers:
+                try:
+                    self.write_to_spectrum_device_register(
+                        EXTERNAL_TRIGGER_PULSE_WIDTH_COMMANDS[trigger_source.value], width
+                    )
+                except KeyError:
+                    raise SpectrumTriggerOperationNotImplemented(f"Cannot set pulse width of {trigger_source.name}.")
+
+ +
+ +

Change the pulse width (samples) needed to trigger an event using an external trigger source if +SPC_TM_PW_SMALLER or SPC_TM_PW_GREATER ExternalTriggerMode is selected. An external trigger source must be +enabled.

+ +
Args
+ +
    +
  • width (int): The trigger pulse width to set, in samples.
  • +
+
+ + +
+
+
#   + + + def + apply_channel_enabling(self) -> None: +
+ +
+ View Source +
    def apply_channel_enabling(self) -> None:
+        """Apply the enabled channels chosen using set_enable_channels(). This happens automatically and does not
+        usually need to be called."""
+        enabled_channel_spectrum_values = [self.channels[i].name.value for i in self._enabled_channels]
+        if len(enabled_channel_spectrum_values) in [1, 2, 4, 8]:
+            bitwise_or_of_enabled_channels = reduce(or_, enabled_channel_spectrum_values)
+            self.write_to_spectrum_device_register(SPC_CHENABLE, bitwise_or_of_enabled_channels)
+        else:
+            raise SpectrumInvalidNumberOfEnabledChannels(
+                f"Cannot enable {len(enabled_channel_spectrum_values)} " f"channels on one card."
+            )
+
+ +
+ +

Apply the enabled channels chosen using set_enable_channels(). This happens automatically and does not +usually need to be called.

+
+ + +
+
+
#   + + timeout_in_ms: int +
+ +

The time for which the card will wait for a trigger to be received after the device has been started +before returning an error.

+ +
Returns
+ +
+

timeout_in_ms (in)t: The currently set timeout in ms.

+
+
+ + +
+
+
#   + + + def + set_timeout_in_ms(self, timeout_in_ms: int) -> None: +
+ +
+ View Source +
    def set_timeout_in_ms(self, timeout_in_ms: int) -> None:
+        """Change the time for which the card will wait for a trigger to tbe received after the device has started
+        before returning an error.
+
+        Args:
+            timeout_in_ms (int): The desired timeout in ms.
+        """
+        self.write_to_spectrum_device_register(SPC_TIMEOUT, timeout_in_ms)
+
+ +
+ +

Change the time for which the card will wait for a trigger to tbe received after the device has started +before returning an error.

+ +
Args
+ +
    +
  • timeout_in_ms (int): The desired timeout in ms.
  • +
+
+ + +
+
+ + +

The currently enabled clock mode.

+ +
Returns
+ +
+

mode (ClockMode): The currently set clock mode.

+
+
+ + +
+
+
#   + + + def + set_clock_mode(self, mode: spectrumdevice.settings.device_modes.ClockMode) -> None: +
+ +
+ View Source +
    def set_clock_mode(self, mode: ClockMode) -> None:
+        """Change the clock mode. See `ClockMode` and the Spectrum documentation for available modes.
+
+        Args:
+            mode (`ClockMode`): The desired clock mode.
+        """
+        self.write_to_spectrum_device_register(SPC_CLOCKMODE, mode.value)
+
+ +
+ +

Change the clock mode. See ClockMode and the Spectrum documentation for available modes.

+ +
Args
+ +
    +
  • mode (ClockMode): The desired clock mode.
  • +
+
+ + +
+
+ + +

For each multipurpose IO line on the card, read the available modes. See IOLineMode and the Spectrum +Documentation for all possible available modes and their meanings.

+ +
Returns
+ +
+

modes (AvailableIOModes): An AvailableIOModes dataclass containing the modes for each IO line.

+
+
+ + +
+
+ + +

Get a list of the features of the card. See CardFeature, AdvancedCardFeature and the Spectrum +documentation for more information.

+ +
Returns
+ +
+

features (List[Tuple[List[CardFeature], List[AdvancedCardFeature]]]): A tuple of two lists - of features + and advanced features respectively - wrapped in a list.

+
+
+ + +
+
+
#   + + sample_rate_in_hz: int +
+ +

The rate at which samples will be acquired or generated, in Hz.

+ +
Returns
+ +
+

rate (int): The currently set sample rate in Hz.

+
+
+ + +
+
+
#   + + + def + set_sample_rate_in_hz(self, rate: int) -> None: +
+ +
+ View Source +
    def set_sample_rate_in_hz(self, rate: int) -> None:
+        """Change the rate at which samples will be acquired or generated, in Hz.
+        Args:
+            rate (int): The desired sample rate in Hz.
+        """
+        self.write_to_spectrum_device_register(SPC_SAMPLERATE, rate, SpectrumRegisterLength.SIXTY_FOUR)
+
+ +
+ +

Change the rate at which samples will be acquired or generated, in Hz.

+ +
Args
+ +
    +
  • rate (int): The desired sample rate in Hz.
  • +
+
+ + +
+
+
Inherited Members
+
+
AbstractSpectrumDevice
+
reset
+
start
+
stop
+
configure_trigger
+
write_to_spectrum_device_register
+
read_spectrum_device_register
+ +
+
spectrumdevice.devices.abstract_device.device_interface.SpectrumDeviceInterface
+
define_transfer_buffer
+ +
+
+
+
+
+
+ #   + + + class + AbstractSpectrumDevice(spectrumdevice.devices.abstract_device.device_interface.SpectrumDeviceInterface, abc.ABC): +
+ +
+ View Source +
class AbstractSpectrumDevice(SpectrumDeviceInterface, ABC):
+    """Abstract superclass which implements methods common to all Spectrum devices. Instances of this class
+    cannot be constructed directly. Instead, construct instances of the concrete classes listed in
+    spectrumdevice/__init__.py, which inherit the methods defined here. Note that the concrete mock devices override
+    several of the methods defined here."""
+
+    def _connect(self, visa_string: str) -> None:
+        self._handle = spectrum_handle_factory(visa_string)
+        self._connected = True
+
+    def reset(self) -> None:
+        """Perform a software and hardware reset.
+
+        All settings are set to hardware default values. The data in the board’s on-board memory will be no longer
+        valid. Any output signals (including triggers and clocks) will be disabled."""
+        self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_CARD_RESET)
+
+    def start(self) -> None:
+        """Start the device.
+
+        For digitisers in Standard Single mode (SPC_REC_STD_SINGLE), this will need to be called once for each
+        acquisition. In-between calls, waveforms must be manually transferred from the device to a `TransferBuffer`
+        using `start_transfer()`. The `TransferBuffer` need not be defined until after `start` is called.
+
+        For digitisers in Multi FIFO mode (SPC_REC_FIFO_MULTI), it needs to be called only once, immediately followed by
+        a call to `start_transfer()`. Frames will then be continuously streamed to the `TransferBuffer`, which must have
+        already been defined.
+
+        # todo: docstring for different AWG modes
+        """
+        self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER)
+
+    def stop(self) -> None:
+        """Stop the device.
+
+        For digitisers in FIFO mode (SPC_REC_FIFO_MULTI), this stops the continuous acquisition of waveform data that
+        occurs after calling `start()`. Does not need to be called in Standard Single mode (SPC_REC_STD_SINGLE).
+
+        # todo: docstring for AWG
+        """
+        self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_CARD_STOP)
+
+    def configure_trigger(self, settings: TriggerSettings) -> None:
+        """Apply all the trigger settings contained in a `TriggerSettings` dataclass to the device.
+
+        Args:
+            settings (`TriggerSettings`): A `TriggerSettings` dataclass containing the setting values to apply."""
+        self.set_trigger_sources(settings.trigger_sources)
+        if len(set(self.trigger_sources) & set(EXTERNAL_TRIGGER_SOURCES)) > 0:
+            if settings.external_trigger_mode is not None:
+                self.set_external_trigger_mode(settings.external_trigger_mode)
+            if settings.external_trigger_level_in_mv is not None:
+                self.set_external_trigger_level_in_mv(settings.external_trigger_level_in_mv)
+            if settings.external_trigger_pulse_width_in_samples is not None:
+                self.set_external_trigger_pulse_width_in_samples(settings.external_trigger_pulse_width_in_samples)
+
+        # Write the configuration to the card
+        self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_CARD_WRITESETUP)
+
+    def write_to_spectrum_device_register(
+        self,
+        spectrum_register: int,
+        value: int,
+        length: SpectrumRegisterLength = SpectrumRegisterLength.THIRTY_TWO,
+    ) -> None:
+        """Set the value of a register on the Spectrum device.
+
+        This method is used internally by `AbstractSpectrumDigitiser` and its subclasses to configure a hardware
+        device, but can also be used to set the value of registers that are not implemented in
+        `AbstractSpectrumDigitiser` and its subclasses.
+
+        Args:
+            spectrum_register (int): Identifier of the register to set. This should be a global constant imported from
+                regs.py in the spectrum_gmbh package.
+            value (int): Value to write to the register. This should be a global constant imported from
+                regs.py in the spectrum_gmbh package.
+            length (`SpectrumRegisterLength`): A `SpectrumRegisterLength` object specifying the length of the register
+                to set, in bits.
+        """
+        if not SPECTRUM_DRIVERS_FOUND:
+            raise SpectrumDriversNotFound(
+                "Cannot communicate with hardware. For testing on a system without drivers or connected hardware, use"
+                " MockSpectrumDigitiserCard instead."
+            )
+        if self.connected:
+            if length == SpectrumRegisterLength.THIRTY_TWO:
+                set_spectrum_i32_api_param(self._handle, spectrum_register, value)
+            elif length == SpectrumRegisterLength.SIXTY_FOUR:
+                set_spectrum_i64_api_param(self._handle, spectrum_register, value)
+            else:
+                raise ValueError("Spectrum integer length not recognised.")
+        else:
+            raise SpectrumDeviceNotConnected("The device has been disconnected.")
+
+    def read_spectrum_device_register(
+        self,
+        spectrum_register: int,
+        length: SpectrumRegisterLength = SpectrumRegisterLength.THIRTY_TWO,
+    ) -> int:
+        """Get the value of a register on the Spectrum digitiser.
+
+        This method is used internally by `AbstractSpectrumDigitiser` and its subclasses to read the configuration of a
+        hardware device, but can be also used to get the value of registers that are not implemented in
+        `AbstractSpectrumDigitiser` and its subclasses.
+
+        Args:
+            spectrum_register (int): Identifier of the register to set. This should be a global constant imported from
+                spectrum_gmbh.regs.
+            length (`SpectrumRegisterLength`): A `SpectrumRegisterLength` object specifying the length of the register
+                to set, in bits.
+
+        Returns:
+            value (int): Value of the register. This can be matched to a global constant imported from
+                spectrum_gmbh.regs, usually using one of the Enums defined in the settings module.
+        """
+        if not SPECTRUM_DRIVERS_FOUND:
+            raise SpectrumDriversNotFound(
+                "Cannot communicate with hardware. For testing on a system without drivers or connected hardware, use"
+                " a mock device instead (e.g. MockSpectrumDigitiserCard or MockSpectrumStarHub)."
+            )
+        if self.connected:
+            if length == SpectrumRegisterLength.THIRTY_TWO:
+                return get_spectrum_i32_api_param(self._handle, spectrum_register)
+            elif length == SpectrumRegisterLength.SIXTY_FOUR:
+                return get_spectrum_i64_api_param(self._handle, spectrum_register)
+            else:
+                raise ValueError("Spectrum integer length not recognised.")
+        else:
+            raise SpectrumDeviceNotConnected("The device has been disconnected.")
+
+    def __repr__(self) -> str:
+        return str(self)
+
+ +
+ +

Abstract superclass which implements methods common to all Spectrum devices. Instances of this class +cannot be constructed directly. Instead, construct instances of the concrete classes listed in +spectrumdevice/__init__.py, which inherit the methods defined here. Note that the concrete mock devices override +several of the methods defined here.

+
+ + +
+
#   + + + def + reset(self) -> None: +
+ +
+ View Source +
    def reset(self) -> None:
+        """Perform a software and hardware reset.
+
+        All settings are set to hardware default values. The data in the board’s on-board memory will be no longer
+        valid. Any output signals (including triggers and clocks) will be disabled."""
+        self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_CARD_RESET)
+
+ +
+ +

Perform a software and hardware reset.

+ +

All settings are set to hardware default values. The data in the board’s on-board memory will be no longer +valid. Any output signals (including triggers and clocks) will be disabled.

+
+ + +
+
+
#   + + + def + start(self) -> None: +
+ +
+ View Source +
    def start(self) -> None:
+        """Start the device.
+
+        For digitisers in Standard Single mode (SPC_REC_STD_SINGLE), this will need to be called once for each
+        acquisition. In-between calls, waveforms must be manually transferred from the device to a `TransferBuffer`
+        using `start_transfer()`. The `TransferBuffer` need not be defined until after `start` is called.
+
+        For digitisers in Multi FIFO mode (SPC_REC_FIFO_MULTI), it needs to be called only once, immediately followed by
+        a call to `start_transfer()`. Frames will then be continuously streamed to the `TransferBuffer`, which must have
+        already been defined.
+
+        # todo: docstring for different AWG modes
+        """
+        self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER)
+
+ +
+ +

Start the device.

+ +

For digitisers in Standard Single mode (SPC_REC_STD_SINGLE), this will need to be called once for each +acquisition. In-between calls, waveforms must be manually transferred from the device to a TransferBuffer +using start_transfer(). The TransferBuffer need not be defined until after start is called.

+ +

For digitisers in Multi FIFO mode (SPC_REC_FIFO_MULTI), it needs to be called only once, immediately followed by +a call to start_transfer(). Frames will then be continuously streamed to the TransferBuffer, which must have +already been defined.

+ +

todo: docstring for different AWG modes

+
+ + +
+
+
#   + + + def + stop(self) -> None: +
+ +
+ View Source +
    def stop(self) -> None:
+        """Stop the device.
+
+        For digitisers in FIFO mode (SPC_REC_FIFO_MULTI), this stops the continuous acquisition of waveform data that
+        occurs after calling `start()`. Does not need to be called in Standard Single mode (SPC_REC_STD_SINGLE).
+
+        # todo: docstring for AWG
+        """
+        self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_CARD_STOP)
+
+ +
+ +

Stop the device.

+ +

For digitisers in FIFO mode (SPC_REC_FIFO_MULTI), this stops the continuous acquisition of waveform data that +occurs after calling start(). Does not need to be called in Standard Single mode (SPC_REC_STD_SINGLE).

+ +

todo: docstring for AWG

+
+ + +
+
+
#   + + + def + configure_trigger(self, settings: spectrumdevice.settings.TriggerSettings) -> None: +
+ +
+ View Source +
    def configure_trigger(self, settings: TriggerSettings) -> None:
+        """Apply all the trigger settings contained in a `TriggerSettings` dataclass to the device.
+
+        Args:
+            settings (`TriggerSettings`): A `TriggerSettings` dataclass containing the setting values to apply."""
+        self.set_trigger_sources(settings.trigger_sources)
+        if len(set(self.trigger_sources) & set(EXTERNAL_TRIGGER_SOURCES)) > 0:
+            if settings.external_trigger_mode is not None:
+                self.set_external_trigger_mode(settings.external_trigger_mode)
+            if settings.external_trigger_level_in_mv is not None:
+                self.set_external_trigger_level_in_mv(settings.external_trigger_level_in_mv)
+            if settings.external_trigger_pulse_width_in_samples is not None:
+                self.set_external_trigger_pulse_width_in_samples(settings.external_trigger_pulse_width_in_samples)
+
+        # Write the configuration to the card
+        self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_CARD_WRITESETUP)
+
+ +
+ +

Apply all the trigger settings contained in a TriggerSettings dataclass to the device.

+ +
Args
+ +
    +
  • settings (TriggerSettings): A TriggerSettings dataclass containing the setting values to apply.
  • +
+
+ + +
+
+
#   + + + def + write_to_spectrum_device_register( + self, + spectrum_register: int, + value: int, + length: spectrumdevice.settings.SpectrumRegisterLength = THIRTY_TWO +) -> None: +
+ +
+ View Source +
    def write_to_spectrum_device_register(
+        self,
+        spectrum_register: int,
+        value: int,
+        length: SpectrumRegisterLength = SpectrumRegisterLength.THIRTY_TWO,
+    ) -> None:
+        """Set the value of a register on the Spectrum device.
+
+        This method is used internally by `AbstractSpectrumDigitiser` and its subclasses to configure a hardware
+        device, but can also be used to set the value of registers that are not implemented in
+        `AbstractSpectrumDigitiser` and its subclasses.
+
+        Args:
+            spectrum_register (int): Identifier of the register to set. This should be a global constant imported from
+                regs.py in the spectrum_gmbh package.
+            value (int): Value to write to the register. This should be a global constant imported from
+                regs.py in the spectrum_gmbh package.
+            length (`SpectrumRegisterLength`): A `SpectrumRegisterLength` object specifying the length of the register
+                to set, in bits.
+        """
+        if not SPECTRUM_DRIVERS_FOUND:
+            raise SpectrumDriversNotFound(
+                "Cannot communicate with hardware. For testing on a system without drivers or connected hardware, use"
+                " MockSpectrumDigitiserCard instead."
+            )
+        if self.connected:
+            if length == SpectrumRegisterLength.THIRTY_TWO:
+                set_spectrum_i32_api_param(self._handle, spectrum_register, value)
+            elif length == SpectrumRegisterLength.SIXTY_FOUR:
+                set_spectrum_i64_api_param(self._handle, spectrum_register, value)
+            else:
+                raise ValueError("Spectrum integer length not recognised.")
+        else:
+            raise SpectrumDeviceNotConnected("The device has been disconnected.")
+
+ +
+ +

Set the value of a register on the Spectrum device.

+ +

This method is used internally by AbstractSpectrumDigitiser and its subclasses to configure a hardware +device, but can also be used to set the value of registers that are not implemented in +AbstractSpectrumDigitiser and its subclasses.

+ +
Args
+ +
    +
  • spectrum_register (int): Identifier of the register to set. This should be a global constant imported from +regs.py in the spectrum_gmbh package.
  • +
  • value (int): Value to write to the register. This should be a global constant imported from +regs.py in the spectrum_gmbh package.
  • +
  • length (SpectrumRegisterLength): A SpectrumRegisterLength object specifying the length of the register +to set, in bits.
  • +
+
+ + +
+
+
#   + + + def + read_spectrum_device_register( + self, + spectrum_register: int, + length: spectrumdevice.settings.SpectrumRegisterLength = THIRTY_TWO +) -> int: +
+ +
+ View Source +
    def read_spectrum_device_register(
+        self,
+        spectrum_register: int,
+        length: SpectrumRegisterLength = SpectrumRegisterLength.THIRTY_TWO,
+    ) -> int:
+        """Get the value of a register on the Spectrum digitiser.
+
+        This method is used internally by `AbstractSpectrumDigitiser` and its subclasses to read the configuration of a
+        hardware device, but can be also used to get the value of registers that are not implemented in
+        `AbstractSpectrumDigitiser` and its subclasses.
+
+        Args:
+            spectrum_register (int): Identifier of the register to set. This should be a global constant imported from
+                spectrum_gmbh.regs.
+            length (`SpectrumRegisterLength`): A `SpectrumRegisterLength` object specifying the length of the register
+                to set, in bits.
+
+        Returns:
+            value (int): Value of the register. This can be matched to a global constant imported from
+                spectrum_gmbh.regs, usually using one of the Enums defined in the settings module.
+        """
+        if not SPECTRUM_DRIVERS_FOUND:
+            raise SpectrumDriversNotFound(
+                "Cannot communicate with hardware. For testing on a system without drivers or connected hardware, use"
+                " a mock device instead (e.g. MockSpectrumDigitiserCard or MockSpectrumStarHub)."
+            )
+        if self.connected:
+            if length == SpectrumRegisterLength.THIRTY_TWO:
+                return get_spectrum_i32_api_param(self._handle, spectrum_register)
+            elif length == SpectrumRegisterLength.SIXTY_FOUR:
+                return get_spectrum_i64_api_param(self._handle, spectrum_register)
+            else:
+                raise ValueError("Spectrum integer length not recognised.")
+        else:
+            raise SpectrumDeviceNotConnected("The device has been disconnected.")
+
+ +
+ +

Get the value of a register on the Spectrum digitiser.

+ +

This method is used internally by AbstractSpectrumDigitiser and its subclasses to read the configuration of a +hardware device, but can be also used to get the value of registers that are not implemented in +AbstractSpectrumDigitiser and its subclasses.

+ +
Args
+ +
    +
  • spectrum_register (int): Identifier of the register to set. This should be a global constant imported from +spectrum_gmbh.regs.
  • +
  • length (SpectrumRegisterLength): A SpectrumRegisterLength object specifying the length of the register +to set, in bits.
  • +
+ +
Returns
+ +
+

value (int): Value of the register. This can be matched to a global constant imported from + spectrum_gmbh.regs, usually using one of the Enums defined in the settings module.

+
+
+ + +
+
+
Inherited Members
+
+
spectrumdevice.devices.abstract_device.device_interface.SpectrumDeviceInterface
+
connected
+
reconnect
+
status
+
start_transfer
+
stop_transfer
+
wait_for_transfer_to_complete
+
disconnect
+
transfer_buffers
+
define_transfer_buffer
+
channels
+
enabled_channels
+
set_enabled_channels
+
trigger_sources
+
set_trigger_sources
+
external_trigger_mode
+
set_external_trigger_mode
+
external_trigger_level_in_mv
+
set_external_trigger_level_in_mv
+
external_trigger_pulse_width_in_samples
+
set_external_trigger_pulse_width_in_samples
+
apply_channel_enabling
+
clock_mode
+
set_clock_mode
+
sample_rate_in_hz
+
set_sample_rate_in_hz
+
available_io_modes
+
feature_list
+
timeout_in_ms
+
set_timeout_in_ms
+ +
+
+
+
+
+
+ #   + + + class + AbstractSpectrumChannel(spectrumdevice.devices.abstract_device.device_interface.SpectrumChannelInterface): +
+ +
+ View Source +
class AbstractSpectrumChannel(SpectrumChannelInterface):
+    """Partially implemented abstract superclass contain code common for controlling an individual channel of all
+    spectrum devices."""
+
+    def __init__(self, channel_number: int, parent_device: AbstractSpectrumCard):
+        self._name = SpectrumChannelName[f"CHANNEL{channel_number}"]
+        self._parent_device = parent_device
+        self._enabled = True
+
+    @property
+    def name(self) -> SpectrumChannelName:
+        """The identifier assigned by the spectrum driver, formatted as an Enum by the settings package.
+
+        Returns:
+            name (`SpectrumChannelName`): The name of the channel, as assigned by the driver."""
+        return self._name
+
+    @property
+    def _number(self) -> int:
+        return int(self.name.name.split("CHANNEL")[-1])
+
+    def __eq__(self, other: object) -> bool:
+        if isinstance(other, AbstractSpectrumChannel):
+            return (self.name == other.name) and (self._parent_device == other._parent_device)
+        else:
+            raise NotImplementedError()
+
+    def __str__(self) -> str:
+        return f"{self._name.name} of {self._parent_device}"
+
+    def __repr__(self) -> str:
+        return str(self)
+
+ +
+ +

Partially implemented abstract superclass contain code common for controlling an individual channel of all +spectrum devices.

+
+ + +
+
#   + + + AbstractSpectrumChannel( + channel_number: int, + parent_device: spectrumdevice.devices.abstract_device.abstract_spectrum_card.AbstractSpectrumCard +) +
+ +
+ View Source +
    def __init__(self, channel_number: int, parent_device: AbstractSpectrumCard):
+        self._name = SpectrumChannelName[f"CHANNEL{channel_number}"]
+        self._parent_device = parent_device
+        self._enabled = True
+
+ +
+ + + +
+
+ + +

The identifier assigned by the spectrum driver, formatted as an Enum by the settings package.

+ +
Returns
+ +
+

name (SpectrumChannelName): The name of the channel, as assigned by the driver.

+
+
+ + +
+
+
+ + +
+ View Source +
"""Provides Enums and Dataclasses wrapping the register values provided by the Spectrum API, to be used for configuring
+hardware and interpreting responses received from hardware."""
+
+# Christian Baker, King's College London
+# Copyright (c) 2021 School of Biomedical Engineering & Imaging Sciences, King's College London
+# Licensed under the MIT. You may obtain a copy at https://opensource.org/licenses/MIT.
+
+from dataclasses import dataclass
+from enum import Enum
+from typing import List, Optional
+
+from spectrumdevice.settings.card_dependent_properties import CardType
+from spectrumdevice.settings.card_features import CardFeature, AdvancedCardFeature
+from spectrumdevice.settings.device_modes import AcquisitionMode, ClockMode
+from spectrumdevice.settings.io_lines import IOLineMode, AvailableIOModes
+from spectrumdevice.settings.transfer_buffer import TransferBuffer, CardToPCDataTransferBuffer
+from spectrumdevice.settings.triggering import TriggerSource, ExternalTriggerMode
+from spectrumdevice.settings.status import CARD_STATUS_TYPE, DEVICE_STATUS_TYPE, StatusCode
+
+
+__all__ = [
+    "AcquisitionSettings",
+    "TriggerSettings",
+    "AcquisitionMode",
+    "ClockMode",
+    "CardFeature",
+    "AdvancedCardFeature",
+    "IOLineMode",
+    "AvailableIOModes",
+    "TransferBuffer",
+    "CardToPCDataTransferBuffer",
+    "TriggerSource",
+    "ExternalTriggerMode",
+    "CARD_STATUS_TYPE",
+    "DEVICE_STATUS_TYPE",
+    "StatusCode",
+    "SpectrumRegisterLength",
+    "CardType",
+]
+
+
+@dataclass
+class TriggerSettings:
+    """A dataclass collecting all settings related to triggering. See Spectrum documentation."""
+
+    trigger_sources: List[TriggerSource]
+    """The trigger sources to enable"""
+    external_trigger_mode: Optional[ExternalTriggerMode] = None
+    """The external trigger mode (if an external trigger is enabled)."""
+    external_trigger_level_in_mv: Optional[int] = None
+    """The level an external signal must reach to cause a trigger event (if an external trigger is enabled)."""
+    external_trigger_pulse_width_in_samples: Optional[int] = None
+    """The required width of an external trigger pulse (if an external trigger is enabled)."""
+
+
+@dataclass
+class AcquisitionSettings:
+    """A dataclass collecting all settings required to configure an acquisition. See Spectrum documentation."""
+
+    acquisition_mode: AcquisitionMode
+    """Standard Single mode, Multi FIF mode or an averaging mode."""
+    sample_rate_in_hz: int
+    """Acquisition rate in samples per second."""
+    acquisition_length_in_samples: int
+    """The length of the recording in samples per channel."""
+    pre_trigger_length_in_samples: int
+    """The number of samples of the recording that will have been acquired before the trigger event."""
+    timeout_in_ms: int
+    """How long to wait for a trigger event before timing out."""
+    enabled_channels: List[int]
+    """The channel indices to enable for the acquisition."""
+    vertical_ranges_in_mv: List[int]
+    """The voltage range to apply to each enabled channel in mW."""
+    vertical_offsets_in_percent: List[int]
+    """The DC offset to apply to each enabled channel as percentages of their vertical ranges."""
+    timestamping_enabled: bool
+    """If True, Measurements will include the time at which the acquisition was triggered. Increases latency by ~10 ms.
+    """
+    number_of_averages: int = 1
+    """If an averaging AcquisitionMode is selected, this defines the number of averages."""
+
+
+class SpectrumRegisterLength(Enum):
+    """Enum defining the possible lengths of a spectrum register."""
+
+    THIRTY_TWO = 0
+    """32 bit register"""
+    SIXTY_FOUR = 1
+    """64 bit register"""
+
+    def __repr__(self) -> str:
+        return self.name
+
+ +
+ +

Provides Enums and Dataclasses wrapping the register values provided by the Spectrum API, to be used for configuring +hardware and interpreting responses received from hardware.

+
+ + +
+
+
+ #   + +
@dataclass
+ + class + Measurement: +
+ +
+ View Source +
@dataclass
+class Measurement:
+    """Measurement is a dataclass for storing a set of waveforms generated by a single acquisition, with a timestamp."""
+
+    waveforms: List[NDArray[float_]]
+    """Contains the acquired waveforms as a list of 1D NumPy arrays"""
+    timestamp: Optional[datetime]
+    """The time at which the acquisition was triggered, as a datetime.datetime object"""
+
+ +
+ +

Measurement is a dataclass for storing a set of waveforms generated by a single acquisition, with a timestamp.

+
+ + +
+
#   + + + Measurement( + waveforms: List[numpy.ndarray[Any, numpy.dtype[numpy.float64]]], + timestamp: Optional[datetime.datetime] +) +
+ + + + +
+
+
#   + + waveforms: List[numpy.ndarray[Any, numpy.dtype[numpy.float64]]] +
+ +

Contains the acquired waveforms as a list of 1D NumPy arrays

+
+ + +
+
+
#   + + timestamp: Optional[datetime.datetime] +
+ +

The time at which the acquisition was triggered, as a datetime.datetime object

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/docs/search.js b/docs/search.js new file mode 100644 index 0000000..2f69550 --- /dev/null +++ b/docs/search.js @@ -0,0 +1,36 @@ +window.pdocSearch = (function(){ +/** elasticlunr - http://weixsong.github.io * Copyright (C) 2017 Oliver Nightingale * Copyright (C) 2017 Wei Song * MIT Licensed */!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.toArray();oA high-level, object-oriented Python library for controlling Spectrum Instrumentation devices.

\n\n

spectrumdevice can connect to individual cards or\nStarHubs (e.g. the\nNetBox). spectrumdevice provides the following classes\nfor controlling devices:

\n\n

Hardware Classes

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n
NamePurpose
SpectrumDigitiserCardControlling individual digitiser cards
SpectrumDigitiserStarHubControlling digitiser cards aggregated with a StarHub
SpectrumAWGCardControlling individual AWG cards
SpectrumAWGStarHubControlling AWG cards aggregated with a StarHub
\n\n

Mock Classes

\n\n

spectrumdevice also includes mock classes for testing software without drivers installed or hardware connected:

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n
NamePurpose
MockSpectrumDigitiserCardMocking individual digitiser cards
MockSpectrumDigitiserStarHubMocking digitiser cards aggregated with a StarHub
MockSpectrumAWGCardMocking individual AWG cards
MockSpectrumAWGStarHubMocking AWG cards aggregated with a StarHub
\n\n

Abstract Classes

\n\n

The following abstract classes provide common implementations for methods whose functionality is identical across\ndifferent Spectrum devices. They cannot be instantiated themselves, but are included here as they contain\ndocumentation for methods inherited by the concrete (and therefore instantiatable) classes above.

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n
NamePurpose
AbstractSpectrumDeviceImplements methods common to all devices
AbstractSpectrumCardImplements methods common to all card
AbstractSpectrumStarHubImplements methods common to all hubs
AbstractSpectrumChannelImplements methods common to all channels
AbstractSpectrumDigitiserImplements methods common to all digitisers
AbstractSpectrumAWGImplements methods common to all AWGs
\n\n

Settings

\n\n

The submodule spectrumdevice.settings provides Enums and Dataclasses wrapping the register values provided by the\nSpectrum API, to be used for configuring hardware and interpreting responses received from hardware.

\n\n

Resources

\n\n\n\n

Reference Documentation

\n"}, "spectrumdevice.SpectrumDigitiserChannel": {"fullname": "spectrumdevice.SpectrumDigitiserChannel", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserChannel", "type": "class", "doc": "

Class for controlling an individual channel of a spectrum digitiser. Channels are constructed automatically when\na SpectrumDigitiserCard or SpectrumDigitiserStarHub is instantiated, and can then be accessed via the\n.channels property.

\n"}, "spectrumdevice.SpectrumDigitiserChannel.__init__": {"fullname": "spectrumdevice.SpectrumDigitiserChannel.__init__", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserChannel.__init__", "type": "function", "doc": "

\n", "parameters": ["self", "channel_number", "parent_device"], "funcdef": "def"}, "spectrumdevice.SpectrumDigitiserChannel.convert_raw_waveform_to_voltage_waveform": {"fullname": "spectrumdevice.SpectrumDigitiserChannel.convert_raw_waveform_to_voltage_waveform", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserChannel.convert_raw_waveform_to_voltage_waveform", "type": "function", "doc": "

\n", "parameters": ["self", "raw_waveform"], "funcdef": "def"}, "spectrumdevice.SpectrumDigitiserChannel.vertical_range_in_mv": {"fullname": "spectrumdevice.SpectrumDigitiserChannel.vertical_range_in_mv", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserChannel.vertical_range_in_mv", "type": "variable", "doc": "

The currently set input range of the channel in mV.

\n\n
Returns
\n\n
\n

vertical_range (int): The currently set vertical range in mV.

\n
\n"}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_range_in_mv": {"fullname": "spectrumdevice.SpectrumDigitiserChannel.set_vertical_range_in_mv", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserChannel.set_vertical_range_in_mv", "type": "function", "doc": "

Set the input range of the channel in mV. See Spectrum documentation for valid values.

\n\n
Args
\n\n
    \n
  • vertical_range (int): The desired vertical range in mV.
  • \n
\n", "parameters": ["self", "vertical_range"], "funcdef": "def"}, "spectrumdevice.SpectrumDigitiserChannel.vertical_offset_in_percent": {"fullname": "spectrumdevice.SpectrumDigitiserChannel.vertical_offset_in_percent", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserChannel.vertical_offset_in_percent", "type": "variable", "doc": "

The currently set input offset of the channel in percent of the vertical range.

\n\n
Returns
\n\n
\n

offset (int): The currently set vertical offset in percent.

\n
\n"}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_offset_in_percent": {"fullname": "spectrumdevice.SpectrumDigitiserChannel.set_vertical_offset_in_percent", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserChannel.set_vertical_offset_in_percent", "type": "function", "doc": "

Set the input offset of the channel in percent of the vertical range. See spectrum documentation for valid\nvalues.

\n\n
Args
\n\n
    \n
  • offset (int): The desired vertical offset in percent.
  • \n
\n", "parameters": ["self", "offset"], "funcdef": "def"}, "spectrumdevice.SpectrumDigitiserCard": {"fullname": "spectrumdevice.SpectrumDigitiserCard", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserCard", "type": "class", "doc": "

Class for controlling individual Spectrum digitiser cards.

\n"}, "spectrumdevice.SpectrumDigitiserCard.__init__": {"fullname": "spectrumdevice.SpectrumDigitiserCard.__init__", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserCard.__init__", "type": "function", "doc": "
Args
\n\n
    \n
  • device_number (int): Index of the card to control. If only one card is present, set to 0.
  • \n
  • ip_address (Optional[str]): If connecting to a networked card, provide the IP address here as a string.
  • \n
\n", "parameters": ["self", "device_number", "ip_address"], "funcdef": "def"}, "spectrumdevice.SpectrumDigitiserCard.enable_timestamping": {"fullname": "spectrumdevice.SpectrumDigitiserCard.enable_timestamping", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserCard.enable_timestamping", "type": "function", "doc": "

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"fullname": "spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserCard.wait_for_acquisition_to_complete", "type": "function", "doc": "

Blocks until the current acquisition has finished, or the timeout is reached.

\n\n

In Standard Single mode (SPC_REC_STD_SINGLE), this should be called after start_acquisition(). Once the call\n to wait_for_acquisition_to_complete() returns, the newly acquired samples are in the on_device buffer and\n ready for transfer to the TransferBuffer using start_transfer().

\n\n

In FIFO mode (SPC_REC_FIFO_MULTI), the card will continue to acquire samples until\n stop_acquisition() is called, so wait_for_acquisition_to_complete() should not be used.

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"fullname": "spectrumdevice.SpectrumDigitiserCard.get_waveforms", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserCard.get_waveforms", "type": "function", "doc": "

Get a list of the most recently transferred waveforms, in channel order.

\n\n

This method copies and reshapes the samples in the TransferBuffer into a list of 1D NumPy arrays (waveforms)\nand returns the list.

\n\n

In Standard Single mode (SPC_REC_STD_SINGLE), get_waveforms() should be called after\nwait_for_transfer_to_complete() has returned.

\n\n

In FIFO mode (SPC_REC_FIFO_MULTI), while the card is continuously acquiring samples and transferring them to the\nTransferBuffer, this method should be called in a loop . The method will block until each new transfer is\nreceived, so the loop will run at the same rate as the acquisition (in SPC_REC_FIFO_MULTI mode, for example,\nthis would the rate at which your trigger source was running).

\n\n
Returns
\n\n
\n

waveforms (List[NDArray[float_]]): A list of 1D NumPy arrays, one for each channel enabled for the\n acquisition, ordered by channel number.

\n
\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.SpectrumDigitiserCard.get_timestamp": {"fullname": "spectrumdevice.SpectrumDigitiserCard.get_timestamp", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserCard.get_timestamp", "type": "function", "doc": "

Get timestamp for the last acquisition

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.SpectrumDigitiserCard.acquisition_length_in_samples": {"fullname": "spectrumdevice.SpectrumDigitiserCard.acquisition_length_in_samples", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserCard.acquisition_length_in_samples", "type": "variable", "doc": "

The current recording length (per channel) in samples.

\n\n
Returns
\n\n
\n

length_in_samples (int): The current recording length ('acquisition length') in samples.

\n
\n"}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"fullname": "spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserCard.set_acquisition_length_in_samples", "type": "function", "doc": "

Change the recording length (per channel). In FIFO mode, it will be quantised according to the step size\n allowed by the connected card type.

\n\n
Args
\n\n
    \n
  • length_in_samples (int): The desired recording length ('acquisition length'), in samples.
  • \n
\n", "parameters": ["self", "length_in_samples"], "funcdef": "def"}, "spectrumdevice.SpectrumDigitiserCard.post_trigger_length_in_samples": {"fullname": "spectrumdevice.SpectrumDigitiserCard.post_trigger_length_in_samples", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserCard.post_trigger_length_in_samples", "type": "variable", "doc": "

The number of samples of the recording that will contain data received after the trigger event.

\n\n
Returns
\n\n
\n

length_in_samples (int): The currently set post trigger length in samples.

\n
\n"}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"fullname": "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserCard.set_post_trigger_length_in_samples", "type": "function", "doc": "

Change the number of samples of the recording that will contain data received after the trigger event.\nIn FIFO mode, this will be quantised according to the minimum step size allowed by the connected card.

\n\n
Args
\n\n
    \n
  • length_in_samples (int): The desired post trigger length in samples.
  • \n
\n", "parameters": ["self", "length_in_samples"], "funcdef": "def"}, "spectrumdevice.SpectrumDigitiserCard.number_of_averages": {"fullname": "spectrumdevice.SpectrumDigitiserCard.number_of_averages", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserCard.number_of_averages", "type": "variable", "doc": "

\n"}, "spectrumdevice.SpectrumDigitiserCard.set_number_of_averages": {"fullname": "spectrumdevice.SpectrumDigitiserCard.set_number_of_averages", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserCard.set_number_of_averages", "type": "function", "doc": "

\n", "parameters": ["self", "num_averages"], "funcdef": "def"}, "spectrumdevice.SpectrumDigitiserCard.acquisition_mode": {"fullname": "spectrumdevice.SpectrumDigitiserCard.acquisition_mode", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserCard.acquisition_mode", "type": "variable", "doc": "

The currently enabled card mode. Will raise an exception if the current mode is not supported by\nspectrumdevice.

\n\n
Returns
\n\n
\n

mode (AcquisitionMode): The currently enabled card acquisition mode.

\n
\n"}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_mode": {"fullname": "spectrumdevice.SpectrumDigitiserCard.set_acquisition_mode", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserCard.set_acquisition_mode", "type": "function", "doc": "

Change the currently enabled card mode. See AcquisitionMode and the Spectrum documentation\nfor the available modes.

\n\n
Args
\n\n
    \n
  • mode (AcquisitionMode): The desired acquisition mode.
  • \n
\n", "parameters": ["self", "mode"], "funcdef": "def"}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"fullname": "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserCard.define_transfer_buffer", "type": "function", "doc": "

Create or provide a CardToPCDataTransferBuffer object for receiving acquired samples from the device.

\n\n

If no buffer is provided, one will be created with the correct size and a board_memory_offset_bytes of 0. A\nseperate buffer for transfering Timestamps will also be created using the Timestamper class.

\n\n
Args
\n\n
    \n
  • buffer (Optional[List[CardToPCDataTransferBuffer]]): A length-1 list containing a pre-constructed\nCardToPCDataTransferBuffer The size of the buffer should be chosen according to the current number of\nactive channels and the acquisition length.
  • \n
\n", "parameters": ["self", "buffer"], "funcdef": "def"}, "spectrumdevice.SpectrumDigitiserStarHub": {"fullname": "spectrumdevice.SpectrumDigitiserStarHub", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserStarHub", "type": "class", "doc": "

Composite class of SpectrumCards for controlling a StarHub digitiser device, for example the Spectrum NetBox.\nStarHub digitiser devices are composites of more than one Spectrum digitiser card. Acquisition from the child cards\nof a StarHub is synchronised, aggregating the channels of all child cards. This class enables the control of a\nStarHub device as if it were a single Spectrum card.

\n"}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"fullname": "spectrumdevice.SpectrumDigitiserStarHub.__init__", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserStarHub.__init__", "type": "function", "doc": "
Args
\n\n
    \n
  • device_number (int): The index of the StarHub to connect to. If only one StarHub is present, set to 0.
  • \n
  • child_cards (Sequence[SpectrumDigitiserCard]): A list of SpectrumCard objects defining the child cards\nlocated within the StarHub, correctly constructed with their IP addresses and/or device numbers.
  • \n
  • master_card_index (int): The position within child_cards where the master card (the card which controls the\nclock) is located.
  • \n
\n", "parameters": ["self", "device_number", "child_cards", "master_card_index"], "funcdef": "def"}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"fullname": "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserStarHub.define_transfer_buffer", "type": "function", "doc": "

Create or provide CardToPCDataTransferBuffer objects for receiving acquired samples from the child cards.\nIf no buffers are provided, they will be created with the correct size and a board_memory_offset_bytes of 0. See\nSpectrumDigitiserCard.define_transfer_buffer() for more information

\n\n
Args
\n\n
    \n
  • buffer (Optional[CardToPCDataTransferBuffer]): A list containing pre-constructed
  • \n
  • CardToPCDataTransferBuffer objects, one for each child card. The size of the buffers should be chosen
  • \n
  • according to the current number of active channels in each card and the acquisition length.
  • \n
\n", "parameters": ["self", "buffer"], "funcdef": "def"}, "spectrumdevice.SpectrumDigitiserStarHub.wait_for_acquisition_to_complete": {"fullname": "spectrumdevice.SpectrumDigitiserStarHub.wait_for_acquisition_to_complete", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserStarHub.wait_for_acquisition_to_complete", "type": "function", "doc": "

Wait for each card to finish its acquisition. See SpectrumDigitiserCard.wait_for_acquisition_to_complete()\nfor more information.

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"fullname": "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserStarHub.get_waveforms", "type": "function", "doc": "

Get a list of the most recently transferred waveforms.

\n\n

This method gets the waveforms from each child card and joins them into a new list, ordered by channel number.\nSee SpectrumDigitiserCard.get_waveforms() for more information.

\n\n
Returns
\n\n
\n

waveforms (List[NDArray[float_]]): A list of 1D numpy arrays, one per enabled channel, in channel order.

\n
\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.SpectrumDigitiserStarHub.get_timestamp": {"fullname": "spectrumdevice.SpectrumDigitiserStarHub.get_timestamp", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserStarHub.get_timestamp", "type": "function", "doc": "

Get timestamp for the last acquisition

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.SpectrumDigitiserStarHub.enable_timestamping": {"fullname": "spectrumdevice.SpectrumDigitiserStarHub.enable_timestamping", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserStarHub.enable_timestamping", "type": "function", "doc": "

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"fullname": "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserStarHub.acquisition_length_in_samples", "type": "variable", "doc": "

The currently set recording length, which should be the same for all child cards. If different recording\nlengths are set, an exception is raised. See SpectrumDigitiserCard.acquisition_length_in_samples for more\ninformation.

\n\n
Returns
\n\n
\n

length_in_samples: The currently set acquisition length in samples.

\n
\n"}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"fullname": "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserStarHub.set_acquisition_length_in_samples", "type": "function", "doc": "

Set a new recording length for all child cards. See SpectrumDigitiserCard.set_acquisition_length_in_samples()\nfor more information.

\n\n
Args
\n\n
    \n
  • length_in_samples (int): The desired acquisition length in samples.
  • \n
\n", "parameters": ["self", "length_in_samples"], "funcdef": "def"}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"fullname": "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserStarHub.post_trigger_length_in_samples", "type": "variable", "doc": "

The number of samples recorded after a trigger is received. This should be consistent across all child\ncards. If different values are found across the child cards, an exception is raised. See\nSpectrumDigitiserCard.post_trigger_length_in_samples for more information.

\n\n
Returns
\n\n
\n

length_in_samples (int): The current post trigger length in samples.

\n
\n"}, "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"fullname": "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserStarHub.set_post_trigger_length_in_samples", "type": "function", "doc": "

Set a new post trigger length for all child cards. See SpectrumDigitiserCard.set_post_trigger_length_in_samples()\nfor more information.

\n\n
Args
\n\n
    \n
  • length_in_samples (int): The desired post trigger length in samples.
  • \n
\n", "parameters": ["self", "length_in_samples"], "funcdef": "def"}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"fullname": "spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserStarHub.acquisition_mode", "type": "variable", "doc": "

The acquisition mode, which should be the same for all child cards. If it's not, an exception is raised.\nSee SpectrumDigitiserCard.acquisition_mode for more information.

\n\n
Returns
\n\n
\n

mode (AcquisitionMode): The currently enabled acquisition mode.

\n
\n"}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_mode": {"fullname": "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_mode", "modulename": "spectrumdevice", "qualname": "SpectrumDigitiserStarHub.set_acquisition_mode", "type": "function", "doc": "

Change the acquisition mode for all child cards. See SpectrumDigitiserCard.set_acquisition_mode() for more\ninformation.

\n\n
Args
\n\n
    \n
  • mode (AcquisitionMode): The desired acquisition mode.
  • \n
\n", "parameters": ["self", "mode"], "funcdef": "def"}, "spectrumdevice.MockSpectrumDigitiserCard": {"fullname": "spectrumdevice.MockSpectrumDigitiserCard", "modulename": "spectrumdevice", "qualname": "MockSpectrumDigitiserCard", "type": "class", "doc": "

A mock spectrum card, for testing software written to use the SpectrumDigitiserCard class.

\n\n

This class overrides methods of SpectrumDigitiserCard that communicate with hardware with mocked implementations,\nallowing software to be tested without Spectrum hardware connected or drivers installed, e.g. during CI. It overrides\nmethods to use to set up a mock 'on-device buffer' attribute into which a mock waveform source will write\nsamples. It also uses a MockTimestamper to generated timestamps for mock waveforms.

\n"}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"fullname": "spectrumdevice.MockSpectrumDigitiserCard.__init__", "modulename": "spectrumdevice", "qualname": "MockSpectrumDigitiserCard.__init__", "type": "function", "doc": "
Args
\n\n
    \n
  • device_number (int): The index of the mock device to create. Used to create a name for the device which is\nused internally.
  • \n
  • model (ModelNumber): The model of card to mock. Affects the allowed acquisition and post-trigger lengths.
  • \n
  • mock_source_frame_rate_hz (float): Rate at which waveforms will be generated by the mock source providing\ndata to the mock spectrum card.
  • \n
  • num_modules (int): The number of internal modules to assign the mock card. Default 2. On real hardware, this\nis read from the device so does not need to be set. See the Spectrum documentation to work out how many\nmodules your hardware has.
  • \n
  • num_channels_per_module (int): The number of channels per module. Default 4 (so 8 channels in total). On\nreal hardware, this is read from the device so does not need to be set.
  • \n
\n", "parameters": ["self", "device_number", "model", "mock_source_frame_rate_hz", "num_modules", "num_channels_per_module"], "funcdef": "def"}, "spectrumdevice.MockSpectrumDigitiserCard.enable_timestamping": {"fullname": "spectrumdevice.MockSpectrumDigitiserCard.enable_timestamping", "modulename": "spectrumdevice", "qualname": "MockSpectrumDigitiserCard.enable_timestamping", "type": "function", "doc": "

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_mode": {"fullname": "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_mode", "modulename": "spectrumdevice", "qualname": "MockSpectrumDigitiserCard.set_acquisition_mode", "type": "function", "doc": "

Mock timestamper needs to be recreated if the acquisition mode is changed.

\n", "parameters": ["self", "mode"], "funcdef": "def"}, "spectrumdevice.MockSpectrumDigitiserCard.set_sample_rate_in_hz": {"fullname": "spectrumdevice.MockSpectrumDigitiserCard.set_sample_rate_in_hz", "modulename": "spectrumdevice", "qualname": "MockSpectrumDigitiserCard.set_sample_rate_in_hz", "type": "function", "doc": "

Mock timestamper needs to be recreated if the sample rate is changed.

\n", "parameters": ["self", "rate"], "funcdef": "def"}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"fullname": "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples", "modulename": "spectrumdevice", "qualname": "MockSpectrumDigitiserCard.set_acquisition_length_in_samples", "type": "function", "doc": "

Set length of mock recording (per channel). In FIFO mode, this will be quantised to the nearest 8 samples.\nSee SpectrumDigitiserCard for more information. This method is overridden here only so that the internal\nattributes related to the mock on-device buffer can be set.

\n\n
Args
\n\n
    \n
  • length_in_samples (int): Number of samples in each generated mock waveform
  • \n
\n", "parameters": ["self", "length_in_samples"], "funcdef": "def"}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"fullname": "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels", "modulename": "spectrumdevice", "qualname": "MockSpectrumDigitiserCard.set_enabled_channels", "type": "function", "doc": "

Set the channels to enable for the mock acquisition. See SpectrumDigitiserCard for more information. This\nmethod is overridden here only so that the internal attributes related to the mock on-device buffer\ncan be set.

\n\n
Args
\n\n
    \n
  • channels_nums (List[int]): List of mock channel indices to enable, e.g. [0, 1, 2].
  • \n
\n", "parameters": ["self", "channels_nums"], "funcdef": "def"}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"fullname": "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer", "modulename": "spectrumdevice", "qualname": "MockSpectrumDigitiserCard.define_transfer_buffer", "type": "function", "doc": "

Create or provide a CardToPCDataTransferBuffer object into which samples from the mock 'on-device buffer'\nwill be transferred. If none is provided, a buffer will be instantiated using the currently set acquisition\nlength and the number of enabled channels.

\n\n
Args
\n\n
    \n
  • buffer (Optional[List[CardToPCDataTransferBuffer]]): A length-1 list containing a
  • \n
  • CardToPCDataTransferBuffer object.
  • \n
\n", "parameters": ["self", "buffer"], "funcdef": "def"}, "spectrumdevice.MockSpectrumDigitiserCard.start_transfer": {"fullname": "spectrumdevice.MockSpectrumDigitiserCard.start_transfer", "modulename": "spectrumdevice", "qualname": "MockSpectrumDigitiserCard.start_transfer", "type": "function", "doc": "

See SpectrumDigitiserCard.start_transfer(). This mock implementation simulates the continuous transfer of\nsamples from the mock 'on-device buffer' to the transfer buffer by pointing the transfer buffer's data buffer\nattribute to the mock on-device buffer.

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.MockSpectrumDigitiserCard.stop_transfer": {"fullname": "spectrumdevice.MockSpectrumDigitiserCard.stop_transfer", "modulename": "spectrumdevice", "qualname": "MockSpectrumDigitiserCard.stop_transfer", "type": "function", "doc": "

See SpectrumDigitiserCard.stop_transfer(). This mock implementation simulates the end of the continuous\ntransfer of samples from the mock 'on-device buffer' to the transfer buffer by assigning the transfer buffer\nto an array of zeros.

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"fullname": "spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete", "modulename": "spectrumdevice", "qualname": "MockSpectrumDigitiserCard.wait_for_transfer_to_complete", "type": "function", "doc": "

See SpectrumDigitiserCard.wait_for_transfer_to_complete(). This mock implementation blocks until a new mock\ntransfer has been completed (i.e. the contents of the transfer buffer has changed since __init__() or since the\nlast call to wait_for_transfer_to_complete()).

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"fullname": "spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete", "modulename": "spectrumdevice", "qualname": "MockSpectrumDigitiserCard.wait_for_acquisition_to_complete", "type": "function", "doc": "

See SpectrumDigitiserCard.wait_for_acquisition_to_complete(). This mock implementation blocks until a mock\nacquisition has been completed (i.e. the acquisition thread has shut down) or the request has timed out\naccording to the self.timeout_ms attribute.

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"fullname": "spectrumdevice.MockSpectrumDigitiserStarHub", "modulename": "spectrumdevice", "qualname": "MockSpectrumDigitiserStarHub", "type": "class", "doc": "

A mock spectrum StarHub, for testing software written to use the SpectrumStarHub class.

\n\n

Overrides methods of SpectrumStarHub and AbstractSpectrumDigitiser that communicate with hardware with mocked\nimplementations allowing software to be tested without Spectrum hardware connected or drivers installed, e.g. during\nCI.

\n"}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"fullname": "spectrumdevice.MockSpectrumDigitiserStarHub.__init__", "modulename": "spectrumdevice", "qualname": "MockSpectrumDigitiserStarHub.__init__", "type": "function", "doc": "
Args
\n\n
    \n
  • child_cards (Sequence[MockSpectrumDigitiserCard]): A list of MockSpectrumCard objects defining the\nproperties of the child cards located within the mock hub.
  • \n
  • master_card_index (int): The position within child_cards where the master card (the card which controls the\nclock) is located.
  • \n
\n", "parameters": ["self", "device_number", "child_cards", "master_card_index"], "funcdef": "def"}, "spectrumdevice.MockSpectrumDigitiserStarHub.start": {"fullname": "spectrumdevice.MockSpectrumDigitiserStarHub.start", "modulename": "spectrumdevice", "qualname": "MockSpectrumDigitiserStarHub.start", "type": "function", "doc": "

Start a mock acquisition

\n\n

See AbstractSpectrumDevice.start(). With a hardware device, StarHub's only need to be sent a single\ninstruction to start acquisition, which they automatically relay to their child cards - hence why\nstart is implemented in AbstractSpectrumDevice (base class to both SpectrumDigitiserCard and\nSpectrumStarHub) rather than in SpectrumStarHub. In this mock implementation, each card's acquisition is\nstarted individually.

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"fullname": "spectrumdevice.MockSpectrumDigitiserStarHub.stop", "modulename": "spectrumdevice", "qualname": "MockSpectrumDigitiserStarHub.stop", "type": "function", "doc": "

Stop a mock acquisition

\n\n

See AbstractSpectrumDevice.stop_acquisition. With a hardware device, StarHub's only need to be sent a single\ninstruction to stop acquisition, which they automatically relay to their child cards - hence why\nstop_acquisition() is implemented in AbstractSpectrumDevice (base class to both SpectrumDigitiserCard and\nSpectrumStarHub) rather than in SpectrumStarHub. In this mock implementation, each card's acquisition is\nstopped individually.

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumDigitiser": {"fullname": "spectrumdevice.AbstractSpectrumDigitiser", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumDigitiser", "type": "class", "doc": "

Abstract superclass which implements methods common to all Spectrum digitiser devices. Instances of this class\ncannot be constructed directly. Instead, construct instances of the concrete classes (SpectrumDigitiserCard,\nSpectrumDigitiserStarHub or their mock equivalents) which inherit the methods defined here. Note that\nthe mock devices override several of the methods defined here.

\n"}, "spectrumdevice.AbstractSpectrumDigitiser.configure_acquisition": {"fullname": "spectrumdevice.AbstractSpectrumDigitiser.configure_acquisition", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumDigitiser.configure_acquisition", "type": "function", "doc": "

Apply all the settings contained in an AcquisitionSettings dataclass to the device.

\n\n
Args
\n\n
    \n
  • settings (AcquisitionSettings): An AcquisitionSettings dataclass containing the setting values to apply.
  • \n
\n", "parameters": ["self", "settings"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"fullname": "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumDigitiser.execute_standard_single_acquisition", "type": "function", "doc": "

Carry out a single measurement in standard single mode and return the acquired waveforms.

\n\n

This method automatically carries out a standard single mode acquisition, including handling the creation\nof a TransferBuffer and the retrieval of the acquired waveforms. After being called, it will wait until a\ntrigger event is received before carrying out the acquisition and then transferring and returning the acquired\nwaveforms. The device must be configured in SPC_REC_STD_SINGLE acquisition mode.

\n\n
Returns
\n\n
\n

measurement (Measurement): A Measurement object. The .waveforms attribute of measurement will be a list\n of 1D NumPy arrays, each array containing the waveform data received on one channel, in channel order.\n The Waveform object also has a timestamp attribute, which (if timestamping was enabled in acquisition\n settings) contains the time at which the acquisition was triggered.

\n
\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"fullname": "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumDigitiser.execute_finite_fifo_acquisition", "type": "function", "doc": "

Carry out a finite number of FIFO mode measurements and then stop the acquisitions.

\n\n

This method automatically carries out a defined number of measurement in Multi FIFO mode, including handling the\ncreation of a TransferBuffer, streaming the acquired waveforms to the PC, terminating the acquisition and\nreturning the acquired waveforms. After being called, it will wait for the requested number of triggers to be\nreceived, generating the correct number of measurements. It retrieves each measurement's waveforms from the\nTransferBuffer as they arrive. Once the requested number of measurements have been received, the acquisition\nis terminated and the waveforms are returned. The device must be configured in SPC_REC_FIFO_MULTI or\nSPC_REC_FIFO_AVERAGE acquisition mode.

\n\n
Args
\n\n
    \n
  • num_measurements (int): The number of measurements to carry out, each triggered by subsequent trigger\nevents.
  • \n
\n\n
Returns
\n\n
\n

measurements (List[Measurement]): A list of Measurement objects with length num_measurements. Each\n Measurement object has a waveforms attribute containing a list of 1D NumPy arrays. Each array is a\n waveform acquired from one channel. The arrays are in channel order. The Waveform objects also have a\n timestamp attribute, which (if timestamping was enabled in acquisition settings) contains the time at\n which the acquisition was triggered.

\n
\n", "parameters": ["self", "num_measurements"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"fullname": "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition", "type": "function", "doc": "

Start a continuous FIFO mode acquisition.

\n\n

This method automatically starts acquiring and streaming samples in FIFO mode, including handling the\ncreation of a TransferBuffer and streaming the acquired waveforms to the PC. It will return almost\ninstantaneously. The acquired waveforms must then be read out of the transfer buffer in a loop using the\nget_waveforms() method. Waveforms must be read at least as fast as they are being acquired.\nThe FIFO acquisition and streaming will continue until stop_acquisition() is called. The device\nmust be configured in SPC_REC_FIFO_MULTI or SPC_REC_FIFO_AVERAGE acquisition mode.

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumStarHub": {"fullname": "spectrumdevice.AbstractSpectrumStarHub", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub", "type": "class", "doc": "

Composite abstract class of AbstractSpectrumCard implementing methods common to all StarHubs. StarHubs are\ncomposites of more than one Spectrum card. Acquisition and generation from the child cards of a StarHub\nis synchronised, aggregating the channels of all child cards.

\n"}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.__init__", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.__init__", "type": "function", "doc": "
Args
\n\n
    \n
  • device_number (int): The index of the StarHub to connect to. If only one StarHub is present, set to 0.
  • \n
  • child_cards (Sequence[SpectrumDeviceInterface]): A list of objects representing the child cards located\nwithin the StarHub, correctly constructed with their IP addresses and/or device numbers.
  • \n
  • master_card_index (int): The position within child_cards where the master card (the card which controls the\nclock) is located.
  • \n
\n", "parameters": ["self", "device_number", "child_cards", "master_card_index"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumStarHub.disconnect": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.disconnect", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.disconnect", "type": "function", "doc": "

Disconnects from each child card and terminates connection to the hub itself.

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumStarHub.reconnect": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.reconnect", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.reconnect", "type": "function", "doc": "

Reconnects to the hub after a disconnect(), and reconnects to each child card.

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumStarHub.status": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.status", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.status", "type": "variable", "doc": "

The statuses of each child card, in a list. See SpectrumDigitiserCard.status for more information.

\n\n
Returns
\n\n
\n

statuses (List[List[CardStatus]]): A list of lists of CardStatus (each card has a list of statuses).

\n
\n"}, "spectrumdevice.AbstractSpectrumStarHub.start_transfer": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.start_transfer", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.start_transfer", "type": "function", "doc": "

Start the transfer of data between the on-device buffer of each child card and its TransferBuffer. See\nAbstractSpectrumCard.start_transfer() for more information.

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumStarHub.stop_transfer": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.stop_transfer", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.stop_transfer", "type": "function", "doc": "

Stop the transfer of data between each card and its TransferBuffer. See\nAbstractSpectrumCard.stop_transfer() for more information.

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumStarHub.wait_for_transfer_to_complete": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.wait_for_transfer_to_complete", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.wait_for_transfer_to_complete", "type": "function", "doc": "

Wait for all cards to stop transferring data to/from their TransferBuffers. See\nAbstractSpectrumCard.wait_for_transfer_to_complete() for more information.

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumStarHub.connected": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.connected", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.connected", "type": "variable", "doc": "

True if the StarHub is connected, False if not.

\n"}, "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.set_triggering_card", "type": "function", "doc": "

Change the index of the child card responsible for receiving a trigger. During construction, this is set\nequal to the index of the master card but in some situations it may be necessary to change it.

\n\n
Args
\n\n
    \n
  • card_index (int): The index of the StarHub's triggering card within the list of child cards provided on\n__init__().
  • \n
\n", "parameters": ["self", "card_index"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumStarHub.clock_mode": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.clock_mode", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.clock_mode", "type": "variable", "doc": "

The clock mode currently configured on the master card.

\n\n
Returns
\n\n
\n

mode (ClockMode): The currently configured clock mode.

\n
\n"}, "spectrumdevice.AbstractSpectrumStarHub.set_clock_mode": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.set_clock_mode", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.set_clock_mode", "type": "function", "doc": "

Change the clock mode configured on the master card.

\n\n
Args
\n\n
    \n
  • mode (ClockMode): The desired clock mode.
  • \n
\n", "parameters": ["self", "mode"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumStarHub.sample_rate_in_hz": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.sample_rate_in_hz", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.sample_rate_in_hz", "type": "variable", "doc": "

The sample rate configured on the master card.

\n\n
Returns
\n\n
\n

rate (int): The current sample rate of the master card in Hz.

\n
\n"}, "spectrumdevice.AbstractSpectrumStarHub.set_sample_rate_in_hz": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.set_sample_rate_in_hz", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.set_sample_rate_in_hz", "type": "function", "doc": "

Change the sample rate of the child cards (including the master card).

\n\n
Args
\n\n
    \n
  • rate (int): The desired sample rate of the child cards in Hz.
  • \n
\n", "parameters": ["self", "rate"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumStarHub.trigger_sources": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.trigger_sources", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.trigger_sources", "type": "variable", "doc": "

The trigger sources configured on the triggering card, which by default is the master card. See\nAbstractSpectrumCard.trigger_sources() for more information.

\n\n
Returns
\n\n
\n

sources (List[TriggerSource]): A list of the currently enabled trigger sources.

\n
\n"}, "spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.set_trigger_sources", "type": "function", "doc": "

Change the trigger sources configured on the triggering card, which by default is the master card. See\nAbstractSpectrumCard.trigger_sources() for more information.

\n\n
Args
\n\n
    \n
  • sources (List[TriggerSource]): The trigger sources to enable, in a list.
  • \n
\n", "parameters": ["self", "sources"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.external_trigger_mode", "type": "variable", "doc": "

The trigger mode configured on the triggering card, which by default is the master card. See\nAbstractSpectrumCard.external_trigger_mode() for more information.

\n\n
Returns
\n\n
\n

mode (ExternalTriggerMode): The currently set external trigger mode.

\n
\n"}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.set_external_trigger_mode", "type": "function", "doc": "

Change the trigger mode configured on the triggering card, which by default is the master card. See\nAbstractSpectrumCard.set_external_trigger_mode() for more information.

\n\n
Args
\n\n
    \n
  • mode (ExternalTriggerMode): The desired external trigger mode.
  • \n
\n", "parameters": ["self", "mode"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_level_in_mv": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.external_trigger_level_in_mv", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.external_trigger_level_in_mv", "type": "variable", "doc": "

The external trigger level configured on the triggering card, which by default is the master card. See\nAbstractSpectrumCard.external_trigger_level_mv() for more information.

\n\n
Returns
\n\n
\n

level (int): The external trigger level in mV.

\n
\n"}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.set_external_trigger_level_in_mv", "type": "function", "doc": "

Change the external trigger level configured on the triggering card, which by default is the master card.\nSee AbstractSpectrumCard.set_external_trigger_level_mv() for more information.

\n\n
Args
\n\n
    \n
  • level (int): The desired external trigger level in mV.
  • \n
\n", "parameters": ["self", "level"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples", "type": "variable", "doc": "

The trigger pulse width (samples) configured on the triggering card, which by default is the master card.\nSee AbstractSpectrumCard.external_trigger_pulse_width_in_samples() for more information.

\n\n
Returns
\n\n
\n

width (int): The current trigger pulse width in samples.

\n
\n"}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples", "type": "function", "doc": "

Change the trigger pulse width (samples) configured on the triggering card, which by default is the master\ncard. See AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples() for more information.

\n\n
Args
\n\n
    \n
  • width (int): The desired trigger pulse width in samples.
  • \n
\n", "parameters": ["self", "width"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumStarHub.apply_channel_enabling": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.apply_channel_enabling", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.apply_channel_enabling", "type": "function", "doc": "

Apply the enabled channels chosen using set_enable_channels(). This happens automatically and does not\nusually need to be called.

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.enabled_channels", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.enabled_channels", "type": "variable", "doc": "

The currently enabled channel indices, indexed over the whole hub (from 0 to N-1, where N is the total\nnumber of channels available to the hub).

\n\n
Returns
\n\n
\n

channel_nums (List[int]): The currently enabled channel indices.

\n
\n"}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.set_enabled_channels", "type": "function", "doc": "

Change the currently enabled channel indices, indexed over the whole hub (from 0 to N-1, where N is the total\nnumber of channels available to the hub).

\n\n
Returns
\n\n
\n

channel_nums (List[int]): The indices to enable.

\n
\n", "parameters": ["self", "channels_nums"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumStarHub.transfer_buffers": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.transfer_buffers", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.transfer_buffers", "type": "variable", "doc": "

The TransferBuffers of all the child cards of the hub. See AbstractSpectrumCard.transfer_buffers for more\ninformation.

\n\n
Returns
\n\n
\n

buffers (List[TransferBuffer]): A list of the transfer buffers for each child card.

\n
\n"}, "spectrumdevice.AbstractSpectrumStarHub.channels": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.channels", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.channels", "type": "variable", "doc": "

A tuple containing of all the channels of the child cards of the hub. See AbstractSpectrumCard.channels for\nmore information.

\n\n
Returns
\n\n
\n

channels (Sequence[SpectrumChannelInterface]): A tuple of SpectrumDigitiserChannel objects.

\n
\n"}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.timeout_in_ms", "type": "variable", "doc": "

The time for which the card will wait for a trigger to be received after a device has started\nbefore returning an error. This should be the same for all child cards. If it's not, an exception is raised.

\n\n
Returns
\n\n
\n

timeout_ms (int): The currently set timeout in ms.

\n
\n"}, "spectrumdevice.AbstractSpectrumStarHub.set_timeout_in_ms": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.set_timeout_in_ms", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.set_timeout_in_ms", "type": "function", "doc": "

Change the timeout value for all child cards.

\n\n
Args
\n\n
    \n
  • timeout_ms (int): The desired timeout setting in seconds.
  • \n
\n", "parameters": ["self", "timeout_ms"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumStarHub.feature_list": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.feature_list", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.feature_list", "type": "variable", "doc": "

Get a list of the features of the child cards. See CardFeature, AdvancedCardFeature and the Spectrum\ndocumentation for more information.

\n\n
Returns
\n\n
\n

features (List[Tuple[List[CardFeature], List[AdvancedCardFeature]]]): A list of tuples, one per child\n card. Each tuple contains a list of features and a list of advanced features for that card.

\n
\n"}, "spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"fullname": "spectrumdevice.AbstractSpectrumStarHub.available_io_modes", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumStarHub.available_io_modes", "type": "variable", "doc": "

For each multipurpose IO line on the master card, read the available modes. See IOLineMode and the Spectrum\nDocumentation for all possible available modes and their meanings.

\n\n
Returns
\n\n
\n

modes (AvailableIOModes): An AvailableIOModes dataclass containing the modes available for each IO line.

\n
\n"}, "spectrumdevice.AbstractSpectrumCard": {"fullname": "spectrumdevice.AbstractSpectrumCard", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard", "type": "class", "doc": "

Abstract superclass implementing methods common to all individual \"card\" devices (as opposed to \"hub\" devices).

\n"}, "spectrumdevice.AbstractSpectrumCard.__init__": {"fullname": "spectrumdevice.AbstractSpectrumCard.__init__", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.__init__", "type": "function", "doc": "
Args
\n\n
    \n
  • device_number (int): Index of the card to control. If only one card is present, set to 0.
  • \n
  • ip_address (Optional[str]): If connecting to a networked card, provide the IP address here as a string.
  • \n
\n", "parameters": ["self", "device_number", "ip_address"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumCard.reconnect": {"fullname": "spectrumdevice.AbstractSpectrumCard.reconnect", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.reconnect", "type": "function", "doc": "

Reconnect to the card after disconnect() has been called.

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumCard.status": {"fullname": "spectrumdevice.AbstractSpectrumCard.status", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.status", "type": "variable", "doc": "

Read the current status of the card.

\n\n
Returns
\n\n
\n

Statuses (List[List[StatusCode]]): A length-1 list containing a list of StatusCode Enums describing the\n current acquisition status of the card. See StatusCode (and the Spectrum documentation) for the list off\n possible acquisition statuses.

\n
\n"}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"fullname": "spectrumdevice.AbstractSpectrumCard.start_transfer", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.start_transfer", "type": "function", "doc": "

Transfer between the on-device buffer and the TransferBuffer.

\n\n

Requires that a TransferBuffer has been defined (see define_transfer_buffer()).

\n\n

For digitisers in Standard Single mode (SPC_REC_STD_SINGLE), start_transfer() should be called after each\nacquisition has completed to transfer the acquired waveforms from the device to the TransferBuffer.

\n\n

For digitisers in FIFO mode (SPC_REC_FIFO_MULTI), start_transfer() should be called immediately after\nstart() has been called, so that the waveform data can be continuously streamed into the transfer buffer as it\nis acquired.

\n\n

todo: docstring for AWG transfers

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"fullname": "spectrumdevice.AbstractSpectrumCard.stop_transfer", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.stop_transfer", "type": "function", "doc": "

Stop the transfer of data between the on-device buffer and the TransferBuffer.

\n\n

Transfer is usually stopped automatically when an acquisition or stream of acquisitions completes, so this\nmethod is rarely required. It may invalidate transferred samples.

\n\n

For digitisers in Standard Single mode (SPC_REC_STD_SINGLE), transfer will automatically stop once all acquired\nsamples have been transferred, so stop_transfer() should not be used. Instead, call\nwait_for_transfer_to_complete() after start_transfer().

\n\n

For digitisers in FIFO mode (SPC_REC_FIFO_MULTI), samples are transferred continuously during acquisition,\nand transfer will automatically stop when stop() is called as there will be no more\nsamples to transfer, so stop_transfer() should not be used.

\n\n

todo: docstring for AWG

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"fullname": "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.wait_for_transfer_to_complete", "type": "function", "doc": "

Blocks until the currently active transfer of between the on-device buffer and the TransferBuffer is\ncomplete.

\n\n

For digitisers in Standard Single mode (SPC_REC_STD_SINGLE), use after starting a transfer. Once the method\nreturns, all acquired waveforms have been transferred from the on-device buffer to the TransferBuffer and can\nbe read using the get_waveforms() method.

\n\n

For digitisers in FIFO mode (SPC_REC_FIFO_MULTI) this method is not required because samples are continuously\nstreamed until stop() is called.

\n\n

todo: docstring for AWG

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"fullname": "spectrumdevice.AbstractSpectrumCard.transfer_buffers", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.transfer_buffers", "type": "variable", "doc": "

Return the TransferBuffer configured for transferring data between the card and the software.

\n\n
Returns
\n\n
\n

buffer (List[TransferBuffer]): A length-1 list containing the TransferBuffer object. Any data within\n the TransferBuffer can be accessed using its own interface, but the samples are stored as a 1D array,\n with the samples of each channel interleaved as per the Spectrum user manual. For digitisers, it is more\n convenient to read waveform data using the get_waveforms() method.

\n
\n"}, "spectrumdevice.AbstractSpectrumCard.disconnect": {"fullname": "spectrumdevice.AbstractSpectrumCard.disconnect", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.disconnect", "type": "function", "doc": "

Terminate the connection to the card.

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumCard.connected": {"fullname": "spectrumdevice.AbstractSpectrumCard.connected", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.connected", "type": "variable", "doc": "

Returns True if a card is currently connected, False if not.

\n"}, "spectrumdevice.AbstractSpectrumCard.channels": {"fullname": "spectrumdevice.AbstractSpectrumCard.channels", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.channels", "type": "variable", "doc": "

A tuple containing the channels that belong to the card.

\n\n

Properties of the individual channels can be set by calling the methods of the\n returned objects directly. See SpectrumDigitiserChannel and SpectrumAWGChannel for more information.

\n\n
Returns
\n\n
\n

channels (Sequence[SpectrumChannelInterface]): A tuple of objects conforming to the\n SpectrumChannelInterface interface.

\n
\n"}, "spectrumdevice.AbstractSpectrumCard.enabled_channels": {"fullname": "spectrumdevice.AbstractSpectrumCard.enabled_channels", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.enabled_channels", "type": "variable", "doc": "

The indices of the currently enabled channels.

\n\n
Returns
\n\n
\n

enabled_channels (List[int]): The indices of the currently enabled channels.

\n
\n"}, "spectrumdevice.AbstractSpectrumCard.set_enabled_channels": {"fullname": "spectrumdevice.AbstractSpectrumCard.set_enabled_channels", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.set_enabled_channels", "type": "function", "doc": "

Change which channels are enabled.

\n\n
Args
\n\n
    \n
  • channels_nums (List[int]): The integer channel indices to enable.
  • \n
\n", "parameters": ["self", "channels_nums"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumCard.trigger_sources": {"fullname": "spectrumdevice.AbstractSpectrumCard.trigger_sources", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.trigger_sources", "type": "variable", "doc": "

The currently enabled trigger sources

\n\n
Returns
\n\n
\n

sources (List[TriggerSource]): A list of TriggerSources.

\n
\n"}, "spectrumdevice.AbstractSpectrumCard.set_trigger_sources": {"fullname": "spectrumdevice.AbstractSpectrumCard.set_trigger_sources", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.set_trigger_sources", "type": "function", "doc": "

Change the enabled trigger sources.

\n\n
Args
\n\n
    \n
  • sources (List[TriggerSource]): The TriggerSources to enable.
  • \n
\n", "parameters": ["self", "sources"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumCard.external_trigger_mode": {"fullname": "spectrumdevice.AbstractSpectrumCard.external_trigger_mode", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.external_trigger_mode", "type": "variable", "doc": "

The currently enabled external trigger mode. An external trigger source must be enabled.

\n\n
Returns
\n\n
\n

sources (ExternalTriggerMode): The currently enabled ExternalTriggerMode.

\n
\n"}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_mode": {"fullname": "spectrumdevice.AbstractSpectrumCard.set_external_trigger_mode", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.set_external_trigger_mode", "type": "function", "doc": "

Change the currently enabled trigger mode. An external trigger source must be enabled.

\n\n
Args
\n\n
    \n
  • mode (ExternalTriggerMode): The ExternalTriggerMode to apply.
  • \n
\n", "parameters": ["self", "mode"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumCard.external_trigger_level_in_mv": {"fullname": "spectrumdevice.AbstractSpectrumCard.external_trigger_level_in_mv", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.external_trigger_level_in_mv", "type": "variable", "doc": "

The signal level (mV) needed to trigger an event using an external trigger source. An external\ntrigger source must be enabled.

\n\n
Returns
\n\n
\n

level (int): The currently set trigger level in mV.

\n
\n"}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_level_in_mv": {"fullname": "spectrumdevice.AbstractSpectrumCard.set_external_trigger_level_in_mv", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.set_external_trigger_level_in_mv", "type": "function", "doc": "

Change the signal level (mV) needed to trigger an event using an external trigger source. An external\ntrigger source must be enabled.

\n\n
Args
\n\n
    \n
  • level (int): The trigger level to set in mV.
  • \n
\n", "parameters": ["self", "level"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"fullname": "spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.external_trigger_pulse_width_in_samples", "type": "variable", "doc": "

The pulse width (in samples) needed to trigger an event using an external trigger source, if\nSPC_TM_PW_SMALLER or SPC_TM_PW_GREATER ExternalTriggerMode is selected. An external trigger source must be\nenabled.

\n\n
Returns
\n\n
\n

width (int): The current trigger pulse width in samples.

\n
\n"}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"fullname": "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples", "type": "function", "doc": "

Change the pulse width (samples) needed to trigger an event using an external trigger source if\nSPC_TM_PW_SMALLER or SPC_TM_PW_GREATER ExternalTriggerMode is selected. An external trigger source must be\nenabled.

\n\n
Args
\n\n
    \n
  • width (int): The trigger pulse width to set, in samples.
  • \n
\n", "parameters": ["self", "width"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumCard.apply_channel_enabling": {"fullname": "spectrumdevice.AbstractSpectrumCard.apply_channel_enabling", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.apply_channel_enabling", "type": "function", "doc": "

Apply the enabled channels chosen using set_enable_channels(). This happens automatically and does not\nusually need to be called.

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumCard.timeout_in_ms": {"fullname": "spectrumdevice.AbstractSpectrumCard.timeout_in_ms", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.timeout_in_ms", "type": "variable", "doc": "

The time for which the card will wait for a trigger to be received after the device has been started\nbefore returning an error.

\n\n
Returns
\n\n
\n

timeout_in_ms (in)t: The currently set timeout in ms.

\n
\n"}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"fullname": "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.set_timeout_in_ms", "type": "function", "doc": "

Change the time for which the card will wait for a trigger to tbe received after the device has started\nbefore returning an error.

\n\n
Args
\n\n
    \n
  • timeout_in_ms (int): The desired timeout in ms.
  • \n
\n", "parameters": ["self", "timeout_in_ms"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumCard.clock_mode": {"fullname": "spectrumdevice.AbstractSpectrumCard.clock_mode", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.clock_mode", "type": "variable", "doc": "

The currently enabled clock mode.

\n\n
Returns
\n\n
\n

mode (ClockMode): The currently set clock mode.

\n
\n"}, "spectrumdevice.AbstractSpectrumCard.set_clock_mode": {"fullname": "spectrumdevice.AbstractSpectrumCard.set_clock_mode", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.set_clock_mode", "type": "function", "doc": "

Change the clock mode. See ClockMode and the Spectrum documentation for available modes.

\n\n
Args
\n\n
    \n
  • mode (ClockMode): The desired clock mode.
  • \n
\n", "parameters": ["self", "mode"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"fullname": "spectrumdevice.AbstractSpectrumCard.available_io_modes", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.available_io_modes", "type": "variable", "doc": "

For each multipurpose IO line on the card, read the available modes. See IOLineMode and the Spectrum\nDocumentation for all possible available modes and their meanings.

\n\n
Returns
\n\n
\n

modes (AvailableIOModes): An AvailableIOModes dataclass containing the modes for each IO line.

\n
\n"}, "spectrumdevice.AbstractSpectrumCard.feature_list": {"fullname": "spectrumdevice.AbstractSpectrumCard.feature_list", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.feature_list", "type": "variable", "doc": "

Get a list of the features of the card. See CardFeature, AdvancedCardFeature and the Spectrum\ndocumentation for more information.

\n\n
Returns
\n\n
\n

features (List[Tuple[List[CardFeature], List[AdvancedCardFeature]]]): A tuple of two lists - of features\n and advanced features respectively - wrapped in a list.

\n
\n"}, "spectrumdevice.AbstractSpectrumCard.sample_rate_in_hz": {"fullname": "spectrumdevice.AbstractSpectrumCard.sample_rate_in_hz", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.sample_rate_in_hz", "type": "variable", "doc": "

The rate at which samples will be acquired or generated, in Hz.

\n\n
Returns
\n\n
\n

rate (int): The currently set sample rate in Hz.

\n
\n"}, "spectrumdevice.AbstractSpectrumCard.set_sample_rate_in_hz": {"fullname": "spectrumdevice.AbstractSpectrumCard.set_sample_rate_in_hz", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumCard.set_sample_rate_in_hz", "type": "function", "doc": "

Change the rate at which samples will be acquired or generated, in Hz.

\n\n
Args
\n\n
    \n
  • rate (int): The desired sample rate in Hz.
  • \n
\n", "parameters": ["self", "rate"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumDevice": {"fullname": "spectrumdevice.AbstractSpectrumDevice", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumDevice", "type": "class", "doc": "

Abstract superclass which implements methods common to all Spectrum devices. Instances of this class\ncannot be constructed directly. Instead, construct instances of the concrete classes listed in\nspectrumdevice/__init__.py, which inherit the methods defined here. Note that the concrete mock devices override\nseveral of the methods defined here.

\n"}, "spectrumdevice.AbstractSpectrumDevice.reset": {"fullname": "spectrumdevice.AbstractSpectrumDevice.reset", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumDevice.reset", "type": "function", "doc": "

Perform a software and hardware reset.

\n\n

All settings are set to hardware default values. The data in the board\u2019s on-board memory will be no longer\nvalid. Any output signals (including triggers and clocks) will be disabled.

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumDevice.start": {"fullname": "spectrumdevice.AbstractSpectrumDevice.start", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumDevice.start", "type": "function", "doc": "

Start the device.

\n\n

For digitisers in Standard Single mode (SPC_REC_STD_SINGLE), this will need to be called once for each\nacquisition. In-between calls, waveforms must be manually transferred from the device to a TransferBuffer\nusing start_transfer(). The TransferBuffer need not be defined until after start is called.

\n\n

For digitisers in Multi FIFO mode (SPC_REC_FIFO_MULTI), it needs to be called only once, immediately followed by\na call to start_transfer(). Frames will then be continuously streamed to the TransferBuffer, which must have\nalready been defined.

\n\n

todo: docstring for different AWG modes

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumDevice.stop": {"fullname": "spectrumdevice.AbstractSpectrumDevice.stop", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumDevice.stop", "type": "function", "doc": "

Stop the device.

\n\n

For digitisers in FIFO mode (SPC_REC_FIFO_MULTI), this stops the continuous acquisition of waveform data that\noccurs after calling start(). Does not need to be called in Standard Single mode (SPC_REC_STD_SINGLE).

\n\n

todo: docstring for AWG

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumDevice.configure_trigger": {"fullname": "spectrumdevice.AbstractSpectrumDevice.configure_trigger", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumDevice.configure_trigger", "type": "function", "doc": "

Apply all the trigger settings contained in a TriggerSettings dataclass to the device.

\n\n
Args
\n\n
    \n
  • settings (TriggerSettings): A TriggerSettings dataclass containing the setting values to apply.
  • \n
\n", "parameters": ["self", "settings"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"fullname": "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumDevice.write_to_spectrum_device_register", "type": "function", "doc": "

Set the value of a register on the Spectrum device.

\n\n

This method is used internally by AbstractSpectrumDigitiser and its subclasses to configure a hardware\ndevice, but can also be used to set the value of registers that are not implemented in\nAbstractSpectrumDigitiser and its subclasses.

\n\n
Args
\n\n
    \n
  • spectrum_register (int): Identifier of the register to set. This should be a global constant imported from\nregs.py in the spectrum_gmbh package.
  • \n
  • value (int): Value to write to the register. This should be a global constant imported from\nregs.py in the spectrum_gmbh package.
  • \n
  • length (SpectrumRegisterLength): A SpectrumRegisterLength object specifying the length of the register\nto set, in bits.
  • \n
\n", "parameters": ["self", "spectrum_register", "value", "length"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"fullname": "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumDevice.read_spectrum_device_register", "type": "function", "doc": "

Get the value of a register on the Spectrum digitiser.

\n\n

This method is used internally by AbstractSpectrumDigitiser and its subclasses to read the configuration of a\nhardware device, but can be also used to get the value of registers that are not implemented in\nAbstractSpectrumDigitiser and its subclasses.

\n\n
Args
\n\n
    \n
  • spectrum_register (int): Identifier of the register to set. This should be a global constant imported from\nspectrum_gmbh.regs.
  • \n
  • length (SpectrumRegisterLength): A SpectrumRegisterLength object specifying the length of the register\nto set, in bits.
  • \n
\n\n
Returns
\n\n
\n

value (int): Value of the register. This can be matched to a global constant imported from\n spectrum_gmbh.regs, usually using one of the Enums defined in the settings module.

\n
\n", "parameters": ["self", "spectrum_register", "length"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumChannel": {"fullname": "spectrumdevice.AbstractSpectrumChannel", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumChannel", "type": "class", "doc": "

Partially implemented abstract superclass contain code common for controlling an individual channel of all\nspectrum devices.

\n"}, "spectrumdevice.AbstractSpectrumChannel.__init__": {"fullname": "spectrumdevice.AbstractSpectrumChannel.__init__", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumChannel.__init__", "type": "function", "doc": "

\n", "parameters": ["self", "channel_number", "parent_device"], "funcdef": "def"}, "spectrumdevice.AbstractSpectrumChannel.name": {"fullname": "spectrumdevice.AbstractSpectrumChannel.name", "modulename": "spectrumdevice", "qualname": "AbstractSpectrumChannel.name", "type": "variable", "doc": "

The identifier assigned by the spectrum driver, formatted as an Enum by the settings package.

\n\n
Returns
\n\n
\n

name (SpectrumChannelName): The name of the channel, as assigned by the driver.

\n
\n"}, "spectrumdevice.Measurement": {"fullname": "spectrumdevice.Measurement", "modulename": "spectrumdevice", "qualname": "Measurement", "type": "class", "doc": "

Measurement is a dataclass for storing a set of waveforms generated by a single acquisition, with a timestamp.

\n"}, "spectrumdevice.Measurement.__init__": {"fullname": "spectrumdevice.Measurement.__init__", "modulename": "spectrumdevice", "qualname": "Measurement.__init__", "type": "function", "doc": "

\n", "parameters": ["self", "waveforms", "timestamp"], "funcdef": "def"}, "spectrumdevice.Measurement.waveforms": {"fullname": "spectrumdevice.Measurement.waveforms", "modulename": "spectrumdevice", "qualname": "Measurement.waveforms", "type": "variable", "doc": "

Contains the acquired waveforms as a list of 1D NumPy arrays

\n"}, "spectrumdevice.Measurement.timestamp": {"fullname": "spectrumdevice.Measurement.timestamp", "modulename": "spectrumdevice", "qualname": "Measurement.timestamp", "type": "variable", "doc": "

The time at which the acquisition was triggered, as a datetime.datetime object

\n"}, "spectrumdevice.settings": {"fullname": "spectrumdevice.settings", "modulename": "spectrumdevice.settings", "qualname": "", "type": "module", "doc": "

Provides Enums and Dataclasses wrapping the register values provided by the Spectrum API, to be used for configuring\nhardware and interpreting responses received from hardware.

\n"}, "spectrumdevice.settings.AcquisitionSettings": {"fullname": "spectrumdevice.settings.AcquisitionSettings", "modulename": "spectrumdevice.settings", "qualname": "AcquisitionSettings", "type": "class", "doc": "

A dataclass collecting all settings required to configure an acquisition. See Spectrum documentation.

\n"}, "spectrumdevice.settings.AcquisitionSettings.__init__": {"fullname": "spectrumdevice.settings.AcquisitionSettings.__init__", "modulename": "spectrumdevice.settings", "qualname": "AcquisitionSettings.__init__", "type": "function", "doc": "

\n", "parameters": ["self", "acquisition_mode", "sample_rate_in_hz", "acquisition_length_in_samples", "pre_trigger_length_in_samples", "timeout_in_ms", "enabled_channels", "vertical_ranges_in_mv", "vertical_offsets_in_percent", "timestamping_enabled", "number_of_averages"], "funcdef": "def"}, "spectrumdevice.settings.AcquisitionSettings.acquisition_mode": {"fullname": "spectrumdevice.settings.AcquisitionSettings.acquisition_mode", "modulename": "spectrumdevice.settings", "qualname": "AcquisitionSettings.acquisition_mode", "type": "variable", "doc": "

Standard Single mode, Multi FIF mode or an averaging mode.

\n"}, "spectrumdevice.settings.AcquisitionSettings.sample_rate_in_hz": {"fullname": "spectrumdevice.settings.AcquisitionSettings.sample_rate_in_hz", "modulename": "spectrumdevice.settings", "qualname": "AcquisitionSettings.sample_rate_in_hz", "type": "variable", "doc": "

Acquisition rate in samples per second.

\n"}, "spectrumdevice.settings.AcquisitionSettings.acquisition_length_in_samples": {"fullname": "spectrumdevice.settings.AcquisitionSettings.acquisition_length_in_samples", "modulename": "spectrumdevice.settings", "qualname": "AcquisitionSettings.acquisition_length_in_samples", "type": "variable", "doc": "

The length of the recording in samples per channel.

\n"}, "spectrumdevice.settings.AcquisitionSettings.pre_trigger_length_in_samples": {"fullname": "spectrumdevice.settings.AcquisitionSettings.pre_trigger_length_in_samples", "modulename": "spectrumdevice.settings", "qualname": "AcquisitionSettings.pre_trigger_length_in_samples", "type": "variable", "doc": "

The number of samples of the recording that will have been acquired before the trigger event.

\n"}, "spectrumdevice.settings.AcquisitionSettings.timeout_in_ms": {"fullname": "spectrumdevice.settings.AcquisitionSettings.timeout_in_ms", "modulename": "spectrumdevice.settings", "qualname": "AcquisitionSettings.timeout_in_ms", "type": "variable", "doc": "

How long to wait for a trigger event before timing out.

\n"}, "spectrumdevice.settings.AcquisitionSettings.enabled_channels": {"fullname": "spectrumdevice.settings.AcquisitionSettings.enabled_channels", "modulename": "spectrumdevice.settings", "qualname": "AcquisitionSettings.enabled_channels", "type": "variable", "doc": "

The channel indices to enable for the acquisition.

\n"}, "spectrumdevice.settings.AcquisitionSettings.vertical_ranges_in_mv": {"fullname": "spectrumdevice.settings.AcquisitionSettings.vertical_ranges_in_mv", "modulename": "spectrumdevice.settings", "qualname": "AcquisitionSettings.vertical_ranges_in_mv", "type": "variable", "doc": "

The voltage range to apply to each enabled channel in mW.

\n"}, "spectrumdevice.settings.AcquisitionSettings.vertical_offsets_in_percent": {"fullname": "spectrumdevice.settings.AcquisitionSettings.vertical_offsets_in_percent", "modulename": "spectrumdevice.settings", "qualname": "AcquisitionSettings.vertical_offsets_in_percent", "type": "variable", "doc": "

The DC offset to apply to each enabled channel as percentages of their vertical ranges.

\n"}, "spectrumdevice.settings.AcquisitionSettings.timestamping_enabled": {"fullname": "spectrumdevice.settings.AcquisitionSettings.timestamping_enabled", "modulename": "spectrumdevice.settings", "qualname": "AcquisitionSettings.timestamping_enabled", "type": "variable", "doc": "

If True, Measurements will include the time at which the acquisition was triggered. Increases latency by ~10 ms.

\n"}, "spectrumdevice.settings.AcquisitionSettings.number_of_averages": {"fullname": "spectrumdevice.settings.AcquisitionSettings.number_of_averages", "modulename": "spectrumdevice.settings", "qualname": "AcquisitionSettings.number_of_averages", "type": "variable", "doc": "

If an averaging AcquisitionMode is selected, this defines the number of averages.

\n"}, "spectrumdevice.settings.TriggerSettings": {"fullname": "spectrumdevice.settings.TriggerSettings", "modulename": "spectrumdevice.settings", "qualname": "TriggerSettings", "type": "class", "doc": "

A dataclass collecting all settings related to triggering. See Spectrum documentation.

\n"}, "spectrumdevice.settings.TriggerSettings.__init__": {"fullname": "spectrumdevice.settings.TriggerSettings.__init__", "modulename": "spectrumdevice.settings", "qualname": "TriggerSettings.__init__", "type": "function", "doc": "

\n", "parameters": ["self", "trigger_sources", "external_trigger_mode", "external_trigger_level_in_mv", "external_trigger_pulse_width_in_samples"], "funcdef": "def"}, "spectrumdevice.settings.TriggerSettings.trigger_sources": {"fullname": "spectrumdevice.settings.TriggerSettings.trigger_sources", "modulename": "spectrumdevice.settings", "qualname": "TriggerSettings.trigger_sources", "type": "variable", "doc": "

The trigger sources to enable

\n"}, "spectrumdevice.settings.TriggerSettings.external_trigger_mode": {"fullname": "spectrumdevice.settings.TriggerSettings.external_trigger_mode", "modulename": "spectrumdevice.settings", "qualname": "TriggerSettings.external_trigger_mode", "type": "variable", "doc": "

The external trigger mode (if an external trigger is enabled).

\n"}, "spectrumdevice.settings.TriggerSettings.external_trigger_level_in_mv": {"fullname": "spectrumdevice.settings.TriggerSettings.external_trigger_level_in_mv", "modulename": "spectrumdevice.settings", "qualname": "TriggerSettings.external_trigger_level_in_mv", "type": "variable", "doc": "

The level an external signal must reach to cause a trigger event (if an external trigger is enabled).

\n"}, "spectrumdevice.settings.TriggerSettings.external_trigger_pulse_width_in_samples": {"fullname": "spectrumdevice.settings.TriggerSettings.external_trigger_pulse_width_in_samples", "modulename": "spectrumdevice.settings", "qualname": "TriggerSettings.external_trigger_pulse_width_in_samples", "type": "variable", "doc": "

The required width of an external trigger pulse (if an external trigger is enabled).

\n"}, "spectrumdevice.settings.AcquisitionMode": {"fullname": "spectrumdevice.settings.AcquisitionMode", "modulename": "spectrumdevice.settings", "qualname": "AcquisitionMode", "type": "class", "doc": "

Enum representing the acquisition modes currently support by spectrumdevice. See Spectrum documentation for more\ninformation about each mode.

\n"}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_SINGLE": {"fullname": "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_SINGLE", "modulename": "spectrumdevice.settings", "qualname": "AcquisitionMode.SPC_REC_STD_SINGLE", "type": "variable", "doc": "

Data acquisition to on-board memory for one single trigger event.

\n"}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_MULTI": {"fullname": "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_MULTI", "modulename": "spectrumdevice.settings", "qualname": "AcquisitionMode.SPC_REC_FIFO_MULTI", "type": "variable", "doc": "

Continuous data acquisition for multiple trigger events.

\n"}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_AVERAGE": {"fullname": "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_AVERAGE", "modulename": "spectrumdevice.settings", "qualname": "AcquisitionMode.SPC_REC_STD_AVERAGE", "type": "variable", "doc": "

Data acquisition to on-board memory for the average of multiple trigger events.

\n"}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_AVERAGE": {"fullname": "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_AVERAGE", "modulename": "spectrumdevice.settings", "qualname": "AcquisitionMode.SPC_REC_FIFO_AVERAGE", "type": "variable", "doc": "

Continuous data acquisition for multiple trigger events, with on-board averaging.

\n"}, "spectrumdevice.settings.ClockMode": {"fullname": "spectrumdevice.settings.ClockMode", "modulename": "spectrumdevice.settings", "qualname": "ClockMode", "type": "class", "doc": "

Enum representing the clock modes currently supported by spectrumdevice. See Spectrum documentation for more\ninformation about each mode.

\n"}, "spectrumdevice.settings.ClockMode.SPC_CM_INTPLL": {"fullname": "spectrumdevice.settings.ClockMode.SPC_CM_INTPLL", "modulename": "spectrumdevice.settings", "qualname": "ClockMode.SPC_CM_INTPLL", "type": "variable", "doc": "

Enables internal PLL with 20 MHz internal reference for sample clock generation.

\n"}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTERNAL": {"fullname": "spectrumdevice.settings.ClockMode.SPC_CM_EXTERNAL", "modulename": "spectrumdevice.settings", "qualname": "ClockMode.SPC_CM_EXTERNAL", "type": "variable", "doc": "

Enables external clock input for direct sample clock generation.

\n"}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTREFCLOCK": {"fullname": "spectrumdevice.settings.ClockMode.SPC_CM_EXTREFCLOCK", "modulename": "spectrumdevice.settings", "qualname": "ClockMode.SPC_CM_EXTREFCLOCK", "type": "variable", "doc": "

Enables internal PLL with external reference for sample clock generation.

\n"}, "spectrumdevice.settings.CardFeature": {"fullname": "spectrumdevice.settings.CardFeature", "modulename": "spectrumdevice.settings", "qualname": "CardFeature", "type": "class", "doc": "

Enum representing the possible features of all Spectrum devices. A list of features can be read from a device\nusing the feature_list property. See the Spectrum documentation for descriptions of each of the features.

\n"}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_MULTI": {"fullname": "spectrumdevice.settings.CardFeature.SPCM_FEAT_MULTI", "modulename": "spectrumdevice.settings", "qualname": "CardFeature.SPCM_FEAT_MULTI", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_GATE": {"fullname": "spectrumdevice.settings.CardFeature.SPCM_FEAT_GATE", "modulename": "spectrumdevice.settings", "qualname": "CardFeature.SPCM_FEAT_GATE", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_DIGITAL": {"fullname": "spectrumdevice.settings.CardFeature.SPCM_FEAT_DIGITAL", "modulename": "spectrumdevice.settings", "qualname": "CardFeature.SPCM_FEAT_DIGITAL", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_TIMESTAMP": {"fullname": "spectrumdevice.settings.CardFeature.SPCM_FEAT_TIMESTAMP", "modulename": "spectrumdevice.settings", "qualname": "CardFeature.SPCM_FEAT_TIMESTAMP", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUB_4_5_6EXTM_8EXTM": {"fullname": "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUB_4_5_6EXTM_8EXTM", "modulename": "spectrumdevice.settings", "qualname": "CardFeature.SPCM_FEAT_STARHUB_4_5_6EXTM_8EXTM", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUB_8_16_16EXTM": {"fullname": "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUB_8_16_16EXTM", "modulename": "spectrumdevice.settings", "qualname": "CardFeature.SPCM_FEAT_STARHUB_8_16_16EXTM", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_ABA": {"fullname": "spectrumdevice.settings.CardFeature.SPCM_FEAT_ABA", "modulename": "spectrumdevice.settings", "qualname": "CardFeature.SPCM_FEAT_ABA", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_BASEXIO": {"fullname": "spectrumdevice.settings.CardFeature.SPCM_FEAT_BASEXIO", "modulename": "spectrumdevice.settings", "qualname": "CardFeature.SPCM_FEAT_BASEXIO", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_AMPLIFIER_10V": {"fullname": "spectrumdevice.settings.CardFeature.SPCM_FEAT_AMPLIFIER_10V", "modulename": "spectrumdevice.settings", "qualname": "CardFeature.SPCM_FEAT_AMPLIFIER_10V", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUBSYSMASTER": {"fullname": "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUBSYSMASTER", "modulename": "spectrumdevice.settings", "qualname": "CardFeature.SPCM_FEAT_STARHUBSYSMASTER", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_DIFFMODE": {"fullname": "spectrumdevice.settings.CardFeature.SPCM_FEAT_DIFFMODE", "modulename": "spectrumdevice.settings", "qualname": "CardFeature.SPCM_FEAT_DIFFMODE", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_SEQUENCE": {"fullname": "spectrumdevice.settings.CardFeature.SPCM_FEAT_SEQUENCE", "modulename": "spectrumdevice.settings", "qualname": "CardFeature.SPCM_FEAT_SEQUENCE", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_AMPMODULE_10V": {"fullname": "spectrumdevice.settings.CardFeature.SPCM_FEAT_AMPMODULE_10V", "modulename": "spectrumdevice.settings", "qualname": "CardFeature.SPCM_FEAT_AMPMODULE_10V", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUBSYSSLAVE": {"fullname": "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUBSYSSLAVE", "modulename": "spectrumdevice.settings", "qualname": "CardFeature.SPCM_FEAT_STARHUBSYSSLAVE", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_NETBOX": {"fullname": "spectrumdevice.settings.CardFeature.SPCM_FEAT_NETBOX", "modulename": "spectrumdevice.settings", "qualname": "CardFeature.SPCM_FEAT_NETBOX", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_REMOTESERVER": {"fullname": "spectrumdevice.settings.CardFeature.SPCM_FEAT_REMOTESERVER", "modulename": "spectrumdevice.settings", "qualname": "CardFeature.SPCM_FEAT_REMOTESERVER", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_SCAPP": {"fullname": "spectrumdevice.settings.CardFeature.SPCM_FEAT_SCAPP", "modulename": "spectrumdevice.settings", "qualname": "CardFeature.SPCM_FEAT_SCAPP", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_CUSTOMMOD_MASK": {"fullname": "spectrumdevice.settings.CardFeature.SPCM_FEAT_CUSTOMMOD_MASK", "modulename": "spectrumdevice.settings", "qualname": "CardFeature.SPCM_FEAT_CUSTOMMOD_MASK", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.AdvancedCardFeature": {"fullname": "spectrumdevice.settings.AdvancedCardFeature", "modulename": "spectrumdevice.settings", "qualname": "AdvancedCardFeature", "type": "class", "doc": "

Enum representing the possible advanced features of all Spectrum devices. A list of features can be read from a\ndevice using the feature_list property. See the Spectrum documentation for descriptions of each of the features.

\n"}, "spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_SEGSTAT": {"fullname": "spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_SEGSTAT", "modulename": "spectrumdevice.settings", "qualname": "AdvancedCardFeature.SPCM_FEAT_EXTFW_SEGSTAT", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_SEGAVERAGE": {"fullname": "spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_SEGAVERAGE", "modulename": "spectrumdevice.settings", "qualname": "AdvancedCardFeature.SPCM_FEAT_EXTFW_SEGAVERAGE", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_BOXCAR": {"fullname": "spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_BOXCAR", "modulename": "spectrumdevice.settings", "qualname": "AdvancedCardFeature.SPCM_FEAT_EXTFW_BOXCAR", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.IOLineMode": {"fullname": "spectrumdevice.settings.IOLineMode", "modulename": "spectrumdevice.settings", "qualname": "IOLineMode", "type": "class", "doc": "

Enum representing the possible modes that a devices multi-purpose I/O line can support. A list of available\nmodes for each I/O line on a device is provided by the devices available_io_modes property. See the Spectrum\ndocumentation for a description of each of the modes.

\n"}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_DISABLE": {"fullname": "spectrumdevice.settings.IOLineMode.SPCM_XMODE_DISABLE", "modulename": "spectrumdevice.settings", "qualname": "IOLineMode.SPCM_XMODE_DISABLE", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_ASYNCIN": {"fullname": "spectrumdevice.settings.IOLineMode.SPCM_XMODE_ASYNCIN", "modulename": "spectrumdevice.settings", "qualname": "IOLineMode.SPCM_XMODE_ASYNCIN", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_ASYNCOUT": {"fullname": "spectrumdevice.settings.IOLineMode.SPCM_XMODE_ASYNCOUT", "modulename": "spectrumdevice.settings", "qualname": "IOLineMode.SPCM_XMODE_ASYNCOUT", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_DIGIN": {"fullname": "spectrumdevice.settings.IOLineMode.SPCM_XMODE_DIGIN", "modulename": "spectrumdevice.settings", "qualname": "IOLineMode.SPCM_XMODE_DIGIN", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_TRIGIN": {"fullname": "spectrumdevice.settings.IOLineMode.SPCM_XMODE_TRIGIN", "modulename": "spectrumdevice.settings", "qualname": "IOLineMode.SPCM_XMODE_TRIGIN", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_DIGOUT": {"fullname": "spectrumdevice.settings.IOLineMode.SPCM_XMODE_DIGOUT", "modulename": "spectrumdevice.settings", "qualname": "IOLineMode.SPCM_XMODE_DIGOUT", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_TRIGOUT": {"fullname": "spectrumdevice.settings.IOLineMode.SPCM_XMODE_TRIGOUT", "modulename": "spectrumdevice.settings", "qualname": "IOLineMode.SPCM_XMODE_TRIGOUT", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_RUNSTATE": {"fullname": "spectrumdevice.settings.IOLineMode.SPCM_XMODE_RUNSTATE", "modulename": "spectrumdevice.settings", "qualname": "IOLineMode.SPCM_XMODE_RUNSTATE", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_ARMSTATE": {"fullname": "spectrumdevice.settings.IOLineMode.SPCM_XMODE_ARMSTATE", "modulename": "spectrumdevice.settings", "qualname": "IOLineMode.SPCM_XMODE_ARMSTATE", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_CONTOUTMARK": {"fullname": "spectrumdevice.settings.IOLineMode.SPCM_XMODE_CONTOUTMARK", "modulename": "spectrumdevice.settings", "qualname": "IOLineMode.SPCM_XMODE_CONTOUTMARK", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.AvailableIOModes": {"fullname": "spectrumdevice.settings.AvailableIOModes", "modulename": "spectrumdevice.settings", "qualname": "AvailableIOModes", "type": "class", "doc": "

Stores a list of the available IOLineMode settings on each of the four I/O lines (X0, X1, X2 and X3) on a\ndevice. Returned by the available_io_modes() method of a device.

\n"}, "spectrumdevice.settings.AvailableIOModes.__init__": {"fullname": "spectrumdevice.settings.AvailableIOModes.__init__", "modulename": "spectrumdevice.settings", "qualname": "AvailableIOModes.__init__", "type": "function", "doc": "

\n", "parameters": ["self", "X0", "X1", "X2", "X3"], "funcdef": "def"}, "spectrumdevice.settings.AvailableIOModes.X0": {"fullname": "spectrumdevice.settings.AvailableIOModes.X0", "modulename": "spectrumdevice.settings", "qualname": "AvailableIOModes.X0", "type": "variable", "doc": "

IO modes available to the XO IO line.

\n"}, "spectrumdevice.settings.AvailableIOModes.X1": {"fullname": "spectrumdevice.settings.AvailableIOModes.X1", "modulename": "spectrumdevice.settings", "qualname": "AvailableIOModes.X1", "type": "variable", "doc": "

IO modes available to the X1 IO line.

\n"}, "spectrumdevice.settings.AvailableIOModes.X2": {"fullname": "spectrumdevice.settings.AvailableIOModes.X2", "modulename": "spectrumdevice.settings", "qualname": "AvailableIOModes.X2", "type": "variable", "doc": "

IO modes available to the X2 IO line.

\n"}, "spectrumdevice.settings.AvailableIOModes.X3": {"fullname": "spectrumdevice.settings.AvailableIOModes.X3", "modulename": "spectrumdevice.settings", "qualname": "AvailableIOModes.X3", "type": "variable", "doc": "

IO modes available to the X3 IO line.

\n"}, "spectrumdevice.settings.TransferBuffer": {"fullname": "spectrumdevice.settings.TransferBuffer", "modulename": "spectrumdevice.settings", "qualname": "TransferBuffer", "type": "class", "doc": "

A buffer for transferring samples between spectrumdevice software and a hardware device. See the 'Definition of the\ntransfer buffer' section of the Spectrum documentation for more information. This implementation of the buffer\nsets the notify size equal to the acquisition length.

\n"}, "spectrumdevice.settings.TransferBuffer.__init__": {"fullname": "spectrumdevice.settings.TransferBuffer.__init__", "modulename": "spectrumdevice.settings", "qualname": "TransferBuffer.__init__", "type": "function", "doc": "

\n", "parameters": ["self", "type", "direction", "board_memory_offset_bytes", "data_array"], "funcdef": "def"}, "spectrumdevice.settings.TransferBuffer.type": {"fullname": "spectrumdevice.settings.TransferBuffer.type", "modulename": "spectrumdevice.settings", "qualname": "TransferBuffer.type", "type": "variable", "doc": "

Specifies whether the buffer is to be used to transfer samples, timestamps or A/B data.

\n"}, "spectrumdevice.settings.TransferBuffer.direction": {"fullname": "spectrumdevice.settings.TransferBuffer.direction", "modulename": "spectrumdevice.settings", "qualname": "TransferBuffer.direction", "type": "variable", "doc": "

Specifies whether the buffer is to be used to transfer data from the card to the PC, or the PC to the card.

\n"}, "spectrumdevice.settings.TransferBuffer.board_memory_offset_bytes": {"fullname": "spectrumdevice.settings.TransferBuffer.board_memory_offset_bytes", "modulename": "spectrumdevice.settings", "qualname": "TransferBuffer.board_memory_offset_bytes", "type": "variable", "doc": "

Sets the offset for transfer in board memory. Typically 0. See Spectrum documentation for more information.

\n"}, "spectrumdevice.settings.TransferBuffer.data_array": {"fullname": "spectrumdevice.settings.TransferBuffer.data_array", "modulename": "spectrumdevice.settings", "qualname": "TransferBuffer.data_array", "type": "variable", "doc": "

1D numpy array into which samples will be written during transfer.

\n"}, "spectrumdevice.settings.TransferBuffer.copy_contents": {"fullname": "spectrumdevice.settings.TransferBuffer.copy_contents", "modulename": "spectrumdevice.settings", "qualname": "TransferBuffer.copy_contents", "type": "function", "doc": "

\n", "parameters": ["self"], "funcdef": "def"}, "spectrumdevice.settings.TransferBuffer.data_array_pointer": {"fullname": "spectrumdevice.settings.TransferBuffer.data_array_pointer", "modulename": "spectrumdevice.settings", "qualname": "TransferBuffer.data_array_pointer", "type": "variable", "doc": "

A pointer to the data array.

\n"}, "spectrumdevice.settings.TransferBuffer.data_array_length_in_bytes": {"fullname": "spectrumdevice.settings.TransferBuffer.data_array_length_in_bytes", "modulename": "spectrumdevice.settings", "qualname": "TransferBuffer.data_array_length_in_bytes", "type": "variable", "doc": "

The length of the array into which sample will be written, in bytes.

\n"}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"fullname": "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes", "modulename": "spectrumdevice.settings", "qualname": "TransferBuffer.notify_size_in_bytes", "type": "variable", "doc": "

The number of transferred bytes after which a notification of transfer is sent from the device. This is\ncurrently always set to the length of the data array, meaning that a notification will be received once the\ntransfer is complete. See the Spectrum documentation for more information.

\n"}, "spectrumdevice.settings.CardToPCDataTransferBuffer": {"fullname": "spectrumdevice.settings.CardToPCDataTransferBuffer", "modulename": "spectrumdevice.settings", "qualname": "CardToPCDataTransferBuffer", "type": "class", "doc": "

A TransferBuffer configured for card-to-pc transfer of samples (rather than timestamps or ABA data).

\n"}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"fullname": "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__", "modulename": "spectrumdevice.settings", "qualname": "CardToPCDataTransferBuffer.__init__", "type": "function", "doc": "
Args
\n\n
    \n
  • size_in_samples (int): The size of the array into which samples will be written, in samples.
  • \n
  • board_memory_offset_bytes (int): Sets the offset for transfer in board memory. Default 0. See Spectrum\ndocumentation for more information.
  • \n
\n", "parameters": ["self", "size_in_samples", "board_memory_offset_bytes"], "funcdef": "def"}, "spectrumdevice.settings.TriggerSource": {"fullname": "spectrumdevice.settings.TriggerSource", "modulename": "spectrumdevice.settings", "qualname": "TriggerSource", "type": "class", "doc": "

An Enum representing the possible trigger sources.

\n"}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_SOFTWARE": {"fullname": "spectrumdevice.settings.TriggerSource.SPC_TMASK_SOFTWARE", "modulename": "spectrumdevice.settings", "qualname": "TriggerSource.SPC_TMASK_SOFTWARE", "type": "variable", "doc": "

Enables the software trigger for the OR mask. The card will trigger immediately after start.

\n"}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT0": {"fullname": "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT0", "modulename": "spectrumdevice.settings", "qualname": "TriggerSource.SPC_TMASK_EXT0", "type": "variable", "doc": "

Enables the external (analog) trigger 0 for the OR mask.

\n"}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT1": {"fullname": "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT1", "modulename": "spectrumdevice.settings", "qualname": "TriggerSource.SPC_TMASK_EXT1", "type": "variable", "doc": "

Enables the X1 (logic) trigger for the OR mask.

\n"}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT2": {"fullname": "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT2", "modulename": "spectrumdevice.settings", "qualname": "TriggerSource.SPC_TMASK_EXT2", "type": "variable", "doc": "

Enables the X2 (logic) trigger for the OR mask.

\n"}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT3": {"fullname": "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT3", "modulename": "spectrumdevice.settings", "qualname": "TriggerSource.SPC_TMASK_EXT3", "type": "variable", "doc": "

Enables the X3 (logic) trigger for the OR mask.

\n"}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_NONE": {"fullname": "spectrumdevice.settings.TriggerSource.SPC_TMASK_NONE", "modulename": "spectrumdevice.settings", "qualname": "TriggerSource.SPC_TMASK_NONE", "type": "variable", "doc": "

No trigger source selected.

\n"}, "spectrumdevice.settings.ExternalTriggerMode": {"fullname": "spectrumdevice.settings.ExternalTriggerMode", "modulename": "spectrumdevice.settings", "qualname": "ExternalTriggerMode", "type": "class", "doc": "

An Enum representing the supported trigger modes. See the Spectrum documentation more more Information.

\n\n

SPC_TM_NONE:\nSPC_TM_POS:\nSPC_TM_NEG:\nSPC_TM_BOTH:\nSPC_TM_HIGH:\nSPC_TM_LOW:\nSPC_TM_PW_GREATER:\nSPC_TM_PW_SMALLER:

\n"}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NONE": {"fullname": "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NONE", "modulename": "spectrumdevice.settings", "qualname": "ExternalTriggerMode.SPC_TM_NONE", "type": "variable", "doc": "

Channel is not used for trigger detection.

\n"}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_POS": {"fullname": "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_POS", "modulename": "spectrumdevice.settings", "qualname": "ExternalTriggerMode.SPC_TM_POS", "type": "variable", "doc": "

Trigger detection for positive edges (crossing level 0 from below to above).

\n"}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NEG": {"fullname": "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NEG", "modulename": "spectrumdevice.settings", "qualname": "ExternalTriggerMode.SPC_TM_NEG", "type": "variable", "doc": "

Trigger detection for negative edges (crossing level 0 from above to below).

\n"}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_BOTH": {"fullname": "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_BOTH", "modulename": "spectrumdevice.settings", "qualname": "ExternalTriggerMode.SPC_TM_BOTH", "type": "variable", "doc": "

Trigger detection for positive and negative edges (any crossing of level 0).

\n"}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_HIGH": {"fullname": "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_HIGH", "modulename": "spectrumdevice.settings", "qualname": "ExternalTriggerMode.SPC_TM_HIGH", "type": "variable", "doc": "

Trigger detection for HIGH levels (signal above level 0).

\n"}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_LOW": {"fullname": "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_LOW", "modulename": "spectrumdevice.settings", "qualname": "ExternalTriggerMode.SPC_TM_LOW", "type": "variable", "doc": "

Trigger detection for LOW levels (signal below level 0).

\n"}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"fullname": "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER", "modulename": "spectrumdevice.settings", "qualname": "ExternalTriggerMode.SPC_TM_PW_GREATER", "type": "variable", "doc": "

Sets the trigger mode for external trigger to detect pulses that are longer than the pulse width\nchosen using the devices set_external_trigger_pulse_width_in_samples() method. Can only be used in combination\nwith one of the above modes.

\n"}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"fullname": "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER", "modulename": "spectrumdevice.settings", "qualname": "ExternalTriggerMode.SPC_TM_PW_SMALLER", "type": "variable", "doc": "

Sets the trigger mode for external trigger to detect pulses that are shorter than the pulse width\nchosen using the devices set_external_trigger_pulse_width_in_samples() method. Can only be used in combination\nwith one of the above modes.

\n"}, "spectrumdevice.settings.CARD_STATUS_TYPE": {"fullname": "spectrumdevice.settings.CARD_STATUS_TYPE", "modulename": "spectrumdevice.settings", "qualname": "CARD_STATUS_TYPE", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.DEVICE_STATUS_TYPE": {"fullname": "spectrumdevice.settings.DEVICE_STATUS_TYPE", "modulename": "spectrumdevice.settings", "qualname": "DEVICE_STATUS_TYPE", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.StatusCode": {"fullname": "spectrumdevice.settings.StatusCode", "modulename": "spectrumdevice.settings", "qualname": "StatusCode", "type": "class", "doc": "

An Enum representing the possible status codes that can be returned by a SpectrumDigitiserCard. See the Spectrum\ndocumentation for a description of each status.

\n"}, "spectrumdevice.settings.StatusCode.M2STAT_NONE": {"fullname": "spectrumdevice.settings.StatusCode.M2STAT_NONE", "modulename": "spectrumdevice.settings", "qualname": "StatusCode.M2STAT_NONE", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_PRETRIGGER": {"fullname": "spectrumdevice.settings.StatusCode.M2STAT_CARD_PRETRIGGER", "modulename": "spectrumdevice.settings", "qualname": "StatusCode.M2STAT_CARD_PRETRIGGER", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_TRIGGER": {"fullname": "spectrumdevice.settings.StatusCode.M2STAT_CARD_TRIGGER", "modulename": "spectrumdevice.settings", "qualname": "StatusCode.M2STAT_CARD_TRIGGER", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_READY": {"fullname": "spectrumdevice.settings.StatusCode.M2STAT_CARD_READY", "modulename": "spectrumdevice.settings", "qualname": "StatusCode.M2STAT_CARD_READY", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_SEGMENT_PRETRG": {"fullname": "spectrumdevice.settings.StatusCode.M2STAT_CARD_SEGMENT_PRETRG", "modulename": "spectrumdevice.settings", "qualname": "StatusCode.M2STAT_CARD_SEGMENT_PRETRG", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_BLOCKREADY": {"fullname": "spectrumdevice.settings.StatusCode.M2STAT_DATA_BLOCKREADY", "modulename": "spectrumdevice.settings", "qualname": "StatusCode.M2STAT_DATA_BLOCKREADY", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_END": {"fullname": "spectrumdevice.settings.StatusCode.M2STAT_DATA_END", "modulename": "spectrumdevice.settings", "qualname": "StatusCode.M2STAT_DATA_END", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_OVERRUN": {"fullname": "spectrumdevice.settings.StatusCode.M2STAT_DATA_OVERRUN", "modulename": "spectrumdevice.settings", "qualname": "StatusCode.M2STAT_DATA_OVERRUN", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_ERROR": {"fullname": "spectrumdevice.settings.StatusCode.M2STAT_DATA_ERROR", "modulename": "spectrumdevice.settings", "qualname": "StatusCode.M2STAT_DATA_ERROR", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_BLOCKREADY": {"fullname": "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_BLOCKREADY", "modulename": "spectrumdevice.settings", "qualname": "StatusCode.M2STAT_EXTRA_BLOCKREADY", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_END": {"fullname": "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_END", "modulename": "spectrumdevice.settings", "qualname": "StatusCode.M2STAT_EXTRA_END", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_OVERRUN": {"fullname": "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_OVERRUN", "modulename": "spectrumdevice.settings", "qualname": "StatusCode.M2STAT_EXTRA_OVERRUN", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_ERROR": {"fullname": "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_ERROR", "modulename": "spectrumdevice.settings", "qualname": "StatusCode.M2STAT_EXTRA_ERROR", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.SpectrumRegisterLength": {"fullname": "spectrumdevice.settings.SpectrumRegisterLength", "modulename": "spectrumdevice.settings", "qualname": "SpectrumRegisterLength", "type": "class", "doc": "

Enum defining the possible lengths of a spectrum register.

\n"}, "spectrumdevice.settings.SpectrumRegisterLength.THIRTY_TWO": {"fullname": "spectrumdevice.settings.SpectrumRegisterLength.THIRTY_TWO", "modulename": "spectrumdevice.settings", "qualname": "SpectrumRegisterLength.THIRTY_TWO", "type": "variable", "doc": "

32 bit register

\n"}, "spectrumdevice.settings.SpectrumRegisterLength.SIXTY_FOUR": {"fullname": "spectrumdevice.settings.SpectrumRegisterLength.SIXTY_FOUR", "modulename": "spectrumdevice.settings", "qualname": "SpectrumRegisterLength.SIXTY_FOUR", "type": "variable", "doc": "

64 bit register

\n"}, "spectrumdevice.settings.CardType": {"fullname": "spectrumdevice.settings.CardType", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber", "type": "class", "doc": "

An Enum representing the integer values returned by a device when its type identifier is queried by reading the\nSPC_PCITYP register. Only the supported card types are listed: 22xx, 44xx and 59xx family devices.

\n"}, "spectrumdevice.settings.CardType.TYP_M4I2210_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I2210_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I2210_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I2211_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I2211_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I2211_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I2212_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I2212_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I2212_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I2220_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I2220_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I2220_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I2221_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I2221_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I2221_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I2223_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I2223_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I2223_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I2230_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I2230_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I2230_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I2233_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I2233_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I2233_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I2234_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I2234_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I2234_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I2280_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I2280_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I2280_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I2281_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I2281_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I2281_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I2283_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I2283_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I2283_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I2290_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I2290_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I2290_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I2293_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I2293_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I2293_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I2294_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I2294_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I2294_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I4410_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I4410_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I4410_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I4411_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I4411_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I4411_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I4420_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I4420_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I4420_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I4421_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I4421_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I4421_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I4450_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I4450_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I4450_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I4451_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I4451_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I4451_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I4470_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I4470_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I4470_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I4471_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I4471_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I4471_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I4480_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I4480_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I4480_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4I4481_X8": {"fullname": "spectrumdevice.settings.CardType.TYP_M4I4481_X8", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4I4481_X8", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4X44XX_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M4X44XX_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4X44XX_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4X4410_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M4X4410_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4X4410_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4X4411_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M4X4411_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4X4411_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4X4420_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M4X4420_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4X4420_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4X4421_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M4X4421_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4X4421_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4X4450_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M4X4450_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4X4450_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4X4451_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M4X4451_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4X4451_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4X4470_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M4X4470_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4X4470_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4X4471_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M4X4471_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4X4471_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4X4480_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M4X4480_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4X4480_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M4X4481_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M4X4481_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M4X4481_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5911_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5911_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5911_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5912_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5912_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5912_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5913_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5913_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5913_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5916_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5916_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5916_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5920_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5920_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5920_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5921_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5921_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5921_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5922_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5922_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5922_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5923_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5923_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5923_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5926_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5926_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5926_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5930_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5930_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5930_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5931_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5931_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5931_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5932_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5932_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5932_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5933_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5933_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5933_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5936_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5936_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5936_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5940_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5940_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5940_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5941_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5941_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5941_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5942_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5942_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5942_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5943_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5943_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5943_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5946_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5946_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5946_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5960_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5960_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5960_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5961_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5961_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5961_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5962_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5962_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5962_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5966_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5966_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5966_X4", "type": "variable", "doc": "

\n"}, "spectrumdevice.settings.CardType.TYP_M2P5968_X4": {"fullname": "spectrumdevice.settings.CardType.TYP_M2P5968_X4", "modulename": "spectrumdevice.settings", "qualname": "ModelNumber.TYP_M2P5968_X4", "type": "variable", "doc": "

\n"}}, "docInfo": {"spectrumdevice": {"qualname": 0, "fullname": 1, "doc": 180}, "spectrumdevice.SpectrumDigitiserChannel": {"qualname": 1, "fullname": 2, "doc": 16}, "spectrumdevice.SpectrumDigitiserChannel.__init__": {"qualname": 2, "fullname": 3, "doc": 0}, "spectrumdevice.SpectrumDigitiserChannel.convert_raw_waveform_to_voltage_waveform": {"qualname": 2, "fullname": 3, "doc": 0}, "spectrumdevice.SpectrumDigitiserChannel.vertical_range_in_mv": {"qualname": 2, "fullname": 3, "doc": 14}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_range_in_mv": {"qualname": 2, "fullname": 3, "doc": 17}, "spectrumdevice.SpectrumDigitiserChannel.vertical_offset_in_percent": {"qualname": 2, "fullname": 3, "doc": 16}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_offset_in_percent": {"qualname": 2, "fullname": 3, "doc": 19}, "spectrumdevice.SpectrumDigitiserCard": {"qualname": 1, "fullname": 2, "doc": 6}, "spectrumdevice.SpectrumDigitiserCard.__init__": {"qualname": 2, "fullname": 3, "doc": 21}, "spectrumdevice.SpectrumDigitiserCard.enable_timestamping": {"qualname": 2, "fullname": 3, "doc": 0}, "spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"qualname": 2, "fullname": 3, "doc": 39}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"qualname": 2, "fullname": 3, "doc": 72}, "spectrumdevice.SpectrumDigitiserCard.get_timestamp": {"qualname": 2, "fullname": 3, "doc": 3}, "spectrumdevice.SpectrumDigitiserCard.acquisition_length_in_samples": {"qualname": 2, "fullname": 3, "doc": 15}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"qualname": 2, "fullname": 3, "doc": 24}, "spectrumdevice.SpectrumDigitiserCard.post_trigger_length_in_samples": {"qualname": 2, "fullname": 3, "doc": 17}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"qualname": 2, "fullname": 3, "doc": 27}, "spectrumdevice.SpectrumDigitiserCard.number_of_averages": {"qualname": 2, "fullname": 3, "doc": 0}, "spectrumdevice.SpectrumDigitiserCard.set_number_of_averages": {"qualname": 2, "fullname": 3, "doc": 0}, "spectrumdevice.SpectrumDigitiserCard.acquisition_mode": {"qualname": 2, "fullname": 3, "doc": 18}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_mode": {"qualname": 2, "fullname": 3, "doc": 17}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"qualname": 2, "fullname": 3, "doc": 45}, "spectrumdevice.SpectrumDigitiserStarHub": {"qualname": 1, "fullname": 2, "doc": 36}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"qualname": 2, "fullname": 3, "doc": 41}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"qualname": 2, "fullname": 3, "doc": 47}, "spectrumdevice.SpectrumDigitiserStarHub.wait_for_acquisition_to_complete": {"qualname": 2, "fullname": 3, "doc": 10}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"qualname": 2, "fullname": 3, "doc": 34}, "spectrumdevice.SpectrumDigitiserStarHub.get_timestamp": {"qualname": 2, "fullname": 3, "doc": 3}, "spectrumdevice.SpectrumDigitiserStarHub.enable_timestamping": {"qualname": 2, "fullname": 3, "doc": 0}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"qualname": 2, "fullname": 3, "doc": 25}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"qualname": 2, "fullname": 3, "doc": 18}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"qualname": 2, "fullname": 3, "doc": 28}, "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"qualname": 2, "fullname": 3, "doc": 20}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"qualname": 2, "fullname": 3, "doc": 20}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_mode": {"qualname": 2, "fullname": 3, "doc": 16}, "spectrumdevice.MockSpectrumDigitiserCard": {"qualname": 1, "fullname": 2, "doc": 50}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"qualname": 2, "fullname": 3, "doc": 77}, "spectrumdevice.MockSpectrumDigitiserCard.enable_timestamping": {"qualname": 2, "fullname": 3, "doc": 0}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_mode": {"qualname": 2, "fullname": 3, "doc": 7}, "spectrumdevice.MockSpectrumDigitiserCard.set_sample_rate_in_hz": {"qualname": 2, "fullname": 3, "doc": 7}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"qualname": 2, "fullname": 3, "doc": 35}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"qualname": 2, "fullname": 3, "doc": 32}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"qualname": 2, "fullname": 3, "doc": 31}, "spectrumdevice.MockSpectrumDigitiserCard.start_transfer": {"qualname": 2, "fullname": 3, "doc": 23}, "spectrumdevice.MockSpectrumDigitiserCard.stop_transfer": {"qualname": 2, "fullname": 3, "doc": 20}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"qualname": 2, "fullname": 3, "doc": 20}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"qualname": 2, "fullname": 3, "doc": 22}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"qualname": 1, "fullname": 2, "doc": 30}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"qualname": 2, "fullname": 3, "doc": 26}, "spectrumdevice.MockSpectrumDigitiserStarHub.start": {"qualname": 2, "fullname": 3, "doc": 36}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"qualname": 2, "fullname": 3, "doc": 36}, "spectrumdevice.AbstractSpectrumDigitiser": {"qualname": 1, "fullname": 2, "doc": 33}, "spectrumdevice.AbstractSpectrumDigitiser.configure_acquisition": {"qualname": 2, "fullname": 3, "doc": 15}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"qualname": 2, "fullname": 3, "doc": 79}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"qualname": 2, "fullname": 3, "doc": 115}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"qualname": 2, "fullname": 3, "doc": 51}, "spectrumdevice.AbstractSpectrumStarHub": {"qualname": 1, "fullname": 2, "doc": 24}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"qualname": 2, "fullname": 3, "doc": 40}, "spectrumdevice.AbstractSpectrumStarHub.disconnect": {"qualname": 2, "fullname": 3, "doc": 8}, "spectrumdevice.AbstractSpectrumStarHub.reconnect": {"qualname": 2, "fullname": 3, "doc": 7}, "spectrumdevice.AbstractSpectrumStarHub.status": {"qualname": 2, "fullname": 3, "doc": 21}, "spectrumdevice.AbstractSpectrumStarHub.start_transfer": {"qualname": 2, "fullname": 3, "doc": 15}, "spectrumdevice.AbstractSpectrumStarHub.stop_transfer": {"qualname": 2, "fullname": 3, "doc": 12}, "spectrumdevice.AbstractSpectrumStarHub.wait_for_transfer_to_complete": {"qualname": 2, "fullname": 3, "doc": 12}, "spectrumdevice.AbstractSpectrumStarHub.connected": {"qualname": 2, "fullname": 3, "doc": 4}, "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"qualname": 2, "fullname": 3, "doc": 30}, "spectrumdevice.AbstractSpectrumStarHub.clock_mode": {"qualname": 2, "fullname": 3, "doc": 13}, "spectrumdevice.AbstractSpectrumStarHub.set_clock_mode": {"qualname": 2, "fullname": 3, "doc": 12}, "spectrumdevice.AbstractSpectrumStarHub.sample_rate_in_hz": {"qualname": 2, "fullname": 3, "doc": 14}, "spectrumdevice.AbstractSpectrumStarHub.set_sample_rate_in_hz": {"qualname": 2, "fullname": 3, "doc": 17}, "spectrumdevice.AbstractSpectrumStarHub.trigger_sources": {"qualname": 2, "fullname": 3, "doc": 22}, "spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources": {"qualname": 2, "fullname": 3, "doc": 22}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode": {"qualname": 2, "fullname": 3, "doc": 21}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode": {"qualname": 2, "fullname": 3, "doc": 21}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_level_in_mv": {"qualname": 2, "fullname": 3, "doc": 21}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"qualname": 2, "fullname": 3, "doc": 23}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples": {"qualname": 2, "fullname": 3, "doc": 23}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"qualname": 2, "fullname": 3, "doc": 24}, "spectrumdevice.AbstractSpectrumStarHub.apply_channel_enabling": {"qualname": 2, "fullname": 3, "doc": 11}, "spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"qualname": 2, "fullname": 3, "doc": 24}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"qualname": 2, "fullname": 3, "doc": 23}, "spectrumdevice.AbstractSpectrumStarHub.transfer_buffers": {"qualname": 2, "fullname": 3, "doc": 20}, "spectrumdevice.AbstractSpectrumStarHub.channels": {"qualname": 2, "fullname": 3, "doc": 18}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"qualname": 2, "fullname": 3, "doc": 23}, "spectrumdevice.AbstractSpectrumStarHub.set_timeout_in_ms": {"qualname": 2, "fullname": 3, "doc": 12}, "spectrumdevice.AbstractSpectrumStarHub.feature_list": {"qualname": 2, "fullname": 3, "doc": 32}, "spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"qualname": 2, "fullname": 3, "doc": 28}, "spectrumdevice.AbstractSpectrumCard": {"qualname": 1, "fullname": 2, "doc": 11}, "spectrumdevice.AbstractSpectrumCard.__init__": {"qualname": 2, "fullname": 3, "doc": 21}, "spectrumdevice.AbstractSpectrumCard.reconnect": {"qualname": 2, "fullname": 3, "doc": 4}, "spectrumdevice.AbstractSpectrumCard.status": {"qualname": 2, "fullname": 3, "doc": 27}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"qualname": 2, "fullname": 3, "doc": 45}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"qualname": 2, "fullname": 3, "doc": 61}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"qualname": 2, "fullname": 3, "doc": 46}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"qualname": 2, "fullname": 3, "doc": 45}, "spectrumdevice.AbstractSpectrumCard.disconnect": {"qualname": 2, "fullname": 3, "doc": 3}, "spectrumdevice.AbstractSpectrumCard.connected": {"qualname": 2, "fullname": 3, "doc": 6}, "spectrumdevice.AbstractSpectrumCard.channels": {"qualname": 2, "fullname": 3, "doc": 28}, "spectrumdevice.AbstractSpectrumCard.enabled_channels": {"qualname": 2, "fullname": 3, "doc": 11}, "spectrumdevice.AbstractSpectrumCard.set_enabled_channels": {"qualname": 2, "fullname": 3, "doc": 10}, "spectrumdevice.AbstractSpectrumCard.trigger_sources": {"qualname": 2, "fullname": 3, "doc": 10}, "spectrumdevice.AbstractSpectrumCard.set_trigger_sources": {"qualname": 2, "fullname": 3, "doc": 10}, "spectrumdevice.AbstractSpectrumCard.external_trigger_mode": {"qualname": 2, "fullname": 3, "doc": 15}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_mode": {"qualname": 2, "fullname": 3, "doc": 14}, "spectrumdevice.AbstractSpectrumCard.external_trigger_level_in_mv": {"qualname": 2, "fullname": 3, "doc": 22}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_level_in_mv": {"qualname": 2, "fullname": 3, "doc": 22}, "spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"qualname": 2, "fullname": 3, "doc": 26}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"qualname": 2, "fullname": 3, "doc": 27}, "spectrumdevice.AbstractSpectrumCard.apply_channel_enabling": {"qualname": 2, "fullname": 3, "doc": 11}, "spectrumdevice.AbstractSpectrumCard.timeout_in_ms": {"qualname": 2, "fullname": 3, "doc": 17}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"qualname": 2, "fullname": 3, "doc": 18}, "spectrumdevice.AbstractSpectrumCard.clock_mode": {"qualname": 2, "fullname": 3, "doc": 11}, "spectrumdevice.AbstractSpectrumCard.set_clock_mode": {"qualname": 2, "fullname": 3, "doc": 15}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"qualname": 2, "fullname": 3, "doc": 26}, "spectrumdevice.AbstractSpectrumCard.feature_list": {"qualname": 2, "fullname": 3, "doc": 25}, "spectrumdevice.AbstractSpectrumCard.sample_rate_in_hz": {"qualname": 2, "fullname": 3, "doc": 13}, "spectrumdevice.AbstractSpectrumCard.set_sample_rate_in_hz": {"qualname": 2, "fullname": 3, "doc": 13}, "spectrumdevice.AbstractSpectrumDevice": {"qualname": 1, "fullname": 2, "doc": 32}, "spectrumdevice.AbstractSpectrumDevice.reset": {"qualname": 2, "fullname": 3, "doc": 21}, "spectrumdevice.AbstractSpectrumDevice.start": {"qualname": 2, "fullname": 3, "doc": 50}, "spectrumdevice.AbstractSpectrumDevice.stop": {"qualname": 2, "fullname": 3, "doc": 23}, "spectrumdevice.AbstractSpectrumDevice.configure_trigger": {"qualname": 2, "fullname": 3, "doc": 16}, "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"qualname": 2, "fullname": 3, "doc": 54}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"qualname": 2, "fullname": 3, "doc": 57}, "spectrumdevice.AbstractSpectrumChannel": {"qualname": 1, "fullname": 2, "doc": 12}, "spectrumdevice.AbstractSpectrumChannel.__init__": {"qualname": 2, "fullname": 3, "doc": 0}, "spectrumdevice.AbstractSpectrumChannel.name": {"qualname": 2, "fullname": 3, "doc": 15}, "spectrumdevice.Measurement": {"qualname": 1, "fullname": 2, "doc": 9}, "spectrumdevice.Measurement.__init__": {"qualname": 2, "fullname": 3, "doc": 0}, "spectrumdevice.Measurement.waveforms": {"qualname": 2, "fullname": 3, "doc": 7}, "spectrumdevice.Measurement.timestamp": {"qualname": 2, "fullname": 3, "doc": 6}, "spectrumdevice.settings": {"qualname": 0, "fullname": 2, "doc": 16}, "spectrumdevice.settings.AcquisitionSettings": {"qualname": 1, "fullname": 3, "doc": 9}, "spectrumdevice.settings.AcquisitionSettings.__init__": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.AcquisitionSettings.acquisition_mode": {"qualname": 2, "fullname": 4, "doc": 8}, "spectrumdevice.settings.AcquisitionSettings.sample_rate_in_hz": {"qualname": 2, "fullname": 4, "doc": 5}, "spectrumdevice.settings.AcquisitionSettings.acquisition_length_in_samples": {"qualname": 2, "fullname": 4, "doc": 5}, "spectrumdevice.settings.AcquisitionSettings.pre_trigger_length_in_samples": {"qualname": 2, "fullname": 4, "doc": 7}, "spectrumdevice.settings.AcquisitionSettings.timeout_in_ms": {"qualname": 2, "fullname": 4, "doc": 7}, "spectrumdevice.settings.AcquisitionSettings.enabled_channels": {"qualname": 2, "fullname": 4, "doc": 4}, "spectrumdevice.settings.AcquisitionSettings.vertical_ranges_in_mv": {"qualname": 2, "fullname": 4, "doc": 7}, "spectrumdevice.settings.AcquisitionSettings.vertical_offsets_in_percent": {"qualname": 2, "fullname": 4, "doc": 9}, "spectrumdevice.settings.AcquisitionSettings.timestamping_enabled": {"qualname": 2, "fullname": 4, "doc": 10}, "spectrumdevice.settings.AcquisitionSettings.number_of_averages": {"qualname": 2, "fullname": 4, "doc": 6}, "spectrumdevice.settings.TriggerSettings": {"qualname": 1, "fullname": 3, "doc": 8}, "spectrumdevice.settings.TriggerSettings.__init__": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.TriggerSettings.trigger_sources": {"qualname": 2, "fullname": 4, "doc": 3}, "spectrumdevice.settings.TriggerSettings.external_trigger_mode": {"qualname": 2, "fullname": 4, "doc": 6}, "spectrumdevice.settings.TriggerSettings.external_trigger_level_in_mv": {"qualname": 2, "fullname": 4, "doc": 10}, "spectrumdevice.settings.TriggerSettings.external_trigger_pulse_width_in_samples": {"qualname": 2, "fullname": 4, "doc": 8}, "spectrumdevice.settings.AcquisitionMode": {"qualname": 1, "fullname": 3, "doc": 14}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_SINGLE": {"qualname": 2, "fullname": 4, "doc": 8}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_MULTI": {"qualname": 2, "fullname": 4, "doc": 6}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_AVERAGE": {"qualname": 2, "fullname": 4, "doc": 8}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_AVERAGE": {"qualname": 2, "fullname": 4, "doc": 8}, "spectrumdevice.settings.ClockMode": {"qualname": 1, "fullname": 3, "doc": 14}, "spectrumdevice.settings.ClockMode.SPC_CM_INTPLL": {"qualname": 2, "fullname": 4, "doc": 10}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTERNAL": {"qualname": 2, "fullname": 4, "doc": 8}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTREFCLOCK": {"qualname": 2, "fullname": 4, "doc": 8}, "spectrumdevice.settings.CardFeature": {"qualname": 1, "fullname": 3, "doc": 19}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_MULTI": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_GATE": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_DIGITAL": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_TIMESTAMP": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUB_4_5_6EXTM_8EXTM": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUB_8_16_16EXTM": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_ABA": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_BASEXIO": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_AMPLIFIER_10V": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUBSYSMASTER": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_DIFFMODE": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_SEQUENCE": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_AMPMODULE_10V": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUBSYSSLAVE": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_NETBOX": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_REMOTESERVER": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_SCAPP": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_CUSTOMMOD_MASK": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.AdvancedCardFeature": {"qualname": 1, "fullname": 3, "doc": 20}, "spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_SEGSTAT": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_SEGAVERAGE": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_BOXCAR": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.IOLineMode": {"qualname": 1, "fullname": 3, "doc": 27}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_DISABLE": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_ASYNCIN": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_ASYNCOUT": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_DIGIN": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_TRIGIN": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_DIGOUT": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_TRIGOUT": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_RUNSTATE": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_ARMSTATE": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_CONTOUTMARK": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.AvailableIOModes": {"qualname": 1, "fullname": 3, "doc": 18}, "spectrumdevice.settings.AvailableIOModes.__init__": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.AvailableIOModes.X0": {"qualname": 2, "fullname": 4, "doc": 6}, "spectrumdevice.settings.AvailableIOModes.X1": {"qualname": 2, "fullname": 4, "doc": 6}, "spectrumdevice.settings.AvailableIOModes.X2": {"qualname": 2, "fullname": 4, "doc": 6}, "spectrumdevice.settings.AvailableIOModes.X3": {"qualname": 2, "fullname": 4, "doc": 6}, "spectrumdevice.settings.TransferBuffer": {"qualname": 1, "fullname": 3, "doc": 25}, "spectrumdevice.settings.TransferBuffer.__init__": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.TransferBuffer.type": {"qualname": 2, "fullname": 4, "doc": 9}, "spectrumdevice.settings.TransferBuffer.direction": {"qualname": 2, "fullname": 4, "doc": 10}, "spectrumdevice.settings.TransferBuffer.board_memory_offset_bytes": {"qualname": 2, "fullname": 4, "doc": 12}, "spectrumdevice.settings.TransferBuffer.data_array": {"qualname": 2, "fullname": 4, "doc": 7}, "spectrumdevice.settings.TransferBuffer.copy_contents": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.TransferBuffer.data_array_pointer": {"qualname": 2, "fullname": 4, "doc": 3}, "spectrumdevice.settings.TransferBuffer.data_array_length_in_bytes": {"qualname": 2, "fullname": 4, "doc": 5}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"qualname": 2, "fullname": 4, "doc": 24}, "spectrumdevice.settings.CardToPCDataTransferBuffer": {"qualname": 1, "fullname": 3, "doc": 9}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"qualname": 2, "fullname": 4, "doc": 22}, "spectrumdevice.settings.TriggerSource": {"qualname": 1, "fullname": 3, "doc": 5}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_SOFTWARE": {"qualname": 2, "fullname": 4, "doc": 8}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT0": {"qualname": 2, "fullname": 4, "doc": 6}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT1": {"qualname": 2, "fullname": 4, "doc": 5}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT2": {"qualname": 2, "fullname": 4, "doc": 5}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT3": {"qualname": 2, "fullname": 4, "doc": 5}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_NONE": {"qualname": 2, "fullname": 4, "doc": 3}, "spectrumdevice.settings.ExternalTriggerMode": {"qualname": 1, "fullname": 3, "doc": 19}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NONE": {"qualname": 2, "fullname": 4, "doc": 4}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_POS": {"qualname": 2, "fullname": 4, "doc": 9}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NEG": {"qualname": 2, "fullname": 4, "doc": 9}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_BOTH": {"qualname": 2, "fullname": 4, "doc": 8}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_HIGH": {"qualname": 2, "fullname": 4, "doc": 8}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_LOW": {"qualname": 2, "fullname": 4, "doc": 8}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"qualname": 2, "fullname": 4, "doc": 20}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"qualname": 2, "fullname": 4, "doc": 20}, "spectrumdevice.settings.CARD_STATUS_TYPE": {"qualname": 1, "fullname": 3, "doc": 0}, "spectrumdevice.settings.DEVICE_STATUS_TYPE": {"qualname": 1, "fullname": 3, "doc": 0}, "spectrumdevice.settings.StatusCode": {"qualname": 1, "fullname": 3, "doc": 13}, "spectrumdevice.settings.StatusCode.M2STAT_NONE": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_PRETRIGGER": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_TRIGGER": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_READY": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_SEGMENT_PRETRG": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_BLOCKREADY": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_END": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_OVERRUN": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_ERROR": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_BLOCKREADY": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_END": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_OVERRUN": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_ERROR": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.SpectrumRegisterLength": {"qualname": 1, "fullname": 3, "doc": 6}, "spectrumdevice.settings.SpectrumRegisterLength.THIRTY_TWO": {"qualname": 2, "fullname": 4, "doc": 3}, "spectrumdevice.settings.SpectrumRegisterLength.SIXTY_FOUR": {"qualname": 2, "fullname": 4, "doc": 3}, "spectrumdevice.settings.CardType": {"qualname": 1, "fullname": 3, "doc": 21}, "spectrumdevice.settings.CardType.TYP_M4I2210_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I2211_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I2212_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I2220_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I2221_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I2223_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I2230_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I2233_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I2234_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I2280_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I2281_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I2283_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I2290_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I2293_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I2294_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I4410_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I4411_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I4420_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I4421_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I4450_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I4451_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I4470_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I4471_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I4480_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4I4481_X8": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4X44XX_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4X4410_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4X4411_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4X4420_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4X4421_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4X4450_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4X4451_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4X4470_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4X4471_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4X4480_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M4X4481_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5911_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5912_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5913_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5916_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5920_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5921_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5922_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5923_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5926_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5930_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5931_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5932_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5933_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5936_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5940_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5941_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5942_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5943_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5946_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5960_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5961_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5962_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5966_X4": {"qualname": 2, "fullname": 4, "doc": 0}, "spectrumdevice.settings.CardType.TYP_M2P5968_X4": {"qualname": 2, "fullname": 4, "doc": 0}}, "length": 308, "save": true}, "index": {"qualname": {"root": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.SpectrumDigitiserChannel": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.convert_raw_waveform_to_voltage_waveform": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.vertical_offset_in_percent": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_offset_in_percent": {"tf": 1}}, "df": 7}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.SpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.enable_timestamping": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.get_timestamp": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.number_of_averages": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_number_of_averages": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}}, "df": 15}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_timestamp": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.enable_timestamping": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_mode": {"tf": 1}}, "df": 13}}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"spectrumdevice.settings.SpectrumRegisterLength": {"tf": 1}, "spectrumdevice.settings.SpectrumRegisterLength.THIRTY_TWO": {"tf": 1}, "spectrumdevice.settings.SpectrumRegisterLength.SIXTY_FOUR": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_SINGLE": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_AVERAGE": {"tf": 1}}, "df": 1}}}}}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_MULTI": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_AVERAGE": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.settings.ClockMode.SPC_CM_INTPLL": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.settings.ClockMode.SPC_CM_EXTERNAL": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"spectrumdevice.settings.ClockMode.SPC_CM_EXTREFCLOCK": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.settings.TriggerSource.SPC_TMASK_SOFTWARE": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"0": {"docs": {"spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT0": {"tf": 1}}, "df": 1}, "1": {"docs": {"spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT1": {"tf": 1}}, "df": 1}, "2": {"docs": {"spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT2": {"tf": 1}}, "df": 1}, "3": {"docs": {"spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT3": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.settings.TriggerSource.SPC_TMASK_NONE": {"tf": 1}}, "df": 1}}}}}}}, "_": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NONE": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NEG": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_POS": {"tf": 1}}, "df": 1}, "w": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"tf": 1}}, "df": 1}}}}}}}}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_BOTH": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_HIGH": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_LOW": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_MULTI": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_GATE": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_DIGITAL": {"tf": 1}}, "df": 1}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_DIFFMODE": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_TIMESTAMP": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "_": {"4": {"docs": {}, "df": 0, "_": {"5": {"docs": {}, "df": 0, "_": {"6": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "_": {"8": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUB_4_5_6EXTM_8EXTM": {"tf": 1}}, "df": 1}}}}}, "docs": {}, "df": 0}}}}}}, "docs": {}, "df": 0}}, "docs": {}, "df": 0}}, "8": {"docs": {}, "df": 0, "_": {"1": {"6": {"docs": {}, "df": 0, "_": {"1": {"6": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUB_8_16_16EXTM": {"tf": 1}}, "df": 1}}}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "docs": {}, "df": 0}, "s": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUBSYSMASTER": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUBSYSSLAVE": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_SEQUENCE": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_SCAPP": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_ABA": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"1": {"0": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_AMPLIFIER_10V": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"1": {"0": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_AMPMODULE_10V": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_BASEXIO": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "x": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_NETBOX": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_REMOTESERVER": {"tf": 1}}, "df": 1}}}}}}}}}}, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_CUSTOMMOD_MASK": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_SEGSTAT": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_SEGAVERAGE": {"tf": 1}}, "df": 1}}}}}}}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_BOXCAR": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}, "x": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice.settings.IOLineMode.SPCM_XMODE_DISABLE": {"tf": 1}}, "df": 1}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.settings.IOLineMode.SPCM_XMODE_DIGIN": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.IOLineMode.SPCM_XMODE_DIGOUT": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.settings.IOLineMode.SPCM_XMODE_ASYNCIN": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.IOLineMode.SPCM_XMODE_ASYNCOUT": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.IOLineMode.SPCM_XMODE_ARMSTATE": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.settings.IOLineMode.SPCM_XMODE_TRIGIN": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.IOLineMode.SPCM_XMODE_TRIGOUT": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.IOLineMode.SPCM_XMODE_RUNSTATE": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {"spectrumdevice.settings.IOLineMode.SPCM_XMODE_CONTOUTMARK": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.set_vertical_range_in_mv": {"tf": 1}}, "df": 1}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.set_vertical_offset_in_percent": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.SpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.SpectrumDigitiserCard.set_number_of_averages": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "z": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_sample_rate_in_hz": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_enabled_channels": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_mode": {"tf": 1}}, "df": 2}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_level_in_mv": {"tf": 1}}, "df": 2}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1}}, "df": 1}}}}}}}}, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_trigger_sources": {"tf": 1}}, "df": 2}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"tf": 1}}, "df": 2}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.set_clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_clock_mode": {"tf": 1}}, "df": 2}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}}, "df": 2, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}}, "df": 3}}}}}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.status": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.settings.StatusCode": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_NONE": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_PRETRIGGER": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_TRIGGER": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_READY": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_SEGMENT_PRETRG": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_BLOCKREADY": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_END": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_OVERRUN": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_ERROR": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_BLOCKREADY": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_END": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_OVERRUN": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_ERROR": {"tf": 1}}, "df": 14}}}}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1}}, "df": 2, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}}, "df": 3}}}}}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "z": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.sample_rate_in_hz": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.settings.SpectrumRegisterLength.SIXTY_FOUR": {"tf": 1}}, "df": 1}}}}}}}}}}, "_": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "_": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel.__init__": {"tf": 1}, "spectrumdevice.Measurement.__init__": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.__init__": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.__init__": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.__init__": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.__init__": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}}, "df": 14}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.convert_raw_waveform_to_voltage_waveform": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.configure_acquisition": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.AbstractSpectrumDevice.configure_trigger": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.connected": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.connected": {"tf": 1}}, "df": 2}}}}}, "p": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.TransferBuffer.copy_contents": {"tf": 1}}, "df": 1}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.clock_mode": {"tf": 1}}, "df": 2}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.settings.ClockMode": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_INTPLL": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTERNAL": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTREFCLOCK": {"tf": 1}}, "df": 4}}}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.settings.CardFeature": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_MULTI": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_GATE": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_DIGITAL": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_TIMESTAMP": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUB_4_5_6EXTM_8EXTM": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUB_8_16_16EXTM": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_ABA": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_BASEXIO": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_AMPLIFIER_10V": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUBSYSMASTER": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_DIFFMODE": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_SEQUENCE": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_AMPMODULE_10V": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUBSYSSLAVE": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_NETBOX": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_REMOTESERVER": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_SCAPP": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_CUSTOMMOD_MASK": {"tf": 1}}, "df": 19}}}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {"spectrumdevice.settings.CardToPCDataTransferBuffer": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}}}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.settings.CardType": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2210_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2211_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2212_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2220_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2221_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2223_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2230_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2233_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2234_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2280_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2281_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2283_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2290_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2293_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2294_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4410_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4411_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4420_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4421_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4450_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4451_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4470_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4471_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4480_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4481_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X44XX_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4410_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4411_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4420_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4421_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4450_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4451_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4470_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4471_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4480_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4481_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5911_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5912_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5913_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5916_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5920_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5921_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5922_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5923_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5926_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5930_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5931_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5932_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5933_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5936_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5940_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5941_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5942_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5943_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5946_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5960_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5961_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5962_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5966_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5968_X4": {"tf": 1}}, "df": 61}}}, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.settings.CARD_STATUS_TYPE": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.vertical_range_in_mv": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.settings.AcquisitionSettings.vertical_ranges_in_mv": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.vertical_offset_in_percent": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.settings.AcquisitionSettings.vertical_offsets_in_percent": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.SpectrumDigitiserCard.enable_timestamping": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.enable_timestamping": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.enable_timestamping": {"tf": 1}}, "df": 3}}}}}}}}}}, "d": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.enabled_channels": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.enabled_channels": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_mode": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_mode": {"tf": 1}}, "df": 3}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_level_in_mv": {"tf": 1}}, "df": 3}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_pulse_width_in_samples": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.settings.ExternalTriggerMode": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NONE": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_POS": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NEG": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_BOTH": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_HIGH": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_LOW": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"tf": 1}}, "df": 9}}}}}}}}}}}}}}}}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}}}}}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.Measurement.waveforms": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}}, "df": 2}}}}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_timestamp": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_timestamp": {"tf": 1}}, "df": 2}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.SpectrumDigitiserCard.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.acquisition_length_in_samples": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.SpectrumDigitiserCard.acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.acquisition_mode": {"tf": 1}}, "df": 3}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.AcquisitionSettings": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.__init__": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.acquisition_mode": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.pre_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.timeout_in_ms": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.enabled_channels": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.vertical_ranges_in_mv": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.vertical_offsets_in_percent": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.timestamping_enabled": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.number_of_averages": {"tf": 1}}, "df": 12}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.settings.AcquisitionMode": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_SINGLE": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_MULTI": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_AVERAGE": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_AVERAGE": {"tf": 1}}, "df": 5}}}}}}}}}}}}}, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.configure_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}}, "df": 5}}}}}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.AbstractSpectrumDevice": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.configure_trigger": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}}, "df": 7}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"spectrumdevice.AbstractSpectrumStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.disconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.reconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.connected": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 1}}, "df": 31}}}}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumCard": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.reconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.disconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.connected": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.feature_list": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_sample_rate_in_hz": {"tf": 1}}, "df": 30}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumChannel": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel.name": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.apply_channel_enabling": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"tf": 1}}, "df": 2}}}}}}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.settings.AvailableIOModes": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.__init__": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X0": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X1": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X2": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X3": {"tf": 1}}, "df": 6}}}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.settings.AdvancedCardFeature": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_SEGSTAT": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_SEGAVERAGE": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_BOXCAR": {"tf": 1}}, "df": 4}}}}}}}}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.SpectrumDigitiserCard.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.settings.AcquisitionSettings.pre_trigger_length_in_samples": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.SpectrumDigitiserCard.number_of_averages": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.number_of_averages": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.AbstractSpectrumChannel.name": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {"spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.settings.DEVICE_STATUS_TYPE": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.disconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.disconnect": {"tf": 1}}, "df": 2}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.TransferBuffer.direction": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"spectrumdevice.settings.TransferBuffer.data_array": {"tf": 1}}, "df": 1, "_": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.TransferBuffer.data_array_pointer": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.TransferBuffer.data_array_length_in_bytes": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}, "m": {"2": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_NONE": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_CARD_PRETRIGGER": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_CARD_TRIGGER": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_CARD_READY": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_CARD_SEGMENT_PRETRG": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_DATA_BLOCKREADY": {"tf": 1}}, "df": 1}}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_DATA_END": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_DATA_ERROR": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_DATA_OVERRUN": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_EXTRA_BLOCKREADY": {"tf": 1}}, "df": 1}}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_EXTRA_END": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_EXTRA_ERROR": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_EXTRA_OVERRUN": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}, "docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.enable_timestamping": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.start_transfer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.stop_transfer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}}, "df": 12}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}}, "df": 4}}}}}}}}}}}}}}}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.Measurement": {"tf": 1}, "spectrumdevice.Measurement.__init__": {"tf": 1}, "spectrumdevice.Measurement.waveforms": {"tf": 1}, "spectrumdevice.Measurement.timestamp": {"tf": 1}}, "df": 4}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.reconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.reconnect": {"tf": 1}}, "df": 2}}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.trigger_sources": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.trigger_sources": {"tf": 1}}, "df": 3}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.TriggerSettings": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.__init__": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.trigger_sources": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_mode": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_pulse_width_in_samples": {"tf": 1}}, "df": 6}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.settings.TriggerSource": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_SOFTWARE": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT0": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT1": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT2": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT3": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_NONE": {"tf": 1}}, "df": 7}}}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}}, "df": 2}}}}}, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {"spectrumdevice.settings.TransferBuffer": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.__init__": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.type": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.direction": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.board_memory_offset_bytes": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.copy_contents": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array_pointer": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array_length_in_bytes": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}}, "df": 10}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.timeout_in_ms": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.timeout_in_ms": {"tf": 1}}, "df": 3}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.Measurement.timestamp": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.settings.AcquisitionSettings.timestamping_enabled": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.settings.TransferBuffer.type": {"tf": 1}}, "df": 1}, "_": {"docs": {}, "df": 0, "m": {"2": {"docs": {}, "df": 0, "p": {"5": {"9": {"1": {"1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5911_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "2": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5912_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "3": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5913_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "6": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5916_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "2": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5920_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5921_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "2": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5922_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "3": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5923_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "6": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5926_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "3": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5930_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5931_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "2": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5932_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "3": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5933_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "6": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5936_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "4": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5940_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5941_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "2": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5942_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "3": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5943_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "6": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5946_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "6": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5960_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5961_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "2": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5962_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "6": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5966_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "8": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5968_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "4": {"docs": {}, "df": 0, "i": {"2": {"2": {"1": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2210_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2211_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "2": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2212_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "2": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2220_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2221_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "3": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2223_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "3": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2230_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "3": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2233_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "4": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2234_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "8": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2280_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2281_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "3": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2283_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "9": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2290_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "3": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2293_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "4": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2294_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "4": {"4": {"1": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I4410_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I4411_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "2": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I4420_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I4421_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "5": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I4450_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I4451_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "7": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I4470_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I4471_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "8": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I4480_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I4481_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "x": {"4": {"4": {"1": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M4X4410_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M4X4411_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "2": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M4X4420_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M4X4421_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "5": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M4X4450_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M4X4451_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "7": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M4X4470_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M4X4471_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "8": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M4X4480_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M4X4481_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M4X44XX_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "docs": {}, "df": 0}}}}, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "o": {"docs": {"spectrumdevice.settings.SpectrumRegisterLength.THIRTY_TWO": {"tf": 1}}, "df": 1}}}}}}}}}}, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.feature_list": {"tf": 1}}, "df": 2}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.settings.IOLineMode": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_DISABLE": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_ASYNCIN": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_ASYNCOUT": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_DIGIN": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_TRIGIN": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_DIGOUT": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_TRIGOUT": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_RUNSTATE": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_ARMSTATE": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_CONTOUTMARK": {"tf": 1}}, "df": 11}}}}}}}}}, "x": {"0": {"docs": {"spectrumdevice.settings.AvailableIOModes.X0": {"tf": 1}}, "df": 1}, "1": {"docs": {"spectrumdevice.settings.AvailableIOModes.X1": {"tf": 1}}, "df": 1}, "2": {"docs": {"spectrumdevice.settings.AvailableIOModes.X2": {"tf": 1}}, "df": 1}, "3": {"docs": {"spectrumdevice.settings.AvailableIOModes.X3": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.TransferBuffer.board_memory_offset_bytes": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}, "fullname": {"root": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.convert_raw_waveform_to_voltage_waveform": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.vertical_offset_in_percent": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_offset_in_percent": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.enable_timestamping": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.get_timestamp": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.number_of_averages": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_number_of_averages": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_timestamp": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.enable_timestamping": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.enable_timestamping": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.start_transfer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.stop_transfer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.configure_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.disconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.reconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.connected": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.reconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.disconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.connected": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.feature_list": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.configure_trigger": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel.name": {"tf": 1}, "spectrumdevice.Measurement": {"tf": 1}, "spectrumdevice.Measurement.__init__": {"tf": 1}, "spectrumdevice.Measurement.waveforms": {"tf": 1}, "spectrumdevice.Measurement.timestamp": {"tf": 1}, "spectrumdevice.settings": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.__init__": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.acquisition_mode": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.pre_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.timeout_in_ms": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.enabled_channels": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.vertical_ranges_in_mv": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.vertical_offsets_in_percent": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.timestamping_enabled": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.number_of_averages": {"tf": 1}, "spectrumdevice.settings.TriggerSettings": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.__init__": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.trigger_sources": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_mode": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_SINGLE": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_MULTI": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_AVERAGE": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_AVERAGE": {"tf": 1}, "spectrumdevice.settings.ClockMode": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_INTPLL": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTERNAL": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTREFCLOCK": {"tf": 1}, "spectrumdevice.settings.CardFeature": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_MULTI": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_GATE": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_DIGITAL": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_TIMESTAMP": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUB_4_5_6EXTM_8EXTM": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUB_8_16_16EXTM": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_ABA": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_BASEXIO": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_AMPLIFIER_10V": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUBSYSMASTER": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_DIFFMODE": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_SEQUENCE": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_AMPMODULE_10V": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUBSYSSLAVE": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_NETBOX": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_REMOTESERVER": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_SCAPP": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_CUSTOMMOD_MASK": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_SEGSTAT": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_SEGAVERAGE": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_BOXCAR": {"tf": 1}, "spectrumdevice.settings.IOLineMode": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_DISABLE": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_ASYNCIN": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_ASYNCOUT": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_DIGIN": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_TRIGIN": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_DIGOUT": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_TRIGOUT": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_RUNSTATE": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_ARMSTATE": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_CONTOUTMARK": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.__init__": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X0": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X1": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X2": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X3": {"tf": 1}, "spectrumdevice.settings.TransferBuffer": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.__init__": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.type": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.direction": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.board_memory_offset_bytes": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.copy_contents": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array_pointer": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array_length_in_bytes": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}, "spectrumdevice.settings.TriggerSource": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_SOFTWARE": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT0": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT1": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT2": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT3": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_NONE": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NONE": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_POS": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NEG": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_BOTH": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_HIGH": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_LOW": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"tf": 1}, "spectrumdevice.settings.CARD_STATUS_TYPE": {"tf": 1}, "spectrumdevice.settings.DEVICE_STATUS_TYPE": {"tf": 1}, "spectrumdevice.settings.StatusCode": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_NONE": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_PRETRIGGER": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_TRIGGER": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_READY": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_SEGMENT_PRETRG": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_BLOCKREADY": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_END": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_OVERRUN": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_ERROR": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_BLOCKREADY": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_END": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_OVERRUN": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_ERROR": {"tf": 1}, "spectrumdevice.settings.SpectrumRegisterLength": {"tf": 1}, "spectrumdevice.settings.SpectrumRegisterLength.THIRTY_TWO": {"tf": 1}, "spectrumdevice.settings.SpectrumRegisterLength.SIXTY_FOUR": {"tf": 1}, "spectrumdevice.settings.CardType": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2210_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2211_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2212_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2220_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2221_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2223_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2230_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2233_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2234_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2280_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2281_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2283_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2290_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2293_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2294_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4410_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4411_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4420_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4421_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4450_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4451_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4470_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4471_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4480_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4481_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X44XX_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4410_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4411_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4420_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4421_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4450_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4451_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4470_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4471_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4480_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4481_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5911_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5912_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5913_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5916_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5920_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5921_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5922_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5923_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5926_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5930_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5931_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5932_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5933_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5936_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5940_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5941_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5942_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5943_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5946_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5960_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5961_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5962_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5966_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5968_X4": {"tf": 1}}, "df": 308}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.SpectrumDigitiserChannel": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.convert_raw_waveform_to_voltage_waveform": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.vertical_offset_in_percent": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_offset_in_percent": {"tf": 1}}, "df": 7}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.SpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.enable_timestamping": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.get_timestamp": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.number_of_averages": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_number_of_averages": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}}, "df": 15}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_timestamp": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.enable_timestamping": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_mode": {"tf": 1}}, "df": 13}}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"spectrumdevice.settings.SpectrumRegisterLength": {"tf": 1}, "spectrumdevice.settings.SpectrumRegisterLength.THIRTY_TWO": {"tf": 1}, "spectrumdevice.settings.SpectrumRegisterLength.SIXTY_FOUR": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_SINGLE": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_AVERAGE": {"tf": 1}}, "df": 1}}}}}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_MULTI": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_AVERAGE": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.settings.ClockMode.SPC_CM_INTPLL": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.settings.ClockMode.SPC_CM_EXTERNAL": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"spectrumdevice.settings.ClockMode.SPC_CM_EXTREFCLOCK": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.settings.TriggerSource.SPC_TMASK_SOFTWARE": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"0": {"docs": {"spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT0": {"tf": 1}}, "df": 1}, "1": {"docs": {"spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT1": {"tf": 1}}, "df": 1}, "2": {"docs": {"spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT2": {"tf": 1}}, "df": 1}, "3": {"docs": {"spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT3": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.settings.TriggerSource.SPC_TMASK_NONE": {"tf": 1}}, "df": 1}}}}}}}, "_": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NONE": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NEG": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_POS": {"tf": 1}}, "df": 1}, "w": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"tf": 1}}, "df": 1}}}}}}}}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_BOTH": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_HIGH": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_LOW": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_MULTI": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_GATE": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_DIGITAL": {"tf": 1}}, "df": 1}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_DIFFMODE": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_TIMESTAMP": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "_": {"4": {"docs": {}, "df": 0, "_": {"5": {"docs": {}, "df": 0, "_": {"6": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "_": {"8": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUB_4_5_6EXTM_8EXTM": {"tf": 1}}, "df": 1}}}}}, "docs": {}, "df": 0}}}}}}, "docs": {}, "df": 0}}, "docs": {}, "df": 0}}, "8": {"docs": {}, "df": 0, "_": {"1": {"6": {"docs": {}, "df": 0, "_": {"1": {"6": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUB_8_16_16EXTM": {"tf": 1}}, "df": 1}}}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "docs": {}, "df": 0}, "s": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUBSYSMASTER": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUBSYSSLAVE": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_SEQUENCE": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_SCAPP": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_ABA": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"1": {"0": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_AMPLIFIER_10V": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"1": {"0": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_AMPMODULE_10V": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_BASEXIO": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "x": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_NETBOX": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_REMOTESERVER": {"tf": 1}}, "df": 1}}}}}}}}}}, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {"spectrumdevice.settings.CardFeature.SPCM_FEAT_CUSTOMMOD_MASK": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_SEGSTAT": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_SEGAVERAGE": {"tf": 1}}, "df": 1}}}}}}}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_BOXCAR": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}, "x": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice.settings.IOLineMode.SPCM_XMODE_DISABLE": {"tf": 1}}, "df": 1}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.settings.IOLineMode.SPCM_XMODE_DIGIN": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.IOLineMode.SPCM_XMODE_DIGOUT": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.settings.IOLineMode.SPCM_XMODE_ASYNCIN": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.IOLineMode.SPCM_XMODE_ASYNCOUT": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.IOLineMode.SPCM_XMODE_ARMSTATE": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.settings.IOLineMode.SPCM_XMODE_TRIGIN": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.IOLineMode.SPCM_XMODE_TRIGOUT": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.IOLineMode.SPCM_XMODE_RUNSTATE": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {"spectrumdevice.settings.IOLineMode.SPCM_XMODE_CONTOUTMARK": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.__init__": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.acquisition_mode": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.pre_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.timeout_in_ms": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.enabled_channels": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.vertical_ranges_in_mv": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.vertical_offsets_in_percent": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.timestamping_enabled": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.number_of_averages": {"tf": 1}, "spectrumdevice.settings.TriggerSettings": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.__init__": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.trigger_sources": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_mode": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_SINGLE": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_MULTI": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_AVERAGE": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_AVERAGE": {"tf": 1}, "spectrumdevice.settings.ClockMode": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_INTPLL": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTERNAL": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTREFCLOCK": {"tf": 1}, "spectrumdevice.settings.CardFeature": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_MULTI": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_GATE": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_DIGITAL": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_TIMESTAMP": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUB_4_5_6EXTM_8EXTM": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUB_8_16_16EXTM": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_ABA": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_BASEXIO": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_AMPLIFIER_10V": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUBSYSMASTER": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_DIFFMODE": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_SEQUENCE": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_AMPMODULE_10V": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUBSYSSLAVE": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_NETBOX": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_REMOTESERVER": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_SCAPP": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_CUSTOMMOD_MASK": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_SEGSTAT": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_SEGAVERAGE": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_BOXCAR": {"tf": 1}, "spectrumdevice.settings.IOLineMode": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_DISABLE": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_ASYNCIN": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_ASYNCOUT": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_DIGIN": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_TRIGIN": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_DIGOUT": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_TRIGOUT": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_RUNSTATE": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_ARMSTATE": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_CONTOUTMARK": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.__init__": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X0": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X1": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X2": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X3": {"tf": 1}, "spectrumdevice.settings.TransferBuffer": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.__init__": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.type": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.direction": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.board_memory_offset_bytes": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.copy_contents": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array_pointer": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array_length_in_bytes": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}, "spectrumdevice.settings.TriggerSource": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_SOFTWARE": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT0": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT1": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT2": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT3": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_NONE": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NONE": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_POS": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NEG": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_BOTH": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_HIGH": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_LOW": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"tf": 1}, "spectrumdevice.settings.CARD_STATUS_TYPE": {"tf": 1}, "spectrumdevice.settings.DEVICE_STATUS_TYPE": {"tf": 1}, "spectrumdevice.settings.StatusCode": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_NONE": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_PRETRIGGER": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_TRIGGER": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_READY": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_SEGMENT_PRETRG": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_BLOCKREADY": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_END": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_OVERRUN": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_ERROR": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_BLOCKREADY": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_END": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_OVERRUN": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_ERROR": {"tf": 1}, "spectrumdevice.settings.SpectrumRegisterLength": {"tf": 1}, "spectrumdevice.settings.SpectrumRegisterLength.THIRTY_TWO": {"tf": 1}, "spectrumdevice.settings.SpectrumRegisterLength.SIXTY_FOUR": {"tf": 1}, "spectrumdevice.settings.CardType": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2210_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2211_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2212_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2220_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2221_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2223_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2230_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2233_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2234_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2280_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2281_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2283_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2290_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2293_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2294_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4410_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4411_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4420_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4421_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4450_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4451_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4470_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4471_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4480_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4481_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X44XX_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4410_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4411_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4420_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4421_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4450_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4451_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4470_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4471_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4480_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4481_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5911_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5912_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5913_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5916_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5920_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5921_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5922_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5923_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5926_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5930_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5931_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5932_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5933_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5936_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5940_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5941_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5942_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5943_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5946_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5960_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5961_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5962_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5966_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5968_X4": {"tf": 1}}, "df": 176, "_": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.set_vertical_range_in_mv": {"tf": 1}}, "df": 1}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.set_vertical_offset_in_percent": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.SpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.SpectrumDigitiserCard.set_number_of_averages": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "z": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_sample_rate_in_hz": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_enabled_channels": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_mode": {"tf": 1}}, "df": 2}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_level_in_mv": {"tf": 1}}, "df": 2}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1}}, "df": 1}}}}}}}}, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_trigger_sources": {"tf": 1}}, "df": 2}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"tf": 1}}, "df": 2}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.set_clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_clock_mode": {"tf": 1}}, "df": 2}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}}, "df": 2, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}}, "df": 3}}}}}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.status": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.settings.StatusCode": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_NONE": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_PRETRIGGER": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_TRIGGER": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_READY": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_CARD_SEGMENT_PRETRG": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_BLOCKREADY": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_END": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_OVERRUN": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_DATA_ERROR": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_BLOCKREADY": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_END": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_OVERRUN": {"tf": 1}, "spectrumdevice.settings.StatusCode.M2STAT_EXTRA_ERROR": {"tf": 1}}, "df": 14}}}}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1}}, "df": 2, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}}, "df": 3}}}}}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "z": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.sample_rate_in_hz": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.settings.SpectrumRegisterLength.SIXTY_FOUR": {"tf": 1}}, "df": 1}}}}}}}}}}, "_": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "_": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel.__init__": {"tf": 1}, "spectrumdevice.Measurement.__init__": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.__init__": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.__init__": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.__init__": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.__init__": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}}, "df": 14}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.convert_raw_waveform_to_voltage_waveform": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.configure_acquisition": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.AbstractSpectrumDevice.configure_trigger": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.connected": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.connected": {"tf": 1}}, "df": 2}}}}}, "p": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.TransferBuffer.copy_contents": {"tf": 1}}, "df": 1}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.clock_mode": {"tf": 1}}, "df": 2}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.settings.ClockMode": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_INTPLL": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTERNAL": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTREFCLOCK": {"tf": 1}}, "df": 4}}}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.settings.CardFeature": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_MULTI": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_GATE": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_DIGITAL": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_TIMESTAMP": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUB_4_5_6EXTM_8EXTM": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUB_8_16_16EXTM": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_ABA": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_BASEXIO": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_AMPLIFIER_10V": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUBSYSMASTER": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_DIFFMODE": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_SEQUENCE": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_AMPMODULE_10V": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_STARHUBSYSSLAVE": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_NETBOX": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_REMOTESERVER": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_SCAPP": {"tf": 1}, "spectrumdevice.settings.CardFeature.SPCM_FEAT_CUSTOMMOD_MASK": {"tf": 1}}, "df": 19}}}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {"spectrumdevice.settings.CardToPCDataTransferBuffer": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}}}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.settings.CardType": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2210_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2211_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2212_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2220_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2221_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2223_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2230_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2233_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2234_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2280_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2281_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2283_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2290_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2293_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I2294_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4410_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4411_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4420_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4421_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4450_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4451_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4470_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4471_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4480_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4I4481_X8": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X44XX_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4410_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4411_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4420_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4421_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4450_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4451_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4470_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4471_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4480_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M4X4481_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5911_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5912_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5913_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5916_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5920_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5921_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5922_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5923_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5926_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5930_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5931_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5932_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5933_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5936_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5940_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5941_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5942_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5943_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5946_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5960_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5961_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5962_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5966_X4": {"tf": 1}, "spectrumdevice.settings.CardType.TYP_M2P5968_X4": {"tf": 1}}, "df": 61}}}, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.settings.CARD_STATUS_TYPE": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.vertical_range_in_mv": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.settings.AcquisitionSettings.vertical_ranges_in_mv": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.vertical_offset_in_percent": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.settings.AcquisitionSettings.vertical_offsets_in_percent": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.SpectrumDigitiserCard.enable_timestamping": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.enable_timestamping": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.enable_timestamping": {"tf": 1}}, "df": 3}}}}}}}}}}, "d": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.enabled_channels": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.enabled_channels": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_mode": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_mode": {"tf": 1}}, "df": 3}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_level_in_mv": {"tf": 1}}, "df": 3}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_pulse_width_in_samples": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.settings.ExternalTriggerMode": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NONE": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_POS": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NEG": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_BOTH": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_HIGH": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_LOW": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"tf": 1}}, "df": 9}}}}}}}}}}}}}}}}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}}}}}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.Measurement.waveforms": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}}, "df": 2}}}}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_timestamp": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_timestamp": {"tf": 1}}, "df": 2}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.SpectrumDigitiserCard.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.acquisition_length_in_samples": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.SpectrumDigitiserCard.acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.acquisition_mode": {"tf": 1}}, "df": 3}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.AcquisitionSettings": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.__init__": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.acquisition_mode": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.pre_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.timeout_in_ms": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.enabled_channels": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.vertical_ranges_in_mv": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.vertical_offsets_in_percent": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.timestamping_enabled": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.number_of_averages": {"tf": 1}}, "df": 12}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.settings.AcquisitionMode": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_SINGLE": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_MULTI": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_AVERAGE": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_AVERAGE": {"tf": 1}}, "df": 5}}}}}}}}}}}}}, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.configure_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}}, "df": 5}}}}}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.AbstractSpectrumDevice": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.configure_trigger": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}}, "df": 7}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"spectrumdevice.AbstractSpectrumStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.disconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.reconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.connected": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 1}}, "df": 31}}}}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumCard": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.reconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.disconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.connected": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.feature_list": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_sample_rate_in_hz": {"tf": 1}}, "df": 30}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumChannel": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel.name": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.apply_channel_enabling": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"tf": 1}}, "df": 2}}}}}}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.settings.AvailableIOModes": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.__init__": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X0": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X1": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X2": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X3": {"tf": 1}}, "df": 6}}}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.settings.AdvancedCardFeature": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_SEGSTAT": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_SEGAVERAGE": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature.SPCM_FEAT_EXTFW_BOXCAR": {"tf": 1}}, "df": 4}}}}}}}}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.SpectrumDigitiserCard.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.settings.AcquisitionSettings.pre_trigger_length_in_samples": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.SpectrumDigitiserCard.number_of_averages": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.number_of_averages": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.AbstractSpectrumChannel.name": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {"spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.settings.DEVICE_STATUS_TYPE": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.disconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.disconnect": {"tf": 1}}, "df": 2}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.TransferBuffer.direction": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"spectrumdevice.settings.TransferBuffer.data_array": {"tf": 1}}, "df": 1, "_": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.TransferBuffer.data_array_pointer": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.TransferBuffer.data_array_length_in_bytes": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}, "m": {"2": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_NONE": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_CARD_PRETRIGGER": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_CARD_TRIGGER": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_CARD_READY": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_CARD_SEGMENT_PRETRG": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_DATA_BLOCKREADY": {"tf": 1}}, "df": 1}}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_DATA_END": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_DATA_ERROR": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_DATA_OVERRUN": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_EXTRA_BLOCKREADY": {"tf": 1}}, "df": 1}}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_EXTRA_END": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_EXTRA_ERROR": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.settings.StatusCode.M2STAT_EXTRA_OVERRUN": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}, "docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.enable_timestamping": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.start_transfer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.stop_transfer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}}, "df": 12}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}}, "df": 4}}}}}}}}}}}}}}}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.Measurement": {"tf": 1}, "spectrumdevice.Measurement.__init__": {"tf": 1}, "spectrumdevice.Measurement.waveforms": {"tf": 1}, "spectrumdevice.Measurement.timestamp": {"tf": 1}}, "df": 4}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.reconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.reconnect": {"tf": 1}}, "df": 2}}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.trigger_sources": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.trigger_sources": {"tf": 1}}, "df": 3}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.TriggerSettings": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.__init__": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.trigger_sources": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_mode": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_pulse_width_in_samples": {"tf": 1}}, "df": 6}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.settings.TriggerSource": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_SOFTWARE": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT0": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT1": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT2": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT3": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_NONE": {"tf": 1}}, "df": 7}}}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}}, "df": 2}}}}}, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {"spectrumdevice.settings.TransferBuffer": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.__init__": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.type": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.direction": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.board_memory_offset_bytes": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.copy_contents": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array_pointer": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array_length_in_bytes": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}}, "df": 10}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.timeout_in_ms": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.timeout_in_ms": {"tf": 1}}, "df": 3}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.Measurement.timestamp": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.settings.AcquisitionSettings.timestamping_enabled": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.settings.TransferBuffer.type": {"tf": 1}}, "df": 1}, "_": {"docs": {}, "df": 0, "m": {"2": {"docs": {}, "df": 0, "p": {"5": {"9": {"1": {"1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5911_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "2": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5912_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "3": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5913_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "6": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5916_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "2": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5920_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5921_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "2": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5922_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "3": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5923_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "6": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5926_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "3": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5930_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5931_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "2": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5932_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "3": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5933_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "6": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5936_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "4": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5940_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5941_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "2": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5942_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "3": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5943_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "6": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5946_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "6": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5960_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5961_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "2": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5962_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "6": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5966_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "8": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M2P5968_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "4": {"docs": {}, "df": 0, "i": {"2": {"2": {"1": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2210_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2211_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "2": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2212_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "2": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2220_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2221_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "3": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2223_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "3": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2230_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "3": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2233_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "4": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2234_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "8": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2280_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2281_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "3": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2283_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "9": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2290_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "3": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2293_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "4": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I2294_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "4": {"4": {"1": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I4410_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I4411_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "2": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I4420_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I4421_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "5": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I4450_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I4451_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "7": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I4470_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I4471_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "8": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I4480_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"8": {"docs": {"spectrumdevice.settings.CardType.TYP_M4I4481_X8": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "x": {"4": {"4": {"1": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M4X4410_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M4X4411_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "2": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M4X4420_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M4X4421_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "5": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M4X4450_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M4X4451_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "7": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M4X4470_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M4X4471_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "8": {"0": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M4X4480_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M4X4481_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "x": {"4": {"docs": {"spectrumdevice.settings.CardType.TYP_M4X44XX_X4": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "docs": {}, "df": 0}}}}, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "o": {"docs": {"spectrumdevice.settings.SpectrumRegisterLength.THIRTY_TWO": {"tf": 1}}, "df": 1}}}}}}}}}}, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.feature_list": {"tf": 1}}, "df": 2}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.settings.IOLineMode": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_DISABLE": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_ASYNCIN": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_ASYNCOUT": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_DIGIN": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_TRIGIN": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_DIGOUT": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_TRIGOUT": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_RUNSTATE": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_ARMSTATE": {"tf": 1}, "spectrumdevice.settings.IOLineMode.SPCM_XMODE_CONTOUTMARK": {"tf": 1}}, "df": 11}}}}}}}}}, "x": {"0": {"docs": {"spectrumdevice.settings.AvailableIOModes.X0": {"tf": 1}}, "df": 1}, "1": {"docs": {"spectrumdevice.settings.AvailableIOModes.X1": {"tf": 1}}, "df": 1}, "2": {"docs": {"spectrumdevice.settings.AvailableIOModes.X2": {"tf": 1}}, "df": 1}, "3": {"docs": {"spectrumdevice.settings.AvailableIOModes.X3": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.TransferBuffer.board_memory_offset_bytes": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}, "doc": {"root": {"0": {"docs": {"spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.board_memory_offset_bytes": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT0": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_POS": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NEG": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_BOTH": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_HIGH": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_LOW": {"tf": 1}}, "df": 17}, "1": {"0": {"docs": {"spectrumdevice.settings.AcquisitionSettings.timestamping_enabled": {"tf": 1}}, "df": 1}, "docs": {"spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}}, "df": 7, "d": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.Measurement.waveforms": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array": {"tf": 1}}, "df": 7}}, "2": {"0": {"docs": {"spectrumdevice.settings.ClockMode.SPC_CM_INTPLL": {"tf": 1}}, "df": 1}, "2": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "x": {"docs": {"spectrumdevice.settings.CardType": {"tf": 1}}, "df": 1}}}, "docs": {"spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}}, "df": 2}, "3": {"2": {"docs": {"spectrumdevice.settings.SpectrumRegisterLength.THIRTY_TWO": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "4": {"4": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "x": {"docs": {"spectrumdevice.settings.CardType": {"tf": 1}}, "df": 1}}}, "docs": {"spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}}, "df": 1}, "5": {"9": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "x": {"docs": {"spectrumdevice.settings.CardType": {"tf": 1}}, "df": 1}}}, "docs": {}, "df": 0}, "6": {"4": {"docs": {"spectrumdevice.settings.SpectrumRegisterLength.SIXTY_FOUR": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "8": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_HIGH": {"tf": 1}}, "df": 2}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice": {"tf": 2}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1.7320508075688772}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}, "spectrumdevice.settings": {"tf": 1.4142135623730951}, "spectrumdevice.settings.TransferBuffer": {"tf": 1}}, "df": 11}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}}, "df": 3}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.apply_channel_enabling": {"tf": 1}}, "df": 2}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice": {"tf": 1.4142135623730951}}, "df": 7}}, "n": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}}, "df": 2}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.disconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.reconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard": {"tf": 1}}, "df": 9}}, "z": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.sample_rate_in_hz": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.set_sample_rate_in_hz": {"tf": 1.4142135623730951}}, "df": 4}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_level_in_mv": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.external_trigger_level_in_mv": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_level_in_mv": {"tf": 1.7320508075688772}, "spectrumdevice.settings.TriggerSettings.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_POS": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NEG": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_BOTH": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_HIGH": {"tf": 1.4142135623730951}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_LOW": {"tf": 1.4142135623730951}}, "df": 11}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"spectrumdevice.SpectrumDigitiserCard.acquisition_length_in_samples": {"tf": 1.7320508075688772}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1.7320508075688772}, "spectrumdevice.SpectrumDigitiserCard.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1.7320508075688772}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1.4142135623730951}, "spectrumdevice.settings.AcquisitionSettings.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.settings.TransferBuffer": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array_length_in_bytes": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}, "spectrumdevice.settings.SpectrumRegisterLength": {"tf": 1}}, "df": 23, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.SpectrumDigitiserCard.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}}, "df": 9}}}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 2}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1.7320508075688772}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.status": {"tf": 2}, "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.trigger_sources": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.transfer_buffers": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 2.23606797749979}, "spectrumdevice.AbstractSpectrumCard.status": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.trigger_sources": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.set_trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.feature_list": {"tf": 2}, "spectrumdevice.AbstractSpectrumDevice": {"tf": 1}, "spectrumdevice.Measurement.waveforms": {"tf": 1}, "spectrumdevice.settings.CardFeature": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature": {"tf": 1}, "spectrumdevice.settings.IOLineMode": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes": {"tf": 1}, "spectrumdevice.settings.CardType": {"tf": 1}}, "df": 29, "[": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_enabled_channels": {"tf": 1}}, "df": 5}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.status": {"tf": 1}}, "df": 1, "[": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumCard.status": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.feature_list": {"tf": 1}}, "df": 2}}}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"tf": 1.4142135623730951}, "spectrumdevice.settings.IOLineMode": {"tf": 1.4142135623730951}, "spectrumdevice.settings.AvailableIOModes": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X0": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X1": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X2": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X3": {"tf": 1}}, "df": 8}}}, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}}, "df": 2}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1.4142135623730951}}, "df": 3}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.settings.AcquisitionSettings.timeout_in_ms": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"tf": 1}}, "df": 2}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT1": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT2": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT3": {"tf": 1}}, "df": 3}}}, "w": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_LOW": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_timestamp": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_timestamp": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"tf": 1}}, "df": 3}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.settings.AcquisitionSettings.timestamping_enabled": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}, "spectrumdevice.Measurement.timestamp": {"tf": 1}}, "df": 15}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}}, "df": 4}}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.vertical_offset_in_percent": {"tf": 1.7320508075688772}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_offset_in_percent": {"tf": 1.7320508075688772}, "spectrumdevice.settings.AcquisitionSettings.vertical_offsets_in_percent": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.board_memory_offset_bytes": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}}, "df": 5}}}}}, "n": {"docs": {"spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_SINGLE": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"tf": 1}}, "df": 17, "c": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1.4142135623730951}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}}, "df": 6}, "_": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1}}, "df": 2}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}}, "df": 2}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice.AbstractSpectrumCard": {"tf": 1}}, "df": 1}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"tf": 1}}, "df": 2, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice": {"tf": 1}}, "df": 4, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}}, "df": 2}}}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.timeout_in_ms": {"tf": 1}}, "df": 6, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "y": {"docs": {"spectrumdevice.AbstractSpectrumDevice": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1.4142135623730951}}, "df": 2, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice": {"tf": 2}, "spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1}, "spectrumdevice.settings": {"tf": 1.4142135623730951}, "spectrumdevice.settings.IOLineMode": {"tf": 1}}, "df": 10}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.SpectrumDigitiserChannel": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1}, "spectrumdevice.settings.CardFeature": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature": {"tf": 1}, "spectrumdevice.settings.IOLineMode": {"tf": 1}}, "df": 6}}}}}}, "e": {"docs": {"spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1}}, "df": 4}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice": {"tf": 1.7320508075688772}, "spectrumdevice.settings.IOLineMode": {"tf": 1}}, "df": 2}}}}, "l": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.settings.TriggerSettings.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"tf": 1.4142135623730951}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"tf": 1.4142135623730951}}, "df": 7}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.SpectrumDigitiserCard.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.acquisition_length_in_samples": {"tf": 1}}, "df": 9, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.vertical_offset_in_percent": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_offset_in_percent": {"tf": 1.4142135623730951}}, "df": 2, "a": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.settings.AcquisitionSettings.vertical_offsets_in_percent": {"tf": 1}}, "df": 1}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserCard.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}}, "df": 5, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_POS": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_BOTH": {"tf": 1}}, "df": 5}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"tf": 1}, "spectrumdevice.settings.CardFeature": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature": {"tf": 1}, "spectrumdevice.settings.IOLineMode": {"tf": 1}, "spectrumdevice.settings.TriggerSource": {"tf": 1}, "spectrumdevice.settings.StatusCode": {"tf": 1}, "spectrumdevice.settings.SpectrumRegisterLength": {"tf": 1}}, "df": 9}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.start_transfer": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.settings.TransferBuffer.data_array_pointer": {"tf": 1}}, "df": 1}}}}}}, "c": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.direction": {"tf": 1.4142135623730951}, "spectrumdevice.settings.CardToPCDataTransferBuffer": {"tf": 1}}, "df": 4}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumChannel.name": {"tf": 1}}, "df": 2}}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumChannel": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.settings.ClockMode.SPC_CM_INTPLL": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTREFCLOCK": {"tf": 1}}, "df": 2}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice": {"tf": 2.449489742783178}, "spectrumdevice.SpectrumDigitiserChannel": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel": {"tf": 1}}, "df": 10}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.configure_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.configure_trigger": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumChannel": {"tf": 1}, "spectrumdevice.Measurement.waveforms": {"tf": 1}}, "df": 19}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.start_transfer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_MULTI": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_AVERAGE": {"tf": 1}}, "df": 12}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.disconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.connected": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.disconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.connected": {"tf": 1}}, "df": 13}}}}, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice": {"tf": 1.4142135623730951}}, "df": 3}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.clock_mode": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}, "spectrumdevice.settings": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer": {"tf": 1}}, "df": 21}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserChannel": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice": {"tf": 1.4142135623730951}}, "df": 8}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1.4142135623730951}}, "df": 2}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}}, "df": 1}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice": {"tf": 2.6457513110645907}, "spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel": {"tf": 1}}, "df": 6}}, "u": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1}}, "df": 2}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub": {"tf": 1.4142135623730951}}, "df": 2}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}}, "df": 6}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"tf": 1}}, "df": 2}}}}, "p": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}}, "df": 3, "l": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}}, "df": 2}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.AbstractSpectrumChannel": {"tf": 1}, "spectrumdevice.settings.StatusCode": {"tf": 1}}, "df": 2}}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.AcquisitionSettings": {"tf": 1}, "spectrumdevice.settings.TriggerSettings": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice": {"tf": 3.1622776601683795}, "spectrumdevice.SpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1.7320508075688772}, "spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.acquisition_mode": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub": {"tf": 2}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1.7320508075688772}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1.7320508075688772}, "spectrumdevice.SpectrumDigitiserStarHub.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1.7320508075688772}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1.7320508075688772}, "spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.disconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.reconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.status": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 2}, "spectrumdevice.AbstractSpectrumStarHub.clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.sample_rate_in_hz": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_sample_rate_in_hz": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.trigger_sources": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_level_in_mv": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.transfer_buffers": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.reconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.status": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.disconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.connected": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.feature_list": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.direction": {"tf": 1.4142135623730951}, "spectrumdevice.settings.CardToPCDataTransferBuffer": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_SOFTWARE": {"tf": 1}, "spectrumdevice.settings.CardType": {"tf": 1}}, "df": 68, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {"spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1.7320508075688772}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1.7320508075688772}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1.7320508075688772}}, "df": 3}}}}}}}}}}}}}}}}}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}}, "df": 1}}}, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1}}, "df": 1}}}}}}, "'": {"docs": {"spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}}, "df": 2}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.status": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.feature_list": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1.7320508075688772}}, "df": 2}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1.7320508075688772}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.reconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 2.23606797749979}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1.4142135623730951}}, "df": 15}}, "u": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice.settings.TriggerSettings.external_trigger_level_in_mv": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice": {"tf": 2.6457513110645907}, "spectrumdevice.SpectrumDigitiserChannel": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice": {"tf": 1.4142135623730951}}, "df": 12}}}, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.clock_mode": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_clock_mode": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.clock_mode": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.set_clock_mode": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1}, "spectrumdevice.settings.ClockMode": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_INTPLL": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTERNAL": {"tf": 1.4142135623730951}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTREFCLOCK": {"tf": 1}}, "df": 12, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_clock_mode": {"tf": 1.4142135623730951}}, "df": 4}}}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel": {"tf": 1.7320508075688772}, "spectrumdevice.SpectrumDigitiserChannel.vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.vertical_offset_in_percent": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_offset_in_percent": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1.7320508075688772}, "spectrumdevice.SpectrumDigitiserCard.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1.7320508075688772}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.channels": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.enabled_channels": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.set_enabled_channels": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel.name": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.enabled_channels": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.vertical_ranges_in_mv": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.vertical_offsets_in_percent": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NONE": {"tf": 1}}, "df": 36, "s": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_enabled_channels": {"tf": 1}}, "df": 2}}}}}, "_": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"tf": 1}}, "df": 2}}}}}}}, "g": {"docs": {"spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_sample_rate_in_hz": {"tf": 1}}, "df": 24}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.apply_channel_enabling": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"tf": 1}}, "df": 6}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.disconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.reconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_sample_rate_in_hz": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.transfer_buffers": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 1.4142135623730951}}, "df": 26, "_": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1.4142135623730951}}, "df": 3}}}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.vertical_range_in_mv": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserChannel.vertical_offset_in_percent": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.acquisition_length_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserCard.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.acquisition_mode": {"tf": 1.7320508075688772}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.clock_mode": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.status": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.connected": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.enabled_channels": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_mode": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.clock_mode": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode": {"tf": 1}, "spectrumdevice.settings.ClockMode": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}}, "df": 36}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1.7320508075688772}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}}, "df": 4, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}}, "df": 3}}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_POS": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NEG": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_BOTH": {"tf": 1}}, "df": 3}}}}, "i": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1}}, "df": 2}}, "s": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.transfer_buffers": {"tf": 1}}, "df": 1, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice": {"tf": 1.7320508075688772}, "spectrumdevice.SpectrumDigitiserChannel": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_offset_in_percent": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub": {"tf": 1.7320508075688772}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.feature_list": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel.name": {"tf": 1}, "spectrumdevice.settings": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings": {"tf": 1}, "spectrumdevice.settings.TriggerSettings": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode": {"tf": 1}, "spectrumdevice.settings.ClockMode": {"tf": 1}, "spectrumdevice.settings.CardFeature": {"tf": 1.4142135623730951}, "spectrumdevice.settings.AdvancedCardFeature": {"tf": 1.4142135623730951}, "spectrumdevice.settings.IOLineMode": {"tf": 1}, "spectrumdevice.settings.TransferBuffer": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.board_memory_offset_bytes": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode": {"tf": 1}, "spectrumdevice.settings.StatusCode": {"tf": 1}, "spectrumdevice.settings.SpectrumRegisterLength": {"tf": 1}}, "df": 39, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice": {"tf": 2}, "spectrumdevice.SpectrumDigitiserCard.acquisition_mode": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode": {"tf": 1}, "spectrumdevice.settings.ClockMode": {"tf": 1}, "spectrumdevice.settings.TransferBuffer": {"tf": 1}}, "df": 5, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}}, "df": 1}}}}}}}}, "/": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "_": {"docs": {"spectrumdevice.AbstractSpectrumDevice": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.start_transfer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.stop_transfer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.status": {"tf": 1}, "spectrumdevice.settings.StatusCode": {"tf": 1}}, "df": 24}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1}}, "df": 2}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1}}}}}}}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}}, "df": 2}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.AbstractSpectrumChannel.name": {"tf": 1}}, "df": 1}}}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1.4142135623730951}}, "df": 3}}}}}}}, "_": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}}, "df": 2}}}}}}, "g": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "h": {"docs": {"spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1.4142135623730951}}, "df": 2}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.type": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.direction": {"tf": 1}}, "df": 4}}}}}, "c": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1}}, "df": 8}}}}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1}}, "df": 9}}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode": {"tf": 1}}, "df": 3}}}}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode": {"tf": 1}}, "df": 3}}}}}}}}}, "o": {"docs": {"spectrumdevice.settings.ExternalTriggerMode": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.settings.ExternalTriggerMode": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.settings.ExternalTriggerMode": {"tf": 1}}, "df": 1}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"spectrumdevice.settings.ExternalTriggerMode": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"spectrumdevice.settings.ExternalTriggerMode": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"spectrumdevice.settings.ExternalTriggerMode": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.settings.CardType": {"tf": 1}}, "df": 1}}}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"spectrumdevice": {"tf": 2.23606797749979}, "spectrumdevice.SpectrumDigitiserStarHub": {"tf": 2}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1.7320508075688772}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.connected": {"tf": 1}}, "df": 7, "'": {"docs": {"spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1}}, "df": 3}}}}, "t": {"docs": {"spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 2.23606797749979}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_SOFTWARE": {"tf": 1}}, "df": 11, "_": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1.4142135623730951}}, "df": 6}}}}}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.acquisition_mode": {"tf": 1}}, "df": 9}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.status": {"tf": 1.4142135623730951}, "spectrumdevice.settings.StatusCode": {"tf": 1.4142135623730951}}, "df": 3, "s": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.status": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.status": {"tf": 1.4142135623730951}}, "df": 2, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumCard.status": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}}, "df": 6}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 2.23606797749979}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1.4142135623730951}}, "df": 7, "_": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}}, "df": 3}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1.4142135623730951}}, "df": 3}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.Measurement": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes": {"tf": 1}}, "df": 3}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}}, "df": 2}}}, "o": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1}, "spectrumdevice.settings.TransferBuffer": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_SOFTWARE": {"tf": 1}}, "df": 7}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.trigger_sources": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.trigger_sources": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.set_trigger_sources": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.external_trigger_mode": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_level_in_mv": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_level_in_mv": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.settings.TriggerSettings.trigger_sources": {"tf": 1}, "spectrumdevice.settings.TriggerSource": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_NONE": {"tf": 1}}, "df": 17}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserChannel.vertical_range_in_mv": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.vertical_offset_in_percent": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_offset_in_percent": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1.7320508075688772}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.configure_acquisition": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.configure_trigger": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 2}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumChannel.name": {"tf": 1}, "spectrumdevice.Measurement": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings": {"tf": 1}, "spectrumdevice.settings.TriggerSettings": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes": {"tf": 1}, "spectrumdevice.settings.TransferBuffer": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.board_memory_offset_bytes": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"tf": 1}}, "df": 47, "_": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_mode": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"tf": 1}}, "df": 1}}}}}}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.apply_channel_enabling": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}}, "e": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.set_vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_offset_in_percent": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.start_transfer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.stop_transfer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.feature_list": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings": {"tf": 1}, "spectrumdevice.settings.TriggerSettings": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode": {"tf": 1}, "spectrumdevice.settings.ClockMode": {"tf": 1}, "spectrumdevice.settings.CardFeature": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature": {"tf": 1}, "spectrumdevice.settings.IOLineMode": {"tf": 1}, "spectrumdevice.settings.TransferBuffer": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.board_memory_offset_bytes": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode": {"tf": 1}, "spectrumdevice.settings.StatusCode": {"tf": 1}}, "df": 56}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}}, "df": 1}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1}}, "df": 5}}}}}, "l": {"docs": {}, "df": 0, "f": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.number_of_averages": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_NONE": {"tf": 1}}, "df": 4}}}}, "n": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}}, "df": 3}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice": {"tf": 1}}, "df": 2}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.sample_rate_in_hz": {"tf": 1}}, "df": 2}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.settings.TransferBuffer": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1.4142135623730951}}, "df": 2}}}}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserCard.acquisition_mode": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode": {"tf": 1}, "spectrumdevice.settings.ClockMode": {"tf": 1}, "spectrumdevice.settings.IOLineMode": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode": {"tf": 1}, "spectrumdevice.settings.CardType": {"tf": 1}}, "df": 6}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel": {"tf": 1}}, "df": 4}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1}, "spectrumdevice.Measurement": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.acquisition_mode": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_SINGLE": {"tf": 1}}, "df": 14}}}, "z": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1.4142135623730951}, "spectrumdevice.settings.TransferBuffer": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}}, "df": 6, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}}, "df": 1}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.start_transfer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.stop_transfer": {"tf": 1}}, "df": 2}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumCard.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_HIGH": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_LOW": {"tf": 1}}, "df": 6}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserCard.acquisition_length_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.post_trigger_length_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.start_transfer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.sample_rate_in_hz": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_sample_rate_in_hz": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 2}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.sample_rate_in_hz": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.set_sample_rate_in_hz": {"tf": 1.4142135623730951}, "spectrumdevice.settings.AcquisitionSettings.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.pre_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_INTPLL": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTERNAL": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTREFCLOCK": {"tf": 1}, "spectrumdevice.settings.TransferBuffer": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.type": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array_length_in_bytes": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1.4142135623730951}}, "df": 42}}, "e": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}}, "df": 4}}}, "y": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub": {"tf": 1}}, "df": 2}}}}}}}}}, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1}}, "df": 3}, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}}, "df": 3, "a": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}}, "df": 1}}}, "c": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice": {"tf": 1.4142135623730951}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice": {"tf": 1}}, "df": 3}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {"spectrumdevice": {"tf": 2.23606797749979}, "spectrumdevice.SpectrumDigitiserChannel": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel": {"tf": 1}}, "df": 8}}}}, "c": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.enabled_channels": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.enabled_channels": {"tf": 1}}, "df": 6}}, "e": {"docs": {}, "df": 0, "x": {"docs": {"spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1}}, "df": 8}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.timestamping_enabled": {"tf": 1}}, "df": 7}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice.settings.AcquisitionSettings.timestamping_enabled": {"tf": 1}}, "df": 1}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice": {"tf": 1}}, "df": 3}}}}}, "t": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.vertical_offset_in_percent": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_offset_in_percent": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1.7320508075688772}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1.4142135623730951}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1.4142135623730951}}, "df": 38, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.settings": {"tf": 1}}, "df": 2}}}}, "n": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_INTPLL": {"tf": 1.4142135623730951}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTREFCLOCK": {"tf": 1}}, "df": 7}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1}}, "df": 2}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {"spectrumdevice.AbstractSpectrumCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.settings.CardType": {"tf": 1}}, "df": 2}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.vertical_offset_in_percent": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_offset_in_percent": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTERNAL": {"tf": 1}}, "df": 5}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.feature_list": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode": {"tf": 1}, "spectrumdevice.settings.ClockMode": {"tf": 1}, "spectrumdevice.settings.TransferBuffer": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.board_memory_offset_bytes": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode": {"tf": 1}}, "df": 35}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}}, "df": 1}}}}}, ")": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumCard.timeout_in_ms": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice": {"tf": 2.6457513110645907}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.start_transfer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.stop_transfer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel": {"tf": 1}, "spectrumdevice.settings.TransferBuffer": {"tf": 1}}, "df": 17}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1.4142135623730951}}, "df": 2}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_SOFTWARE": {"tf": 1}}, "df": 3}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel.name": {"tf": 1}, "spectrumdevice.settings.CardType": {"tf": 1}}, "df": 4}}}}}}}, "p": {"docs": {"spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1}}, "df": 4, "_": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1}}, "df": 2}}}}}}}}}, "t": {"docs": {}, "df": 0, "'": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}}, "df": 2}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "f": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.disconnect": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"tf": 1.4142135623730951}, "spectrumdevice.settings.AvailableIOModes.X0": {"tf": 1.4142135623730951}, "spectrumdevice.settings.AvailableIOModes.X1": {"tf": 1.4142135623730951}, "spectrumdevice.settings.AvailableIOModes.X2": {"tf": 1.4142135623730951}, "spectrumdevice.settings.AvailableIOModes.X3": {"tf": 1.4142135623730951}}, "df": 6, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes": {"tf": 1}}, "df": 3}}}}}}}}, "/": {"docs": {}, "df": 0, "o": {"docs": {"spectrumdevice.settings.IOLineMode": {"tf": 1.4142135623730951}, "spectrumdevice.settings.AvailableIOModes": {"tf": 1}}, "df": 2}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice": {"tf": 2}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub": {"tf": 1.7320508075688772}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 2}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.start_transfer": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.stop_transfer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser.configure_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.configure_trigger": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel": {"tf": 1}, "spectrumdevice.settings.CardFeature": {"tf": 1.4142135623730951}, "spectrumdevice.settings.AdvancedCardFeature": {"tf": 1.4142135623730951}, "spectrumdevice.settings.IOLineMode": {"tf": 1.7320508075688772}, "spectrumdevice.settings.AvailableIOModes": {"tf": 1.4142135623730951}, "spectrumdevice.settings.TransferBuffer": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"tf": 1}, "spectrumdevice.settings.CardType": {"tf": 1.4142135623730951}}, "df": 43, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {"spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1}}, "df": 5}}}}}}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.set_vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_offset_in_percent": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_sample_rate_in_hz": {"tf": 1}}, "df": 17}}, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {"spectrumdevice.AbstractSpectrumCard.status": {"tf": 1}}, "df": 1}, "p": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.CardFeature": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature": {"tf": 1}, "spectrumdevice.settings.IOLineMode": {"tf": 1}, "spectrumdevice.settings.StatusCode": {"tf": 1}}, "df": 4}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.number_of_averages": {"tf": 1}, "spectrumdevice.settings.SpectrumRegisterLength": {"tf": 1}}, "df": 10, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.TransferBuffer": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}}, "df": 11}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NONE": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_POS": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NEG": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_BOTH": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_HIGH": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_LOW": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"tf": 1}}, "df": 8}}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice": {"tf": 2.23606797749979}, "spectrumdevice.SpectrumDigitiserChannel": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}}, "df": 12}}}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}}, "df": 4}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.ClockMode.SPC_CM_EXTERNAL": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice": {"tf": 1}}, "df": 3}}}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.disconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.reconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.reconnect": {"tf": 1}}, "df": 3}}}}}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel.name": {"tf": 1.4142135623730951}}, "df": 4}}}}}, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice": {"tf": 1.7320508075688772}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_offset_in_percent": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.feature_list": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings": {"tf": 1}, "spectrumdevice.settings.TriggerSettings": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode": {"tf": 1}, "spectrumdevice.settings.ClockMode": {"tf": 1}, "spectrumdevice.settings.CardFeature": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature": {"tf": 1}, "spectrumdevice.settings.IOLineMode": {"tf": 1}, "spectrumdevice.settings.TransferBuffer": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.board_memory_offset_bytes": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode": {"tf": 1}, "spectrumdevice.settings.StatusCode": {"tf": 1}}, "df": 24}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1}}, "df": 5}}}}, "w": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"spectrumdevice.SpectrumDigitiserCard.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_SINGLE": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_MULTI": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_AVERAGE": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_AVERAGE": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.type": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.direction": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array_pointer": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer": {"tf": 1}}, "df": 22, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.configure_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.configure_trigger": {"tf": 1.4142135623730951}, "spectrumdevice.Measurement": {"tf": 1}, "spectrumdevice.settings": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings": {"tf": 1}, "spectrumdevice.settings.TriggerSettings": {"tf": 1}}, "df": 9}}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.Measurement.timestamp": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array": {"tf": 1}}, "df": 5}}}, "c": {"docs": {"spectrumdevice.settings.AcquisitionSettings.vertical_offsets_in_percent": {"tf": 1}}, "df": 1}}, "e": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1}}, "df": 6, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel.name": {"tf": 1}, "spectrumdevice.settings": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode": {"tf": 1}, "spectrumdevice.settings.ClockMode": {"tf": 1}, "spectrumdevice.settings.CardFeature": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature": {"tf": 1}, "spectrumdevice.settings.IOLineMode": {"tf": 1}, "spectrumdevice.settings.TriggerSource": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode": {"tf": 1}, "spectrumdevice.settings.StatusCode": {"tf": 1}, "spectrumdevice.settings.SpectrumRegisterLength": {"tf": 1}, "spectrumdevice.settings.CardType": {"tf": 1}}, "df": 15}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.acquisition_mode": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.enabled_channels": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.set_enabled_channels": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_trigger_sources": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.external_trigger_mode": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_mode": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.clock_mode": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.enabled_channels": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.vertical_ranges_in_mv": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.vertical_offsets_in_percent": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.trigger_sources": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_mode": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_INTPLL": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTERNAL": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTREFCLOCK": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_SOFTWARE": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT0": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT1": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT2": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT3": {"tf": 1}}, "df": 42, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumCard.enabled_channels": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "d": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.stop_transfer": {"tf": 1}}, "df": 1}}, "x": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub": {"tf": 1}}, "df": 3}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserCard.acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}}, "df": 5}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_level_in_mv": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.external_trigger_mode": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_level_in_mv": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_level_in_mv": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.settings.TriggerSettings.external_trigger_mode": {"tf": 1.4142135623730951}, "spectrumdevice.settings.TriggerSettings.external_trigger_level_in_mv": {"tf": 1.4142135623730951}, "spectrumdevice.settings.TriggerSettings.external_trigger_pulse_width_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTERNAL": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTREFCLOCK": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT0": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"tf": 1}}, "df": 18, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.external_trigger_level_in_mv": {"tf": 1}}, "df": 1}}}}}}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_mode": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_mode": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"tf": 1}}, "df": 6}}}}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 2}, "spectrumdevice.AbstractSpectrumStarHub.disconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.reconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.status": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.vertical_ranges_in_mv": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.vertical_offsets_in_percent": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode": {"tf": 1}, "spectrumdevice.settings.ClockMode": {"tf": 1}, "spectrumdevice.settings.CardFeature": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature": {"tf": 1}, "spectrumdevice.settings.IOLineMode": {"tf": 1.4142135623730951}, "spectrumdevice.settings.AvailableIOModes": {"tf": 1}, "spectrumdevice.settings.StatusCode": {"tf": 1}}, "df": 30}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserCard.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.pre_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.timeout_in_ms": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_SINGLE": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_MULTI": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_AVERAGE": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_AVERAGE": {"tf": 1}}, "df": 15}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1}, "spectrumdevice.settings.TransferBuffer": {"tf": 1}}, "df": 2}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"tf": 1}}, "df": 3}}}}, "d": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_POS": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NEG": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_BOTH": {"tf": 1}}, "df": 3}}}, "g": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1}}, "df": 4, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}}, "df": 1, "_": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}}, "df": 5}}}}}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.Measurement": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_INTPLL": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTERNAL": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTREFCLOCK": {"tf": 1}}, "df": 11}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1.4142135623730951}}, "df": 2}}}}}}, "n": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"tf": 1.4142135623730951}}, "df": 2, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "x": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub": {"tf": 1}}, "df": 2}}}, "w": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {"spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1}}, "df": 2}}}}}, "w": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"tf": 1}}, "df": 5, "l": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1}}, "df": 13}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1}}, "df": 1}}}}}}}, "g": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NEG": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_BOTH": {"tf": 1}}, "df": 2}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice": {"tf": 1.7320508075688772}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel.name": {"tf": 1.4142135623730951}}, "df": 3}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.Measurement.waveforms": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array": {"tf": 1}}, "df": 6}}, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 2.449489742783178}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.pre_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.number_of_averages": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}}, "df": 18}}}, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice": {"tf": 1}}, "df": 2}, "i": {"docs": {}, "df": 0, "f": {"docs": {"spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1.4142135623730951}}, "df": 1, "i": {"docs": {"spectrumdevice.settings.TransferBuffer": {"tf": 1}}, "df": 1}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"spectrumdevice": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}}, "df": 2}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}}, "df": 1}}, "r": {"docs": {"spectrumdevice.settings.AvailableIOModes": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumChannel.name": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.wait_for_acquisition_to_complete": {"tf": 1}}, "df": 2}}, "t": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}}, "df": 1}}}, "f": {"docs": {"spectrumdevice.settings.AcquisitionSettings.acquisition_mode": {"tf": 1}}, "df": 1, "o": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1}}, "df": 12}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.connected": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.connected": {"tf": 1}}, "df": 2}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.settings.CardType": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 2}, "spectrumdevice.AbstractSpectrumCard.feature_list": {"tf": 2}, "spectrumdevice.settings.CardFeature": {"tf": 1.7320508075688772}, "spectrumdevice.settings.AdvancedCardFeature": {"tf": 1.7320508075688772}}, "df": 4, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.settings.CardFeature": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature": {"tf": 1}}, "df": 2}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice": {"tf": 2}, "spectrumdevice.SpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub": {"tf": 1}}, "df": 3}}}}}, "w": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice": {"tf": 2.23606797749979}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1}}, "df": 6}}, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel": {"tf": 1}}, "df": 6, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1.4142135623730951}}, "df": 3}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1.4142135623730951}}, "df": 4}}}}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.channels": {"tf": 1}}, "df": 15}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_POS": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NEG": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_HIGH": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"tf": 1}}, "df": 6}}, "a": {"docs": {"spectrumdevice.settings.CardToPCDataTransferBuffer": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice": {"tf": 1.4142135623730951}, "spectrumdevice.settings": {"tf": 1}}, "df": 2}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.configure_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.configure_trigger": {"tf": 1.4142135623730951}, "spectrumdevice.settings.AcquisitionSettings.vertical_ranges_in_mv": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.vertical_offsets_in_percent": {"tf": 1}}, "df": 7}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserChannel": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.apply_channel_enabling": {"tf": 1}}, "df": 9}}}}}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice.SpectrumDigitiserChannel": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}}, "df": 2}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}}, "df": 5}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserCard.get_timestamp": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_timestamp": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_mode": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1.7320508075688772}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 2.23606797749979}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 2.449489742783178}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.status": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1}, "spectrumdevice.Measurement": {"tf": 1}, "spectrumdevice.Measurement.timestamp": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.enabled_channels": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.timestamping_enabled": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_SINGLE": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_MULTI": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_AVERAGE": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_AVERAGE": {"tf": 1}, "spectrumdevice.settings.TransferBuffer": {"tf": 1}}, "df": 44, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.SpectrumDigitiserCard.acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_mode": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_mode": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.number_of_averages": {"tf": 1}}, "df": 5}}}, "_": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.configure_acquisition": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}}, "r": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 2}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.Measurement.waveforms": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.pre_trigger_length_in_samples": {"tf": 1}}, "df": 14}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}}, "df": 3}}}}, "r": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.set_vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_offset_in_percent": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.configure_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.configure_trigger": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}}, "df": 41}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.Measurement.waveforms": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array_pointer": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array_length_in_bytes": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}}, "df": 12}}, "i": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice.SpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.__init__": {"tf": 1}}, "df": 4}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.feature_list": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature": {"tf": 1}}, "df": 3, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.feature_list": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1}}, "df": 5}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}}, "df": 1}}}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}}, "df": 1}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.SpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.set_clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"tf": 1.4142135623730951}, "spectrumdevice.settings.IOLineMode": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X0": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X1": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X2": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X3": {"tf": 1}}, "df": 12, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"tf": 1.4142135623730951}}, "df": 2}}}}}, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.settings.IOLineMode": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.settings.AcquisitionSettings.acquisition_mode": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.number_of_averages": {"tf": 1.4142135623730951}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_AVERAGE": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_AVERAGE": {"tf": 1}}, "df": 4}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT0": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.start_transfer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1.4142135623730951}}, "df": 7}}}}}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel.name": {"tf": 1.4142135623730951}}, "df": 3}}}}}, "/": {"docs": {}, "df": 0, "b": {"docs": {"spectrumdevice.settings.TransferBuffer.type": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"spectrumdevice": {"tf": 2.449489742783178}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 2.23606797749979}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 2.23606797749979}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1.7320508075688772}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1.7320508075688772}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.start_transfer": {"tf": 1.7320508075688772}, "spectrumdevice.MockSpectrumDigitiserCard.stop_transfer": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice": {"tf": 1}}, "df": 18, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1}}}}}}}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}}, "df": 1}}}}}}}}}, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "z": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1.7320508075688772}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.acquisition_mode": {"tf": 2}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_mode": {"tf": 2}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"tf": 1.7320508075688772}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_mode": {"tf": 1.7320508075688772}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.clock_mode": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.set_clock_mode": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 2}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_mode": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.clock_mode": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.set_clock_mode": {"tf": 2}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"tf": 2}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1.4142135623730951}, "spectrumdevice.settings.AcquisitionSettings.acquisition_mode": {"tf": 1.7320508075688772}, "spectrumdevice.settings.TriggerSettings.external_trigger_mode": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode": {"tf": 1.4142135623730951}, "spectrumdevice.settings.ClockMode": {"tf": 1.4142135623730951}, "spectrumdevice.settings.IOLineMode": {"tf": 1.7320508075688772}, "spectrumdevice.settings.AvailableIOModes.X0": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X1": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X2": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X3": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"tf": 1.4142135623730951}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"tf": 1.4142135623730951}}, "df": 40, "l": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}}, "df": 1}}, "u": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}}, "df": 2}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.feature_list": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode": {"tf": 1}, "spectrumdevice.settings.ClockMode": {"tf": 1}, "spectrumdevice.settings.TransferBuffer": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.board_memory_offset_bytes": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode": {"tf": 1.4142135623730951}}, "df": 39}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice": {"tf": 2.8284271247461903}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1.7320508075688772}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"tf": 1}}, "df": 23}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 2.23606797749979}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 2.8284271247461903}, "spectrumdevice.Measurement": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.timestamping_enabled": {"tf": 1}}, "df": 4, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "'": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}}, "df": 1}}}}}}}}}, "n": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}}, "df": 3}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_SINGLE": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_AVERAGE": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.board_memory_offset_bytes": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}}, "df": 5}}}}}, "v": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.vertical_range_in_mv": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_range_in_mv": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_level_in_mv": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_level_in_mv": {"tf": 1.4142135623730951}}, "df": 6}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.sample_rate_in_hz": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 1}}, "df": 17, "_": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}, "k": {"docs": {"spectrumdevice.settings.TriggerSource.SPC_TMASK_SOFTWARE": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT0": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT1": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT2": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT3": {"tf": 1}}, "df": 5}}, "n": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}}, "df": 1}, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}}, "df": 2}}}}, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.acquisition_mode": {"tf": 1}, "spectrumdevice.settings.IOLineMode": {"tf": 1}}, "df": 4, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"tf": 1}}, "df": 2}}}}}, "l": {"docs": {"spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_MULTI": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_AVERAGE": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_AVERAGE": {"tf": 1}}, "df": 3}}}}}}, "s": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.timestamping_enabled": {"tf": 1}}, "df": 4}, "w": {"docs": {"spectrumdevice.settings.AcquisitionSettings.vertical_ranges_in_mv": {"tf": 1}}, "df": 1}, "h": {"docs": {}, "df": 0, "z": {"docs": {"spectrumdevice.settings.ClockMode.SPC_CM_INTPLL": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1.4142135623730951}}, "df": 3}}, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.disconnect": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.disconnect": {"tf": 1}}, "df": 3}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.Measurement.timestamp": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.timeout_in_ms": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.timestamping_enabled": {"tf": 1}}, "df": 9, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_timeout_in_ms": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"tf": 1}}, "df": 5, "_": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_timeout_in_ms": {"tf": 1}}, "df": 3}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.AbstractSpectrumCard.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"tf": 1}}, "df": 2}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_timestamp": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.get_timestamp": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.Measurement": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.type": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer": {"tf": 1}}, "df": 11}}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1.7320508075688772}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.start_transfer": {"tf": 1.7320508075688772}, "spectrumdevice.MockSpectrumDigitiserCard.stop_transfer": {"tf": 1.7320508075688772}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 2}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 2.8284271247461903}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}, "spectrumdevice.settings.TransferBuffer": {"tf": 1.4142135623730951}, "spectrumdevice.settings.TransferBuffer.type": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.direction": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.board_memory_offset_bytes": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1.7320508075688772}, "spectrumdevice.settings.CardToPCDataTransferBuffer": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}}, "df": 27, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.transfer_buffers": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 2}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1.7320508075688772}, "spectrumdevice.settings.CardToPCDataTransferBuffer": {"tf": 1}}, "df": 15}}}}, "_": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.transfer_buffers": {"tf": 1}}, "df": 1}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.post_trigger_length_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.set_post_trigger_length_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 2}, "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.trigger_sources": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_mode": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_level_in_mv": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_level_in_mv": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_mode": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_mode": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.external_trigger_level_in_mv": {"tf": 2}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_level_in_mv": {"tf": 2}, "spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"tf": 2}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"tf": 2}, "spectrumdevice.AbstractSpectrumCard.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.configure_trigger": {"tf": 1}, "spectrumdevice.Measurement.timestamp": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.pre_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.timeout_in_ms": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.timestamping_enabled": {"tf": 1}, "spectrumdevice.settings.TriggerSettings": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.trigger_sources": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_mode": {"tf": 1.4142135623730951}, "spectrumdevice.settings.TriggerSettings.external_trigger_level_in_mv": {"tf": 1.4142135623730951}, "spectrumdevice.settings.TriggerSettings.external_trigger_pulse_width_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_SINGLE": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_MULTI": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_AVERAGE": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_AVERAGE": {"tf": 1}, "spectrumdevice.settings.TriggerSource": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_SOFTWARE": {"tf": 1.4142135623730951}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT0": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT1": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT2": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT3": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_NONE": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NONE": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_POS": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NEG": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_BOTH": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_HIGH": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_LOW": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"tf": 1.4142135623730951}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"tf": 1.4142135623730951}}, "df": 59, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources": {"tf": 1}}, "df": 2}}}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.trigger_sources": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.set_trigger_sources": {"tf": 1.4142135623730951}}, "df": 4}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumDevice.configure_trigger": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}, "u": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.connected": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.connected": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.timestamping_enabled": {"tf": 1}}, "df": 3}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.settings.CardType": {"tf": 1.4142135623730951}}, "df": 2}, "i": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.settings.TransferBuffer.board_memory_offset_bytes": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"tf": 1}}, "df": 3}}}, "/": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.wait_for_transfer_to_complete": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "o": {"docs": {"spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1}}, "df": 5}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.channels": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.feature_list": {"tf": 1}}, "df": 4}}}, "b": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"tf": 1}}, "df": 1}}, "w": {"docs": {}, "df": 0, "o": {"docs": {"spectrumdevice.AbstractSpectrumCard.feature_list": {"tf": 1}}, "df": 1}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1}}, "df": 3}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.__init__": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserStarHub.__init__": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}}, "df": 5}}}}, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.set_external_trigger_pulse_width_in_samples": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"tf": 1.7320508075688772}, "spectrumdevice.settings.TriggerSettings.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"tf": 1}}, "df": 7}}}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.settings.TransferBuffer.type": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.direction": {"tf": 1}}, "df": 2}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.feature_list": {"tf": 1}, "spectrumdevice.settings": {"tf": 1}}, "df": 3}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.data_array_length_in_bytes": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}}, "df": 5}}}, "e": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.timeout_in_ms": {"tf": 1}}, "df": 8, "_": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}}, "df": 4}}}}}}}}}}}}}}}}}}}}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1.7320508075688772}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1.7320508075688772}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 2.449489742783178}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 2.6457513110645907}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.stop": {"tf": 1}, "spectrumdevice.Measurement": {"tf": 1}, "spectrumdevice.Measurement.waveforms": {"tf": 1}}, "df": 15}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1.4142135623730951}}, "df": 2, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 2.23606797749979}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 2.23606797749979}, "spectrumdevice.settings": {"tf": 1}, "spectrumdevice.settings.SpectrumRegisterLength": {"tf": 1}, "spectrumdevice.settings.SpectrumRegisterLength.THIRTY_TWO": {"tf": 1}, "spectrumdevice.settings.SpectrumRegisterLength.SIXTY_FOUR": {"tf": 1}, "spectrumdevice.settings.CardType": {"tf": 1}}, "df": 8}}}}, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1}, "spectrumdevice.settings": {"tf": 1}}, "df": 3}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumCard.feature_list": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.settings": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}}, "df": 15}}, "n": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}}, "df": 2}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.SpectrumDigitiserCard.acquisition_length_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserCard.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserStarHub.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.pre_trigger_length_in_samples": {"tf": 1}}, "df": 10}}, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.reconnect": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.reconnect": {"tf": 1}}, "df": 2}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_mode": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_sample_rate_in_hz": {"tf": 1}}, "df": 2}}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}, "spectrumdevice.settings.CardFeature": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature": {"tf": 1}, "spectrumdevice.settings.CardType": {"tf": 1}}, "df": 11, "m": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1}, "i": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "h": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_level_in_mv": {"tf": 1}}, "df": 2}}, "l": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1.4142135623730951}}, "df": 1}}, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice": {"tf": 1.4142135623730951}, "spectrumdevice.settings.ClockMode.SPC_CM_INTPLL": {"tf": 1}, "spectrumdevice.settings.ClockMode.SPC_CM_EXTREFCLOCK": {"tf": 1}}, "df": 3}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.vertical_offset_in_percent": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1.7320508075688772}, "spectrumdevice.SpectrumDigitiserCard.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumStarHub.feature_list": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.status": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.connected": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.enabled_channels": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.trigger_sources": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.timeout_in_ms": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.clock_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.available_io_modes": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.feature_list": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}, "spectrumdevice.AbstractSpectrumChannel.name": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes": {"tf": 1}, "spectrumdevice.settings.StatusCode": {"tf": 1}, "spectrumdevice.settings.CardType": {"tf": 1}}, "df": 49}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}}, "df": 2}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.settings.TriggerSettings": {"tf": 1}}, "df": 3}, "y": {"docs": {"spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}}, "df": 2}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1.4142135623730951}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings": {"tf": 1}, "spectrumdevice.settings.TriggerSettings.external_trigger_pulse_width_in_samples": {"tf": 1}}, "df": 5}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.__init__": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode": {"tf": 1}, "spectrumdevice.settings.ClockMode": {"tf": 1}, "spectrumdevice.settings.CardFeature": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature": {"tf": 1}, "spectrumdevice.settings.IOLineMode": {"tf": 1}, "spectrumdevice.settings.TriggerSource": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode": {"tf": 1}, "spectrumdevice.settings.StatusCode": {"tf": 1}, "spectrumdevice.settings.CardType": {"tf": 1}}, "df": 10}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.vertical_range_in_mv": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_range_in_mv": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserChannel.vertical_offset_in_percent": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_offset_in_percent": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.vertical_ranges_in_mv": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.vertical_offsets_in_percent": {"tf": 1}}, "df": 6}}, "t": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_sample_rate_in_hz": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.sample_rate_in_hz": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumStarHub.set_sample_rate_in_hz": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.sample_rate_in_hz": {"tf": 1.7320508075688772}, "spectrumdevice.AbstractSpectrumCard.set_sample_rate_in_hz": {"tf": 1.7320508075688772}, "spectrumdevice.settings.AcquisitionSettings.sample_rate_in_hz": {"tf": 1}}, "df": 8}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice.SpectrumDigitiserCard.acquisition_mode": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.acquisition_mode": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}}, "df": 5}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1.4142135623730951}}, "df": 1}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_offset_in_percent": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.configure_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.configure_trigger": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 2}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 2}, "spectrumdevice.settings": {"tf": 1}, "spectrumdevice.settings.CardType": {"tf": 1}}, "df": 12}, "i": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.set_vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_offset_in_percent": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1}}, "df": 3}}}}, "i": {"docs": {}, "df": 0, "a": {"docs": {"spectrumdevice.SpectrumDigitiserChannel": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.vertical_offset_in_percent": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_offset_in_percent": {"tf": 1.4142135623730951}, "spectrumdevice.settings.AcquisitionSettings.vertical_offsets_in_percent": {"tf": 1}}, "df": 5, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.SpectrumDigitiserChannel.vertical_range_in_mv": {"tf": 1}, "spectrumdevice.SpectrumDigitiserChannel.set_vertical_range_in_mv": {"tf": 1}}, "df": 2}}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.settings.AcquisitionSettings.vertical_ranges_in_mv": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1.7320508075688772}, "spectrumdevice.MockSpectrumDigitiserCard.__init__": {"tf": 1.4142135623730951}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_level_in_mv": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_external_trigger_pulse_width_in_samples": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1.7320508075688772}, "spectrumdevice.settings": {"tf": 1}, "spectrumdevice.settings.CardFeature": {"tf": 1}, "spectrumdevice.settings.AdvancedCardFeature": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.type": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.direction": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NONE": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_GREATER": {"tf": 1.4142135623730951}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_PW_SMALLER": {"tf": 1.4142135623730951}}, "df": 28, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.apply_channel_enabling": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}}, "df": 4}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1.4142135623730951}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}}, "df": 8}}}}, "p": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}}, "df": 1}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {"spectrumdevice.SpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.set_post_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}}, "df": 3}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {"spectrumdevice.settings.CardType": {"tf": 1}}, "df": 1}}}}}, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.get_waveforms": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}}, "df": 5}}}}, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.SpectrumDigitiserCard.wait_for_acquisition_to_complete": {"tf": 1}, "spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 2}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1.7320508075688772}, "spectrumdevice.MockSpectrumDigitiserCard": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_acquisition_length_in_samples": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.set_enabled_channels": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserCard.define_transfer_buffer": {"tf": 1.7320508075688772}, "spectrumdevice.MockSpectrumDigitiserCard.start_transfer": {"tf": 2}, "spectrumdevice.MockSpectrumDigitiserCard.stop_transfer": {"tf": 1.7320508075688772}, "spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.transfer_buffers": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1.4142135623730951}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.settings.TransferBuffer": {"tf": 1.7320508075688772}, "spectrumdevice.settings.TransferBuffer.type": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.direction": {"tf": 1}}, "df": 20, "'": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.start_transfer": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_SINGLE": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_STD_AVERAGE": {"tf": 1}, "spectrumdevice.settings.AcquisitionMode.SPC_REC_FIFO_AVERAGE": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.board_memory_offset_bytes": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}}, "df": 6, "_": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.SpectrumDigitiserCard.define_transfer_buffer": {"tf": 1}, "spectrumdevice.SpectrumDigitiserStarHub.define_transfer_buffer": {"tf": 1}, "spectrumdevice.settings.CardToPCDataTransferBuffer.__init__": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}}}, "\u2019": {"docs": {"spectrumdevice.AbstractSpectrumDevice.reset": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}}, "df": 2}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.MockSpectrumDigitiserStarHub.start": {"tf": 1}, "spectrumdevice.MockSpectrumDigitiserStarHub.stop": {"tf": 1}}, "df": 2}}}, "e": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_finite_fifo_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumDigitiser.execute_continuous_fifo_acquisition": {"tf": 1}}, "df": 3, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"spectrumdevice.AbstractSpectrumDigitiser.execute_standard_single_acquisition": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.timeout_in_ms": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.set_timeout_in_ms": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.pre_trigger_length_in_samples": {"tf": 1}, "spectrumdevice.settings.AcquisitionSettings.timeout_in_ms": {"tf": 1}}, "df": 6}}}, "t": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.AbstractSpectrumStarHub.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.start_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.stop_transfer": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumCard.transfer_buffers": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.start": {"tf": 1}, "spectrumdevice.settings.TransferBuffer": {"tf": 1}}, "df": 8}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"spectrumdevice.AbstractSpectrumCard.channels": {"tf": 1}}, "df": 1}}, "w": {"docs": {"spectrumdevice.settings.ExternalTriggerMode.SPC_TM_POS": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_NEG": {"tf": 1}, "spectrumdevice.settings.ExternalTriggerMode.SPC_TM_LOW": {"tf": 1}}, "df": 3}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"spectrumdevice.AbstractSpectrumDevice.write_to_spectrum_device_register": {"tf": 1}, "spectrumdevice.AbstractSpectrumDevice.read_spectrum_device_register": {"tf": 1}, "spectrumdevice.settings.SpectrumRegisterLength.THIRTY_TWO": {"tf": 1}, "spectrumdevice.settings.SpectrumRegisterLength.SIXTY_FOUR": {"tf": 1}}, "df": 4}}, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"spectrumdevice.settings.TransferBuffer.data_array_length_in_bytes": {"tf": 1}, "spectrumdevice.settings.TransferBuffer.notify_size_in_bytes": {"tf": 1}}, "df": 2}}}}, "j": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"spectrumdevice.SpectrumDigitiserStarHub.get_waveforms": {"tf": 1}}, "df": 1}}}}, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.stop_transfer": {"tf": 1}}, "df": 1}}}}, "_": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "_": {"docs": {"spectrumdevice.MockSpectrumDigitiserCard.wait_for_transfer_to_complete": {"tf": 1}, "spectrumdevice.AbstractSpectrumStarHub.set_triggering_card": {"tf": 1}}, "df": 2}}}}}}}}, "x": {"0": {"docs": {"spectrumdevice.settings.AvailableIOModes": {"tf": 1}}, "df": 1}, "1": {"docs": {"spectrumdevice.settings.AvailableIOModes": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X1": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT1": {"tf": 1}}, "df": 3}, "2": {"docs": {"spectrumdevice.settings.AvailableIOModes": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X2": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT2": {"tf": 1}}, "df": 3}, "3": {"docs": {"spectrumdevice.settings.AvailableIOModes": {"tf": 1}, "spectrumdevice.settings.AvailableIOModes.X3": {"tf": 1}, "spectrumdevice.settings.TriggerSource.SPC_TMASK_EXT3": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0, "o": {"docs": {"spectrumdevice.settings.AvailableIOModes.X0": {"tf": 1}}, "df": 1}}}}}, "pipeline": ["trimmer", "stopWordFilter", "stemmer"], "_isPrebuiltIndex": true}; + + // mirrored in build-search-index.js (part 1) + // Also split on html tags. this is a cheap heuristic, but good enough. + elasticlunr.tokenizer.setSeperator(/[\s\-.;&]+|<[^>]*>/); + + let searchIndex; + if (docs._isPrebuiltIndex) { + console.info("using precompiled search index"); + searchIndex = elasticlunr.Index.load(docs); + } else { + console.time("building search index"); + // mirrored in build-search-index.js (part 2) + searchIndex = elasticlunr(function () { + this.addField("qualname"); + this.addField("fullname"); + this.addField("doc"); + this.setRef("fullname"); + }); + for (let doc of docs) { + searchIndex.addDoc(doc); + } + console.timeEnd("building search index"); + } + + return (term) => searchIndex.search(term, { + fields: { + qualname: {boost: 4}, + fullname: {boost: 2}, + doc: {boost: 1}, + }, + expand: true + }); +})(); \ No newline at end of file diff --git a/docs/spectrumdevice/settings.html b/docs/spectrumdevice/settings.html new file mode 100644 index 0000000..9f9edcf --- /dev/null +++ b/docs/spectrumdevice/settings.html @@ -0,0 +1,3260 @@ + + + + + + + spectrumdevice.settings API documentation + + + + + + + + +
+
+

+spectrumdevice.settings

+ +

Provides Enums and Dataclasses wrapping the register values provided by the Spectrum API, to be used for configuring +hardware and interpreting responses received from hardware.

+
+ +
+ View Source +
"""Provides Enums and Dataclasses wrapping the register values provided by the Spectrum API, to be used for configuring
+hardware and interpreting responses received from hardware."""
+
+# Christian Baker, King's College London
+# Copyright (c) 2021 School of Biomedical Engineering & Imaging Sciences, King's College London
+# Licensed under the MIT. You may obtain a copy at https://opensource.org/licenses/MIT.
+
+from dataclasses import dataclass
+from enum import Enum
+from typing import List, Optional
+
+from spectrumdevice.settings.card_dependent_properties import CardType
+from spectrumdevice.settings.card_features import CardFeature, AdvancedCardFeature
+from spectrumdevice.settings.device_modes import AcquisitionMode, ClockMode
+from spectrumdevice.settings.io_lines import IOLineMode, AvailableIOModes
+from spectrumdevice.settings.transfer_buffer import TransferBuffer, CardToPCDataTransferBuffer
+from spectrumdevice.settings.triggering import TriggerSource, ExternalTriggerMode
+from spectrumdevice.settings.status import CARD_STATUS_TYPE, DEVICE_STATUS_TYPE, StatusCode
+
+
+__all__ = [
+    "AcquisitionSettings",
+    "TriggerSettings",
+    "AcquisitionMode",
+    "ClockMode",
+    "CardFeature",
+    "AdvancedCardFeature",
+    "IOLineMode",
+    "AvailableIOModes",
+    "TransferBuffer",
+    "CardToPCDataTransferBuffer",
+    "TriggerSource",
+    "ExternalTriggerMode",
+    "CARD_STATUS_TYPE",
+    "DEVICE_STATUS_TYPE",
+    "StatusCode",
+    "SpectrumRegisterLength",
+    "CardType",
+]
+
+
+@dataclass
+class TriggerSettings:
+    """A dataclass collecting all settings related to triggering. See Spectrum documentation."""
+
+    trigger_sources: List[TriggerSource]
+    """The trigger sources to enable"""
+    external_trigger_mode: Optional[ExternalTriggerMode] = None
+    """The external trigger mode (if an external trigger is enabled)."""
+    external_trigger_level_in_mv: Optional[int] = None
+    """The level an external signal must reach to cause a trigger event (if an external trigger is enabled)."""
+    external_trigger_pulse_width_in_samples: Optional[int] = None
+    """The required width of an external trigger pulse (if an external trigger is enabled)."""
+
+
+@dataclass
+class AcquisitionSettings:
+    """A dataclass collecting all settings required to configure an acquisition. See Spectrum documentation."""
+
+    acquisition_mode: AcquisitionMode
+    """Standard Single mode, Multi FIF mode or an averaging mode."""
+    sample_rate_in_hz: int
+    """Acquisition rate in samples per second."""
+    acquisition_length_in_samples: int
+    """The length of the recording in samples per channel."""
+    pre_trigger_length_in_samples: int
+    """The number of samples of the recording that will have been acquired before the trigger event."""
+    timeout_in_ms: int
+    """How long to wait for a trigger event before timing out."""
+    enabled_channels: List[int]
+    """The channel indices to enable for the acquisition."""
+    vertical_ranges_in_mv: List[int]
+    """The voltage range to apply to each enabled channel in mW."""
+    vertical_offsets_in_percent: List[int]
+    """The DC offset to apply to each enabled channel as percentages of their vertical ranges."""
+    timestamping_enabled: bool
+    """If True, Measurements will include the time at which the acquisition was triggered. Increases latency by ~10 ms.
+    """
+    number_of_averages: int = 1
+    """If an averaging AcquisitionMode is selected, this defines the number of averages."""
+
+
+class SpectrumRegisterLength(Enum):
+    """Enum defining the possible lengths of a spectrum register."""
+
+    THIRTY_TWO = 0
+    """32 bit register"""
+    SIXTY_FOUR = 1
+    """64 bit register"""
+
+    def __repr__(self) -> str:
+        return self.name
+
+ +
+ +
+
+
+ #   + +
@dataclass
+ + class + AcquisitionSettings: +
+ +
+ View Source +
@dataclass
+class AcquisitionSettings:
+    """A dataclass collecting all settings required to configure an acquisition. See Spectrum documentation."""
+
+    acquisition_mode: AcquisitionMode
+    """Standard Single mode, Multi FIF mode or an averaging mode."""
+    sample_rate_in_hz: int
+    """Acquisition rate in samples per second."""
+    acquisition_length_in_samples: int
+    """The length of the recording in samples per channel."""
+    pre_trigger_length_in_samples: int
+    """The number of samples of the recording that will have been acquired before the trigger event."""
+    timeout_in_ms: int
+    """How long to wait for a trigger event before timing out."""
+    enabled_channels: List[int]
+    """The channel indices to enable for the acquisition."""
+    vertical_ranges_in_mv: List[int]
+    """The voltage range to apply to each enabled channel in mW."""
+    vertical_offsets_in_percent: List[int]
+    """The DC offset to apply to each enabled channel as percentages of their vertical ranges."""
+    timestamping_enabled: bool
+    """If True, Measurements will include the time at which the acquisition was triggered. Increases latency by ~10 ms.
+    """
+    number_of_averages: int = 1
+    """If an averaging AcquisitionMode is selected, this defines the number of averages."""
+
+ +
+ +

A dataclass collecting all settings required to configure an acquisition. See Spectrum documentation.

+
+ + +
+
#   + + + AcquisitionSettings( + acquisition_mode: spectrumdevice.settings.device_modes.AcquisitionMode, + sample_rate_in_hz: int, + acquisition_length_in_samples: int, + pre_trigger_length_in_samples: int, + timeout_in_ms: int, + enabled_channels: List[int], + vertical_ranges_in_mv: List[int], + vertical_offsets_in_percent: List[int], + timestamping_enabled: bool, + number_of_averages: int = 1 +) +
+ + + + +
+
+ + +

Standard Single mode, Multi FIF mode or an averaging mode.

+
+ + +
+
+
#   + + sample_rate_in_hz: int +
+ +

Acquisition rate in samples per second.

+
+ + +
+
+
#   + + acquisition_length_in_samples: int +
+ +

The length of the recording in samples per channel.

+
+ + +
+
+
#   + + pre_trigger_length_in_samples: int +
+ +

The number of samples of the recording that will have been acquired before the trigger event.

+
+ + +
+
+
#   + + timeout_in_ms: int +
+ +

How long to wait for a trigger event before timing out.

+
+ + +
+
+
#   + + enabled_channels: List[int] +
+ +

The channel indices to enable for the acquisition.

+
+ + +
+
+
#   + + vertical_ranges_in_mv: List[int] +
+ +

The voltage range to apply to each enabled channel in mW.

+
+ + +
+
+
#   + + vertical_offsets_in_percent: List[int] +
+ +

The DC offset to apply to each enabled channel as percentages of their vertical ranges.

+
+ + +
+
+
#   + + timestamping_enabled: bool +
+ +

If True, Measurements will include the time at which the acquisition was triggered. Increases latency by ~10 ms.

+
+ + +
+
+
#   + + number_of_averages: int = 1 +
+ +

If an averaging AcquisitionMode is selected, this defines the number of averages.

+
+ + +
+
+
+
+ #   + +
@dataclass
+ + class + TriggerSettings: +
+ +
+ View Source +
@dataclass
+class TriggerSettings:
+    """A dataclass collecting all settings related to triggering. See Spectrum documentation."""
+
+    trigger_sources: List[TriggerSource]
+    """The trigger sources to enable"""
+    external_trigger_mode: Optional[ExternalTriggerMode] = None
+    """The external trigger mode (if an external trigger is enabled)."""
+    external_trigger_level_in_mv: Optional[int] = None
+    """The level an external signal must reach to cause a trigger event (if an external trigger is enabled)."""
+    external_trigger_pulse_width_in_samples: Optional[int] = None
+    """The required width of an external trigger pulse (if an external trigger is enabled)."""
+
+ +
+ +

A dataclass collecting all settings related to triggering. See Spectrum documentation.

+
+ + +
+
#   + + + TriggerSettings( + trigger_sources: List[spectrumdevice.settings.triggering.TriggerSource], + external_trigger_mode: Optional[spectrumdevice.settings.triggering.ExternalTriggerMode] = None, + external_trigger_level_in_mv: Optional[int] = None, + external_trigger_pulse_width_in_samples: Optional[int] = None +) +
+ + + + +
+
+ + +

The trigger sources to enable

+
+ + +
+
+
#   + + external_trigger_mode: Optional[spectrumdevice.settings.triggering.ExternalTriggerMode] = None +
+ +

The external trigger mode (if an external trigger is enabled).

+
+ + +
+
+
#   + + external_trigger_level_in_mv: Optional[int] = None +
+ +

The level an external signal must reach to cause a trigger event (if an external trigger is enabled).

+
+ + +
+
+
#   + + external_trigger_pulse_width_in_samples: Optional[int] = None +
+ +

The required width of an external trigger pulse (if an external trigger is enabled).

+
+ + +
+
+
+
+ #   + + + class + AcquisitionMode(enum.Enum): +
+ +
+ View Source +
class AcquisitionMode(Enum):
+    """Enum representing the acquisition modes currently support by spectrumdevice. See Spectrum documentation for more
+    information about each mode."""
+
+    SPC_REC_STD_SINGLE = SPC_REC_STD_SINGLE
+    """Data acquisition to on-board memory for one single trigger event."""
+    SPC_REC_FIFO_MULTI = SPC_REC_FIFO_MULTI
+    """Continuous data acquisition for multiple trigger events."""
+    SPC_REC_STD_AVERAGE = SPC_REC_STD_AVERAGE
+    """Data acquisition to on-board memory for the average of multiple trigger events."""
+    SPC_REC_FIFO_AVERAGE = SPC_REC_FIFO_AVERAGE
+    """Continuous data acquisition for multiple trigger events, with on-board averaging."""
+
+ +
+ +

Enum representing the acquisition modes currently support by spectrumdevice. See Spectrum documentation for more +information about each mode.

+
+ + +
+
#   + + SPC_REC_STD_SINGLE = <AcquisitionMode.SPC_REC_STD_SINGLE: 1> +
+ +

Data acquisition to on-board memory for one single trigger event.

+
+ + +
+
+
#   + + SPC_REC_FIFO_MULTI = <AcquisitionMode.SPC_REC_FIFO_MULTI: 32> +
+ +

Continuous data acquisition for multiple trigger events.

+
+ + +
+
+
#   + + SPC_REC_STD_AVERAGE = <AcquisitionMode.SPC_REC_STD_AVERAGE: 131072> +
+ +

Data acquisition to on-board memory for the average of multiple trigger events.

+
+ + +
+
+
#   + + SPC_REC_FIFO_AVERAGE = <AcquisitionMode.SPC_REC_FIFO_AVERAGE: 2097152> +
+ +

Continuous data acquisition for multiple trigger events, with on-board averaging.

+
+ + +
+
+
Inherited Members
+
+
enum.Enum
+
name
+
value
+ +
+
+
+
+
+
+ #   + + + class + ClockMode(enum.Enum): +
+ +
+ View Source +
class ClockMode(Enum):
+    """Enum representing the clock modes currently supported by spectrumdevice. See Spectrum documentation for more
+    information about each mode."""
+
+    SPC_CM_INTPLL = SPC_CM_INTPLL
+    """Enables internal PLL with 20 MHz internal reference for sample clock generation."""
+    SPC_CM_EXTERNAL = SPC_CM_EXTERNAL
+    """Enables external clock input for direct sample clock generation."""
+    SPC_CM_EXTREFCLOCK = SPC_CM_EXTREFCLOCK
+    """Enables internal PLL with external reference for sample clock generation."""
+
+ +
+ +

Enum representing the clock modes currently supported by spectrumdevice. See Spectrum documentation for more +information about each mode.

+
+ + +
+
#   + + SPC_CM_INTPLL = <ClockMode.SPC_CM_INTPLL: 1> +
+ +

Enables internal PLL with 20 MHz internal reference for sample clock generation.

+
+ + +
+
+
#   + + SPC_CM_EXTERNAL = <ClockMode.SPC_CM_EXTERNAL: 8> +
+ +

Enables external clock input for direct sample clock generation.

+
+ + +
+
+
#   + + SPC_CM_EXTREFCLOCK = <ClockMode.SPC_CM_EXTREFCLOCK: 32> +
+ +

Enables internal PLL with external reference for sample clock generation.

+
+ + +
+
+
Inherited Members
+
+
enum.Enum
+
name
+
value
+ +
+
+
+
+
+
+ #   + + + class + CardFeature(enum.Enum): +
+ +
+ View Source +
class CardFeature(Enum):
+    """Enum representing the possible features of all Spectrum devices. A list of features can be read from a device
+    using the feature_list property. See the Spectrum documentation for descriptions of each of the features."""
+
+    SPCM_FEAT_MULTI = SPCM_FEAT_MULTI
+    SPCM_FEAT_GATE = SPCM_FEAT_GATE
+    SPCM_FEAT_DIGITAL = SPCM_FEAT_DIGITAL
+    SPCM_FEAT_TIMESTAMP = SPCM_FEAT_TIMESTAMP
+    SPCM_FEAT_STARHUB_4_5_6EXTM_8EXTM = SPCM_FEAT_STARHUB_4_5_6EXTM_8EXTM
+    SPCM_FEAT_STARHUB_8_16_16EXTM = SPCM_FEAT_STARHUB_8_16_16EXTM
+    SPCM_FEAT_ABA = SPCM_FEAT_ABA
+    SPCM_FEAT_BASEXIO = SPCM_FEAT_BASEXIO
+    SPCM_FEAT_AMPLIFIER_10V = SPCM_FEAT_AMPLIFIER_10V
+    SPCM_FEAT_STARHUBSYSMASTER = SPCM_FEAT_STARHUBSYSMASTER
+    SPCM_FEAT_DIFFMODE = SPCM_FEAT_DIFFMODE
+    SPCM_FEAT_SEQUENCE = SPCM_FEAT_SEQUENCE
+    SPCM_FEAT_AMPMODULE_10V = SPCM_FEAT_AMPMODULE_10V
+    SPCM_FEAT_STARHUBSYSSLAVE = SPCM_FEAT_STARHUBSYSSLAVE
+    SPCM_FEAT_NETBOX = SPCM_FEAT_NETBOX
+    SPCM_FEAT_REMOTESERVER = SPCM_FEAT_REMOTESERVER
+    SPCM_FEAT_SCAPP = SPCM_FEAT_SCAPP
+    SPCM_FEAT_CUSTOMMOD_MASK = SPCM_FEAT_CUSTOMMOD_MASK
+
+ +
+ +

Enum representing the possible features of all Spectrum devices. A list of features can be read from a device +using the feature_list property. See the Spectrum documentation for descriptions of each of the features.

+
+ + +
+
#   + + SPCM_FEAT_MULTI = <CardFeature.SPCM_FEAT_MULTI: 1> +
+ + + +
+
+
#   + + SPCM_FEAT_GATE = <CardFeature.SPCM_FEAT_GATE: 2> +
+ + + +
+
+
#   + + SPCM_FEAT_DIGITAL = <CardFeature.SPCM_FEAT_DIGITAL: 4> +
+ + + +
+
+
#   + + SPCM_FEAT_TIMESTAMP = <CardFeature.SPCM_FEAT_TIMESTAMP: 8> +
+ + + +
+
+
#   + + SPCM_FEAT_STARHUB_4_5_6EXTM_8EXTM = <CardFeature.SPCM_FEAT_STARHUB_4_5_6EXTM_8EXTM: 32> +
+ + + +
+
+
#   + + SPCM_FEAT_STARHUB_8_16_16EXTM = <CardFeature.SPCM_FEAT_STARHUB_8_16_16EXTM: 64> +
+ + + +
+
+
#   + + SPCM_FEAT_ABA = <CardFeature.SPCM_FEAT_ABA: 128> +
+ + + +
+
+
#   + + SPCM_FEAT_BASEXIO = <CardFeature.SPCM_FEAT_BASEXIO: 256> +
+ + + +
+
+
#   + + SPCM_FEAT_AMPLIFIER_10V = <CardFeature.SPCM_FEAT_AMPLIFIER_10V: 512> +
+ + + +
+
+
#   + + SPCM_FEAT_STARHUBSYSMASTER = <CardFeature.SPCM_FEAT_STARHUBSYSMASTER: 1024> +
+ + + +
+
+
#   + + SPCM_FEAT_DIFFMODE = <CardFeature.SPCM_FEAT_DIFFMODE: 2048> +
+ + + +
+
+
#   + + SPCM_FEAT_SEQUENCE = <CardFeature.SPCM_FEAT_SEQUENCE: 4096> +
+ + + +
+
+
#   + + SPCM_FEAT_AMPMODULE_10V = <CardFeature.SPCM_FEAT_AMPMODULE_10V: 8192> +
+ + + +
+
+
#   + + SPCM_FEAT_STARHUBSYSSLAVE = <CardFeature.SPCM_FEAT_STARHUBSYSSLAVE: 16384> +
+ + + +
+
+
#   + + SPCM_FEAT_NETBOX = <CardFeature.SPCM_FEAT_NETBOX: 32768> +
+ + + +
+
+
#   + + SPCM_FEAT_REMOTESERVER = <CardFeature.SPCM_FEAT_REMOTESERVER: 65536> +
+ + + +
+
+
#   + + SPCM_FEAT_SCAPP = <CardFeature.SPCM_FEAT_SCAPP: 131072> +
+ + + +
+
+
#   + + SPCM_FEAT_CUSTOMMOD_MASK = <CardFeature.SPCM_FEAT_CUSTOMMOD_MASK: 4026531840> +
+ + + +
+
+
Inherited Members
+
+
enum.Enum
+
name
+
value
+ +
+
+
+
+
+
+ #   + + + class + AdvancedCardFeature(enum.Enum): +
+ +
+ View Source +
class AdvancedCardFeature(Enum):
+    """Enum representing the possible advanced features of all Spectrum devices. A list of features can be read from a
+    device using the feature_list property. See the Spectrum documentation for descriptions of each of the features.
+    """
+
+    SPCM_FEAT_EXTFW_SEGSTAT = SPCM_FEAT_EXTFW_SEGSTAT
+    SPCM_FEAT_EXTFW_SEGAVERAGE = SPCM_FEAT_EXTFW_SEGAVERAGE
+    SPCM_FEAT_EXTFW_BOXCAR = SPCM_FEAT_EXTFW_BOXCAR
+
+ +
+ +

Enum representing the possible advanced features of all Spectrum devices. A list of features can be read from a +device using the feature_list property. See the Spectrum documentation for descriptions of each of the features.

+
+ + +
+
#   + + SPCM_FEAT_EXTFW_SEGSTAT = <AdvancedCardFeature.SPCM_FEAT_EXTFW_SEGSTAT: 1> +
+ + + +
+
+
#   + + SPCM_FEAT_EXTFW_SEGAVERAGE = <AdvancedCardFeature.SPCM_FEAT_EXTFW_SEGAVERAGE: 2> +
+ + + +
+
+
#   + + SPCM_FEAT_EXTFW_BOXCAR = <AdvancedCardFeature.SPCM_FEAT_EXTFW_BOXCAR: 4> +
+ + + +
+
+
Inherited Members
+
+
enum.Enum
+
name
+
value
+ +
+
+
+
+
+
+ #   + + + class + IOLineMode(enum.Enum): +
+ +
+ View Source +
class IOLineMode(Enum):
+    """Enum representing the possible modes that a devices multi-purpose I/O line can support. A list of available
+    modes for each I/O line on a device is provided by the devices available_io_modes property. See the Spectrum
+    documentation for a description of each of the modes."""
+
+    SPCM_XMODE_DISABLE = SPCM_XMODE_DISABLE
+    SPCM_XMODE_ASYNCIN = SPCM_XMODE_ASYNCIN
+    SPCM_XMODE_ASYNCOUT = SPCM_XMODE_ASYNCOUT
+    SPCM_XMODE_DIGIN = SPCM_XMODE_DIGIN
+    SPCM_XMODE_TRIGIN = SPCM_XMODE_TRIGIN
+    SPCM_XMODE_DIGOUT = SPCM_XMODE_DIGOUT
+    SPCM_XMODE_TRIGOUT = SPCM_XMODE_TRIGOUT
+    SPCM_XMODE_RUNSTATE = SPCM_XMODE_RUNSTATE
+    SPCM_XMODE_ARMSTATE = SPCM_XMODE_ARMSTATE
+    SPCM_XMODE_CONTOUTMARK = SPCM_XMODE_CONTOUTMARK
+
+ +
+ +

Enum representing the possible modes that a devices multi-purpose I/O line can support. A list of available +modes for each I/O line on a device is provided by the devices available_io_modes property. See the Spectrum +documentation for a description of each of the modes.

+
+ + +
+
#   + + SPCM_XMODE_DISABLE = <IOLineMode.SPCM_XMODE_DISABLE: 0> +
+ + + +
+
+
#   + + SPCM_XMODE_ASYNCIN = <IOLineMode.SPCM_XMODE_ASYNCIN: 1> +
+ + + +
+
+
#   + + SPCM_XMODE_ASYNCOUT = <IOLineMode.SPCM_XMODE_ASYNCOUT: 2> +
+ + + +
+
+
#   + + SPCM_XMODE_DIGIN = <IOLineMode.SPCM_XMODE_DIGIN: 4> +
+ + + +
+
+
#   + + SPCM_XMODE_TRIGIN = <IOLineMode.SPCM_XMODE_TRIGIN: 16> +
+ + + +
+
+
#   + + SPCM_XMODE_DIGOUT = <IOLineMode.SPCM_XMODE_DIGOUT: 8> +
+ + + +
+
+
#   + + SPCM_XMODE_TRIGOUT = <IOLineMode.SPCM_XMODE_TRIGOUT: 32> +
+ + + +
+
+
#   + + SPCM_XMODE_RUNSTATE = <IOLineMode.SPCM_XMODE_RUNSTATE: 256> +
+ + + +
+
+
#   + + SPCM_XMODE_ARMSTATE = <IOLineMode.SPCM_XMODE_ARMSTATE: 512> +
+ + + +
+
+
#   + + SPCM_XMODE_CONTOUTMARK = <IOLineMode.SPCM_XMODE_CONTOUTMARK: 8192> +
+ + + +
+
+
Inherited Members
+
+
enum.Enum
+
name
+
value
+ +
+
+
+
+
+
+ #   + +
@dataclass
+ + class + AvailableIOModes: +
+ +
+ View Source +
@dataclass
+class AvailableIOModes:
+    """Stores a list of the available IOLineMode settings on each of the four I/O lines (X0, X1, X2 and X3) on a
+    device. Returned by the available_io_modes() method of a device."""
+
+    X0: List[IOLineMode]
+    """IO modes available to the XO IO line."""
+    X1: List[IOLineMode]
+    """IO modes available to the X1 IO line."""
+    X2: List[IOLineMode]
+    """IO modes available to the X2 IO line."""
+    X3: List[IOLineMode]
+    """IO modes available to the X3 IO line."""
+
+ +
+ +

Stores a list of the available IOLineMode settings on each of the four I/O lines (X0, X1, X2 and X3) on a +device. Returned by the available_io_modes() method of a device.

+
+ + + +
+ + +

IO modes available to the XO IO line.

+
+ + +
+
+ + +

IO modes available to the X1 IO line.

+
+ + +
+
+ + +

IO modes available to the X2 IO line.

+
+ + +
+
+ + +

IO modes available to the X3 IO line.

+
+ + +
+
+
+
+ #   + +
@dataclass
+ + class + TransferBuffer: +
+ +
+ View Source +
@dataclass
+class TransferBuffer:
+    """A buffer for transferring samples between spectrumdevice software and a hardware device. See the 'Definition of the
+    transfer buffer' section of the Spectrum documentation for more information. This implementation of the buffer
+    sets the notify size equal to the acquisition length."""
+
+    type: BufferType
+    """Specifies whether the buffer is to be used to transfer samples, timestamps or A/B data."""
+    direction: BufferDirection
+    """Specifies whether the buffer is to be used to transfer data from the card to the PC, or the PC to the card."""
+    board_memory_offset_bytes: int
+    """Sets the offset for transfer in board memory. Typically 0. See Spectrum documentation for more information."""
+    data_array: ndarray
+    """1D numpy array into which samples will be written during transfer."""
+
+    def copy_contents(self) -> ndarray:
+        return copy(self.data_array)
+
+    @property
+    def data_array_pointer(self) -> c_void_p:
+        """A pointer to the data array."""
+        return self.data_array.ctypes.data_as(c_void_p)
+
+    @property
+    def data_array_length_in_bytes(self) -> int:
+        """The length of the array into which sample will be written, in bytes."""
+        return self.data_array.size * self.data_array.itemsize
+
+    @property
+    def notify_size_in_bytes(self) -> int:
+        """The number of transferred bytes after which a notification of transfer is sent from the device. This is
+        currently always set to the length of the data array, meaning that a notification will be received once the
+        transfer is complete. See the Spectrum documentation for more information."""
+        return self.data_array_length_in_bytes
+
+    def __eq__(self, other: object) -> bool:
+        if isinstance(other, TransferBuffer):
+            return (
+                (self.type == other.type)
+                and (self.direction == other.direction)
+                and (self.board_memory_offset_bytes == other.board_memory_offset_bytes)
+                and (self.data_array == other.data_array).all()
+            )
+        else:
+            raise NotImplementedError()
+
+ +
+ +

A buffer for transferring samples between spectrumdevice software and a hardware device. See the 'Definition of the +transfer buffer' section of the Spectrum documentation for more information. This implementation of the buffer +sets the notify size equal to the acquisition length.

+
+ + +
+
#   + + + TransferBuffer( + type: spectrumdevice.settings.transfer_buffer.BufferType, + direction: spectrumdevice.settings.transfer_buffer.BufferDirection, + board_memory_offset_bytes: int, + data_array: numpy.ndarray +) +
+ + + + +
+
+ + +

Specifies whether the buffer is to be used to transfer samples, timestamps or A/B data.

+
+ + +
+
+ + +

Specifies whether the buffer is to be used to transfer data from the card to the PC, or the PC to the card.

+
+ + +
+
+
#   + + board_memory_offset_bytes: int +
+ +

Sets the offset for transfer in board memory. Typically 0. See Spectrum documentation for more information.

+
+ + +
+
+
#   + + data_array: numpy.ndarray +
+ +

1D numpy array into which samples will be written during transfer.

+
+ + +
+
+
#   + + + def + copy_contents(self) -> numpy.ndarray: +
+ +
+ View Source +
    def copy_contents(self) -> ndarray:
+        return copy(self.data_array)
+
+ +
+ + + +
+
+
#   + + data_array_pointer: ctypes.c_void_p +
+ +

A pointer to the data array.

+
+ + +
+
+
#   + + data_array_length_in_bytes: int +
+ +

The length of the array into which sample will be written, in bytes.

+
+ + +
+
+
#   + + notify_size_in_bytes: int +
+ +

The number of transferred bytes after which a notification of transfer is sent from the device. This is +currently always set to the length of the data array, meaning that a notification will be received once the +transfer is complete. See the Spectrum documentation for more information.

+
+ + +
+
+
+
+ #   + + + class + CardToPCDataTransferBuffer(spectrumdevice.settings.TransferBuffer): +
+ +
+ View Source +
class CardToPCDataTransferBuffer(TransferBuffer):
+    """A TransferBuffer configured for card-to-pc transfer of samples (rather than timestamps or ABA data)."""
+
+    def __init__(self, size_in_samples: int, board_memory_offset_bytes: int = 0) -> None:
+        """
+        Args:
+            size_in_samples (int): The size of the array into which samples will be written, in samples.
+            board_memory_offset_bytes (int): Sets the offset for transfer in board memory. Default 0. See Spectrum
+                documentation for more information.
+        """
+        self.type = BufferType.SPCM_BUF_DATA
+        self.direction = BufferDirection.SPCM_DIR_CARDTOPC
+        self.board_memory_offset_bytes = board_memory_offset_bytes
+        self.data_array = zeros(size_in_samples, int16)
+
+ +
+ +

A TransferBuffer configured for card-to-pc transfer of samples (rather than timestamps or ABA data).

+
+ + +
+
#   + + + CardToPCDataTransferBuffer(size_in_samples: int, board_memory_offset_bytes: int = 0) +
+ +
+ View Source +
    def __init__(self, size_in_samples: int, board_memory_offset_bytes: int = 0) -> None:
+        """
+        Args:
+            size_in_samples (int): The size of the array into which samples will be written, in samples.
+            board_memory_offset_bytes (int): Sets the offset for transfer in board memory. Default 0. See Spectrum
+                documentation for more information.
+        """
+        self.type = BufferType.SPCM_BUF_DATA
+        self.direction = BufferDirection.SPCM_DIR_CARDTOPC
+        self.board_memory_offset_bytes = board_memory_offset_bytes
+        self.data_array = zeros(size_in_samples, int16)
+
+ +
+ +
Args
+ +
    +
  • size_in_samples (int): The size of the array into which samples will be written, in samples.
  • +
  • board_memory_offset_bytes (int): Sets the offset for transfer in board memory. Default 0. See Spectrum +documentation for more information.
  • +
+
+ + +
+ +
+
+
+ #   + + + class + TriggerSource(enum.Enum): +
+ +
+ View Source +
class TriggerSource(Enum):
+    """An Enum representing the possible trigger sources."""
+
+    SPC_TMASK_SOFTWARE = SPC_TMASK_SOFTWARE
+    """Enables the software trigger for the OR mask. The card will trigger immediately after start."""
+    SPC_TMASK_EXT0 = SPC_TMASK_EXT0
+    """Enables the external (analog) trigger 0 for the OR mask."""
+    SPC_TMASK_EXT1 = SPC_TMASK_EXT1
+    """Enables the X1 (logic) trigger for the OR mask."""
+    SPC_TMASK_EXT2 = SPC_TMASK_EXT2
+    """Enables the X2 (logic) trigger for the OR mask."""
+    SPC_TMASK_EXT3 = SPC_TMASK_EXT3
+    """Enables the X3 (logic) trigger for the OR mask."""
+    SPC_TMASK_NONE = SPC_TMASK_NONE
+    """No trigger source selected."""
+
+ +
+ +

An Enum representing the possible trigger sources.

+
+ + +
+
#   + + SPC_TMASK_SOFTWARE = <TriggerSource.SPC_TMASK_SOFTWARE: 1> +
+ +

Enables the software trigger for the OR mask. The card will trigger immediately after start.

+
+ + +
+
+
#   + + SPC_TMASK_EXT0 = <TriggerSource.SPC_TMASK_EXT0: 2> +
+ +

Enables the external (analog) trigger 0 for the OR mask.

+
+ + +
+
+
#   + + SPC_TMASK_EXT1 = <TriggerSource.SPC_TMASK_EXT1: 4> +
+ +

Enables the X1 (logic) trigger for the OR mask.

+
+ + +
+
+
#   + + SPC_TMASK_EXT2 = <TriggerSource.SPC_TMASK_EXT2: 8> +
+ +

Enables the X2 (logic) trigger for the OR mask.

+
+ + +
+
+
#   + + SPC_TMASK_EXT3 = <TriggerSource.SPC_TMASK_EXT3: 16> +
+ +

Enables the X3 (logic) trigger for the OR mask.

+
+ + +
+
+
#   + + SPC_TMASK_NONE = <TriggerSource.SPC_TMASK_NONE: 0> +
+ +

No trigger source selected.

+
+ + +
+
+
Inherited Members
+
+
enum.Enum
+
name
+
value
+ +
+
+
+
+
+
+ #   + + + class + ExternalTriggerMode(enum.Enum): +
+ +
+ View Source +
class ExternalTriggerMode(Enum):
+    """An Enum representing the supported trigger modes. See the Spectrum documentation more more Information.
+
+    SPC_TM_NONE:
+    SPC_TM_POS:
+    SPC_TM_NEG:
+    SPC_TM_BOTH:
+    SPC_TM_HIGH:
+    SPC_TM_LOW:
+    SPC_TM_PW_GREATER:
+    SPC_TM_PW_SMALLER:
+    """
+
+    SPC_TM_NONE = SPC_TM_NONE
+    """Channel is not used for trigger detection."""
+    SPC_TM_POS = SPC_TM_POS
+    """Trigger detection for positive edges (crossing level 0 from below to above)."""
+    SPC_TM_NEG = SPC_TM_NEG
+    """Trigger detection for negative edges (crossing level 0 from above to below)."""
+    SPC_TM_BOTH = SPC_TM_BOTH
+    """Trigger detection for positive and negative edges (any crossing of level 0)."""
+    SPC_TM_HIGH = SPC_TM_HIGH
+    """Trigger detection for HIGH levels (signal above level 0)."""
+    SPC_TM_LOW = SPC_TM_LOW
+    """Trigger detection for LOW levels (signal below level 0)."""
+    SPC_TM_PW_GREATER = SPC_TM_PW_GREATER
+    """Sets the trigger mode for external trigger to detect pulses that are longer than the pulse width
+    chosen using the devices set_external_trigger_pulse_width_in_samples() method. Can only be used in combination
+    with one of the above modes."""
+    SPC_TM_PW_SMALLER = SPC_TM_PW_SMALLER
+    """Sets the trigger mode for external trigger to detect pulses that are shorter than the pulse width
+    chosen using the devices set_external_trigger_pulse_width_in_samples() method. Can only be used in combination
+    with one of the above modes."""
+
+ +
+ +

An Enum representing the supported trigger modes. See the Spectrum documentation more more Information.

+ +

SPC_TM_NONE: +SPC_TM_POS: +SPC_TM_NEG: +SPC_TM_BOTH: +SPC_TM_HIGH: +SPC_TM_LOW: +SPC_TM_PW_GREATER: +SPC_TM_PW_SMALLER:

+
+ + +
+
#   + + SPC_TM_NONE = <ExternalTriggerMode.SPC_TM_NONE: 0> +
+ +

Channel is not used for trigger detection.

+
+ + +
+
+
#   + + SPC_TM_POS = <ExternalTriggerMode.SPC_TM_POS: 1> +
+ +

Trigger detection for positive edges (crossing level 0 from below to above).

+
+ + +
+
+
#   + + SPC_TM_NEG = <ExternalTriggerMode.SPC_TM_NEG: 2> +
+ +

Trigger detection for negative edges (crossing level 0 from above to below).

+
+ + +
+
+
#   + + SPC_TM_BOTH = <ExternalTriggerMode.SPC_TM_BOTH: 4> +
+ +

Trigger detection for positive and negative edges (any crossing of level 0).

+
+ + +
+
+
#   + + SPC_TM_HIGH = <ExternalTriggerMode.SPC_TM_HIGH: 8> +
+ +

Trigger detection for HIGH levels (signal above level 0).

+
+ + +
+
+
#   + + SPC_TM_LOW = <ExternalTriggerMode.SPC_TM_LOW: 16> +
+ +

Trigger detection for LOW levels (signal below level 0).

+
+ + +
+
+
#   + + SPC_TM_PW_GREATER = <ExternalTriggerMode.SPC_TM_PW_GREATER: 67108864> +
+ +

Sets the trigger mode for external trigger to detect pulses that are longer than the pulse width +chosen using the devices set_external_trigger_pulse_width_in_samples() method. Can only be used in combination +with one of the above modes.

+
+ + +
+
+
#   + + SPC_TM_PW_SMALLER = <ExternalTriggerMode.SPC_TM_PW_SMALLER: 33554432> +
+ +

Sets the trigger mode for external trigger to detect pulses that are shorter than the pulse width +chosen using the devices set_external_trigger_pulse_width_in_samples() method. Can only be used in combination +with one of the above modes.

+
+ + +
+
+
Inherited Members
+
+
enum.Enum
+
name
+
value
+ +
+
+
+
+
+
#   + + CARD_STATUS_TYPE = typing.List[spectrumdevice.settings.status.StatusCode] +
+ + + +
+
+
#   + + DEVICE_STATUS_TYPE = typing.List[typing.List[spectrumdevice.settings.status.StatusCode]] +
+ + + +
+
+
+ #   + + + class + StatusCode(enum.Enum): +
+ +
+ View Source +
class StatusCode(Enum):
+    """An Enum representing the possible status codes that can be returned by a SpectrumDigitiserCard. See the Spectrum
+    documentation for a description of each status."""
+
+    M2STAT_NONE = M2STAT_NONE
+    M2STAT_CARD_PRETRIGGER = M2STAT_CARD_PRETRIGGER
+    M2STAT_CARD_TRIGGER = M2STAT_CARD_TRIGGER
+    M2STAT_CARD_READY = M2STAT_CARD_READY
+    M2STAT_CARD_SEGMENT_PRETRG = M2STAT_CARD_SEGMENT_PRETRG
+    M2STAT_DATA_BLOCKREADY = M2STAT_DATA_BLOCKREADY
+    M2STAT_DATA_END = M2STAT_DATA_END
+    M2STAT_DATA_OVERRUN = M2STAT_DATA_OVERRUN
+    M2STAT_DATA_ERROR = M2STAT_DATA_ERROR
+    M2STAT_EXTRA_BLOCKREADY = M2STAT_EXTRA_BLOCKREADY
+    M2STAT_EXTRA_END = M2STAT_EXTRA_END
+    M2STAT_EXTRA_OVERRUN = M2STAT_EXTRA_OVERRUN
+    M2STAT_EXTRA_ERROR = M2STAT_EXTRA_ERROR
+
+ +
+ +

An Enum representing the possible status codes that can be returned by a SpectrumDigitiserCard. See the Spectrum +documentation for a description of each status.

+
+ + +
+
#   + + M2STAT_NONE = <StatusCode.M2STAT_NONE: 0> +
+ + + +
+
+
#   + + M2STAT_CARD_PRETRIGGER = <StatusCode.M2STAT_CARD_PRETRIGGER: 1> +
+ + + +
+
+
#   + + M2STAT_CARD_TRIGGER = <StatusCode.M2STAT_CARD_TRIGGER: 2> +
+ + + +
+
+
#   + + M2STAT_CARD_READY = <StatusCode.M2STAT_CARD_READY: 4> +
+ + + +
+
+
#   + + M2STAT_CARD_SEGMENT_PRETRG = <StatusCode.M2STAT_CARD_SEGMENT_PRETRG: 8> +
+ + + +
+
+
#   + + M2STAT_DATA_BLOCKREADY = <StatusCode.M2STAT_DATA_BLOCKREADY: 256> +
+ + + +
+
+
#   + + M2STAT_DATA_END = <StatusCode.M2STAT_DATA_END: 512> +
+ + + +
+
+
#   + + M2STAT_DATA_OVERRUN = <StatusCode.M2STAT_DATA_OVERRUN: 1024> +
+ + + +
+
+
#   + + M2STAT_DATA_ERROR = <StatusCode.M2STAT_DATA_ERROR: 2048> +
+ + + +
+
+
#   + + M2STAT_EXTRA_BLOCKREADY = <StatusCode.M2STAT_EXTRA_BLOCKREADY: 4096> +
+ + + +
+
+
#   + + M2STAT_EXTRA_END = <StatusCode.M2STAT_EXTRA_END: 8192> +
+ + + +
+
+
#   + + M2STAT_EXTRA_OVERRUN = <StatusCode.M2STAT_EXTRA_OVERRUN: 16384> +
+ + + +
+
+
#   + + M2STAT_EXTRA_ERROR = <StatusCode.M2STAT_EXTRA_ERROR: 32768> +
+ + + +
+
+
Inherited Members
+
+
enum.Enum
+
name
+
value
+ +
+
+
+
+
+
+ #   + + + class + SpectrumRegisterLength(enum.Enum): +
+ +
+ View Source +
class SpectrumRegisterLength(Enum):
+    """Enum defining the possible lengths of a spectrum register."""
+
+    THIRTY_TWO = 0
+    """32 bit register"""
+    SIXTY_FOUR = 1
+    """64 bit register"""
+
+    def __repr__(self) -> str:
+        return self.name
+
+ +
+ +

Enum defining the possible lengths of a spectrum register.

+
+ + +
+
#   + + THIRTY_TWO = THIRTY_TWO +
+ +

32 bit register

+
+ + +
+
+
#   + + SIXTY_FOUR = SIXTY_FOUR +
+ +

64 bit register

+
+ + +
+
+
Inherited Members
+
+
enum.Enum
+
name
+
value
+ +
+
+
+
+
+
+ #   + + + class + CardType(enum.Enum): +
+ +
+ View Source +
class CardType(Enum):
+    """An Enum representing the integer values returned by a device when its type identifier is queried by reading the
+    SPC_PCITYP register. Only the supported card types are listed: 22xx, 44xx and 59xx family devices."""
+
+    TYP_M4I2210_X8 = TYP_M4I2210_X8
+    TYP_M4I2211_X8 = TYP_M4I2211_X8
+    TYP_M4I2212_X8 = TYP_M4I2212_X8
+    TYP_M4I2220_X8 = TYP_M4I2220_X8
+    TYP_M4I2221_X8 = TYP_M4I2221_X8
+    TYP_M4I2223_X8 = TYP_M4I2223_X8
+    TYP_M4I2230_X8 = TYP_M4I2230_X8
+    TYP_M4I2233_X8 = TYP_M4I2233_X8
+    TYP_M4I2234_X8 = TYP_M4I2234_X8
+    TYP_M4I2280_X8 = TYP_M4I2280_X8
+    TYP_M4I2281_X8 = TYP_M4I2281_X8
+    TYP_M4I2283_X8 = TYP_M4I2283_X8
+    TYP_M4I2290_X8 = TYP_M4I2290_X8
+    TYP_M4I2293_X8 = TYP_M4I2293_X8
+    TYP_M4I2294_X8 = TYP_M4I2294_X8
+    TYP_M4I4410_X8 = TYP_M4I4410_X8
+    TYP_M4I4411_X8 = TYP_M4I4411_X8
+    TYP_M4I4420_X8 = TYP_M4I4420_X8
+    TYP_M4I4421_X8 = TYP_M4I4421_X8
+    TYP_M4I4450_X8 = TYP_M4I4450_X8
+    TYP_M4I4451_X8 = TYP_M4I4451_X8
+    TYP_M4I4470_X8 = TYP_M4I4470_X8
+    TYP_M4I4471_X8 = TYP_M4I4471_X8
+    TYP_M4I4480_X8 = TYP_M4I4480_X8
+    TYP_M4I4481_X8 = TYP_M4I4481_X8
+    TYP_M4X44XX_X4 = TYP_M4X44XX_X4
+    TYP_M4X4410_X4 = TYP_M4X4410_X4
+    TYP_M4X4411_X4 = TYP_M4X4411_X4
+    TYP_M4X4420_X4 = TYP_M4X4420_X4
+    TYP_M4X4421_X4 = TYP_M4X4421_X4
+    TYP_M4X4450_X4 = TYP_M4X4450_X4
+    TYP_M4X4451_X4 = TYP_M4X4451_X4
+    TYP_M4X4470_X4 = TYP_M4X4470_X4
+    TYP_M4X4471_X4 = TYP_M4X4471_X4
+    TYP_M4X4480_X4 = TYP_M4X4480_X4
+    TYP_M4X4481_X4 = TYP_M4X4481_X4
+    TYP_M2P5911_X4 = TYP_M2P5911_X4
+    TYP_M2P5912_X4 = TYP_M2P5912_X4
+    TYP_M2P5913_X4 = TYP_M2P5913_X4
+    TYP_M2P5916_X4 = TYP_M2P5916_X4
+    TYP_M2P5920_X4 = TYP_M2P5920_X4
+    TYP_M2P5921_X4 = TYP_M2P5921_X4
+    TYP_M2P5922_X4 = TYP_M2P5922_X4
+    TYP_M2P5923_X4 = TYP_M2P5923_X4
+    TYP_M2P5926_X4 = TYP_M2P5926_X4
+    TYP_M2P5930_X4 = TYP_M2P5930_X4
+    TYP_M2P5931_X4 = TYP_M2P5931_X4
+    TYP_M2P5932_X4 = TYP_M2P5932_X4
+    TYP_M2P5933_X4 = TYP_M2P5933_X4
+    TYP_M2P5936_X4 = TYP_M2P5936_X4
+    TYP_M2P5940_X4 = TYP_M2P5940_X4
+    TYP_M2P5941_X4 = TYP_M2P5941_X4
+    TYP_M2P5942_X4 = TYP_M2P5942_X4
+    TYP_M2P5943_X4 = TYP_M2P5943_X4
+    TYP_M2P5946_X4 = TYP_M2P5946_X4
+    TYP_M2P5960_X4 = TYP_M2P5960_X4
+    TYP_M2P5961_X4 = TYP_M2P5961_X4
+    TYP_M2P5962_X4 = TYP_M2P5962_X4
+    TYP_M2P5966_X4 = TYP_M2P5966_X4
+    TYP_M2P5968_X4 = TYP_M2P5968_X4
+
+ +
+ +

An Enum representing the integer values returned by a device when its type identifier is queried by reading the +SPC_PCITYP register. Only the supported card types are listed: 22xx, 44xx and 59xx family devices.

+
+ + +
+
#   + + TYP_M4I2210_X8 = <CardType.TYP_M4I2210_X8: 467472> +
+ + + +
+
+
#   + + TYP_M4I2211_X8 = <CardType.TYP_M4I2211_X8: 467473> +
+ + + +
+
+
#   + + TYP_M4I2212_X8 = <CardType.TYP_M4I2212_X8: 467474> +
+ + + +
+
+
#   + + TYP_M4I2220_X8 = <CardType.TYP_M4I2220_X8: 467488> +
+ + + +
+
+
#   + + TYP_M4I2221_X8 = <CardType.TYP_M4I2221_X8: 467489> +
+ + + +
+
+
#   + + TYP_M4I2223_X8 = <CardType.TYP_M4I2223_X8: 467491> +
+ + + +
+
+
#   + + TYP_M4I2230_X8 = <CardType.TYP_M4I2230_X8: 467504> +
+ + + +
+
+
#   + + TYP_M4I2233_X8 = <CardType.TYP_M4I2233_X8: 467507> +
+ + + +
+
+
#   + + TYP_M4I2234_X8 = <CardType.TYP_M4I2234_X8: 467508> +
+ + + +
+
+
#   + + TYP_M4I2280_X8 = <CardType.TYP_M4I2280_X8: 467584> +
+ + + +
+
+
#   + + TYP_M4I2281_X8 = <CardType.TYP_M4I2281_X8: 467585> +
+ + + +
+
+
#   + + TYP_M4I2283_X8 = <CardType.TYP_M4I2283_X8: 467587> +
+ + + +
+
+
#   + + TYP_M4I2290_X8 = <CardType.TYP_M4I2290_X8: 467600> +
+ + + +
+
+
#   + + TYP_M4I2293_X8 = <CardType.TYP_M4I2293_X8: 467603> +
+ + + +
+
+
#   + + TYP_M4I2294_X8 = <CardType.TYP_M4I2294_X8: 467604> +
+ + + +
+
+
#   + + TYP_M4I4410_X8 = <CardType.TYP_M4I4410_X8: 476176> +
+ + + +
+
+
#   + + TYP_M4I4411_X8 = <CardType.TYP_M4I4411_X8: 476177> +
+ + + +
+
+
#   + + TYP_M4I4420_X8 = <CardType.TYP_M4I4420_X8: 476192> +
+ + + +
+
+
#   + + TYP_M4I4421_X8 = <CardType.TYP_M4I4421_X8: 476193> +
+ + + +
+
+
#   + + TYP_M4I4450_X8 = <CardType.TYP_M4I4450_X8: 476240> +
+ + + +
+
+
#   + + TYP_M4I4451_X8 = <CardType.TYP_M4I4451_X8: 476241> +
+ + + +
+
+
#   + + TYP_M4I4470_X8 = <CardType.TYP_M4I4470_X8: 476272> +
+ + + +
+
+
#   + + TYP_M4I4471_X8 = <CardType.TYP_M4I4471_X8: 476273> +
+ + + +
+
+
#   + + TYP_M4I4480_X8 = <CardType.TYP_M4I4480_X8: 476288> +
+ + + +
+
+
#   + + TYP_M4I4481_X8 = <CardType.TYP_M4I4481_X8: 476289> +
+ + + +
+
+
#   + + TYP_M4X44XX_X4 = <CardType.TYP_M4X44XX_X4: 541696> +
+ + + +
+
+
#   + + TYP_M4X4410_X4 = <CardType.TYP_M4X4410_X4: 541712> +
+ + + +
+
+
#   + + TYP_M4X4411_X4 = <CardType.TYP_M4X4411_X4: 541713> +
+ + + +
+
+
#   + + TYP_M4X4420_X4 = <CardType.TYP_M4X4420_X4: 541728> +
+ + + +
+
+
#   + + TYP_M4X4421_X4 = <CardType.TYP_M4X4421_X4: 541729> +
+ + + +
+
+
#   + + TYP_M4X4450_X4 = <CardType.TYP_M4X4450_X4: 541776> +
+ + + +
+
+
#   + + TYP_M4X4451_X4 = <CardType.TYP_M4X4451_X4: 541777> +
+ + + +
+
+
#   + + TYP_M4X4470_X4 = <CardType.TYP_M4X4470_X4: 541808> +
+ + + +
+
+
#   + + TYP_M4X4471_X4 = <CardType.TYP_M4X4471_X4: 541809> +
+ + + +
+
+
#   + + TYP_M4X4480_X4 = <CardType.TYP_M4X4480_X4: 541824> +
+ + + +
+
+
#   + + TYP_M4X4481_X4 = <CardType.TYP_M4X4481_X4: 541825> +
+ + + +
+
+
#   + + TYP_M2P5911_X4 = <CardType.TYP_M2P5911_X4: 612625> +
+ + + +
+
+
#   + + TYP_M2P5912_X4 = <CardType.TYP_M2P5912_X4: 612626> +
+ + + +
+
+
#   + + TYP_M2P5913_X4 = <CardType.TYP_M2P5913_X4: 612627> +
+ + + +
+
+
#   + + TYP_M2P5916_X4 = <CardType.TYP_M2P5916_X4: 612630> +
+ + + +
+
+
#   + + TYP_M2P5920_X4 = <CardType.TYP_M2P5920_X4: 612640> +
+ + + +
+
+
#   + + TYP_M2P5921_X4 = <CardType.TYP_M2P5921_X4: 612641> +
+ + + +
+
+
#   + + TYP_M2P5922_X4 = <CardType.TYP_M2P5922_X4: 612642> +
+ + + +
+
+
#   + + TYP_M2P5923_X4 = <CardType.TYP_M2P5923_X4: 612643> +
+ + + +
+
+
#   + + TYP_M2P5926_X4 = <CardType.TYP_M2P5926_X4: 612646> +
+ + + +
+
+
#   + + TYP_M2P5930_X4 = <CardType.TYP_M2P5930_X4: 612656> +
+ + + +
+
+
#   + + TYP_M2P5931_X4 = <CardType.TYP_M2P5931_X4: 612657> +
+ + + +
+
+
#   + + TYP_M2P5932_X4 = <CardType.TYP_M2P5932_X4: 612658> +
+ + + +
+
+
#   + + TYP_M2P5933_X4 = <CardType.TYP_M2P5933_X4: 612659> +
+ + + +
+
+
#   + + TYP_M2P5936_X4 = <CardType.TYP_M2P5936_X4: 612662> +
+ + + +
+
+
#   + + TYP_M2P5940_X4 = <CardType.TYP_M2P5940_X4: 612672> +
+ + + +
+
+
#   + + TYP_M2P5941_X4 = <CardType.TYP_M2P5941_X4: 612673> +
+ + + +
+
+
#   + + TYP_M2P5942_X4 = <CardType.TYP_M2P5942_X4: 612674> +
+ + + +
+
+
#   + + TYP_M2P5943_X4 = <CardType.TYP_M2P5943_X4: 612675> +
+ + + +
+
+
#   + + TYP_M2P5946_X4 = <CardType.TYP_M2P5946_X4: 612678> +
+ + + +
+
+
#   + + TYP_M2P5960_X4 = <CardType.TYP_M2P5960_X4: 612704> +
+ + + +
+
+
#   + + TYP_M2P5961_X4 = <CardType.TYP_M2P5961_X4: 612705> +
+ + + +
+
+
#   + + TYP_M2P5962_X4 = <CardType.TYP_M2P5962_X4: 612706> +
+ + + +
+
+
#   + + TYP_M2P5966_X4 = <CardType.TYP_M2P5966_X4: 612710> +
+ + + +
+
+
#   + + TYP_M2P5968_X4 = <CardType.TYP_M2P5968_X4: 612712> +
+ + + +
+
+
Inherited Members
+
+
enum.Enum
+
name
+
value
+ +
+
+
+
+
+ + \ No newline at end of file diff --git a/src/example_scripts/connect_to_star_hub.py b/src/example_scripts/connect_to_star_hub.py index fcbba59..5cb4324 100644 --- a/src/example_scripts/connect_to_star_hub.py +++ b/src/example_scripts/connect_to_star_hub.py @@ -1,17 +1,18 @@ from spectrumdevice.devices.mocks import MockSpectrumDigitiserCard, MockSpectrumDigitiserStarHub from spectrumdevice.devices.digitiser import SpectrumDigitiserCard from spectrumdevice.devices.digitiser import SpectrumDigitiserStarHub -from spectrumdevice.settings import CardType +from spectrumdevice.settings import ModelNumber -def star_hub_example(mock_mode: bool, num_cards: int, master_card_index: int) -> SpectrumDigitiserStarHub: +def star_hub_example( + mock_mode: bool, num_cards: int, master_card_index: int, ip_address: str +) -> SpectrumDigitiserStarHub: if not mock_mode: - DEVICE_IP_ADDRESS = "169.254.142.75" child_cards = [] for n in range(num_cards): # Connect to each card in the hub. - child_cards.append(SpectrumDigitiserCard(device_number=n, ip_address=DEVICE_IP_ADDRESS)) + child_cards.append(SpectrumDigitiserCard(device_number=n, ip_address=ip_address)) # Connect to the hub itself return SpectrumDigitiserStarHub(device_number=0, child_cards=child_cards, master_card_index=master_card_index) else: @@ -21,7 +22,7 @@ def star_hub_example(mock_mode: bool, num_cards: int, master_card_index: int) -> mock_child_cards.append( MockSpectrumDigitiserCard( device_number=n, - card_type=CardType.TYP_M2P5966_X4, + model=ModelNumber.TYP_M2P5966_X4, mock_source_frame_rate_hz=10.0, # Mock devices need to be provided with a mock source frame rate num_modules=2, # (For real devices, this and num_channels_per_module are read from the hardware). num_channels_per_module=4, @@ -34,7 +35,7 @@ def star_hub_example(mock_mode: bool, num_cards: int, master_card_index: int) -> if __name__ == "__main__": - hub = star_hub_example(mock_mode=True, num_cards=2, master_card_index=1) + hub = star_hub_example(mock_mode=True, num_cards=2, master_card_index=1, ip_address="169.254.45.181") print(f"{hub} contains {len(hub.channels)} channels in total:") for channel in hub.channels: print(channel) diff --git a/src/example_scripts/continuous_averaging_fifo_mode.py b/src/example_scripts/continuous_averaging_fifo_mode.py index d648c54..1734b0b 100644 --- a/src/example_scripts/continuous_averaging_fifo_mode.py +++ b/src/example_scripts/continuous_averaging_fifo_mode.py @@ -8,7 +8,7 @@ from spectrumdevice.measurement import Measurement from spectrumdevice.settings import ( AcquisitionMode, - CardType, + ModelNumber, TriggerSource, ExternalTriggerMode, TriggerSettings, @@ -23,6 +23,7 @@ def continuous_averaging_multi_fifo_example( trigger_source: TriggerSource, device_number: int, ip_address: Optional[str] = None, + acquisition_length: int = 400, ) -> List[Measurement]: if not mock_mode: @@ -32,7 +33,7 @@ def continuous_averaging_multi_fifo_example( # Set up a mock device card = MockSpectrumDigitiserCard( device_number=device_number, - card_type=CardType.TYP_M2P5966_X4, + model=ModelNumber.TYP_M2P5966_X4, mock_source_frame_rate_hz=1.0, num_modules=2, num_channels_per_module=4, @@ -49,7 +50,7 @@ def continuous_averaging_multi_fifo_example( acquisition_settings = AcquisitionSettings( acquisition_mode=AcquisitionMode.SPC_REC_FIFO_AVERAGE, sample_rate_in_hz=40000000, - acquisition_length_in_samples=400, + acquisition_length_in_samples=acquisition_length, pre_trigger_length_in_samples=0, timeout_in_ms=1000, enabled_channels=[0], @@ -59,29 +60,34 @@ def continuous_averaging_multi_fifo_example( number_of_averages=num_averages, ) - # Apply settings - card.configure_trigger(trigger_settings) - card.configure_acquisition(acquisition_settings) - - # Execute acquisition - start_time = monotonic() - card.execute_continuous_fifo_acquisition() - - # Retrieve streamed waveform data until desired time has elapsed - measurements_list = [] - while (monotonic() - start_time) < acquisition_duration_in_seconds: - measurements_list.append(Measurement(waveforms=card.get_waveforms(), timestamp=card.get_timestamp())) - if measurements_list[-1].timestamp is not None: - print( - f"Got measurement triggered at {measurements_list[-1].timestamp.time()} (acquisition latency of" - f" {(datetime.datetime.now() - measurements_list[-1].timestamp).microseconds * 1e-3} ms)" - ) - - # Stop the acquisition (and streaming) - card.stop() - - card.reset() - card.disconnect() + try: + # Apply settings + card.configure_trigger(trigger_settings) + card.configure_acquisition(acquisition_settings) + + # Execute acquisition + card.execute_continuous_fifo_acquisition() + start_time = monotonic() + # Retrieve streamed waveform data until desired time has elapsed + measurements_list = [] + while (monotonic() - start_time) < acquisition_duration_in_seconds: + measurements_list += [ + Measurement(waveforms=frame, timestamp=card.get_timestamp()) for frame in card.get_waveforms() + ] + print(f"got {measurements_list} measurements") + if measurements_list[-1].timestamp is not None: + print( + f"Got measurement triggered at {measurements_list[-1].timestamp.time()} (acquisition latency of" + f" {(datetime.datetime.now() - measurements_list[-1].timestamp).microseconds * 1e-3} ms)" + ) + + finally: + # Stop the acquisition (and streaming) + card.stop() + + card.reset() + card.disconnect() + return measurements_list diff --git a/src/example_scripts/continuous_multi_fifo_mode.py b/src/example_scripts/continuous_multi_fifo_mode.py index 51d9f74..708f5ba 100644 --- a/src/example_scripts/continuous_multi_fifo_mode.py +++ b/src/example_scripts/continuous_multi_fifo_mode.py @@ -8,7 +8,7 @@ from spectrumdevice.measurement import Measurement from spectrumdevice.settings import ( AcquisitionMode, - CardType, + ModelNumber, TriggerSource, ExternalTriggerMode, TriggerSettings, @@ -22,6 +22,7 @@ def continuous_multi_fifo_example( trigger_source: TriggerSource, device_number: int, ip_address: Optional[str] = None, + acquisition_length: int = 400, ) -> List[Measurement]: if not mock_mode: @@ -31,7 +32,7 @@ def continuous_multi_fifo_example( # Set up a mock device card = MockSpectrumDigitiserCard( device_number=device_number, - card_type=CardType.TYP_M2P5966_X4, + model=ModelNumber.TYP_M2P5966_X4, mock_source_frame_rate_hz=1.0, num_modules=2, num_channels_per_module=4, @@ -48,38 +49,43 @@ def continuous_multi_fifo_example( acquisition_settings = AcquisitionSettings( acquisition_mode=AcquisitionMode.SPC_REC_FIFO_MULTI, sample_rate_in_hz=40000000, - acquisition_length_in_samples=400, + acquisition_length_in_samples=acquisition_length, pre_trigger_length_in_samples=0, - timeout_in_ms=1000, + timeout_in_ms=5000, enabled_channels=[0], vertical_ranges_in_mv=[200], vertical_offsets_in_percent=[0], timestamping_enabled=True, ) - # Apply settings - card.configure_trigger(trigger_settings) - card.configure_acquisition(acquisition_settings) - - # Execute acquisition - start_time = monotonic() - card.execute_continuous_fifo_acquisition() - - # Retrieve streamed waveform data until desired time has elapsed - measurements_list = [] - while (monotonic() - start_time) < acquisition_duration_in_seconds: - measurements_list.append(Measurement(waveforms=card.get_waveforms(), timestamp=card.get_timestamp())) - if measurements_list[-1].timestamp is not None: - print( - f"Got measurement triggered at {measurements_list[-1].timestamp.time()} (acquisition latency of" - f" {(datetime.datetime.now() - measurements_list[-1].timestamp).microseconds * 1e-3} ms)" - ) - - # Stop the acquisition (and streaming) - card.stop() - - card.reset() - card.disconnect() + try: + # Apply settings + card.configure_trigger(trigger_settings) + card.configure_acquisition(acquisition_settings) + + # Execute acquisition + start_time = monotonic() + card.execute_continuous_fifo_acquisition() + + # Retrieve streamed waveform data until desired time has elapsed + measurements_list = [] + while (monotonic() - start_time) < acquisition_duration_in_seconds: + + measurements_list += [ + Measurement(waveforms=frame, timestamp=card.get_timestamp()) for frame in card.get_waveforms() + ] + + if measurements_list[-1].timestamp is not None: + print( + f"Got measurement triggered at {measurements_list[-1].timestamp.time()} (acquisition latency of" + f" {(datetime.datetime.now() - measurements_list[-1].timestamp).microseconds * 1e-3} ms)" + ) + finally: + # Stop the acquisition (and streaming) + card.stop() + + card.reset() + card.disconnect() return measurements_list @@ -88,10 +94,11 @@ def continuous_multi_fifo_example( from matplotlib.pyplot import plot, show, figure, title, xlabel, ylabel, tight_layout measurements = continuous_multi_fifo_example( - mock_mode=True, - acquisition_duration_in_seconds=1.0, + mock_mode=False, + acquisition_duration_in_seconds=0.5, trigger_source=TriggerSource.SPC_TMASK_EXT0, - device_number=0, + device_number=1, + ip_address="169.254.45.181", ) # Plot waveforms @@ -104,7 +111,4 @@ def continuous_multi_fifo_example( ylabel("Amplitude (Volts)") tight_layout() - print(f"Completed {len(measurements)} measurements each containing {len(measurements[0].waveforms)} waveforms.") - print(f"Waveforms had the following shape: {measurements[0].waveforms[0].shape}") - show() diff --git a/src/example_scripts/finite_multi_fifo_mode.py b/src/example_scripts/finite_multi_fifo_mode.py index 8d44877..ead8219 100644 --- a/src/example_scripts/finite_multi_fifo_mode.py +++ b/src/example_scripts/finite_multi_fifo_mode.py @@ -6,7 +6,7 @@ from spectrumdevice.measurement import Measurement from spectrumdevice.settings import ( AcquisitionMode, - CardType, + ModelNumber, TriggerSource, ExternalTriggerMode, TriggerSettings, @@ -20,6 +20,7 @@ def finite_multi_fifo_example( trigger_source: TriggerSource, device_number: int, ip_address: Optional[str] = None, + acquisition_length: int = 400, ) -> List[Measurement]: if not mock_mode: @@ -29,7 +30,7 @@ def finite_multi_fifo_example( # Set up a mock device card = MockSpectrumDigitiserCard( device_number=device_number, - card_type=CardType.TYP_M2P5966_X4, + model=ModelNumber.TYP_M2P5966_X4, mock_source_frame_rate_hz=10.0, num_modules=2, num_channels_per_module=4, @@ -46,13 +47,14 @@ def finite_multi_fifo_example( acquisition_settings = AcquisitionSettings( acquisition_mode=AcquisitionMode.SPC_REC_FIFO_MULTI, sample_rate_in_hz=40000000, - acquisition_length_in_samples=400, + acquisition_length_in_samples=acquisition_length, pre_trigger_length_in_samples=0, timeout_in_ms=1000, enabled_channels=[0], vertical_ranges_in_mv=[200], vertical_offsets_in_percent=[0], timestamping_enabled=True, + batch_size=5, ) # Apply settings @@ -71,10 +73,11 @@ def finite_multi_fifo_example( from matplotlib.pyplot import plot, show, figure, title measurements = finite_multi_fifo_example( - mock_mode=True, + mock_mode=False, num_measurements=5, trigger_source=TriggerSource.SPC_TMASK_EXT0, - device_number=0, + device_number=1, + ip_address="169.254.45.181", ) # Plot waveforms diff --git a/src/example_scripts/standard_single_mode.py b/src/example_scripts/standard_single_mode.py index f5fc794..2a1c6e2 100644 --- a/src/example_scripts/standard_single_mode.py +++ b/src/example_scripts/standard_single_mode.py @@ -8,7 +8,7 @@ from spectrumdevice.measurement import Measurement from spectrumdevice.settings import ( AcquisitionMode, - CardType, + ModelNumber, TriggerSource, ExternalTriggerMode, TriggerSettings, @@ -17,7 +17,11 @@ def standard_single_mode_example( - mock_mode: bool, trigger_source: TriggerSource, device_number: int, ip_address: Optional[str] = None + mock_mode: bool, + trigger_source: TriggerSource, + device_number: int, + ip_address: Optional[str] = None, + acquisition_length: int = 400, ) -> Measurement: if not mock_mode: @@ -27,7 +31,7 @@ def standard_single_mode_example( # Set up a mock device card = MockSpectrumDigitiserCard( device_number=device_number, - card_type=CardType.TYP_M2P5966_X4, + model=ModelNumber.TYP_M2P5966_X4, mock_source_frame_rate_hz=10.0, num_modules=2, num_channels_per_module=4, @@ -43,8 +47,8 @@ def standard_single_mode_example( # Acquisition settings acquisition_settings = AcquisitionSettings( acquisition_mode=AcquisitionMode.SPC_REC_STD_SINGLE, - sample_rate_in_hz=40000000, - acquisition_length_in_samples=400, + sample_rate_in_hz=int(4e6), + acquisition_length_in_samples=acquisition_length, pre_trigger_length_in_samples=0, timeout_in_ms=1000, enabled_channels=[0], @@ -69,9 +73,7 @@ def standard_single_mode_example( from matplotlib.pyplot import plot, show, xlabel, tight_layout, ylabel meas = standard_single_mode_example( - mock_mode=False, - trigger_source=TriggerSource.SPC_TMASK_EXT0, - device_number=0, + mock_mode=False, trigger_source=TriggerSource.SPC_TMASK_EXT0, device_number=1, ip_address="169.254.45.181" ) # Plot waveforms diff --git a/src/spectrumdevice/devices/abstract_device/abstract_spectrum_card.py b/src/spectrumdevice/devices/abstract_device/abstract_spectrum_card.py index 4ca2978..a517134 100644 --- a/src/spectrumdevice/devices/abstract_device/abstract_spectrum_card.py +++ b/src/spectrumdevice/devices/abstract_device/abstract_spectrum_card.py @@ -21,6 +21,7 @@ SPCM_X3_AVAILMODES, SPC_CHENABLE, SPC_CLOCKMODE, + SPC_FNCTYPE, SPC_M2CMD, SPC_M2STATUS, SPC_PCIEXTFEATURES, @@ -43,13 +44,14 @@ AdvancedCardFeature, AvailableIOModes, CardFeature, - CardType, + ModelNumber, DEVICE_STATUS_TYPE, ExternalTriggerMode, SpectrumRegisterLength, TransferBuffer, TriggerSource, ) +from spectrumdevice.settings.card_dependent_properties import CardType from spectrumdevice.settings.card_features import decode_advanced_card_features, decode_card_features from spectrumdevice.settings.device_modes import ClockMode from spectrumdevice.settings.io_lines import decode_available_io_modes @@ -80,13 +82,17 @@ def __init__(self, device_number: int = 0, ip_address: Optional[str] = None): else: self._visa_string = f"/dev/spcm{device_number}" self._connect(self._visa_string) - self._card_type = CardType(self.read_spectrum_device_register(SPC_PCITYP)) + self._model_number = ModelNumber(self.read_spectrum_device_register(SPC_PCITYP)) self._trigger_sources: List[TriggerSource] = [] self._channels = self._init_channels() self._enabled_channels: List[int] = [0] self._transfer_buffer: Optional[TransferBuffer] = None self.apply_channel_enabling() + @property + def model_number(self) -> ModelNumber: + return self._model_number + def reconnect(self) -> None: """Reconnect to the card after disconnect() has been called.""" self._connect(self._visa_string) @@ -112,8 +118,6 @@ def start_transfer(self) -> None: For digitisers in FIFO mode (SPC_REC_FIFO_MULTI), `start_transfer()` should be called immediately after `start()` has been called, so that the waveform data can be continuously streamed into the transfer buffer as it is acquired. - - # todo: docstring for AWG transfers """ self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_DATA_STARTDMA) @@ -130,23 +134,18 @@ def stop_transfer(self) -> None: For digitisers in FIFO mode (SPC_REC_FIFO_MULTI), samples are transferred continuously during acquisition, and transfer will automatically stop when `stop()` is called as there will be no more samples to transfer, so `stop_transfer()` should not be used. - - # todo: docstring for AWG """ self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_DATA_STOPDMA) - def wait_for_transfer_to_complete(self) -> None: - """Blocks until the currently active transfer of between the on-device buffer and the TransferBuffer is - complete. + def wait_for_transfer_chunk_to_complete(self) -> None: + """Blocks until the currently active transfer between the on-device buffer and the TransferBuffer is + complete. This will be when there at least TransferBuffer.notify_size_in_pages pages available in the buffer. For digitisers in Standard Single mode (SPC_REC_STD_SINGLE), use after starting a transfer. Once the method returns, all acquired waveforms have been transferred from the on-device buffer to the `TransferBuffer` and can be read using the `get_waveforms()` method. - For digitisers in FIFO mode (SPC_REC_FIFO_MULTI) this method is not required because samples are continuously - streamed until `stop()` is called. - - # todo: docstring for AWG + For digitisers in FIFO mode (SPC_REC_FIFO_MULTI) this method is internally used by get_waveforms(). """ self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_DATA_WAITDMA) @@ -447,7 +446,11 @@ def set_sample_rate_in_hz(self, rate: int) -> None: self.write_to_spectrum_device_register(SPC_SAMPLERATE, rate, SpectrumRegisterLength.SIXTY_FOUR) def __str__(self) -> str: - return f"Card {self._visa_string}" + return f"Card {self._visa_string} (model {self.model_number.name})." + + @property + def type(self) -> CardType: + return CardType(self.read_spectrum_device_register(SPC_FNCTYPE)) def _create_visa_string_from_ip(ip_address: str, instrument_number: int) -> str: diff --git a/src/spectrumdevice/devices/abstract_device/abstract_spectrum_device.py b/src/spectrumdevice/devices/abstract_device/abstract_spectrum_device.py index 783a53b..5424e22 100644 --- a/src/spectrumdevice/devices/abstract_device/abstract_spectrum_device.py +++ b/src/spectrumdevice/devices/abstract_device/abstract_spectrum_device.py @@ -55,8 +55,6 @@ def start(self) -> None: For digitisers in Multi FIFO mode (SPC_REC_FIFO_MULTI), it needs to be called only once, immediately followed by a call to `start_transfer()`. Frames will then be continuously streamed to the `TransferBuffer`, which must have already been defined. - - # todo: docstring for different AWG modes """ self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER) @@ -65,8 +63,6 @@ def stop(self) -> None: For digitisers in FIFO mode (SPC_REC_FIFO_MULTI), this stops the continuous acquisition of waveform data that occurs after calling `start()`. Does not need to be called in Standard Single mode (SPC_REC_STD_SINGLE). - - # todo: docstring for AWG """ self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_CARD_STOP) diff --git a/src/spectrumdevice/devices/abstract_device/abstract_spectrum_hub.py b/src/spectrumdevice/devices/abstract_device/abstract_spectrum_hub.py index 74dd95e..776347f 100644 --- a/src/spectrumdevice/devices/abstract_device/abstract_spectrum_hub.py +++ b/src/spectrumdevice/devices/abstract_device/abstract_spectrum_hub.py @@ -91,11 +91,11 @@ def stop_transfer(self) -> None: for card in self._child_cards: card.stop_transfer() - def wait_for_transfer_to_complete(self) -> None: + def wait_for_transfer_chunk_to_complete(self) -> None: """Wait for all cards to stop transferring data to/from their `TransferBuffers`. See `AbstractSpectrumCard.wait_for_transfer_to_complete()` for more information.""" for card in self._child_cards: - card.wait_for_transfer_to_complete() + card.wait_for_transfer_chunk_to_complete() @property def connected(self) -> bool: diff --git a/src/spectrumdevice/devices/abstract_device/device_interface.py b/src/spectrumdevice/devices/abstract_device/device_interface.py index 48a99ad..449b4c6 100644 --- a/src/spectrumdevice/devices/abstract_device/device_interface.py +++ b/src/spectrumdevice/devices/abstract_device/device_interface.py @@ -11,7 +11,6 @@ AdvancedCardFeature, AvailableIOModes, CardFeature, - CardToPCDataTransferBuffer, ClockMode, ExternalTriggerMode, DEVICE_STATUS_TYPE, @@ -72,7 +71,7 @@ def stop_transfer(self) -> None: raise NotImplementedError() @abstractmethod - def wait_for_transfer_to_complete(self) -> None: + def wait_for_transfer_chunk_to_complete(self) -> None: raise NotImplementedError() @abstractmethod @@ -85,7 +84,7 @@ def transfer_buffers(self) -> List[TransferBuffer]: raise NotImplementedError() @abstractmethod - def define_transfer_buffer(self, buffer: Optional[List[CardToPCDataTransferBuffer]] = None) -> None: + def define_transfer_buffer(self, buffer: Optional[Sequence[TransferBuffer]] = None) -> None: raise NotImplementedError() @property diff --git a/src/spectrumdevice/devices/digitiser/abstract_spectrum_digitiser.py b/src/spectrumdevice/devices/digitiser/abstract_spectrum_digitiser.py index 3931689..58de93f 100644 --- a/src/spectrumdevice/devices/digitiser/abstract_spectrum_digitiser.py +++ b/src/spectrumdevice/devices/digitiser/abstract_spectrum_digitiser.py @@ -28,7 +28,10 @@ def configure_acquisition(self, settings: AcquisitionSettings) -> None: Args: settings (`AcquisitionSettings`): An `AcquisitionSettings` dataclass containing the setting values to apply. """ + if settings.batch_size > 1 and settings.acquisition_mode == AcquisitionMode.SPC_REC_STD_SINGLE: + raise ValueError("In standard single mode, only 1 acquisition can be downloaded at a time.") self._acquisition_mode = settings.acquisition_mode + self._batch_size = settings.batch_size self.set_acquisition_mode(settings.acquisition_mode) self.set_sample_rate_in_hz(settings.sample_rate_in_hz) self.set_acquisition_length_in_samples(settings.acquisition_length_in_samples) @@ -73,8 +76,8 @@ def execute_standard_single_acquisition(self) -> Measurement: self.wait_for_acquisition_to_complete() self.define_transfer_buffer() self.start_transfer() - self.wait_for_transfer_to_complete() - waveforms = self.get_waveforms() + self.wait_for_transfer_chunk_to_complete() + waveforms = self.get_waveforms()[0] self.stop() # Only strictly required for Mock devices. Should not affect hardware. return Measurement(waveforms=waveforms, timestamp=self.get_timestamp()) @@ -90,8 +93,7 @@ def execute_finite_fifo_acquisition(self, num_measurements: int) -> List[Measure SPC_REC_FIFO_AVERAGE acquisition mode. Args: - num_measurements (int): The number of measurements to carry out, each triggered by subsequent trigger - events. + num_measurements (int): The number of measurements to carry out. Returns: measurements (List[Measurement]): A list of Measurement objects with length `num_measurements`. Each Measurement object has a `waveforms` attribute containing a list of 1D NumPy arrays. Each array is a @@ -99,10 +101,17 @@ def execute_finite_fifo_acquisition(self, num_measurements: int) -> List[Measure timestamp attribute, which (if timestamping was enabled in acquisition settings) contains the time at which the acquisition was triggered. """ + if (num_measurements % self._batch_size) != 0: + raise ValueError( + "Number of measurements in a finite FIFO acquisition must be a multiple of the " + " batch size configured using AbstractSpectrumDigitiser.configure_acquisition()." + ) self.execute_continuous_fifo_acquisition() measurements = [] - for _ in range(num_measurements): - measurements.append(Measurement(waveforms=self.get_waveforms(), timestamp=self.get_timestamp())) + for _ in range(num_measurements // self._batch_size): + measurements += [ + Measurement(waveforms=frame, timestamp=self.get_timestamp()) for frame in self.get_waveforms() + ] self.stop() return measurements diff --git a/src/spectrumdevice/devices/digitiser/digitiser_card.py b/src/spectrumdevice/devices/digitiser/digitiser_card.py index 2b85994..8855e82 100644 --- a/src/spectrumdevice/devices/digitiser/digitiser_card.py +++ b/src/spectrumdevice/devices/digitiser/digitiser_card.py @@ -7,7 +7,7 @@ import logging from typing import List, Optional, Sequence, cast -from numpy import float_, mod +from numpy import float_, mod, squeeze, zeros from numpy.typing import NDArray from spectrum_gmbh.regs import ( @@ -16,6 +16,7 @@ SPC_CARDMODE, SPC_DATA_AVAIL_CARD_LEN, SPC_DATA_AVAIL_USER_LEN, + SPC_DATA_AVAIL_USER_POS, SPC_M2CMD, SPC_MEMSIZE, SPC_MIINST_CHPERMODULE, @@ -29,12 +30,21 @@ from spectrumdevice.devices.digitiser.digitiser_channel import SpectrumDigitiserChannel from spectrumdevice.devices.spectrum_timestamper import Timestamper from spectrumdevice.exceptions import ( + SpectrumCardIsNotADigitiser, SpectrumNoTransferBufferDefined, ) -from spectrumdevice.settings import CardToPCDataTransferBuffer -from spectrumdevice.settings.card_dependent_properties import get_memsize_step_size +from spectrumdevice.settings import TransferBuffer +from spectrumdevice.settings.card_dependent_properties import CardType, get_memsize_step_size from spectrumdevice.settings.device_modes import AcquisitionMode -from spectrumdevice.settings.transfer_buffer import set_transfer_buffer +from spectrumdevice.settings.transfer_buffer import ( + BufferDirection, + BufferType, + create_samples_acquisition_transfer_buffer, + set_transfer_buffer, + SAMPLE_DATA_TYPE, + NOTIFY_SIZE_PAGE_SIZE_IN_BYTES, + DEFAULT_NOTIFY_SIZE_IN_PAGES, +) logger = logging.getLogger(__name__) @@ -50,6 +60,8 @@ def __init__(self, device_number: int = 0, ip_address: Optional[str] = None): """ AbstractSpectrumCard.__init__(self, device_number, ip_address) + if self.type != CardType.SPCM_TYPE_AI: + raise SpectrumCardIsNotADigitiser(self.type) self._acquisition_mode = self.acquisition_mode self._timestamper: Optional[Timestamper] = None @@ -65,21 +77,21 @@ def enable_timestamping(self) -> None: def wait_for_acquisition_to_complete(self) -> None: """Blocks until the current acquisition has finished, or the timeout is reached. - In Standard Single mode (SPC_REC_STD_SINGLE), this should be called after `start_acquisition()`. Once the call + In Standard Single mode (SPC_REC_STD_SINGLE), this should be called after `start()`. Once the call to `wait_for_acquisition_to_complete()` returns, the newly acquired samples are in the on_device buffer and ready for transfer to the `TransferBuffer` using `start_transfer()`. In FIFO mode (SPC_REC_FIFO_MULTI), the card will continue to acquire samples until - `stop_acquisition()` is called, so `wait_for_acquisition_to_complete()` should not be used. + `stop()` is called, so `wait_for_acquisition_to_complete()` should not be used. """ self.write_to_spectrum_device_register(SPC_M2CMD, M2CMD_CARD_WAITREADY) - def get_waveforms(self) -> List[NDArray[float_]]: + def get_waveforms(self) -> List[List[NDArray[float_]]]: """Get a list of the most recently transferred waveforms, in channel order. - This method copies and reshapes the samples in the `TransferBuffer` into a list of 1D NumPy arrays (waveforms) - and returns the list. + This method copies and reshapes the samples in the `TransferBuffer` into a list of lists of 1D NumPy arrays + (waveforms) and returns the list. In Standard Single mode (SPC_REC_STD_SINGLE), `get_waveforms()` should be called after `wait_for_transfer_to_complete()` has returned. @@ -90,36 +102,65 @@ def get_waveforms(self) -> List[NDArray[float_]]: this would the rate at which your trigger source was running). Returns: - waveforms (List[NDArray[float_]]): A list of 1D NumPy arrays, one for each channel enabled for the - acquisition, ordered by channel number. + waveforms (List[List[NDArray[float_]]]): A list of lists of 1D numpy arrays, one inner list per acquisition + and one array per enabled channel, in channel order. To average the acquisitions: + `np.array(waveforms).mean(axis=0)` """ - num_available_bytes = 0 - if self.acquisition_mode == AcquisitionMode.SPC_REC_FIFO_MULTI: - self.wait_for_transfer_to_complete() - num_available_bytes = self.read_spectrum_device_register(SPC_DATA_AVAIL_USER_LEN) - - if self._transfer_buffer is not None: - num_expected_bytes_per_frame = self._transfer_buffer.data_array_length_in_bytes - if num_available_bytes > num_expected_bytes_per_frame: - num_available_bytes = num_expected_bytes_per_frame - else: + if self._transfer_buffer is None: raise SpectrumNoTransferBufferDefined("Cannot find a samples transfer buffer") - waveforms_in_columns = ( - self.transfer_buffers[0] - .copy_contents() - .reshape((self.acquisition_length_in_samples, len(self.enabled_channels))) + num_read_bytes = 0 + num_samples_per_frame = self.acquisition_length_in_samples * len(self.enabled_channels) + num_expected_bytes_per_frame = num_samples_per_frame * self._transfer_buffer.data_array.itemsize + raw_samples = zeros(num_samples_per_frame * self._batch_size, dtype=self._transfer_buffer.data_array.dtype) + + if self.acquisition_mode in (AcquisitionMode.SPC_REC_STD_SINGLE, AcquisitionMode.SPC_REC_STD_AVERAGE): + raw_samples = self._transfer_buffer.copy_contents() + + elif self.acquisition_mode in (AcquisitionMode.SPC_REC_FIFO_MULTI, AcquisitionMode.SPC_REC_FIFO_AVERAGE): + self.wait_for_transfer_chunk_to_complete() + + while num_read_bytes < (num_expected_bytes_per_frame * self._batch_size): + num_available_bytes = self.read_spectrum_device_register(SPC_DATA_AVAIL_USER_LEN) + position_of_available_bytes = self.read_spectrum_device_register(SPC_DATA_AVAIL_USER_POS) + + # Don't allow reading over the end of the transfer buffer + if ( + position_of_available_bytes + num_available_bytes + ) > self._transfer_buffer.data_array_length_in_bytes: + num_available_bytes = self._transfer_buffer.data_array_length_in_bytes - position_of_available_bytes + + # Don't allow reading over the end of the current acquisition: + if (num_read_bytes + num_available_bytes) > (num_expected_bytes_per_frame * self._batch_size): + num_available_bytes = (num_expected_bytes_per_frame * self._batch_size) - num_read_bytes + + num_available_samples = num_available_bytes // self._transfer_buffer.data_array.itemsize + num_read_samples = num_read_bytes // self._transfer_buffer.data_array.itemsize + + raw_samples[ + num_read_samples : num_read_samples + num_available_samples + ] = self._transfer_buffer.read_chunk(position_of_available_bytes, num_available_bytes) + self.write_to_spectrum_device_register(SPC_DATA_AVAIL_CARD_LEN, num_available_bytes) + + num_read_bytes += num_available_bytes + + waveforms_in_columns = raw_samples.reshape( + (self._batch_size, self.acquisition_length_in_samples, len(self.enabled_channels)) ) - if self.acquisition_mode == AcquisitionMode.SPC_REC_FIFO_MULTI: - self.write_to_spectrum_device_register(SPC_DATA_AVAIL_CARD_LEN, num_available_bytes) - voltage_waveforms = [ - cast(SpectrumDigitiserChannel, ch).convert_raw_waveform_to_voltage_waveform(waveform) - for ch, waveform in zip(self.channels, waveforms_in_columns.T) - ] + repeat_acquisitions = [] + for n in range(self._batch_size): + repeat_acquisitions.append( + [ + cast(SpectrumDigitiserChannel, self.channels[ch_num]).convert_raw_waveform_to_voltage_waveform( + squeeze(waveform) + ) + for ch_num, waveform in zip(self.enabled_channels, waveforms_in_columns[n, :, :].T) + ] + ) - return voltage_waveforms + return repeat_acquisitions def get_timestamp(self) -> Optional[datetime.datetime]: """Get timestamp for the last acquisition""" @@ -164,21 +205,21 @@ def set_post_trigger_length_in_samples(self, length_in_samples: int) -> None: length_in_samples (int): The desired post trigger length in samples.""" length_in_samples = self._coerce_num_samples_if_fifo(length_in_samples) if self.acquisition_mode == AcquisitionMode.SPC_REC_FIFO_MULTI: - if (self.acquisition_length_in_samples - length_in_samples) < get_memsize_step_size(self._card_type): + if (self.acquisition_length_in_samples - length_in_samples) < get_memsize_step_size(self._model_number): logger.warning( "FIFO mode: coercing post trigger length to maximum allowed value (step-size samples less than " "the acquisition length)." ) - length_in_samples = self.acquisition_length_in_samples - get_memsize_step_size(self._card_type) + length_in_samples = self.acquisition_length_in_samples - get_memsize_step_size(self._model_number) self.write_to_spectrum_device_register(SPC_POSTTRIGGER, length_in_samples) def _coerce_num_samples_if_fifo(self, value: int) -> int: if self.acquisition_mode == AcquisitionMode.SPC_REC_FIFO_MULTI: - if value != mod(value, get_memsize_step_size(self._card_type)): + if value != mod(value, get_memsize_step_size(self._model_number)): logger.warning( - f"FIFO mode: coercing length to nearest {get_memsize_step_size(self._card_type)}" f" samples" + f"FIFO mode: coercing length to nearest {get_memsize_step_size(self._model_number)}" f" samples" ) - value = int(value - mod(value, get_memsize_step_size(self._card_type))) + value = int(value - mod(value, get_memsize_step_size(self._model_number))) return value @property @@ -208,24 +249,52 @@ def set_acquisition_mode(self, mode: AcquisitionMode) -> None: mode (`AcquisitionMode`): The desired acquisition mode.""" self.write_to_spectrum_device_register(SPC_CARDMODE, mode.value) - def define_transfer_buffer(self, buffer: Optional[List[CardToPCDataTransferBuffer]] = None) -> None: - """Create or provide a `CardToPCDataTransferBuffer` object for receiving acquired samples from the device. + def define_transfer_buffer(self, buffer: Optional[Sequence[TransferBuffer]] = None) -> None: + """Create or provide a `TransferBuffer` object for receiving acquired samples from the device. - If no buffer is provided, one will be created with the correct size and a board_memory_offset_bytes of 0. A - seperate buffer for transfering Timestamps will also be created using the Timestamper class. + If no buffer is provided, and no buffer has previously been defined, then one will be created: in FIFO mode, + with a notify size of 10 pages or the size of the acquisition, whichever is smaller; in Standard Single mode, + one with the correct length and no notify size. A separate buffer for transferring Timestamps will also be + created using the Timestamper class. Args: - buffer (Optional[List[`CardToPCDataTransferBuffer`]]): A length-1 list containing a pre-constructed - `CardToPCDataTransferBuffer` The size of the buffer should be chosen according to the current number of - active channels and the acquisition length. + buffer (Optional[List[`TransferBuffer`]]): A length-1 list containing a pre-constructed + `TransferBuffer` set up for card-to-PC transfer of samples ("data"). The size of the buffer should be + chosen according to the current number of active channels, the acquisition length and the number + of acquisitions which you intend to download at a time using get_waveforms(). """ + self._set_or_update_transfer_buffer_attribute(buffer) + if self._transfer_buffer is not None: + set_transfer_buffer(self._handle, self._transfer_buffer) + + def _set_or_update_transfer_buffer_attribute(self, buffer: Optional[Sequence[TransferBuffer]]) -> None: if buffer: self._transfer_buffer = buffer[0] - else: - self._transfer_buffer = CardToPCDataTransferBuffer( - self.acquisition_length_in_samples * len(self.enabled_channels) - ) - set_transfer_buffer(self._handle, self._transfer_buffer) + if self._transfer_buffer.direction != BufferDirection.SPCM_DIR_CARDTOPC: + raise ValueError("Digitisers need a transfer buffer with direction BufferDirection.SPCM_DIR_CARDTOPC") + if self._transfer_buffer.type != BufferType.SPCM_BUF_DATA: + raise ValueError("Digitisers need a transfer buffer with type BufferDirection.SPCM_BUF_DATA") + elif self._transfer_buffer is None: + if self.acquisition_mode in (AcquisitionMode.SPC_REC_FIFO_MULTI, AcquisitionMode.SPC_REC_FIFO_AVERAGE): + bytes_per_sample = SAMPLE_DATA_TYPE().itemsize + samples_per_batch = self.acquisition_length_in_samples * len(self.enabled_channels) * self._batch_size + pages_per_batch = samples_per_batch * bytes_per_sample / NOTIFY_SIZE_PAGE_SIZE_IN_BYTES + + if pages_per_batch < DEFAULT_NOTIFY_SIZE_IN_PAGES: + notify_size = pages_per_batch + else: + notify_size = DEFAULT_NOTIFY_SIZE_IN_PAGES + + # Make transfer buffer big enough to hold all samples in the batch + self._transfer_buffer = create_samples_acquisition_transfer_buffer( + samples_per_batch, notify_size_in_pages=notify_size + ) + elif self.acquisition_mode in (AcquisitionMode.SPC_REC_STD_SINGLE, AcquisitionMode.SPC_REC_STD_AVERAGE): + self._transfer_buffer = create_samples_acquisition_transfer_buffer( + self.acquisition_length_in_samples * len(self.enabled_channels), notify_size_in_pages=0 + ) + else: + raise ValueError("AcquisitionMode not recognised") def __str__(self) -> str: return f"Card {self._visa_string}" diff --git a/src/spectrumdevice/devices/digitiser/digitiser_channel.py b/src/spectrumdevice/devices/digitiser/digitiser_channel.py index 3f04b8a..71355d7 100644 --- a/src/spectrumdevice/devices/digitiser/digitiser_channel.py +++ b/src/spectrumdevice/devices/digitiser/digitiser_channel.py @@ -11,6 +11,8 @@ from spectrumdevice.devices.digitiser.digitiser_interface import ( SpectrumDigitiserChannelInterface, ) +from spectrumdevice.exceptions import SpectrumCardIsNotADigitiser +from spectrumdevice.settings.card_dependent_properties import CardType from spectrumdevice.settings.channel import VERTICAL_OFFSET_COMMANDS, VERTICAL_RANGE_COMMANDS @@ -21,8 +23,9 @@ class SpectrumDigitiserChannel(AbstractSpectrumChannel, SpectrumDigitiserChannel def __init__(self, channel_number: int, parent_device: AbstractSpectrumCard): + if parent_device.type != CardType.SPCM_TYPE_AI: + raise SpectrumCardIsNotADigitiser(parent_device.type) AbstractSpectrumChannel.__init__(self, channel_number, parent_device) - self._full_scale_value = self._parent_device.read_spectrum_device_register(SPC_MIINST_MAXADCVALUE) # used frequently so store locally instead of reading from device each time: self._vertical_range_mv = self.vertical_range_in_mv diff --git a/src/spectrumdevice/devices/digitiser/digitiser_interface.py b/src/spectrumdevice/devices/digitiser/digitiser_interface.py index 5903c25..4f58edc 100644 --- a/src/spectrumdevice/devices/digitiser/digitiser_interface.py +++ b/src/spectrumdevice/devices/digitiser/digitiser_interface.py @@ -61,7 +61,7 @@ def execute_standard_single_acquisition(self) -> Measurement: raise NotImplementedError() @abstractmethod - def execute_finite_fifo_acquisition(self, num_iterations: int) -> List[Measurement]: + def execute_finite_fifo_acquisition(self, num_measurements: int) -> List[Measurement]: raise NotImplementedError() @abstractmethod @@ -69,7 +69,7 @@ def execute_continuous_fifo_acquisition(self) -> None: raise NotImplementedError() @abstractmethod - def get_waveforms(self) -> List[NDArray[float_]]: + def get_waveforms(self) -> List[List[NDArray[float_]]]: raise NotImplementedError() @abstractmethod diff --git a/src/spectrumdevice/devices/digitiser/digitiser_star_hub.py b/src/spectrumdevice/devices/digitiser/digitiser_star_hub.py index 1b406ca..36d29fe 100644 --- a/src/spectrumdevice/devices/digitiser/digitiser_star_hub.py +++ b/src/spectrumdevice/devices/digitiser/digitiser_star_hub.py @@ -4,7 +4,8 @@ # Copyright (c) 2021 School of Biomedical Engineering & Imaging Sciences, King's College London # Licensed under the MIT. You may obtain a copy at https://opensource.org/licenses/MIT. import datetime -from typing import List, Optional, Sequence, cast +from threading import Thread +from typing import Dict, List, Optional, Sequence, cast from numpy import float_ from numpy.typing import NDArray @@ -15,8 +16,8 @@ from spectrumdevice.devices.abstract_device.abstract_spectrum_hub import check_settings_constant_across_devices from spectrumdevice.devices.digitiser.digitiser_card import SpectrumDigitiserCard from spectrumdevice.devices.digitiser.abstract_spectrum_digitiser import AbstractSpectrumDigitiser +from spectrumdevice.settings import TransferBuffer from spectrumdevice.settings.device_modes import AcquisitionMode -from spectrumdevice.settings.transfer_buffer import CardToPCDataTransferBuffer class SpectrumDigitiserStarHub(AbstractSpectrumStarHub, AbstractSpectrumDigitiser): @@ -42,7 +43,7 @@ def __init__( AbstractSpectrumStarHub.__init__(self, device_number, child_cards, master_card_index) self._acquisition_mode = self.acquisition_mode - def define_transfer_buffer(self, buffer: Optional[List[CardToPCDataTransferBuffer]] = None) -> None: + def define_transfer_buffer(self, buffer: Optional[Sequence[TransferBuffer]] = None) -> None: """Create or provide `CardToPCDataTransferBuffer` objects for receiving acquired samples from the child cards. If no buffers are provided, they will be created with the correct size and a board_memory_offset_bytes of 0. See `SpectrumDigitiserCard.define_transfer_buffer()` for more information @@ -65,20 +66,43 @@ def wait_for_acquisition_to_complete(self) -> None: for card in self._child_cards: cast(SpectrumDigitiserCard, card).wait_for_acquisition_to_complete() - def get_waveforms(self) -> List[NDArray[float_]]: + def get_waveforms(self) -> List[List[NDArray[float_]]]: """Get a list of the most recently transferred waveforms. This method gets the waveforms from each child card and joins them into a new list, ordered by channel number. See `SpectrumDigitiserCard.get_waveforms()` for more information. + Args: + num_acquisitions (int): For FIFO mode: the number of acquisitions (i.e. trigger events) to wait for and + copy. Acquiring in batches (num_acquisitions > 1) can improve performance. + Returns: - waveforms (List[NDArray[float_]]): A list of 1D numpy arrays, one per enabled channel, in channel order. + waveforms (List[List[NDArray[float_]]]): A list lists of 1D numpy arrays, one inner list per acquisition, + and one array per enabled channel, in channel order. """ - waveforms_all_cards = [] - for card in self._child_cards: - waveforms_all_cards += cast(SpectrumDigitiserCard, card).get_waveforms() + card_ids_and_waveform_sets: Dict[str, list[list[NDArray[float_]]]] = {} + + def _get_waveforms(digitiser_card: SpectrumDigitiserCard) -> None: + this_cards_waveforms = digitiser_card.get_waveforms() + card_ids_and_waveform_sets[str(digitiser_card)] = this_cards_waveforms + + threads = [ + Thread(target=_get_waveforms, args=(cast(SpectrumDigitiserCard, card),)) for card in self._child_cards + ] + + for thread in threads: + thread.start() + for thread in threads: + thread.join() + + waveform_sets_all_cards_ordered = [] + for n in range(self._batch_size): + waveforms_in_this_batch = [] + for card in self._child_cards: + waveforms_in_this_batch += card_ids_and_waveform_sets[str(card)][n] + waveform_sets_all_cards_ordered.append(waveforms_in_this_batch) - return waveforms_all_cards + return waveform_sets_all_cards_ordered def get_timestamp(self) -> Optional[datetime.datetime]: """Get timestamp for the last acquisition""" diff --git a/src/spectrumdevice/devices/mocks/__init__.py b/src/spectrumdevice/devices/mocks/__init__.py index 5258ffb..77e024a 100644 --- a/src/spectrumdevice/devices/mocks/__init__.py +++ b/src/spectrumdevice/devices/mocks/__init__.py @@ -5,12 +5,11 @@ # Licensed under the MIT. You may obtain a copy at https://opensource.org/licenses/MIT. import logging -from time import sleep +from time import perf_counter, sleep from typing import List, Optional, Sequence -from numpy import zeros - from spectrum_gmbh.regs import ( + SPC_FNCTYPE, SPC_MIINST_CHPERMODULE, SPC_MIINST_MODULES, SPC_PCITYP, @@ -18,16 +17,18 @@ from spectrumdevice.devices.digitiser import SpectrumDigitiserCard from spectrumdevice.devices.digitiser import SpectrumDigitiserStarHub from spectrumdevice.devices.mocks.mock_abstract_devices import MockAbstractSpectrumDigitiser +from spectrumdevice.devices.mocks.mock_waveform_source import TRANSFER_CHUNK_COUNTER from spectrumdevice.devices.mocks.timestamps import MockTimestamper from spectrumdevice.exceptions import ( SpectrumNoTransferBufferDefined, SpectrumSettingsMismatchError, ) -from spectrumdevice.settings.card_dependent_properties import CardType +from spectrumdevice.settings import TransferBuffer +from spectrumdevice.settings.card_dependent_properties import CardType, ModelNumber from spectrumdevice.settings.device_modes import AcquisitionMode -from spectrumdevice.settings.transfer_buffer import CardToPCDataTransferBuffer logger = logging.getLogger(__name__) +MOCK_TRANSFER_TIMEOUT_IN_S = 10 class MockSpectrumDigitiserCard(SpectrumDigitiserCard, MockAbstractSpectrumDigitiser): @@ -42,7 +43,7 @@ class MockSpectrumDigitiserCard(SpectrumDigitiserCard, MockAbstractSpectrumDigit def __init__( self, device_number: int, - card_type: CardType, + model: ModelNumber, mock_source_frame_rate_hz: float, num_modules: int = 2, num_channels_per_module: int = 4, @@ -51,7 +52,7 @@ def __init__( Args: device_number (int): The index of the mock device to create. Used to create a name for the device which is used internally. - card_type (CardType): The model of card to mock. Affects the allowed acquisition and post-trigger lengths. + model (ModelNumber): The model of card to mock. Affects the allowed acquisition and post-trigger lengths. mock_source_frame_rate_hz (float): Rate at which waveforms will be generated by the mock source providing data to the mock spectrum card. num_modules (int): The number of internal modules to assign the mock card. Default 2. On real hardware, this @@ -63,11 +64,14 @@ def __init__( MockAbstractSpectrumDigitiser.__init__(self, mock_source_frame_rate_hz) self._param_dict[SPC_MIINST_MODULES] = num_modules self._param_dict[SPC_MIINST_CHPERMODULE] = num_channels_per_module - self._param_dict[SPC_PCITYP] = card_type.value + self._param_dict[SPC_PCITYP] = model.value + self._param_dict[SPC_FNCTYPE] = CardType.SPCM_TYPE_AI.value + self._param_dict[TRANSFER_CHUNK_COUNTER] = 0 SpectrumDigitiserCard.__init__(self, device_number=device_number) self._visa_string = f"MockCard{device_number}" self._connect(self._visa_string) self._acquisition_mode = self.acquisition_mode + self._previous_transfer_chunk_count = 0 def enable_timestamping(self) -> None: self._timestamper: MockTimestamper = MockTimestamper(self, self._handle) @@ -90,8 +94,6 @@ def set_acquisition_length_in_samples(self, length_in_samples: int) -> None: Args: length_in_samples (int): Number of samples in each generated mock waveform """ - self._on_device_buffer = zeros(length_in_samples * len(self.enabled_channels)) - self._previous_data = zeros(length_in_samples * len(self.enabled_channels)) super().set_acquisition_length_in_samples(length_in_samples) def set_enabled_channels(self, channels_nums: List[int]) -> None: @@ -104,54 +106,37 @@ def set_enabled_channels(self, channels_nums: List[int]) -> None: """ if len(list(filter(lambda x: 0 <= x < len(self.channels), channels_nums))) == len(channels_nums): - self._on_device_buffer = zeros(self.acquisition_length_in_samples * len(channels_nums)) - self._previous_data = zeros(self.acquisition_length_in_samples * len(channels_nums)) super().set_enabled_channels(channels_nums) else: raise SpectrumSettingsMismatchError("Not enough channels in mock device configuration.") - def define_transfer_buffer(self, buffer: Optional[List[CardToPCDataTransferBuffer]] = None) -> None: - """Create or provide a `CardToPCDataTransferBuffer` object into which samples from the mock 'on-device buffer' - will be transferred. If none is provided, a buffer will be instantiated using the currently set acquisition - length and the number of enabled channels. + def define_transfer_buffer(self, buffer: Optional[Sequence[TransferBuffer]] = None) -> None: + """Create or provide a `TransferBuffer` object for receiving acquired samples from the device. - Args: - buffer (Optional[List[`CardToPCDataTransferBuffer`]]): A length-1 list containing a - `CardToPCDataTransferBuffer` object. - """ - if buffer: - self._transfer_buffer = buffer[0] - else: - self._transfer_buffer = CardToPCDataTransferBuffer( - self.acquisition_length_in_samples * len(self.enabled_channels) - ) + See SpectrumDigitiserCard.define_transfer_buffer(). This mock implementation is identical apart from that it + does not write to any hardware device.""" + self._set_or_update_transfer_buffer_attribute(buffer) def start_transfer(self) -> None: - """See `SpectrumDigitiserCard.start_transfer()`. This mock implementation simulates the continuous transfer of - samples from the mock 'on-device buffer' to the transfer buffer by pointing the transfer buffer's data buffer - attribute to the mock on-device buffer.""" - if self._transfer_buffer: - self._transfer_buffer.data_array = self._on_device_buffer - else: - raise SpectrumNoTransferBufferDefined("Call define_transfer_buffer method.") + """See `SpectrumDigitiserCard.start_transfer()`.""" + pass def stop_transfer(self) -> None: - """See `SpectrumDigitiserCard.stop_transfer()`. This mock implementation simulates the end of the continuous - transfer of samples from the mock 'on-device buffer' to the transfer buffer by assigning the transfer buffer - to an array of zeros.""" - if self._transfer_buffer: - self._transfer_buffer.data_array = zeros(self._transfer_buffer.data_array.shape) - else: - raise SpectrumNoTransferBufferDefined("Call define_transfer_buffer method.") + """See `SpectrumDigitiserCard.stop_transfer()`.""" + pass - def wait_for_transfer_to_complete(self) -> None: - """See `SpectrumDigitiserCard.wait_for_transfer_to_complete()`. This mock implementation blocks until a new mock - transfer has been completed (i.e. the contents of the transfer buffer has changed since __init__() or since the - last call to `wait_for_transfer_to_complete()`).""" + def wait_for_transfer_chunk_to_complete(self) -> None: + """See `SpectrumDigitiserCard.wait_for_transfer_chunk_to_complete()`. This mock implementation blocks until a + new mock transfer has been completed by waiting for a change to TRANSFER_CHUNK_COUNTER.""" if self._transfer_buffer: - while (self._previous_data == self._transfer_buffer.data_array).all(): - sleep(0.01) - self._previous_data = self._transfer_buffer.data_array.copy() + t0 = perf_counter() + t_elapsed = 0.0 + while ( + self._previous_transfer_chunk_count == self._param_dict[TRANSFER_CHUNK_COUNTER] + ) and t_elapsed < MOCK_TRANSFER_TIMEOUT_IN_S: + sleep(0.1) + t_elapsed = perf_counter() - t0 + self._previous_transfer_chunk_count = self._param_dict[TRANSFER_CHUNK_COUNTER] else: raise SpectrumNoTransferBufferDefined("No transfer in progress.") diff --git a/src/spectrumdevice/devices/mocks/mock_abstract_devices.py b/src/spectrumdevice/devices/mocks/mock_abstract_devices.py index 843bf73..322914f 100644 --- a/src/spectrumdevice/devices/mocks/mock_abstract_devices.py +++ b/src/spectrumdevice/devices/mocks/mock_abstract_devices.py @@ -8,9 +8,6 @@ from threading import Event, Lock, Thread from typing import Dict, Optional -from numpy import float_, ndarray, zeros -from numpy.typing import NDArray - from spectrum_gmbh.regs import ( SPCM_FEAT_EXTFW_SEGSTAT, SPCM_FEAT_MULTI, @@ -54,8 +51,6 @@ def __init__(self) -> None: } self._buffer_lock = Lock() self._enabled_channels = [0] - self._on_device_buffer: NDArray[float_] = zeros(1000) - self._previous_data = self._on_device_buffer.copy() def write_to_spectrum_device_register( self, spectrum_register: int, value: int, length: SpectrumRegisterLength = SpectrumRegisterLength.THIRTY_TWO @@ -130,15 +125,14 @@ def __init__(self, source_frame_rate_hz: float = 10.0) -> None: self._acquisition_thread: Optional[Thread] = None self._timestamp_thread: Optional[Thread] = None self._enabled_channels = [0] - self._on_device_buffer: ndarray = zeros(1000) - self._previous_data = self._on_device_buffer.copy() def start(self) -> None: """Starts a mock waveform source in a separate thread. The source generates noise samples according to the - number of currently enabled channels and the acquisition length, and places them in the virtual on device buffer - (the _on_device_buffer attribute). + number of currently enabled channels and the acquisition length, and places them in the transfer buffer. """ - waveform_source = mock_waveform_source_factory(self.acquisition_mode) + self.define_transfer_buffer() + notify_size = self.transfer_buffers[0].notify_size_in_pages # this will be 0 in STD_SINGLE_MODE + waveform_source = mock_waveform_source_factory(self.acquisition_mode, self._param_dict, notify_size) amplitude = self.read_spectrum_device_register(SPC_MIINST_MAXADCVALUE) self._acquisition_stop_event.clear() self._acquisition_thread = Thread( @@ -147,7 +141,8 @@ def start(self) -> None: self._acquisition_stop_event, self._source_frame_rate_hz, amplitude, - self._on_device_buffer, + self.transfer_buffers[0].data_array, + self.acquisition_length_in_samples * len(self.enabled_channels), self._buffer_lock, ), ) diff --git a/src/spectrumdevice/devices/mocks/mock_waveform_source.py b/src/spectrumdevice/devices/mocks/mock_waveform_source.py index ca4933f..dc9c954 100644 --- a/src/spectrumdevice/devices/mocks/mock_waveform_source.py +++ b/src/spectrumdevice/devices/mocks/mock_waveform_source.py @@ -7,27 +7,48 @@ from abc import ABC, abstractmethod from threading import Event, Lock from time import monotonic, sleep +from typing import Dict from numpy import ndarray from numpy.random import uniform +from spectrum_gmbh.regs import SPC_DATA_AVAIL_USER_LEN, SPC_DATA_AVAIL_USER_POS from spectrumdevice.settings import AcquisitionMode +from spectrumdevice.settings.transfer_buffer import NOTIFY_SIZE_PAGE_SIZE_IN_BYTES + + +TRANSFER_CHUNK_COUNTER = -1 # this is a custom key used in the _para_dict to count the number of transfers class MockWaveformSource(ABC): """Interface for a mock noise waveform source. Implementations are intended to be called in their own thread. When called, `MockWaveformSource` implementations will fill a provided buffer with noise samples.""" + def __init__(self, param_dict: Dict[int, int]): + self._param_dict = param_dict + @abstractmethod def __call__( - self, stop_flag: Event, frame_rate: float, amplitude: float, on_device_buffer: ndarray, buffer_lock: Lock + self, + stop_flag: Event, + frame_rate: float, + amplitude: float, + transfer_buffer_data_array: ndarray, + samples_per_frame: int, + buffer_lock: Lock, ) -> None: raise NotImplementedError() class SingleModeMockWaveformSource(MockWaveformSource): def __call__( - self, stop_flag: Event, frame_rate: float, amplitude: float, on_device_buffer: ndarray, buffer_lock: Lock + self, + stop_flag: Event, + frame_rate: float, + amplitude: float, + transfer_buffer_data_array: ndarray, + samples_per_frame: int, + buffer_lock: Lock, ) -> None: """When called, this MockWaveformSource simulates SPC_REC_STD_SINGLE Mode, placing a single frames worth of samples into a provided mock on_device_buffer. @@ -42,16 +63,32 @@ def __call__( """ start_time = monotonic() + bytes_per_sample = transfer_buffer_data_array.itemsize while not stop_flag.is_set() and ((monotonic() - start_time) < (1 / frame_rate)): sleep(0.001) if not stop_flag.is_set(): with buffer_lock: - on_device_buffer[:] = uniform(low=-1 * amplitude, high=amplitude, size=len(on_device_buffer)) + transfer_buffer_data_array[:samples_per_frame] = uniform( + low=-1 * amplitude, high=amplitude, size=samples_per_frame + ) + self._param_dict[SPC_DATA_AVAIL_USER_POS] = 0 + self._param_dict[SPC_DATA_AVAIL_USER_LEN] = samples_per_frame * bytes_per_sample + self._param_dict[TRANSFER_CHUNK_COUNTER] += 1 class MultiFIFOModeMockWaveformSource(MockWaveformSource): + def __init__(self, param_dict: Dict[int, int], notify_size_in_pages: float): + super().__init__(param_dict) + self._notify_size_in_pages = notify_size_in_pages + def __call__( - self, stop_flag: Event, frame_rate: float, amplitude: float, on_device_buffer: ndarray, buffer_lock: Lock + self, + stop_flag: Event, + frame_rate: float, + amplitude: float, + transfer_buffer_data_array: ndarray, + samples_per_frame: int, + buffer_lock: Lock, ) -> None: """When called, this `MockWaveformSource` simulates SPC_REC_FIFO_MULTI Mode, continuously replacing the contents of on_device_buffer with new frames of noise samples. @@ -66,16 +103,38 @@ def __call__( the on_device_buffer array is thread safe. """ + bytes_per_sample = transfer_buffer_data_array.itemsize + notify_size_in_samples = int(self._notify_size_in_pages * NOTIFY_SIZE_PAGE_SIZE_IN_BYTES / bytes_per_sample) + notify_size_in_samples = min((samples_per_frame, notify_size_in_samples)) + samples_per_second = frame_rate * samples_per_frame + notify_sizes_per_second = samples_per_second / notify_size_in_samples + sample_count = 0 while not stop_flag.is_set(): - with buffer_lock: - on_device_buffer[:] = uniform(low=-1 * amplitude, high=amplitude, size=len(on_device_buffer)) - sleep(1 / frame_rate) - -def mock_waveform_source_factory(acquisition_mode: AcquisitionMode) -> MockWaveformSource: + start_sample = sample_count % samples_per_frame + start_sample = 0 if start_sample == 256 else start_sample + stop_sample = (sample_count + notify_size_in_samples) % samples_per_frame + stop_sample = stop_sample if stop_sample else samples_per_frame + with buffer_lock: + transfer_buffer_data_array[start_sample:stop_sample] = uniform( + low=-1 * amplitude, high=amplitude, size=stop_sample - start_sample + ) + self._param_dict[SPC_DATA_AVAIL_USER_POS] = start_sample * bytes_per_sample + self._param_dict[SPC_DATA_AVAIL_USER_LEN] = (stop_sample - start_sample) * bytes_per_sample + sample_count += notify_size_in_samples + self._param_dict[TRANSFER_CHUNK_COUNTER] += 1 + + sleep(1 / notify_sizes_per_second) + + +def mock_waveform_source_factory( + acquisition_mode: AcquisitionMode, + param_dict: Dict[int, int], + notify_size_in_pages: float = 0, +) -> MockWaveformSource: if acquisition_mode == AcquisitionMode.SPC_REC_FIFO_MULTI: - return MultiFIFOModeMockWaveformSource() + return MultiFIFOModeMockWaveformSource(param_dict, notify_size_in_pages) elif AcquisitionMode.SPC_REC_STD_SINGLE: - return SingleModeMockWaveformSource() + return SingleModeMockWaveformSource(param_dict) else: raise NotImplementedError(f"Mock waveform source not yet implemented for {acquisition_mode} acquisition mode.") diff --git a/src/spectrumdevice/devices/spectrum_timestamper.py b/src/spectrumdevice/devices/spectrum_timestamper.py index 4f42b11..c919860 100644 --- a/src/spectrumdevice/devices/spectrum_timestamper.py +++ b/src/spectrumdevice/devices/spectrum_timestamper.py @@ -26,7 +26,12 @@ ) from spectrumdevice.settings import TriggerSource from spectrumdevice.settings.timestamps import TimestampMode -from spectrumdevice.settings.transfer_buffer import CardToPCTimestampTransferBuffer, set_transfer_buffer +from spectrumdevice.settings.transfer_buffer import ( + BufferDirection, + BufferType, + set_transfer_buffer, + transfer_buffer_factory, +) from spectrumdevice.spectrum_wrapper import DEVICE_HANDLE_TYPE MAX_POLL_COUNT = 50 @@ -41,7 +46,9 @@ def __init__( parent_device_handle: DEVICE_HANDLE_TYPE, ): self._parent_device = parent_device - self._transfer_buffer = CardToPCTimestampTransferBuffer() + self._transfer_buffer = transfer_buffer_factory( + buffer_type=BufferType.SPCM_BUF_TIMESTAMP, direction=BufferDirection.SPCM_DIR_CARDTOPC + ) self._expected_timestamp_bytes_per_frame = BYTES_PER_TIMESTAMP self._ref_time: Optional[datetime] = None diff --git a/src/spectrumdevice/exceptions.py b/src/spectrumdevice/exceptions.py index db3b83c..1f38465 100644 --- a/src/spectrumdevice/exceptions.py +++ b/src/spectrumdevice/exceptions.py @@ -1,4 +1,6 @@ """Defines exceptions raised by spectrumdevice device classes.""" +from spectrumdevice.settings.card_dependent_properties import CARD_TYPE_DESCRIPTIONS, CardType + # Christian Baker, King's College London # Copyright (c) 2021 School of Biomedical Engineering & Imaging Sciences, King's College London @@ -78,3 +80,22 @@ class SpectrumNoTimestampsAvailableError(IOError): class SpectrumTimestampsPollingTimeout(IOError): pass + + +class SpectrumWrongCardType(IOError): + def __init__(self, detected_card_type: CardType) -> None: + super().__init__( + f"The connected card is a(n) {detected_card_type.name} ({CARD_TYPE_DESCRIPTIONS[detected_card_type]})." + ) + + +class SpectrumCardIsNotADigitiser(SpectrumWrongCardType): + pass + + +class SpectrumCardIsNotAnAWG(SpectrumWrongCardType): + pass + + +class SpectrumFeatureNotSupportedByCard(IOError): + pass diff --git a/src/spectrumdevice/settings/__init__.py b/src/spectrumdevice/settings/__init__.py index 9121431..0ea3a68 100644 --- a/src/spectrumdevice/settings/__init__.py +++ b/src/spectrumdevice/settings/__init__.py @@ -9,11 +9,13 @@ from enum import Enum from typing import List, Optional -from spectrumdevice.settings.card_dependent_properties import CardType +from spectrumdevice.settings.card_dependent_properties import ModelNumber from spectrumdevice.settings.card_features import CardFeature, AdvancedCardFeature from spectrumdevice.settings.device_modes import AcquisitionMode, ClockMode from spectrumdevice.settings.io_lines import IOLineMode, AvailableIOModes -from spectrumdevice.settings.transfer_buffer import TransferBuffer, CardToPCDataTransferBuffer +from spectrumdevice.settings.transfer_buffer import ( + TransferBuffer, +) from spectrumdevice.settings.triggering import TriggerSource, ExternalTriggerMode from spectrumdevice.settings.status import CARD_STATUS_TYPE, DEVICE_STATUS_TYPE, StatusCode @@ -29,13 +31,14 @@ "AvailableIOModes", "TransferBuffer", "CardToPCDataTransferBuffer", + "PCToCardDataTransferBuffer", "TriggerSource", "ExternalTriggerMode", "CARD_STATUS_TYPE", "DEVICE_STATUS_TYPE", "StatusCode", "SpectrumRegisterLength", - "CardType", + "ModelNumber", ] @@ -76,6 +79,9 @@ class AcquisitionSettings: timestamping_enabled: bool """If True, Measurements will include the time at which the acquisition was triggered. Increases latency by ~10 ms. """ + batch_size: int = 1 + """The number of acquisitions to transfer to the PC before the resulting waveforms are returned by + SpectrumDigitiserCard.get_waveforms().""" number_of_averages: int = 1 """If an averaging AcquisitionMode is selected, this defines the number of averages.""" diff --git a/src/spectrumdevice/settings/card_dependent_properties.py b/src/spectrumdevice/settings/card_dependent_properties.py index 8868558..f090c97 100644 --- a/src/spectrumdevice/settings/card_dependent_properties.py +++ b/src/spectrumdevice/settings/card_dependent_properties.py @@ -1,8 +1,29 @@ from enum import Enum from spectrum_gmbh.regs import ( + SPCM_TYPE_AI, + SPCM_TYPE_AO, + SPCM_TYPE_DI, + SPCM_TYPE_DIO, + SPCM_TYPE_DO, TYP_M2P59XX_X4, TYP_FAMILYMASK, + TYP_M2P6530_X4, + TYP_M2P6531_X4, + TYP_M2P6532_X4, + TYP_M2P6533_X4, + TYP_M2P6536_X4, + TYP_M2P6540_X4, + TYP_M2P6541_X4, + TYP_M2P6546_X4, + TYP_M2P6560_X4, + TYP_M2P6561_X4, + TYP_M2P6562_X4, + TYP_M2P6566_X4, + TYP_M2P6568_X4, + TYP_M2P6570_X4, + TYP_M2P6571_X4, + TYP_M2P6576_X4, TYP_M4I22XX_X8, TYP_M4I44XX_X8, TYP_M4I2210_X8, @@ -69,8 +90,26 @@ class CardType(Enum): + SPCM_TYPE_AI = SPCM_TYPE_AI # Digitiser + SPCM_TYPE_AO = SPCM_TYPE_AO # AWG + SPCM_TYPE_DI = SPCM_TYPE_DI + SPCM_TYPE_DO = SPCM_TYPE_DO + SPCM_TYPE_DIO = SPCM_TYPE_DIO + + +CARD_TYPE_DESCRIPTIONS = { + CardType.SPCM_TYPE_AI: "Analog input card (analog acquisition; the M2i.4028 and M2i.4038 also return this value)", + CardType.SPCM_TYPE_AO: "Analog output card (arbitrary waveform generators)", + CardType.SPCM_TYPE_DI: "Digital input card (logic analyser)", + CardType.SPCM_TYPE_DO: "Digital output card (pattern generators)", + CardType.SPCM_TYPE_DIO: "Digital I/O (input/output) card, where the direction is software selectable.", +} + + +class ModelNumber(Enum): """An Enum representing the integer values returned by a device when its type identifier is queried by reading the - SPC_PCITYP register. Only the supported card types are listed: 22xx, 44xx and 59xx family devices.""" + SPC_PCITYP register. Only the supported card types are listed (Digitisers: 22xx, 44xx and 59xx family devices; AWGs: + M2P 65xx devices).""" TYP_M4I2210_X8 = TYP_M4I2210_X8 TYP_M4I2211_X8 = TYP_M4I2211_X8 @@ -132,6 +171,22 @@ class CardType(Enum): TYP_M2P5962_X4 = TYP_M2P5962_X4 TYP_M2P5966_X4 = TYP_M2P5966_X4 TYP_M2P5968_X4 = TYP_M2P5968_X4 + TYP_M2P6530_X4 = TYP_M2P6530_X4 + TYP_M2P6531_X4 = TYP_M2P6531_X4 + TYP_M2P6532_X4 = TYP_M2P6532_X4 + TYP_M2P6536_X4 = TYP_M2P6536_X4 + TYP_M2P6533_X4 = TYP_M2P6533_X4 + TYP_M2P6540_X4 = TYP_M2P6540_X4 + TYP_M2P6541_X4 = TYP_M2P6541_X4 + TYP_M2P6546_X4 = TYP_M2P6546_X4 + TYP_M2P6560_X4 = TYP_M2P6560_X4 + TYP_M2P6561_X4 = TYP_M2P6561_X4 + TYP_M2P6562_X4 = TYP_M2P6562_X4 + TYP_M2P6566_X4 = TYP_M2P6566_X4 + TYP_M2P6568_X4 = TYP_M2P6568_X4 + TYP_M2P6570_X4 = TYP_M2P6570_X4 + TYP_M2P6571_X4 = TYP_M2P6571_X4 + TYP_M2P6576_X4 = TYP_M2P6576_X4 MEMSIZE_STEP_SIZES = { @@ -141,6 +196,30 @@ class CardType(Enum): } -def get_memsize_step_size(card_type: CardType) -> int: - """Get the step size for FIFO mode acquisition length (MEMSIZE) and post trigger length for a card its CardType.""" - return MEMSIZE_STEP_SIZES[card_type.value & TYP_FAMILYMASK] +OUTPUT_AMPLITUDE_LIMITS_IN_MV = { + ModelNumber.TYP_M2P6530_X4: 3000, + ModelNumber.TYP_M2P6531_X4: 3000, + ModelNumber.TYP_M2P6532_X4: 3000, + ModelNumber.TYP_M2P6533_X4: 3000, + ModelNumber.TYP_M2P6536_X4: 3000, + ModelNumber.TYP_M2P6560_X4: 3000, + ModelNumber.TYP_M2P6561_X4: 3000, + ModelNumber.TYP_M2P6562_X4: 3000, + ModelNumber.TYP_M2P6566_X4: 3000, + ModelNumber.TYP_M2P6568_X4: 3000, + ModelNumber.TYP_M2P6540_X4: 6000, + ModelNumber.TYP_M2P6541_X4: 6000, + ModelNumber.TYP_M2P6546_X4: 6000, + ModelNumber.TYP_M2P6570_X4: 6000, + ModelNumber.TYP_M2P6571_X4: 6000, + ModelNumber.TYP_M2P6576_X4: 6000, +} + + +def get_memsize_step_size(model: ModelNumber) -> int: + """Get the step size for FIFO mode acquisition length (MEMSIZE) and post trigger length for a digitiser card using + its ModelNumber.""" + try: + return MEMSIZE_STEP_SIZES[model.value & TYP_FAMILYMASK] + except KeyError: + raise ValueError(f"Cannot determined MEMSIZE for device model {ModelNumber}. Perhaps it is not a digitiser.") diff --git a/src/spectrumdevice/settings/channel.py b/src/spectrumdevice/settings/channel.py index b4f24ec..3e546d4 100644 --- a/src/spectrumdevice/settings/channel.py +++ b/src/spectrumdevice/settings/channel.py @@ -8,6 +8,11 @@ from enum import Enum from spectrum_gmbh.regs import ( + SPCM_STOPLVL_CUSTOM, + SPCM_STOPLVL_HIGH, + SPCM_STOPLVL_HOLDLAST, + SPCM_STOPLVL_LOW, + SPCM_STOPLVL_ZERO, SPC_AMP0, SPC_AMP1, SPC_AMP2, @@ -24,6 +29,38 @@ SPC_AMP13, SPC_AMP14, SPC_AMP15, + SPC_CH0_CUSTOM_STOP, + SPC_CH0_STOPLEVEL, + SPC_CH1_CUSTOM_STOP, + SPC_CH1_STOPLEVEL, + SPC_CH2_CUSTOM_STOP, + SPC_CH2_STOPLEVEL, + SPC_CH3_CUSTOM_STOP, + SPC_CH3_STOPLEVEL, + SPC_CH4_CUSTOM_STOP, + SPC_CH4_STOPLEVEL, + SPC_CH5_CUSTOM_STOP, + SPC_CH5_STOPLEVEL, + SPC_CH6_CUSTOM_STOP, + SPC_CH6_STOPLEVEL, + SPC_CH7_CUSTOM_STOP, + SPC_CH7_STOPLEVEL, + SPC_ENABLEOUT0, + SPC_ENABLEOUT1, + SPC_ENABLEOUT2, + SPC_ENABLEOUT3, + SPC_ENABLEOUT4, + SPC_ENABLEOUT5, + SPC_ENABLEOUT6, + SPC_ENABLEOUT7, + SPC_FILTER0, + SPC_FILTER1, + SPC_FILTER2, + SPC_FILTER3, + SPC_FILTER4, + SPC_FILTER5, + SPC_FILTER6, + SPC_FILTER7, SPC_OFFS0, SPC_OFFS1, SPC_OFFS2, @@ -94,6 +131,75 @@ SPC_OFFS14, SPC_OFFS15, ) +OUTPUT_AMPLITUDE_COMMANDS = VERTICAL_RANGE_COMMANDS +OUTPUT_DC_OFFSET_COMMANDS = VERTICAL_OFFSET_COMMANDS + +OUTPUT_CHANNEL_ON_OFF_COMMANDS = ( + SPC_ENABLEOUT0, + SPC_ENABLEOUT1, + SPC_ENABLEOUT2, + SPC_ENABLEOUT3, + SPC_ENABLEOUT4, + SPC_ENABLEOUT5, + SPC_ENABLEOUT6, + SPC_ENABLEOUT7, +) + +OUTPUT_FILTER_COMMANDS = ( + SPC_FILTER0, + SPC_FILTER1, + SPC_FILTER2, + SPC_FILTER3, + SPC_FILTER4, + SPC_FILTER5, + SPC_FILTER6, + SPC_FILTER7, +) + + +class OutputChannelFilter(Enum): + LOW_PASS_70_MHZ = 0 + LOW_PASS_20_MHZ = 1 + LOW_PASS_5_MHZ = 2 + LOW_PASS_1_MHZ = 3 + + +OUTPUT_STOP_LEVEL_MODE_COMMANDS = ( + SPC_CH0_STOPLEVEL, + SPC_CH1_STOPLEVEL, + SPC_CH2_STOPLEVEL, + SPC_CH3_STOPLEVEL, + SPC_CH4_STOPLEVEL, + SPC_CH5_STOPLEVEL, + SPC_CH6_STOPLEVEL, + SPC_CH7_STOPLEVEL, +) + +OUTPUT_STOP_LEVEL_CUSTOM_VALUE_COMMANDS = ( + SPC_CH0_CUSTOM_STOP, + SPC_CH1_CUSTOM_STOP, + SPC_CH2_CUSTOM_STOP, + SPC_CH3_CUSTOM_STOP, + SPC_CH4_CUSTOM_STOP, + SPC_CH5_CUSTOM_STOP, + SPC_CH6_CUSTOM_STOP, + SPC_CH7_CUSTOM_STOP, +) + + +class OutputChannelStopLevelMode(Enum): + """Behavior of output channel when output is stopped or playback completes.""" + + SPCM_STOPLVL_ZERO = SPCM_STOPLVL_ZERO + """ Output level will go to zero.""" + SPCM_STOPLVL_LOW = SPCM_STOPLVL_LOW + """ Output level will go to minimum possible negative value.""" + SPCM_STOPLVL_HIGH = SPCM_STOPLVL_HIGH + """ Output level will go to maximum possible positive value.""" + SPCM_STOPLVL_HOLDLAST = SPCM_STOPLVL_HOLDLAST + """ Output level will stay at the level of the last played sample.""" + SPCM_STOPLVL_CUSTOM = SPCM_STOPLVL_CUSTOM + """ Output level will go to the value defined using AWGChannel.set_stop_level_custom_value()""" class SpectrumChannelName(Enum): diff --git a/src/spectrumdevice/settings/device_modes.py b/src/spectrumdevice/settings/device_modes.py index 6574e2e..59e93da 100644 --- a/src/spectrumdevice/settings/device_modes.py +++ b/src/spectrumdevice/settings/device_modes.py @@ -14,12 +14,13 @@ SPC_CM_INTPLL, SPC_CM_EXTERNAL, SPC_CM_EXTREFCLOCK, + SPC_REP_STD_SINGLE, ) class AcquisitionMode(Enum): - """Enum representing the acquisition modes currently support by spectrumdevice. See Spectrum documentation for more - information about each mode.""" + """Enum representing the digitise acquisition modes currently support by spectrumdevice. See Spectrum documentation + for more information about each mode.""" SPC_REC_STD_SINGLE = SPC_REC_STD_SINGLE """Data acquisition to on-board memory for one single trigger event.""" @@ -31,6 +32,15 @@ class AcquisitionMode(Enum): """Continuous data acquisition for multiple trigger events, with on-board averaging.""" +class GenerationMode(Enum): + """Enum representing the AWG generation modes currently supported by spectrumdevice. See Spectrum documentation for + more information about each mode.""" + + SPC_REP_STD_SINGLE = SPC_REP_STD_SINGLE + """Data generation from on-board memory repeating the complete programmed memory either once, infinite or for a + defined number of times after one single trigger event.""" + + class ClockMode(Enum): """Enum representing the clock modes currently supported by spectrumdevice. See Spectrum documentation for more information about each mode.""" diff --git a/src/spectrumdevice/settings/output_channel_pairing.py b/src/spectrumdevice/settings/output_channel_pairing.py new file mode 100644 index 0000000..d95b836 --- /dev/null +++ b/src/spectrumdevice/settings/output_channel_pairing.py @@ -0,0 +1,32 @@ +from enum import Enum + +from spectrum_gmbh.regs import SPC_DIFF0, SPC_DIFF2, SPC_DIFF4, SPC_DIFF6, SPC_DOUBLEOUT0, SPC_DOUBLEOUT2 + + +class ChannelPairingMode: + SINGLE = 0 + """No channel pairing""" + DOUBLE = 1 + """Odd-numbered channel's output is identical to even-numbered channel's output. """ + DIFFERENTIAL = 2 + """Odd-numbered channel's output is inverse of even-numbered channel's output. """ + + +class ChannelPair(Enum): + CHANNEL_0_AND_1 = 0 + CHANNEL_2_AND_3 = 2 + CHANNEL_4_AND_5 = 4 + CHANNEL_6_AND_7 = 6 + + +DIFFERENTIAL_CHANNEL_PAIR_COMMANDS = { + ChannelPair.CHANNEL_0_AND_1: SPC_DIFF0, + ChannelPair.CHANNEL_2_AND_3: SPC_DIFF2, + ChannelPair.CHANNEL_4_AND_5: SPC_DIFF4, + ChannelPair.CHANNEL_6_AND_7: SPC_DIFF6, +} + +DOUBLING_CHANNEL_PAIR_COMMANDS = { + ChannelPair.CHANNEL_0_AND_1: SPC_DOUBLEOUT0, + ChannelPair.CHANNEL_2_AND_3: SPC_DOUBLEOUT2, +} diff --git a/src/spectrumdevice/settings/transfer_buffer.py b/src/spectrumdevice/settings/transfer_buffer.py index 34ecbe9..6164cb4 100644 --- a/src/spectrumdevice/settings/transfer_buffer.py +++ b/src/spectrumdevice/settings/transfer_buffer.py @@ -1,6 +1,7 @@ """Provides classes defining the configuration of transfer buffers used to transfer data between a Spectrum card and a PC. See the Spectrum documentation for more information. Also provides Enums defining the settings used to configure a transfer buffer.""" +from abc import ABC, abstractmethod # Christian Baker, King's College London # Copyright (c) 2021 School of Biomedical Engineering & Imaging Sciences, King's College London @@ -9,6 +10,8 @@ from ctypes import c_void_p from dataclasses import dataclass from enum import Enum +from functools import partial +from typing import Optional from numpy import ndarray, zeros, int16, uint8 @@ -35,6 +38,9 @@ ) +SAMPLE_DATA_TYPE = int16 + + class BufferType(Enum): """An Enum representing the three different types of transfer buffer. See the Spectrum documentation for more information.""" @@ -53,10 +59,10 @@ class BufferDirection(Enum): @dataclass -class TransferBuffer: +class TransferBuffer(ABC): """A buffer for transferring samples between spectrumdevice software and a hardware device. See the 'Definition of the transfer buffer' section of the Spectrum documentation for more information. This implementation of the buffer - sets the notify size equal to the acquisition length.""" + sets the notify-size equal to the acquisition length.""" type: BufferType """Specifies whether the buffer is to be used to transfer samples, timestamps or A/B data.""" @@ -66,9 +72,16 @@ class TransferBuffer: """Sets the offset for transfer in board memory. Typically 0. See Spectrum documentation for more information.""" data_array: ndarray """1D numpy array into which samples will be written during transfer.""" + notify_size_in_pages: float + """The number of transferred pages (4096 bytes) after which a notification of transfer is sent from the device.""" + @abstractmethod + def read_chunk(self, chunk_position_in_bytes: int, chunk_size_in_bytes: int) -> ndarray: + raise NotImplementedError() + + @abstractmethod def copy_contents(self) -> ndarray: - return copy(self.data_array) + raise NotImplementedError() @property def data_array_pointer(self) -> c_void_p: @@ -80,13 +93,6 @@ def data_array_length_in_bytes(self) -> int: """The length of the array into which sample will be written, in bytes.""" return self.data_array.size * self.data_array.itemsize - @property - def notify_size_in_bytes(self) -> int: - """The number of transferred bytes after which a notification of transfer is sent from the device. This is - currently always set to the length of the data array, meaning that a notification will be received once the - transfer is complete. See the Spectrum documentation for more information.""" - return self.data_array_length_in_bytes - def __eq__(self, other: object) -> bool: if isinstance(other, TransferBuffer): return ( @@ -99,35 +105,108 @@ def __eq__(self, other: object) -> bool: raise NotImplementedError() -class CardToPCDataTransferBuffer(TransferBuffer): - """A TransferBuffer configured for card-to-pc transfer of samples (rather than timestamps or ABA data).""" +class SamplesTransferBuffer(TransferBuffer): + def __init__( + self, + direction: BufferDirection, + board_memory_offset_bytes: int, + data_array: ndarray, + notify_size_in_pages: float = 1, + ) -> None: + super().__init__( + BufferType.SPCM_BUF_DATA, direction, board_memory_offset_bytes, data_array, notify_size_in_pages + ) - def __init__(self, size_in_samples: int, board_memory_offset_bytes: int = 0) -> None: - """ - Args: - size_in_samples (int): The size of the array into which samples will be written, in samples. - board_memory_offset_bytes (int): Sets the offset for transfer in board memory. Default 0. See Spectrum - documentation for more information. - """ - self.type = BufferType.SPCM_BUF_DATA - self.direction = BufferDirection.SPCM_DIR_CARDTOPC - self.board_memory_offset_bytes = board_memory_offset_bytes - self.data_array = zeros(size_in_samples, int16) + def read_chunk(self, chunk_position_in_bytes: int, chunk_size_in_bytes: int) -> ndarray: + chunk_position_in_samples = chunk_position_in_bytes // self.data_array.itemsize + chunk_size_in_samples = chunk_size_in_bytes // self.data_array.itemsize + return self.data_array[chunk_position_in_samples : chunk_position_in_samples + chunk_size_in_samples] + def copy_contents(self) -> ndarray: + return copy(self.data_array) + + +class TimestampsTransferBuffer(TransferBuffer): + def __init__(self, direction: BufferDirection, board_memory_offset_bytes: int) -> None: + # Timestamp buffer uses polling mode which requires the (ignored) notify size to be set to the page size + super().__init__( + BufferType.SPCM_BUF_TIMESTAMP, + direction, + board_memory_offset_bytes, + zeros(NOTIFY_SIZE_PAGE_SIZE_IN_BYTES, dtype=uint8), + NOTIFY_SIZE_PAGE_SIZE_IN_BYTES, + ) -class CardToPCTimestampTransferBuffer(TransferBuffer): - def __init__(self) -> None: - self.type = BufferType.SPCM_BUF_TIMESTAMP - self.direction = BufferDirection.SPCM_DIR_CARDTOPC - self.board_memory_offset_bytes = 0 - self.data_array: ndarray = zeros(4096, dtype=uint8) + def read_chunk(self, chunk_position_in_bytes: int, chunk_size_in_bytes: int) -> ndarray: + raise NotImplementedError("Reading a chunk is not implemented for TimestampsTransferBuffers.") def copy_contents(self) -> ndarray: return copy(self.data_array[0::2]) # only every other item in the array has a timestamp written to it - @property - def notify_size_in_bytes(self) -> int: - return 4096 # Timestamp buffer uses polling mode which requires the (ignored) notify size to be set to 4096 + +def transfer_buffer_factory( + buffer_type: BufferType, + direction: BufferDirection, + size_in_samples: Optional[int] = None, + board_memory_offset_bytes: int = 0, + notify_size_in_pages: float = 1, +) -> "TransferBuffer": + """ + Args: + buffer_type (BufferType): Specifies whether the buffer is to be used to transfer samples, timestamps or A/B data. + direction (BufferDirection): Specifies whether the buffer is to be used to transfer data from the card to the + PC, or the PC to the card. + size_in_samples (int): The size of the array into which samples will be written, in samples. Currently only + required for BufferType.SPCM_BUF_DATA as SPCM_BUF_TIMESTAMP buffers are always 4096 uint8 long. + board_memory_offset_bytes (int): Sets the offset for transfer in board memory. Default 0. See Spectrum + documentation for more information. + notify_size_in_pages (int): For BufferType.SPCM_BUF_DATA. The number of transferred pages (i.e. 4096 bytes) + after which a notification of transfer is sent from the device, and therefore a chunk of samples is downloaded. + See the Spectrum documentation for more information. Ignored for BufferType.SPCM_BUF_TIMESTAMP. + """ + + # _check_notify_size_validity(notify_size_in_pages) + + if buffer_type == BufferType.SPCM_BUF_DATA: + if size_in_samples is not None: + return SamplesTransferBuffer( + direction, board_memory_offset_bytes, zeros(size_in_samples, SAMPLE_DATA_TYPE), notify_size_in_pages + ) + else: + raise ValueError("You must provide a buffer size_in_samples to create a BufferType.SPCM_BUF_DATA buffer.") + elif buffer_type == BufferType.SPCM_BUF_TIMESTAMP: + return TimestampsTransferBuffer(direction, board_memory_offset_bytes) + else: + raise NotImplementedError(f"TransferBuffer type {buffer_type} not yet supported.") + + +def _check_notify_size_validity(notify_size_in_pages: float) -> None: + + if notify_size_in_pages == 0: + return + + notify_size_is_an_invalid_fraction_less_than_1 = (notify_size_in_pages < 1) and ( + notify_size_in_pages not in ALLOWED_FRACTIONAL_NOTIFY_SIZES_IN_PAGES + ) + notify_size_greater_than_1_and_not_int = (notify_size_in_pages > 1) and ( + notify_size_in_pages != round(notify_size_in_pages) + ) + notify_size_is_invalid = notify_size_is_an_invalid_fraction_less_than_1 or notify_size_greater_than_1_and_not_int + + if notify_size_is_invalid: + raise ValueError( + f"notify_size_in_pages must be an integer or one of the following fractional values " + f"{ALLOWED_FRACTIONAL_NOTIFY_SIZES_IN_PAGES}" + ) + + +create_samples_acquisition_transfer_buffer = partial( + transfer_buffer_factory, BufferType.SPCM_BUF_DATA, BufferDirection.SPCM_DIR_CARDTOPC +) + +create_timestamp_acquisition_transfer_buffer = partial( + transfer_buffer_factory, BufferType.SPCM_BUF_TIMESTAMP, BufferDirection.SPCM_DIR_CARDTOPC +) def set_transfer_buffer(device_handle: DEVICE_HANDLE_TYPE, buffer: TransferBuffer) -> None: @@ -135,8 +214,13 @@ def set_transfer_buffer(device_handle: DEVICE_HANDLE_TYPE, buffer: TransferBuffe device_handle, buffer.type.value, buffer.direction.value, - buffer.notify_size_in_bytes, + int(buffer.notify_size_in_pages * NOTIFY_SIZE_PAGE_SIZE_IN_BYTES), buffer.data_array_pointer, buffer.board_memory_offset_bytes, buffer.data_array_length_in_bytes, ) + + +DEFAULT_NOTIFY_SIZE_IN_PAGES = 10 +NOTIFY_SIZE_PAGE_SIZE_IN_BYTES = 4096 +ALLOWED_FRACTIONAL_NOTIFY_SIZES_IN_PAGES = [1 / 2, 1 / 4, 1 / 8, 1 / 16, 1 / 32, 1 / 64, 1 / 128, 1 / 256] diff --git a/src/spectrumdevice/spectrum_wrapper/error_handler.py b/src/spectrumdevice/spectrum_wrapper/error_handler.py index 876b9c8..01875be 100644 --- a/src/spectrumdevice/spectrum_wrapper/error_handler.py +++ b/src/spectrumdevice/spectrum_wrapper/error_handler.py @@ -52,7 +52,9 @@ def wrapper(*args: Any, **kwargs: Any) -> None: if error_code in ERROR_CODES_TO_IGNORE: pass elif error_code in ERROR_CODES_TO_REPORT_BUT_NOT_RAISE: - logger.warning(f"Unraised spectrum error from {func.__name__}: {description} " f"({error_code})") + logger.warning( + f"Unraised spectrum error from {func.__name__}: {description} " f"({error_code})", stack_info=True + ) elif error_code in ERROR_CODES_WITH_EXCEPTIONS: raise ERROR_CODES_WITH_EXCEPTIONS[error_code](func.__name__, error_code, description) else: diff --git a/src/tests/configuration.py b/src/tests/configuration.py index e61d1f3..5e04584 100644 --- a/src/tests/configuration.py +++ b/src/tests/configuration.py @@ -17,7 +17,7 @@ class SpectrumTestMode(Enum): # Set IP address of real spectrum device (for use if TestMode.REAL_HARDWARE is set above). Set to None to run tests on # a local (PCIe) card. -TEST_DEVICE_IP = "169.254.142.75" +TEST_DEVICE_IP = "169.254.45.181" # Set the device number to connect to for real hardware tests. If using a star hub (e.g. netbox), this should be the # STAR_HUB_MASTER_CARD_INDEX. If you only have a single, local (PCIe) card, set to 0. TEST_DEVICE_NUMBER = 1 @@ -30,13 +30,13 @@ class SpectrumTestMode(Enum): STAR_HUB_MASTER_CARD_INDEX = 1 # Number of samples to acquire per channel during unit testing (on both mock and real devices) -ACQUISITION_LENGTH = 4096 +ACQUISITION_LENGTH = 400 # Rate at which mock frames (sets of waveforms) will be generated in SpectrumTestMode.MOCK_HARDWARE MOCK_DEVICE_TEST_FRAME_RATE_HZ = 10.0 # Trigger source to use for integration tests. Has no effect in SpectrumTestMode.MOCK_HARDWARE -INTEGRATION_TEST_TRIGGER_SOURCE = TriggerSource.SPC_TMASK_SOFTWARE +INTEGRATION_TEST_TRIGGER_SOURCE = TriggerSource.SPC_TMASK_EXT0 if SINGLE_CARD_TEST_MODE == SpectrumTestMode.REAL_HARDWARE and not SPECTRUM_DRIVERS_FOUND: diff --git a/src/tests/device_factories.py b/src/tests/device_factories.py index af1a203..43476e2 100644 --- a/src/tests/device_factories.py +++ b/src/tests/device_factories.py @@ -1,7 +1,7 @@ from spectrumdevice import SpectrumDigitiserStarHub from spectrumdevice.devices.digitiser import SpectrumDigitiserCard from spectrumdevice.devices.mocks import MockSpectrumDigitiserCard, MockSpectrumDigitiserStarHub -from spectrumdevice.settings import CardType +from spectrumdevice.settings import ModelNumber from tests.configuration import ( MOCK_DEVICE_TEST_FRAME_RATE_HZ, NUM_CARDS_IN_STAR_HUB, @@ -24,7 +24,7 @@ def create_spectrum_card_for_testing() -> SpectrumDigitiserCard: else: return MockSpectrumDigitiserCard( device_number=TEST_DEVICE_NUMBER, - card_type=CardType.TYP_M2P5966_X4, + model=ModelNumber.TYP_M2P5966_X4, mock_source_frame_rate_hz=MOCK_DEVICE_TEST_FRAME_RATE_HZ, num_modules=NUM_MODULES_PER_CARD, num_channels_per_module=NUM_CHANNELS_PER_MODULE, @@ -47,7 +47,7 @@ def create_spectrum_star_hub_for_testing() -> SpectrumDigitiserStarHub: mock_child_cards.append( MockSpectrumDigitiserCard( device_number=0, - card_type=CardType.TYP_M2P5966_X4, + model=ModelNumber.TYP_M2P5966_X4, mock_source_frame_rate_hz=MOCK_DEVICE_TEST_FRAME_RATE_HZ, num_modules=NUM_MODULES_PER_CARD, num_channels_per_module=NUM_CHANNELS_PER_MODULE, diff --git a/src/tests/test_integration.py b/src/tests/test_integration.py index b374ea9..0202ec8 100644 --- a/src/tests/test_integration.py +++ b/src/tests/test_integration.py @@ -13,6 +13,7 @@ from spectrumdevice.measurement import Measurement from spectrumdevice.exceptions import SpectrumDriversNotFound from tests.configuration import ( + ACQUISITION_LENGTH, INTEGRATION_TEST_TRIGGER_SOURCE, NUM_CARDS_IN_STAR_HUB, NUM_CHANNELS_PER_MODULE, @@ -37,9 +38,10 @@ def test_standard_single_mode(self) -> None: trigger_source=INTEGRATION_TEST_TRIGGER_SOURCE, device_number=TEST_DEVICE_NUMBER, ip_address=TEST_DEVICE_IP, + acquisition_length=ACQUISITION_LENGTH, ) self.assertEqual(len(measurement.waveforms), 1) - self.assertEqual([wfm.shape for wfm in measurement.waveforms], [(400,)]) + self.assertEqual([wfm.shape for wfm in measurement.waveforms], [(ACQUISITION_LENGTH,)]) if self._single_card_mock_mode: self.assertAlmostEqual(measurement.waveforms[0].max() - measurement.waveforms[0].min(), 0.4, 1) self.assertAlmostEqual(measurement.waveforms[0].mean(), 0.0, 1) @@ -58,6 +60,7 @@ def test_finite_multi_fifo_mode(self) -> None: trigger_source=INTEGRATION_TEST_TRIGGER_SOURCE, device_number=TEST_DEVICE_NUMBER, ip_address=TEST_DEVICE_IP, + acquisition_length=ACQUISITION_LENGTH, ) self.assertEqual(len(measurements), 5) self._asserts_for_fifo_mode(measurements) @@ -69,17 +72,19 @@ def test_continuous_multi_fifo_mode(self) -> None: trigger_source=INTEGRATION_TEST_TRIGGER_SOURCE, device_number=TEST_DEVICE_NUMBER, ip_address=TEST_DEVICE_IP, + acquisition_length=ACQUISITION_LENGTH, ) self._asserts_for_fifo_mode(measurements) def test_averaging_continuous_multi_fifo_example(self) -> None: measurements = continuous_averaging_multi_fifo_example( mock_mode=self._single_card_mock_mode, - acquisition_duration_in_seconds=0.1, - num_averages=3, + acquisition_duration_in_seconds=0.5, + num_averages=2, trigger_source=INTEGRATION_TEST_TRIGGER_SOURCE, device_number=TEST_DEVICE_NUMBER, ip_address=TEST_DEVICE_IP, + acquisition_length=ACQUISITION_LENGTH, ) self._asserts_for_fifo_mode(measurements) @@ -88,7 +93,7 @@ def _asserts_for_fifo_mode(self, measurements: List[Measurement]) -> None: waveforms = concatenate([measurement.waveforms for measurement in measurements]) waveform_shapes = array([wfm.shape for wfm in waveforms]) - self.assertTrue((waveform_shapes == 400).all()) + self.assertTrue((waveform_shapes == ACQUISITION_LENGTH).all()) timestamps = array([measurement.timestamp for measurement in measurements]) # Check timestamps all occurred within last second @@ -107,6 +112,7 @@ def test_star_hub(self) -> None: mock_mode=self._star_hub_mock_mode, num_cards=NUM_CARDS_IN_STAR_HUB, master_card_index=STAR_HUB_MASTER_CARD_INDEX, + ip_address="169.254.45.181", ) self.assertEqual(len(hub.channels), NUM_CHANNELS_PER_MODULE * NUM_MODULES_PER_CARD * NUM_CARDS_IN_STAR_HUB) self.assertEqual(len(hub._child_cards), NUM_CARDS_IN_STAR_HUB) diff --git a/src/tests/test_single_card.py b/src/tests/test_single_card.py index 4683b18..380556b 100644 --- a/src/tests/test_single_card.py +++ b/src/tests/test_single_card.py @@ -11,7 +11,7 @@ ) from spectrumdevice.settings.channel import SpectrumChannelName from spectrumdevice.settings.device_modes import AcquisitionMode, ClockMode -from spectrumdevice.settings.transfer_buffer import CardToPCDataTransferBuffer +from spectrumdevice.settings.transfer_buffer import create_samples_acquisition_transfer_buffer from spectrumdevice.settings.triggering import ExternalTriggerMode, TriggerSource from tests.configuration import ACQUISITION_LENGTH, NUM_CHANNELS_PER_MODULE, NUM_MODULES_PER_CARD from tests.device_factories import create_spectrum_card_for_testing @@ -131,7 +131,7 @@ def test_available_io_modes(self) -> None: self.assertTrue(False, f"raised an exception {e}") def test_transfer_buffer(self) -> None: - buffer = CardToPCDataTransferBuffer(ACQUISITION_LENGTH) + buffer = create_samples_acquisition_transfer_buffer(ACQUISITION_LENGTH) self._device.define_transfer_buffer([buffer]) self.assertEqual(buffer, self._device.transfer_buffers[0]) diff --git a/src/tests/test_star_hub.py b/src/tests/test_star_hub.py index 4991373..e13eabc 100644 --- a/src/tests/test_star_hub.py +++ b/src/tests/test_star_hub.py @@ -7,7 +7,7 @@ from spectrumdevice import AbstractSpectrumCard, SpectrumDigitiserChannel, SpectrumDigitiserStarHub from spectrumdevice.exceptions import SpectrumInvalidNumberOfEnabledChannels from spectrumdevice.settings.channel import SpectrumChannelName -from spectrumdevice.settings.transfer_buffer import CardToPCDataTransferBuffer +from spectrumdevice.settings.transfer_buffer import create_samples_acquisition_transfer_buffer from tests.configuration import ACQUISITION_LENGTH, NUM_CARDS_IN_STAR_HUB, NUM_CHANNELS_PER_MODULE, NUM_MODULES_PER_CARD from tests.device_factories import create_spectrum_star_hub_for_testing from tests.test_single_card import SingleCardTest @@ -60,7 +60,8 @@ def test_get_channels(self) -> None: self.assertEqual(expected_channels_tuple, channels) def test_transfer_buffer(self) -> None: - buffer = [CardToPCDataTransferBuffer(ACQUISITION_LENGTH) for _ in range(NUM_CARDS_IN_STAR_HUB)] + + buffer = [create_samples_acquisition_transfer_buffer(ACQUISITION_LENGTH) for _ in range(NUM_CARDS_IN_STAR_HUB)] self._device.define_transfer_buffer(buffer) self.assertTrue((array(self._device.transfer_buffers) == buffer).all())