a
    kÄ#dí  ã                   @   sÞ  d dl mZmZmZmZ d dlmZmZ d dlm	Z	 d dl
mZ G dd„ de	ƒZG dd„ de	ƒZG d	d
„ d
e	ƒZG dd„ de	ƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd „ d eƒZG d!d"„ d"eƒZG d#d$„ d$eƒZeeed d%� eeed&d%� eeed'd%� eeed(d%� eeed)d%� eeed*d%� eeed+d%� eeed,d%� eeed-d%� eeed.d%� eeed/d%� d0S )1é    )Ú
FlagsFieldÚ	ByteFieldÚScalingFieldÚPacketListField)Úbind_layersÚPacket)Ú
OBD_Packet)ÚOBD_S08c                	   @   sL   e Zd ZeddddƒeddddƒeddddƒeddddƒeddddƒgZd	S )
Ú_OBD_TID_VoltageÚdata_ar   g{®Gázt?ÚVÚdata_bÚdata_cÚdata_dÚdata_eN©Ú__name__Ú
__module__Ú__qualname__r   Úfields_desc© r   r   ú\/var/www/html/gsl.tools/lib/python3.9/site-packages/scapy/contrib/automotive/obd/tid/tids.pyr
      s   ûr
   c                	   @   sL   e Zd ZeddddƒeddddƒeddddƒeddddƒeddddƒgZd	S )
Ú_OBD_TID_Timer   r   gü©ñÒMbp?Úsr   r   r   r   Nr   r   r   r   r   r      s   ûr   c                	   @   sL   e Zd ZeddddƒeddddƒeddddƒeddddƒeddddƒgZd	S )
Ú_OBD_TID_Periodr   r   g{®Gáz¤?r   r   r   r   r   Nr   r   r   r   r   r   #   s   ûr   c                   @   s$   e Zd ZdZedddg d¢ƒgZdS )Ú	OBD_TID00Z'TID_00_Service8SupportedTestIdentifiersZsupported_tidsr   é    ) ZTID20ZTID1FZTID1EZTID1DZTID1CZTID1BZTID1AZTID19ZTID18ZTID17ZTID16ZTID15ZTID14ZTID13ZTID12ZTID11ZTID10ZTID0FZTID0EZTID0DZTID0CZTID0BZTID0AZTID09ZTID08ZTID07ZTID06ZTID05ZTID04ZTID03ZTID02ZTID01N)r   r   r   Únamer   r   r   r   r   r   r   -   s   ÿr   c                   @   s   e Zd ZdZdS )Ú	OBD_TID01Z'TID_01_RichToLeanSensorThresholdVoltageN©r   r   r   r   r   r   r   r   r   U   s   r   c                   @   s   e Zd ZdZdS )Ú	OBD_TID02Z'TID_02_LeanToRichSensorThresholdVoltageNr   r   r   r   r   r    Y   s   r    c                   @   s   e Zd ZdZdS )Ú	OBD_TID03Z/TID_03_LowSensorVoltageForSwitchTimeCalculationNr   r   r   r   r   r!   ]   s   r!   c                   @   s   e Zd ZdZdS )Ú	OBD_TID04Z0TID_04_HighSensorVoltageForSwitchTimeCalculationNr   r   r   r   r   r"   a   s   r"   c                   @   s   e Zd ZdZdS )Ú	OBD_TID05Z!TID_05_RichToLeanSensorSwitchTimeNr   r   r   r   r   r#   e   s   r#   c                   @   s   e Zd ZdZdS )Ú	OBD_TID06Z!TID_06_LeanToRichSensorSwitchTimeNr   r   r   r   r   r$   i   s   r$   c                   @   s   e Zd ZdZdS )Ú	OBD_TID07Z'TID_07_MinimumSensorVoltageForTestCycleNr   r   r   r   r   r%   m   s   r%   c                   @   s   e Zd ZdZdS )Ú	OBD_TID08Z'TID_08_MaximumSensorVoltageForTestCycleNr   r   r   r   r   r&   q   s   r&   c                   @   s   e Zd ZdZdS )Ú	OBD_TID09Z#TID_09_TimeBetweenSensorTransitionsNr   r   r   r   r   r'   u   s   r'   c                   @   s   e Zd ZdZdS )Ú	OBD_TID0AZTID_0A_SensorPeriodNr   r   r   r   r   r(   y   s   r(   c                   @   s   e Zd ZdZeddƒgZdS )ÚOBD_S08_PR_RecordzControl Operation IDÚtidr   N)r   r   r   r   r   r   r   r   r   r   r)   }   s   ÿr)   c                   @   s&   e Zd ZdZedg eƒgZdd„ ZdS )Ú
OBD_S08_PRzControl Operation IDsÚdata_recordsc                    s"   t ˆ tƒo t‡ fdd„| jD ƒƒS )Nc                 3   s   | ]}|j ˆ j v V  qd S )N©r*   )Ú.0Úr©Úotherr   r   Ú	<genexpr>Œ   ó    z%OBD_S08_PR.answers.<locals>.<genexpr>)Ú
isinstancer	   Úallr,   )Úselfr1   r   r0   r   ÚanswersŠ   s    
ÿzOBD_S08_PR.answersN)r   r   r   r   r   r)   r   r7   r   r   r   r   r+   „   s   
ÿr+   r-   é   é   é   é   é   é   é   é   é	   é
   N)Zscapy.fieldsr   r   r   r   Zscapy.packetr   r   Z#scapy.contrib.automotive.obd.packetr   Z%scapy.contrib.automotive.obd.servicesr	   r
   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r+   r   r   r   r   Ú<module>	   s<   


(