uds.utilities.enums =================== .. py:module:: uds.utilities.enums .. autoapi-nested-parse:: Module with common and reused implementation of enums. `Enumerated types (enums) `_ are data types that consists of named values. This module provides extension to `aenum `_ package. Classes ------- .. autoapisummary:: uds.utilities.enums.ExtendableEnum uds.utilities.enums.ValidatedEnum uds.utilities.enums.ByteEnum uds.utilities.enums.NibbleEnum uds.utilities.enums.Endianness Module Contents --------------- .. py:class:: ExtendableEnum Bases: :py:obj:`aenum.Enum` .. autoapi-inheritance-diagram:: uds.utilities.enums.ExtendableEnum :parts: 1 :private-bases: Enum that supports new members adding. .. py:method:: add_member(name, value) :classmethod: Register a new member. :param name: Name of a new member. :param value: Value of a new member. :raise ValueError: Such name or value is already in use. :return: The new member that was just created. .. py:class:: ValidatedEnum Bases: :py:obj:`aenum.Enum` .. autoapi-inheritance-diagram:: uds.utilities.enums.ValidatedEnum :parts: 1 :private-bases: Enum that supports members validation. .. py:method:: is_member(value) :classmethod: Check whether given argument is a member or a value stored by this Enum. :param value: Value to check. :return: True if given argument is a member or a value of this Enum, else False. .. py:method:: validate_member(value) :classmethod: Validate whether given argument is a member or a value stored by this Enum. :param value: Value to validate. :raise ValueError: Provided value is not a member neither a value of this Enum. .. py:class:: ByteEnum Bases: :py:obj:`aenum.IntEnum` .. autoapi-inheritance-diagram:: uds.utilities.enums.ByteEnum :parts: 1 :private-bases: Enum which members are one byte integers (0x00-0xFF) only. Initialize self. See help(type(self)) for accurate signature. .. py:class:: NibbleEnum Bases: :py:obj:`aenum.IntEnum` .. autoapi-inheritance-diagram:: uds.utilities.enums.NibbleEnum :parts: 1 :private-bases: Enum which members are one nibble (4 bits) integers (0x0-0xF) only. Initialize self. See help(type(self)) for accurate signature. .. py:class:: Endianness Bases: :py:obj:`ValidatedEnum`, :py:obj:`aenum.StrEnum` .. autoapi-inheritance-diagram:: uds.utilities.enums.Endianness :parts: 1 :private-bases: Endianness values definitions. `Endianness `_ determines order of bytes in a bytes sequence. Initialize self. See help(type(self)) for accurate signature. .. py:attribute:: LITTLE_ENDIAN :type: Endianness :value: 'little' Little Endian stores the most significant byte at the largest memory address and the least significant byte at the smallest. .. py:attribute:: BIG_ENDIAN :type: Endianness :value: 'big' Big Endian stores the most significant byte at the smallest memory address and the least significant byte at the largest.