from ....Internal.Core import Core
from ....Internal.CommandsGroup import CommandsGroup
from ....Internal import Conversions
from .... import enums
from .... import repcap
# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
class ModeCls:
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("mode", core, parent)
[docs]
def set(self, mode: enums.TriggerTvMode, trigger=repcap.Trigger.Default) -> None:
"""
``TRIGger<*>:TV:MODE`` \n
Snippet: ``driver.trigger.tv.mode.set(mode = enums.TriggerTvMode.ALINe, trigger = repcap.Trigger.Default)`` \n
Selects the lines or fields on which the instrument can trigger. Available modes depend on the scanning system.
:param mode: ALL | ODD | EVEN | ALINe | LINE \n
- ALL: All fields, triggers on the frame start (progressive scanning) or field start (interlaced and progressive segmented frame scanning)
- ODD | EVEN: Only available for interlaced scanning and progressive segmented frame scanning. Triggers on the field start of the odd or even field.
- ALINe: All lines, triggers on all line starts.
- LINE: Triggers on a specified line. To set the line number, use TRIGgert:TV:LINE. For NTSC signals, set also the field with TRIGgert:TV:LFIeld.
:param trigger: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Trigger')
"""
param = Conversions.enum_scalar_to_str(mode, enums.TriggerTvMode)
trigger_cmd_val = self._cmd_group.get_repcap_cmd_value(trigger, repcap.Trigger)
self._core.io.write_with_opc(f'TRIGger{trigger_cmd_val}:TV:MODE {param}')
# noinspection PyTypeChecker
[docs]
def get(self, trigger=repcap.Trigger.Default) -> enums.TriggerTvMode:
"""
``TRIGger<*>:TV:MODE`` \n
Snippet: ``value: enums.TriggerTvMode = driver.trigger.tv.mode.get(trigger = repcap.Trigger.Default)`` \n
Selects the lines or fields on which the instrument can trigger. Available modes depend on the scanning system.
:param trigger: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Trigger')
:return: mode: ALL | ODD | EVEN | ALINe | LINE \n
- ALL: All fields, triggers on the frame start (progressive scanning) or field start (interlaced and progressive segmented frame scanning)
- ODD | EVEN: Only available for interlaced scanning and progressive segmented frame scanning. Triggers on the field start of the odd or even field.
- ALINe: All lines, triggers on all line starts.
- LINE: Triggers on a specified line. To set the line number, use TRIGgert:TV:LINE. For NTSC signals, set also the field with TRIGgert:TV:LFIeld.
"""
trigger_cmd_val = self._cmd_group.get_repcap_cmd_value(trigger, repcap.Trigger)
response = self._core.io.query_str_with_opc(f'TRIGger{trigger_cmd_val}:TV:MODE?')
return Conversions.str_to_scalar_enum(response, enums.TriggerTvMode)