[docs]
class ILError(Exception):
"""IngeniaLink generic error."""
[docs]
class ILConfigurationError(ILError):
"""IngeniaLink configuration error."""
[docs]
class ILUDPError(ILError):
"""Ingenialink exception on UDP action."""
[docs]
class ILFirmwareLoadError(ILError):
"""IngeniaLink error while loading a firmware."""
[docs]
class ILValueError(ILError):
"""IngeniaLink value error."""
[docs]
class ILTimeoutError(ILError):
"""IngeniaLink timeout error."""
[docs]
class ILAccessError(ILError):
"""IngeniaLink access error."""
[docs]
class ILStateError(ILError):
"""IngeniaLink state error."""
[docs]
class ILIOError(ILError):
"""IngeniaLink I/O error."""
[docs]
class ILWrongRegisterError(ILError):
"""IngeniaLink Wrong register error."""
[docs]
class ILRegisterNotFoundError(ILError):
"""IngeniaLink register not found in dictionary."""
[docs]
class ILWrongCRCError(ILError):
"""IngeniaLink Wrong CRC error."""
[docs]
class ILNACKError(ILError):
"""IngeniaLink NACK error."""
def __init__(self, err_code: int):
self.error_code = err_code
super().__init__(f"Communications error (NACK -> 0x{err_code:08X})")
[docs]
class ILDictionaryParseError(ILError):
"""IngeniaLink dictionary parse error."""
[docs]
class ILConfigurationFileParseError(ILError):
"""IngeniaLink configuration file parse error."""
[docs]
class ILWrongWorkingCountError(ILError):
"""PDOs process data working count expected and received differ."""
[docs]
class ILEcatStateError(ILError):
"""IngeniaLink Ethercat state error."""