Source code for RsPulseSeq.Implementations.Program

from ...Internal.Core import Core
from ...Internal.CommandsGroup import CommandsGroup
from ...Internal import Conversions
from ... import enums


# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
[docs] class ProgramCls: """Program commands group definition. 24 total commands, 15 Subgroups, 1 group commands""" def __init__(self, core: Core, parent): self._core = core self._cmd_group = CommandsGroup("program", core, parent) @property def adjustments(self): """adjustments commands group. 0 Sub-classes, 1 commands.""" if not hasattr(self, '_adjustments'): from .Adjustments import AdjustmentsCls self._adjustments = AdjustmentsCls(self._core, self._cmd_group) return self._adjustments @property def classPy(self): """classPy commands group. 0 Sub-classes, 1 commands.""" if not hasattr(self, '_classPy'): from .ClassPy import ClassPyCls self._classPy = ClassPyCls(self._core, self._cmd_group) return self._classPy @property def comment(self): """comment commands group. 0 Sub-classes, 1 commands.""" if not hasattr(self, '_comment'): from .Comment import CommentCls self._comment = CommentCls(self._core, self._cmd_group) return self._comment @property def gpu(self): """gpu commands group. 0 Sub-classes, 1 commands.""" if not hasattr(self, '_gpu'): from .Gpu import GpuCls self._gpu = GpuCls(self._core, self._cmd_group) return self._gpu @property def hide(self): """hide commands group. 0 Sub-classes, 1 commands.""" if not hasattr(self, '_hide'): from .Hide import HideCls self._hide = HideCls(self._core, self._cmd_group) return self._hide @property def path(self): """path commands group. 0 Sub-classes, 4 commands.""" if not hasattr(self, '_path'): from .Path import PathCls self._path = PathCls(self._core, self._cmd_group) return self._path @property def ramBuff(self): """ramBuff commands group. 0 Sub-classes, 1 commands.""" if not hasattr(self, '_ramBuff'): from .RamBuff import RamBuffCls self._ramBuff = RamBuffCls(self._core, self._cmd_group) return self._ramBuff @property def scenario(self): """scenario commands group. 1 Sub-classes, 0 commands.""" if not hasattr(self, '_scenario'): from .Scenario import ScenarioCls self._scenario = ScenarioCls(self._core, self._cmd_group) return self._scenario @property def settings(self): """settings commands group. 2 Sub-classes, 0 commands.""" if not hasattr(self, '_settings'): from .Settings import SettingsCls self._settings = SettingsCls(self._core, self._cmd_group) return self._settings @property def show(self): """show commands group. 0 Sub-classes, 1 commands.""" if not hasattr(self, '_show'): from .Show import ShowCls self._show = ShowCls(self._core, self._cmd_group) return self._show @property def startup(self): """startup commands group. 2 Sub-classes, 0 commands.""" if not hasattr(self, '_startup'): from .Startup import StartupCls self._startup = StartupCls(self._core, self._cmd_group) return self._startup @property def storageLoc(self): """storageLoc commands group. 0 Sub-classes, 1 commands.""" if not hasattr(self, '_storageLoc'): from .StorageLoc import StorageLocCls self._storageLoc = StorageLocCls(self._core, self._cmd_group) return self._storageLoc @property def toolbar(self): """toolbar commands group. 0 Sub-classes, 1 commands.""" if not hasattr(self, '_toolbar'): from .Toolbar import ToolbarCls self._toolbar = ToolbarCls(self._core, self._cmd_group) return self._toolbar @property def transfer(self): """transfer commands group. 1 Sub-classes, 0 commands.""" if not hasattr(self, '_transfer'): from .Transfer import TransferCls self._transfer = TransferCls(self._core, self._cmd_group) return self._transfer @property def tutorials(self): """tutorials commands group. 1 Sub-classes, 0 commands.""" if not hasattr(self, '_tutorials'): from .Tutorials import TutorialsCls self._tutorials = TutorialsCls(self._core, self._cmd_group) return self._tutorials # noinspection PyTypeChecker
[docs] def get_mode(self) -> enums.ProgramMode: """SCPI: PROGram:MODE \n Snippet: value: enums.ProgramMode = driver.program.get_mode() \n Selects the operation mode on start-up. \n :return: mode: DEMO| STANdard| EXPert """ response = self._core.io.query_str('PROGram:MODE?') return Conversions.str_to_scalar_enum(response, enums.ProgramMode)
[docs] def set_mode(self, mode: enums.ProgramMode) -> None: """SCPI: PROGram:MODE \n Snippet: driver.program.set_mode(mode = enums.ProgramMode.DEMO) \n Selects the operation mode on start-up. \n :param mode: DEMO| STANdard| EXPert """ param = Conversions.enum_scalar_to_str(mode, enums.ProgramMode) self._core.io.write(f'PROGram:MODE {param}')
def clone(self) -> 'ProgramCls': """Clones the group by creating new object from it and its whole existing subgroups Also copies all the existing default Repeated Capabilities setting, which you can change independently without affecting the original group""" new_group = ProgramCls(self._core, self._cmd_group.parent) self._cmd_group.synchronize_repcaps(new_group) return new_group