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 StatusCls:
"""
| Commands in total: 1
| Subgroups: 0
| Direct child commands: 1
"""
def __init__(self, core: Core, parent):
self._core = core
self._cmd_group = CommandsGroup("status", core, parent)
# noinspection PyTypeChecker
[docs]
def get(self, bus=repcap.Bus.Default, busFrameNull=repcap.BusFrameNull.Default) -> enums.BusI2cFrameState:
"""
``BUS<*>:I2C:FRAMe<*>:STATus`` \n
Snippet: ``value: enums.BusI2cFrameState = driver.bus.i2C.frame.status.get(bus = repcap.Bus.Default, busFrameNull = repcap.BusFrameNull.Default)`` \n
Returns the overall state of the frame.
:param bus: optional repeated capability selector. Default value: Nr1 (settable in the interface 'Bus')
:param busFrameNull: optional repeated capability selector. Default value: Nr0 (settable in the interface 'Frame')
:return: state: INComplete | OK | UNEXpstop | INSufficient | ADDifferent | UNKNown \n
- INComplete: The stop bit is missing.
- OK: The frame is valid.
- UNEXpstop: A stop bit was detected but clock and data are continued.
- INSufficient: The frame is not completely contained in the acquisition. The acquired part of the frame is valid.
- ADDifferent: Error in 10 bit address. In case of a read access on a 10 bit address, the first address byte is sent twice, first as write, the second as read. The first seven bits of the byte must be identical. If they are not identical, the ADDiffernt error is indicated.
"""
bus_cmd_val = self._cmd_group.get_repcap_cmd_value(bus, repcap.Bus)
busFrameNull_cmd_val = self._cmd_group.get_repcap_cmd_value(busFrameNull, repcap.BusFrameNull)
response = self._core.io.query_str(f'BUS{bus_cmd_val}:I2C:FRAMe{busFrameNull_cmd_val}:STATus?')
return Conversions.str_to_scalar_enum(response, enums.BusI2cFrameState)