uds.message.service_identifiers =============================== .. py:module:: uds.message.service_identifiers .. autoapi-nested-parse:: Service Identifier (SID) data parameter implementation. .. note:: :ref:`Service Identifiers ` values and their meanings are defined by ISO 14229-1 and SAE J1979 standards. Attributes ---------- .. autoapisummary:: uds.message.service_identifiers.RESPONSE_REQUEST_SID_DIFF uds.message.service_identifiers.ALL_REQUEST_SIDS uds.message.service_identifiers.ALL_RESPONSE_SIDS uds.message.service_identifiers.SERVICES_WITH_SUBFUNCTION Exceptions ---------- .. autoapisummary:: uds.message.service_identifiers.UnrecognizedSIDWarning Classes ------- .. autoapisummary:: uds.message.service_identifiers.RequestSID uds.message.service_identifiers.ResponseSID Module Contents --------------- .. py:data:: RESPONSE_REQUEST_SID_DIFF :type: int :value: 64 Difference between request and response SID values (SID = RSID + 0x40). .. py:data:: ALL_REQUEST_SIDS :type: uds.utilities.RawBytesSetAlias Set with all possible values of Request SID data parameter according to SAE J1979 and ISO 14229 standards. .. py:data:: ALL_RESPONSE_SIDS :type: uds.utilities.RawBytesSetAlias Set with all possible values of Response SID data parameter according to SAE J1979 and ISO 14229 standards. .. py:exception:: UnrecognizedSIDWarning Bases: :py:obj:`Warning` .. autoapi-inheritance-diagram:: uds.message.service_identifiers.UnrecognizedSIDWarning :parts: 1 :private-bases: Warning about SID value that is legit but not recognized by the package. .. note:: If you want to register a SID value, you need to define members (for this SID) manually using :meth:`~uds.utilities.enums.ExtendableEnum.add_member` method (on :class:`~uds.message.service_identifiers.RequestSID` and :class:`~uds.message.service_identifiers.ResponseSID` classes). You can also create feature request in the UDS project `issues management system `_ to register a SID value (for which this warning was raised). Initialize self. See help(type(self)) for accurate signature. .. py:class:: RequestSID Bases: :py:obj:`uds.utilities.ValidatedEnum`, :py:obj:`uds.utilities.ExtendableEnum`, :py:obj:`uds.utilities.ByteEnum` .. autoapi-inheritance-diagram:: uds.message.service_identifiers.RequestSID :parts: 1 :private-bases: Request Service Identifier values. .. note:: Request :ref:`SID ` is always the first payload byte of all request message. Initialize self. See help(type(self)) for accurate signature. .. py:method:: is_request_sid(value) :classmethod: Check whether given value is Service Identifier (SID). :param value: Value to check. :return: True if value is valid SID, else False. .. py:attribute:: AccessTimingParameter :type: RequestSID :value: 131 .. py:attribute:: DiagnosticSessionControl :type: RequestSID :value: 16 .. py:attribute:: ECUReset :type: RequestSID :value: 17 .. py:attribute:: SecurityAccess :type: RequestSID :value: 39 .. py:attribute:: CommunicationControl :type: RequestSID :value: 40 .. py:attribute:: Authentication :type: RequestSID :value: 41 .. py:attribute:: TesterPresent :type: RequestSID :value: 62 .. py:attribute:: ControlDTCSetting :type: RequestSID :value: 133 .. py:attribute:: ResponseOnEvent :type: RequestSID :value: 134 .. py:attribute:: LinkControl :type: RequestSID :value: 135 .. py:attribute:: ReadDataByIdentifier :type: RequestSID :value: 34 .. py:attribute:: ReadMemoryByAddress :type: RequestSID :value: 35 .. py:attribute:: ReadScalingDataByIdentifier :type: RequestSID :value: 36 .. py:attribute:: ReadDataByPeriodicIdentifier :type: RequestSID :value: 42 .. py:attribute:: DynamicallyDefineDataIdentifier :type: RequestSID :value: 44 .. py:attribute:: WriteDataByIdentifier :type: RequestSID :value: 46 .. py:attribute:: WriteMemoryByAddress :type: RequestSID :value: 61 .. py:attribute:: ClearDiagnosticInformation :type: RequestSID :value: 20 .. py:attribute:: ReadDTCInformation :type: RequestSID :value: 25 .. py:attribute:: InputOutputControlByIdentifier :type: RequestSID :value: 47 .. py:attribute:: RoutineControl :type: RequestSID :value: 49 .. py:attribute:: RequestDownload :type: RequestSID :value: 52 .. py:attribute:: RequestUpload :type: RequestSID :value: 53 .. py:attribute:: TransferData :type: RequestSID :value: 54 .. py:attribute:: RequestTransferExit :type: RequestSID :value: 55 .. py:attribute:: RequestFileTransfer :type: RequestSID :value: 56 .. py:attribute:: SecuredDataTransmission :type: RequestSID :value: 132 .. py:class:: ResponseSID Bases: :py:obj:`uds.utilities.ValidatedEnum`, :py:obj:`uds.utilities.ExtendableEnum`, :py:obj:`uds.utilities.ByteEnum` .. autoapi-inheritance-diagram:: uds.message.service_identifiers.ResponseSID :parts: 1 :private-bases: Response Service Identifier values. .. note:: Response :ref:`SID ` is always the first payload byte of all request message. .. warning:: This enum contains multiple members (for all the services as :class:`~uds.message.service_identifiers.RequestSID`), but most of them are dynamically (implicitly) added and invisible in the documentation. Initialize self. See help(type(self)) for accurate signature. .. py:attribute:: NegativeResponse :type: ResponseSID :value: 127 .. py:attribute:: AccessTimingParameter :type: ResponseSID :value: 195 .. py:attribute:: DiagnosticSessionControl :type: ResponseSID :value: 80 .. py:attribute:: ECUReset :type: ResponseSID :value: 81 .. py:attribute:: SecurityAccess :type: ResponseSID :value: 103 .. py:attribute:: CommunicationControl :type: ResponseSID :value: 104 .. py:attribute:: Authentication :type: ResponseSID :value: 105 .. py:attribute:: TesterPresent :type: ResponseSID :value: 126 .. py:attribute:: ControlDTCSetting :type: ResponseSID :value: 197 .. py:attribute:: ResponseOnEvent :type: ResponseSID :value: 198 .. py:attribute:: LinkControl :type: ResponseSID :value: 199 .. py:attribute:: ReadDataByIdentifier :type: ResponseSID :value: 98 .. py:attribute:: ReadMemoryByAddress :type: ResponseSID :value: 99 .. py:attribute:: ReadScalingDataByIdentifier :type: ResponseSID :value: 100 .. py:attribute:: ReadDataByPeriodicIdentifier :type: ResponseSID :value: 106 .. py:attribute:: DynamicallyDefineDataIdentifier :type: ResponseSID :value: 108 .. py:attribute:: WriteDataByIdentifier :type: ResponseSID :value: 110 .. py:attribute:: WriteMemoryByAddress :type: ResponseSID :value: 125 .. py:attribute:: ClearDiagnosticInformation :type: ResponseSID :value: 84 .. py:attribute:: ReadDTCInformation :type: ResponseSID :value: 89 .. py:attribute:: InputOutputControlByIdentifier :type: ResponseSID :value: 111 .. py:attribute:: RoutineControl :type: ResponseSID :value: 113 .. py:attribute:: RequestDownload :type: ResponseSID :value: 116 .. py:attribute:: RequestUpload :type: ResponseSID :value: 117 .. py:attribute:: TransferData :type: ResponseSID :value: 118 .. py:attribute:: RequestTransferExit :type: ResponseSID :value: 119 .. py:attribute:: RequestFileTransfer :type: ResponseSID :value: 120 .. py:attribute:: SecuredDataTransmission :type: ResponseSID :value: 196 .. py:method:: is_response_sid(value) :classmethod: Check whether given value is Response Service Identifier (RSID). :param value: Value to check. :return: True if value is valid RSID, else False. .. py:data:: SERVICES_WITH_SUBFUNCTION SID and RSID values for services that contain sub-function in their message format.