from typing import List
from .........Internal.Core import Core
from .........Internal.CommandsGroup import CommandsGroup
from .........Internal import Conversions
from .........Internal.Utilities import trim_str_response
# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
class FileCls:
"""
| Commands in total: 4
| Subgroups: 0
| Direct child commands: 4
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("file", core, parent)
[docs]
def get_catalog(self) -> List[str]:
"""
``[SOURce<HW>]:IQ:OUTPut:[ANALog]:ENVelope:SHAPing:PV:FILE:CATalog`` \n
Snippet: ``value: List[str] = driver.source.iq.output.analog.envelope.shaping.pv.file.get_catalog()`` \n
Queries the available table shaping files in the default directory. Only files with the file extension iq_lut or iq_lutpv
are listed.
:return: catalog: string
"""
response = self._core.io.query_str('SOURce<HwInstance>:IQ:OUTPut:ANALog:ENVelope:SHAPing:PV:FILE:CATalog?')
return Conversions.str_to_str_list(response)
[docs]
def get_data(self) -> List[float]:
"""
``[SOURce<HW>]:IQ:OUTPut:[ANALog]:ENVelope:SHAPing:PV:FILE:DATA`` \n
Snippet: ``value: List[float] = driver.source.iq.output.analog.envelope.shaping.pv.file.get_data()`` \n
Defines the shaping function in a raw data format. See also method
``RsSmw.source.iq.output.analog.envelope.shaping.pv.file.new()`` .
"""
response = self._core.io.query_bin_or_ascii_float_list('SOURce<HwInstance>:IQ:OUTPut:ANALog:ENVelope:SHAPing:PV:FILE:DATA?')
return response
[docs]
def set_data(self, ipartq_out_env_shape_data_pv: List[float]) -> None:
"""
``[SOURce<HW>]:IQ:OUTPut:[ANALog]:ENVelope:SHAPing:PV:FILE:DATA`` \n
Snippet: ``driver.source.iq.output.analog.envelope.shaping.pv.file.set_data(ipartq_out_env_shape_data_pv = [1.1, 2.2, 3.3])`` \n
Defines the shaping function in a raw data format. See also method
``RsSmw.source.iq.output.analog.envelope.shaping.pv.file.new()`` .
"""
param = Conversions.list_to_csv_str(ipartq_out_env_shape_data_pv)
self._core.io.write(f'SOURce<HwInstance>:IQ:OUTPut:ANALog:ENVelope:SHAPing:PV:FILE:DATA {param}')
[docs]
def set_new(self, iq_out_env_shape_data_pv_new_file: List[float]) -> None:
"""
``[SOURce<HW>]:IQ:OUTPut:[ANALog]:ENVelope:SHAPing:PV:FILE:NEW`` \n
Snippet: ``driver.source.iq.output.analog.envelope.shaping.pv.file.set_new(iq_out_env_shape_data_pv_new_file = [1.1, 2.2, 3.3])`` \n
Stores the shaping values into a file with the selected file name and loads it. The file is stored in the default
directory or in the directory specified with the absolute file path. If the file does not yet exist, a new file is
created. The file extension is assigned automatically.
"""
param = Conversions.list_to_csv_str(iq_out_env_shape_data_pv_new_file)
self._core.io.write(f'SOURce<HwInstance>:IQ:OUTPut:ANALog:ENVelope:SHAPing:PV:FILE:NEW {param}')
[docs]
def get_select(self) -> str:
"""
``[SOURce<HW>]:IQ:OUTPut:[ANALog]:ENVelope:SHAPing:PV:FILE:[SELect]`` \n
Snippet: ``value: str = driver.source.iq.output.analog.envelope.shaping.pv.file.get_select()`` \n
Selects an envelope shaping file (extension iq_lut or iq_lutpv) .
:return: filename: string
"""
response = self._core.io.query_str('SOURce<HwInstance>:IQ:OUTPut:ANALog:ENVelope:SHAPing:PV:FILE:SELect?')
return trim_str_response(response)
[docs]
def set_select(self, filename: str) -> None:
"""
``[SOURce<HW>]:IQ:OUTPut:[ANALog]:ENVelope:SHAPing:PV:FILE:[SELect]`` \n
Snippet: ``driver.source.iq.output.analog.envelope.shaping.pv.file.set_select(filename = 'abc')`` \n
Selects an envelope shaping file (extension iq_lut or iq_lutpv) .
:param filename: string
"""
param = Conversions.value_to_quoted_str(filename)
self._core.io.write(f'SOURce<HwInstance>:IQ:OUTPut:ANALog:ENVelope:SHAPing:PV:FILE:SELect {param}')