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 StandardCls:
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("standard", core, parent)
[docs]
def set(self, standard: enums.TvStandard, trigger=repcap.Trigger.Default) -> None:
"""
``TRIGger<*>:TV:STANdard`` \n
Snippet: ``driver.trigger.tv.standard.set(standard = enums.TvStandard.CUSTom, trigger = repcap.Trigger.Default)`` \n
Sets the TV standard.
:param standard: CUSTom | PAL | PALM | NTSC | SECam | P480L60HZ | P720L30HZ | P720L50HZ | P720L60HZ | I1080L50HZ | I1080L60HZ | P1080L24HZ | P1080L24HZSF | P1080L25HZ | P1080L30HZ | P1080L50HZ | P1080L60HZ \n
- CUSTom: User-defined signal. Configure the signal using:TRIGgert:TV:CUSTom:SCANmodeTRIGgert:TV:CUSTom:STYPeTRIGgert:TV:CUSTom:LDURationTRIGgert:TV:CUSTom:SDURation
- PAL | PALM | NTSC | SECam: SDTV standards. PALM = PAL-M
- PxxxxLyyHZ: HDTV standards using progressive scanning (P) . xxxx indicates the number of active lines, yy is the frame rate.
- IxxxxLxxHZ: HDTV standards using interlaced scanning (I) . xxxx indicates the number of active lines, yy is the field rate.
- P1080L24HZSF: 1080p/24sF is a HDTV standard using progressive segmented frame scanning.
:param trigger: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Trigger')
"""
param = Conversions.enum_scalar_to_str(standard, enums.TvStandard)
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:STANdard {param}')
# noinspection PyTypeChecker
[docs]
def get(self, trigger=repcap.Trigger.Default) -> enums.TvStandard:
"""
``TRIGger<*>:TV:STANdard`` \n
Snippet: ``value: enums.TvStandard = driver.trigger.tv.standard.get(trigger = repcap.Trigger.Default)`` \n
Sets the TV standard.
:param trigger: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Trigger')
:return: standard: CUSTom | PAL | PALM | NTSC | SECam | P480L60HZ | P720L30HZ | P720L50HZ | P720L60HZ | I1080L50HZ | I1080L60HZ | P1080L24HZ | P1080L24HZSF | P1080L25HZ | P1080L30HZ | P1080L50HZ | P1080L60HZ \n
- CUSTom: User-defined signal. Configure the signal using:TRIGgert:TV:CUSTom:SCANmodeTRIGgert:TV:CUSTom:STYPeTRIGgert:TV:CUSTom:LDURationTRIGgert:TV:CUSTom:SDURation
- PAL | PALM | NTSC | SECam: SDTV standards. PALM = PAL-M
- PxxxxLyyHZ: HDTV standards using progressive scanning (P) . xxxx indicates the number of active lines, yy is the frame rate.
- IxxxxLxxHZ: HDTV standards using interlaced scanning (I) . xxxx indicates the number of active lines, yy is the field rate.
- P1080L24HZSF: 1080p/24sF is a HDTV standard using progressive segmented frame scanning.
"""
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:STANdard?')
return Conversions.str_to_scalar_enum(response, enums.TvStandard)