scapy.contrib.automotive.obd.mid.mids

class scapy.contrib.automotive.obd.mid.mids.OBD_MID00(*args, **kargs)

Bases: scapy.contrib.automotive.obd.packet.OBD_Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         SUPPORTED MIDS                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. OBD_MID00                          
OBD_MID00 fields

supported_mids

FlagsField

'<Flag 0 ()>'

class scapy.contrib.automotive.obd.mid.mids.OBD_MID20(*args, **kargs)

Bases: scapy.contrib.automotive.obd.packet.OBD_Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         SUPPORTED MIDS                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. OBD_MID20                          
OBD_MID20 fields

supported_mids

FlagsField

'<Flag 0 ()>'

class scapy.contrib.automotive.obd.mid.mids.OBD_MID40(*args, **kargs)

Bases: scapy.contrib.automotive.obd.packet.OBD_Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         SUPPORTED MIDS                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. OBD_MID40                          
OBD_MID40 fields

supported_mids

FlagsField

'<Flag 0 ()>'

class scapy.contrib.automotive.obd.mid.mids.OBD_MID60(*args, **kargs)

Bases: scapy.contrib.automotive.obd.packet.OBD_Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         SUPPORTED MIDS                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. OBD_MID60                          
OBD_MID60 fields

supported_mids

FlagsField

'<Flag 0 ()>'

class scapy.contrib.automotive.obd.mid.mids.OBD_MID80(*args, **kargs)

Bases: scapy.contrib.automotive.obd.packet.OBD_Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         SUPPORTED MIDS                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. OBD_MID80                          
OBD_MID80 fields

supported_mids

FlagsField

'<Flag 0 ()>'

class scapy.contrib.automotive.obd.mid.mids.OBD_MIDA0(*args, **kargs)

Bases: scapy.contrib.automotive.obd.packet.OBD_Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         SUPPORTED MIDS                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. OBD_MIDA0                          
OBD_MIDA0 fields

supported_mids

FlagsField

'<Flag 0 ()>'

class scapy.contrib.automotive.obd.mid.mids.OBD_MIDXX(*args, **kargs)

Bases: scapy.contrib.automotive.obd.packet.OBD_Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|STANDARDIZED TE|UNIT AND SCALIN|           TEST VALUE          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           MIN LIMIT           |           MAX LIMIT           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. OBD_MIDXX                          
OBD_MIDXX fields

standardized_test_id

ByteEnumField

'1'

unit_and_scaling_id

ByteEnumField

'1'

test_value

MultipleTypeField

'None'

min_limit

MultipleTypeField

'None'

max_limit

MultipleTypeField

'None'

standardized_test_ids = {1: 'TID_01_RichToLeanSensorThresholdVoltage', 2: 'TID_02_LeanToRichSensorThresholdVoltage', 3: 'TID_03_LowSensorVoltageForSwitchTimeCalculation', 4: 'TID_04_HighSensorVoltageForSwitchTimeCalculation', 5: 'TID_05_RichToLeanSensorSwitchTime', 6: 'TID_06_LeanToRichSensorSwitchTime', 7: 'TID_07_MinimumSensorVoltageForTestCycle', 8: 'TID_08_MaximumSensorVoltageForTestCycle', 9: 'TID_09_TimeBetweenSensorTransitions', 10: 'TID_0A_SensorPeriod'}
unit_and_scaling_ids = {1: 'Raw Value', 2: 'Raw Value', 3: 'Raw Value', 4: 'Raw Value', 5: 'Raw Value', 6: 'Raw Value', 7: 'rotational frequency', 8: 'Speed', 9: 'Speed', 10: 'Voltage', 11: 'Voltage', 12: 'Voltage', 13: 'Current', 14: 'Current', 15: 'Current', 16: 'Time', 17: 'Time', 18: 'Time', 19: 'Resistance', 20: 'Resistance', 21: 'Resistance', 22: 'Temperature', 23: 'Pressure (Gauge)', 24: 'Pressure (Air pressure)', 25: 'Pressure (Fuel pressure)', 26: 'Pressure (Gauge)', 27: 'Pressure (Diesel pressure)', 28: 'Angle', 29: 'Angle', 30: 'Equivalence ratio (lambda)', 31: 'Air/Fuel ratio', 32: 'Ratio', 33: 'Frequency', 34: 'Frequency', 35: 'Frequency', 36: 'Counts', 37: 'Distance', 38: 'Voltage per time', 39: 'Mass per time', 40: 'Mass per time', 41: 'Pressure per time', 42: 'Mass per time', 43: 'Switches', 44: 'Mass per cylinder', 45: 'Mass per stroke', 46: 'True/False', 47: 'Percent', 48: 'Percent', 49: 'volume', 50: 'length', 51: 'Equivalence ratio (lambda)', 52: 'Time', 53: 'Time', 54: 'Weight', 55: 'Weight', 56: 'Weight', 57: 'Percent', 129: 'Raw Value', 130: 'Raw Value', 131: 'Raw Value', 132: 'Raw Value', 133: 'Raw Value', 134: 'Raw Value', 138: 'Voltage', 139: 'Voltage', 140: 'Voltage', 141: 'Current', 142: 'Current', 144: 'Time', 150: 'Temperature', 156: 'Angle', 157: 'Angle', 168: 'Mass per time', 169: 'Pressure per time', 175: 'Percent', 176: 'Percent', 177: 'Voltage per time', 253: 'Pressure', 254: 'Pressure'}
class scapy.contrib.automotive.obd.mid.mids.OBD_S06_PR(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          DATA RECORDS         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. OBD_S06_PR                          
OBD_S06_PR fields

data_records

PacketListField

'[]'

class scapy.contrib.automotive.obd.mid.mids.OBD_S06_PR_Record(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      MID      |
+-+-+-+-+-+-+-+-+

                      Fig. OBD_S06_PR_Record                      
OBD_S06_PR_Record fields

mid

ByteEnumField

'0'

on_board_monitoring_ids = {0: 'OBD Monitor IDs supported ($01 - $20)', 1: 'Oxygen Sensor Monitor Bank 1 - Sensor 1', 2: 'Oxygen Sensor Monitor Bank 1 - Sensor 2', 3: 'Oxygen Sensor Monitor Bank 1 - Sensor 3', 4: 'Oxygen Sensor Monitor Bank 1 - Sensor 4', 5: 'Oxygen Sensor Monitor Bank 2 - Sensor 1', 6: 'Oxygen Sensor Monitor Bank 2 - Sensor 2', 7: 'Oxygen Sensor Monitor Bank 2 - Sensor 3', 8: 'Oxygen Sensor Monitor Bank 2 - Sensor 4', 9: 'Oxygen Sensor Monitor Bank 3 - Sensor 1', 10: 'Oxygen Sensor Monitor Bank 3 - Sensor 2', 11: 'Oxygen Sensor Monitor Bank 3 - Sensor 3', 12: 'Oxygen Sensor Monitor Bank 3 - Sensor 4', 13: 'Oxygen Sensor Monitor Bank 4 - Sensor 1', 14: 'Oxygen Sensor Monitor Bank 4 - Sensor 2', 15: 'Oxygen Sensor Monitor Bank 4 - Sensor 3', 16: 'Oxygen Sensor Monitor Bank 4 - Sensor 4', 32: 'OBD Monitor IDs supported ($21 - $40)', 33: 'Catalyst Monitor Bank 1', 34: 'Catalyst Monitor Bank 2', 35: 'Catalyst Monitor Bank 3', 36: 'Catalyst Monitor Bank 4', 50: 'EGR Monitor Bank 2', 51: 'EGR Monitor Bank 3', 52: 'EGR Monitor Bank 4', 53: 'VVT Monitor Bank 1', 54: 'VVT Monitor Bank 2', 55: 'VVT Monitor Bank 3', 56: 'VVT Monitor Bank 4', 57: 'EVAP Monitor (Cap Off / 0.150")', 58: 'EVAP Monitor (0.090")', 59: 'EVAP Monitor (0.040")', 60: 'EVAP Monitor (0.020")', 61: 'Purge Flow Monitor', 64: 'OBD Monitor IDs supported ($41 - $60)', 65: 'Oxygen Sensor Heater Monitor Bank 1 - Sensor 1', 66: 'Oxygen Sensor Heater Monitor Bank 1 - Sensor 2', 67: 'Oxygen Sensor Heater Monitor Bank 1 - Sensor 3', 68: 'Oxygen Sensor Heater Monitor Bank 1 - Sensor 4', 69: 'Oxygen Sensor Heater Monitor Bank 2 - Sensor 1', 70: 'Oxygen Sensor Heater Monitor Bank 2 - Sensor 2', 71: 'Oxygen Sensor Heater Monitor Bank 2 - Sensor 3', 72: 'Oxygen Sensor Heater Monitor Bank 2 - Sensor 4', 73: 'Oxygen Sensor Heater Monitor Bank 3 - Sensor 1', 74: 'Oxygen Sensor Heater Monitor Bank 3 - Sensor 2', 75: 'Oxygen Sensor Heater Monitor Bank 3 - Sensor 3', 76: 'Oxygen Sensor Heater Monitor Bank 3 - Sensor 4', 77: 'Oxygen Sensor Heater Monitor Bank 4 - Sensor 1', 78: 'Oxygen Sensor Heater Monitor Bank 4 - Sensor 2', 79: 'Oxygen Sensor Heater Monitor Bank 4 - Sensor 3', 80: 'Oxygen Sensor Heater Monitor Bank 4 - Sensor 4', 96: 'OBD Monitor IDs supported ($61 - $80)', 97: 'Heated Catalyst Monitor Bank 1', 98: 'Heated Catalyst Monitor Bank 2', 99: 'Heated Catalyst Monitor Bank 3', 100: 'Heated Catalyst Monitor Bank 4', 113: 'Secondary Air Monitor 1', 114: 'Secondary Air Monitor 2', 115: 'Secondary Air Monitor 3', 116: 'Secondary Air Monitor 4', 128: 'OBD Monitor IDs supported ($81 - $A0)', 129: 'Fuel System Monitor Bank 1', 130: 'Fuel System Monitor Bank 2', 131: 'Fuel System Monitor Bank 3', 132: 'Fuel System Monitor Bank 4', 133: 'Boost Pressure Control Monitor Bank 1', 134: 'Boost Pressure Control Monitor Bank 2', 144: 'NOx Adsorber Monitor Bank 1', 145: 'NOx Adsorber Monitor Bank 2', 152: 'NOx Catalyst Monitor Bank 1', 153: 'NOx Catalyst Monitor Bank 2', 160: 'OBD Monitor IDs supported ($A1 - $C0)', 161: 'Misfire Monitor General Data', 162: 'Misfire Cylinder 1 Data', 163: 'Misfire Cylinder 2 Data', 164: 'Misfire Cylinder 3 Data', 165: 'Misfire Cylinder 4 Data', 166: 'Misfire Cylinder 5 Data', 167: 'Misfire Cylinder 6 Data', 168: 'Misfire Cylinder 7 Data', 169: 'Misfire Cylinder 8 Data', 170: 'Misfire Cylinder 9 Data', 171: 'Misfire Cylinder 10 Data', 172: 'Misfire Cylinder 11 Data', 173: 'Misfire Cylinder 12 Data', 176: 'PM Filter Monitor Bank 1', 177: 'PM Filter Monitor Bank 2'}
payload_guess

Possible sublayers: OBD_MID00, OBD_MID20, OBD_MID40, OBD_MID60, OBD_MID80, OBD_MIDA0, OBD_MIDXX