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:DOHerty:SHAPing:TABLe:AMPM:FILE:CATalog`` \n
Snippet: ``value: List[str] = driver.source.iq.doherty.shaping.table.amPm.file.get_catalog()`` \n
Queries the available table files in the default directory. Only files with the extension dpd_magn(AM/AM) or
dpd_phase(AM/PM) are listed.
:return: catalog: string
"""
response = self._core.io.query_str('SOURce<HwInstance>:IQ:DOHerty:SHAPing:TABLe:AMPM:FILE:CATalog?')
return Conversions.str_to_str_list(response)
[docs]
def get_data(self) -> List[float]:
"""
``[SOURce<HW>]:IQ:DOHerty:SHAPing:TABLe:AMPM:FILE:DATA`` \n
Snippet: ``value: List[float] = driver.source.iq.doherty.shaping.table.amPm.file.get_data()`` \n
Defines the predistortion function in a raw data format. See also method
``RsSmw.source.iq.dpd.shaping.table.amPm.file.new()`` .
"""
response = self._core.io.query_bin_or_ascii_float_list('SOURce<HwInstance>:IQ:DOHerty:SHAPing:TABLe:AMPM:FILE:DATA?')
return response
[docs]
def set_data(self, dpd_pm_table_data: List[float]) -> None:
"""
``[SOURce<HW>]:IQ:DOHerty:SHAPing:TABLe:AMPM:FILE:DATA`` \n
Snippet: ``driver.source.iq.doherty.shaping.table.amPm.file.set_data(dpd_pm_table_data = [1.1, 2.2, 3.3])`` \n
Defines the predistortion function in a raw data format. See also method
``RsSmw.source.iq.dpd.shaping.table.amPm.file.new()`` .
"""
param = Conversions.list_to_csv_str(dpd_pm_table_data)
self._core.io.write(f'SOURce<HwInstance>:IQ:DOHerty:SHAPing:TABLe:AMPM:FILE:DATA {param}')
[docs]
def set_new(self, ipartd_pi_db_dpd_pm_table_data_new_file: List[float]) -> None:
"""
``[SOURce<HW>]:IQ:DOHerty:SHAPing:TABLe:AMPM:FILE:NEW`` \n
Snippet: ``driver.source.iq.doherty.shaping.table.amPm.file.set_new(ipartd_pi_db_dpd_pm_table_data_new_file = [1.1, 2.2, 3.3])`` \n
Stores the correction 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(ipartd_pi_db_dpd_pm_table_data_new_file)
self._core.io.write(f'SOURce<HwInstance>:IQ:DOHerty:SHAPing:TABLe:AMPM:FILE:NEW {param}')
[docs]
def get_select(self) -> str:
"""
``[SOURce<HW>]:IQ:DOHerty:SHAPing:TABLe:AMPM:FILE:[SELect]`` \n
Snippet: ``value: str = driver.source.iq.doherty.shaping.table.amPm.file.get_select()`` \n
Selects a file with correction values (extension dpd_magn (AM/AM) or dpd_phase(AM/FM) ).
:return: filename: string
"""
response = self._core.io.query_str('SOURce<HwInstance>:IQ:DOHerty:SHAPing:TABLe:AMPM:FILE:SELect?')
return trim_str_response(response)
[docs]
def set_select(self, filename: str) -> None:
"""
``[SOURce<HW>]:IQ:DOHerty:SHAPing:TABLe:AMPM:FILE:[SELect]`` \n
Snippet: ``driver.source.iq.doherty.shaping.table.amPm.file.set_select(filename = 'abc')`` \n
Selects a file with correction values (extension dpd_magn (AM/AM) or dpd_phase(AM/FM) ).
:param filename: string
"""
param = Conversions.value_to_quoted_str(filename)
self._core.io.write(f'SOURce<HwInstance>:IQ:DOHerty:SHAPing:TABLe:AMPM:FILE:SELect {param}')