from .......Internal.Core import Core
from .......Internal.CommandsGroup import CommandsGroup
from .......Internal import Conversions
from ....... import repcap
# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
class RepetitionCls:
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("repetition", core, parent)
[docs]
def set(self, repetition: int, serialBus=repcap.SerialBus.Default, frame=repcap.Frame.Default, field=repcap.Field.Default) -> None:
"""
``SBUS<*>:MILStd:FORMat:FRAMe<*>:FLD<*>:REPetition`` \n
Snippet: ``driver.sbus.milstd.formatPy.frame.fld.repetition.set(repetition = 1, serialBus = repcap.SerialBus.Default, frame = repcap.Frame.Default, field = repcap.Field.Default)`` \n
Sets the repetition count of the field. Setting the value to 0 indicates an unlimited repetition that continues until the
end of the payload is reached.
:param repetition: 0 to 65535
:param serialBus: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Sbus')
:param frame: optional repeated capability selector. Default value: Ix1 (settable in the interface 'Frame')
:param field: optional repeated capability selector. Default value: Ix1 (settable in the interface 'Fld')
"""
param = Conversions.decimal_value_to_str(repetition)
serialBus_cmd_val = self._cmd_group.get_repcap_cmd_value(serialBus, repcap.SerialBus)
frame_cmd_val = self._cmd_group.get_repcap_cmd_value(frame, repcap.Frame)
field_cmd_val = self._cmd_group.get_repcap_cmd_value(field, repcap.Field)
self._core.io.write(f'SBUS{serialBus_cmd_val}:MILStd:FORMat:FRAMe{frame_cmd_val}:FLD{field_cmd_val}:REPetition {param}')
[docs]
def get(self, serialBus=repcap.SerialBus.Default, frame=repcap.Frame.Default, field=repcap.Field.Default) -> int:
"""
``SBUS<*>:MILStd:FORMat:FRAMe<*>:FLD<*>:REPetition`` \n
Snippet: ``value: int = driver.sbus.milstd.formatPy.frame.fld.repetition.get(serialBus = repcap.SerialBus.Default, frame = repcap.Frame.Default, field = repcap.Field.Default)`` \n
Sets the repetition count of the field. Setting the value to 0 indicates an unlimited repetition that continues until the
end of the payload is reached.
:param serialBus: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Sbus')
:param frame: optional repeated capability selector. Default value: Ix1 (settable in the interface 'Frame')
:param field: optional repeated capability selector. Default value: Ix1 (settable in the interface 'Fld')
:return: repetition: 0 to 65535
"""
serialBus_cmd_val = self._cmd_group.get_repcap_cmd_value(serialBus, repcap.SerialBus)
frame_cmd_val = self._cmd_group.get_repcap_cmd_value(frame, repcap.Frame)
field_cmd_val = self._cmd_group.get_repcap_cmd_value(field, repcap.Field)
response = self._core.io.query_str(f'SBUS{serialBus_cmd_val}:MILStd:FORMat:FRAMe{frame_cmd_val}:FLD{field_cmd_val}:REPetition?')
return Conversions.str_to_int(response)