scapy.contrib.automotive.obd.services

class scapy.contrib.automotive.obd.services.OBD_DTC(_pkt, /, *, location=0, code1=0, code2=0, code3=0, code4=0)[source]

Bases: OBD_Packet

aliastypes = [<class 'scapy.contrib.automotive.obd.services.OBD_DTC'>, <class 'scapy.contrib.automotive.obd.packet.OBD_Packet'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitEnumField (OBD_DTC).location>, <XBitField (OBD_DTC).code1>, <XBitField (OBD_DTC).code2>, <XBitField (OBD_DTC).code3>, <XBitField (OBD_DTC).code4>]
locations = {0: 'Powertrain', 1: 'Chassis', 2: 'Body', 3: 'Network'}
class scapy.contrib.automotive.obd.services.OBD_NR(_pkt, /, *, service=127, request_service_id=0, response_code=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.obd.services.OBD_NR'>, <class 'scapy.packet.Packet'>]
answers(other)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<scapy.fields.ConditionalField object>, <XByteField (OBD_NR).request_service_id>, <XByteEnumField (OBD_NR).response_code>]
responses = {16: 'generalReject', 17: 'serviceNotSupported', 18: 'subFunctionNotSupported-InvalidFormat', 33: 'busy-RepeatRequest', 34: 'conditionsNotCorrectOrRequestSequenceError', 120: 'requestCorrectlyReceived-ResponsePending'}
class scapy.contrib.automotive.obd.services.OBD_S01(_pkt, /, *, service=1, pid=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.obd.services.OBD_S01'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<scapy.fields.ConditionalField object>, <FieldListField (OBD_S01).pid>]
class scapy.contrib.automotive.obd.services.OBD_S02(_pkt, /, *, service=2, requests=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.obd.services.OBD_S02'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<scapy.fields.ConditionalField object>, <PacketListField (OBD_S02).requests>]
class scapy.contrib.automotive.obd.services.OBD_S02_Record(_pkt, /, *, pid=0, frame_no=0)[source]

Bases: OBD_Packet

aliastypes = [<class 'scapy.contrib.automotive.obd.services.OBD_S02_Record'>, <class 'scapy.contrib.automotive.obd.packet.OBD_Packet'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteField (OBD_S02_Record).pid>, <ByteField (OBD_S02_Record).frame_no>]
class scapy.contrib.automotive.obd.services.OBD_S03(_pkt, /, *, service=3)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.obd.services.OBD_S03'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<scapy.fields.ConditionalField object>]
class scapy.contrib.automotive.obd.services.OBD_S03_PR(_pkt, /, *, service=67, count=None, dtcs=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.obd.services.OBD_S03_PR'>, <class 'scapy.packet.Packet'>]
answers(other)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<scapy.fields.ConditionalField object>, <FieldLenField (OBD_S03_PR).count>, <PacketListField (OBD_S03_PR).dtcs>]
class scapy.contrib.automotive.obd.services.OBD_S04(_pkt, /, *, service=4)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.obd.services.OBD_S04'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<scapy.fields.ConditionalField object>]
class scapy.contrib.automotive.obd.services.OBD_S04_PR(_pkt, /, *, service=68)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.obd.services.OBD_S04_PR'>, <class 'scapy.packet.Packet'>]
answers(other)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<scapy.fields.ConditionalField object>]
class scapy.contrib.automotive.obd.services.OBD_S06(_pkt, /, *, service=6, mid=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.obd.services.OBD_S06'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<scapy.fields.ConditionalField object>, <FieldListField (OBD_S06).mid>]
class scapy.contrib.automotive.obd.services.OBD_S07(_pkt, /, *, service=7)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.obd.services.OBD_S07'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<scapy.fields.ConditionalField object>]
class scapy.contrib.automotive.obd.services.OBD_S07_PR(_pkt, /, *, service=71, count=None, dtcs=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.obd.services.OBD_S07_PR'>, <class 'scapy.packet.Packet'>]
answers(other)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<scapy.fields.ConditionalField object>, <FieldLenField (OBD_S07_PR).count>, <PacketListField (OBD_S07_PR).dtcs>]
class scapy.contrib.automotive.obd.services.OBD_S08(_pkt, /, *, service=8, tid=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.obd.services.OBD_S08'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<scapy.fields.ConditionalField object>, <FieldListField (OBD_S08).tid>]
class scapy.contrib.automotive.obd.services.OBD_S09(_pkt, /, *, service=9, iid=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.obd.services.OBD_S09'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<scapy.fields.ConditionalField object>, <FieldListField (OBD_S09).iid>]
class scapy.contrib.automotive.obd.services.OBD_S0A(_pkt, /, *, service=10)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.obd.services.OBD_S0A'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<scapy.fields.ConditionalField object>]
class scapy.contrib.automotive.obd.services.OBD_S0A_PR(_pkt, /, *, service=74, count=None, dtcs=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.automotive.obd.services.OBD_S0A_PR'>, <class 'scapy.packet.Packet'>]
answers(other)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<scapy.fields.ConditionalField object>, <FieldLenField (OBD_S0A_PR).count>, <PacketListField (OBD_S0A_PR).dtcs>]