from ......Internal.Core import Core
from ......Internal.CommandsGroup import CommandsGroup
from ......Internal import Conversions
from ...... import repcap
# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
class OfactorCls:
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("ofactor", core, parent)
[docs]
def set(self, overlap_factor: float, math=repcap.Math.Default) -> None:
"""
``CALCulate:MATH<*>:FFT:FRAMe:OFACtor`` \n
Snippet: ``driver.calculate.math.fft.frame.ofactor.set(overlap_factor = 1.0, math = repcap.Math.Default)`` \n
Defines the minimum factor by which two neighboring frames overlap. If the required number of frames to cover the input
values allows for more overlap, the factor is increased. The higher the overlap factor, the more frames are used.
This leads to more individual results and improves detection of transient signal effects. However, it also extends the
duration of the calculation.
:param overlap_factor: 0 to 90
:param math: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Math')
"""
param = Conversions.decimal_value_to_str(overlap_factor)
math_cmd_val = self._cmd_group.get_repcap_cmd_value(math, repcap.Math)
self._core.io.write_with_opc(f'CALCulate:MATH{math_cmd_val}:FFT:FRAMe:OFACtor {param}')
[docs]
def get(self, math=repcap.Math.Default) -> float:
"""
``CALCulate:MATH<*>:FFT:FRAMe:OFACtor`` \n
Snippet: ``value: float = driver.calculate.math.fft.frame.ofactor.get(math = repcap.Math.Default)`` \n
Defines the minimum factor by which two neighboring frames overlap. If the required number of frames to cover the input
values allows for more overlap, the factor is increased. The higher the overlap factor, the more frames are used.
This leads to more individual results and improves detection of transient signal effects. However, it also extends the
duration of the calculation.
:param math: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Math')
:return: overlap_factor: 0 to 90
"""
math_cmd_val = self._cmd_group.get_repcap_cmd_value(math, repcap.Math)
response = self._core.io.query_str_with_opc(f'CALCulate:MATH{math_cmd_val}:FFT:FRAMe:OFACtor?')
return Conversions.str_to_float(response)