Skip to content

Commit d54b2b2

Browse files
committed
update some docs
revert changes revert changes
1 parent 5eceb7c commit d54b2b2

File tree

5 files changed

+174
-153
lines changed

5 files changed

+174
-153
lines changed

scapy/contrib/automotive/uds.py

Lines changed: 12 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
BitEnumField, BitField, XByteField, FieldListField, \
1717
XShortField, X3BytesField, XIntField, ByteField, \
1818
ShortField, ObservableDict, XShortEnumField, XByteEnumField, StrLenField, \
19-
FieldLenField, XStrFixedLenField, XStrLenField, FlagsField, PacketListField
19+
FieldLenField, XStrFixedLenField, XStrLenField
2020
from scapy.packet import Packet, bind_layers, NoPayload
2121
from scapy.config import conf
2222
from scapy.error import log_loading
@@ -491,7 +491,8 @@ class UDS_ATPPR(Packet):
491491

492492
def answers(self, other):
493493
return isinstance(other, UDS_ATP) \
494-
and other.timingParameterAccessType == self.timingParameterAccessType
494+
and other.timingParameterAccessType == \
495+
self.timingParameterAccessType
495496

496497

497498
bind_layers(UDS, UDS_ATPPR, service=0xC3)
@@ -955,39 +956,12 @@ class UDS_RDTCI(Packet):
955956
20: 'reportDTCFaultDetectionCounter',
956957
21: 'reportDTCWithPermanentStatus'
957958
}
958-
dtcStatus = {
959-
1: 'TestFailed',
960-
2: 'TestFailedThisOperationCycle',
961-
4: 'PendingDTC',
962-
8: 'ConfirmedDTC',
963-
16: 'TestNotCompletedSinceLastClear',
964-
32: 'TestFailedSinceLastClear',
965-
64: 'TestNotCompletedThisOperationCycle',
966-
128: 'WarningIndicatorRequested'
967-
}
968-
dtcStatusMask = {
969-
1: 'ActiveDTCs',
970-
4: 'PendingDTCs',
971-
8: 'ConfirmedOrStoredDTCs',
972-
255: 'AllRecordDTCs'
973-
}
974-
dtcSeverityMask = {
975-
# 0: 'NoSeverityInformation',
976-
1: 'NoClassInformation',
977-
2: 'WWH-OBDClassA',
978-
4: 'WWH-OBDClassB1',
979-
8: 'WWH-OBDClassB2',
980-
16: 'WWH-OBDClassC',
981-
32: 'MaintenanceRequired',
982-
64: 'CheckAtNextHalt',
983-
128: 'CheckImmediately'
984-
}
985959
name = 'ReadDTCInformation'
986960
fields_desc = [
987961
ByteEnumField('reportType', 0, reportTypes),
988-
ConditionalField(FlagsField('DTCSeverityMask', 0, 8, dtcSeverityMask),
962+
ConditionalField(ByteField('DTCSeverityMask', 0),
989963
lambda pkt: pkt.reportType in [0x07, 0x08]),
990-
ConditionalField(FlagsField('DTCStatusMask', 0, 8, dtcStatusMask),
964+
ConditionalField(XByteField('DTCStatusMask', 0),
991965
lambda pkt: pkt.reportType in [
992966
0x01, 0x02, 0x07, 0x08, 0x0f, 0x11, 0x12, 0x13]),
993967
ConditionalField(ByteField('DTCHighByte', 0),
@@ -1009,28 +983,11 @@ class UDS_RDTCI(Packet):
1009983
bind_layers(UDS, UDS_RDTCI, service=0x19)
1010984

1011985

1012-
class DTC(Packet):
1013-
name = 'DTC and status record'
1014-
fields_desc = [
1015-
BitEnumField("system", 0, 2, {
1016-
0: "Powertrain", 1: "Chassis", 2: "Body", 3: "Network"}),
1017-
BitEnumField("type", 0, 2, {
1018-
0: "Generic", 1: "ManufacturerSpecific", 2: "Generic", 3: "Generic"}),
1019-
BitField("numeric_value_code", 0, 12),
1020-
ByteField("additional_information_code", 0),
1021-
FlagsField("status", 0, 8, UDS_RDTCI.dtcStatus)
1022-
]
1023-
1024-
def extract_padding(self, s):
1025-
return '', s
1026-
1027-
1028986
class UDS_RDTCIPR(Packet):
1029987
name = 'ReadDTCInformationPositiveResponse'
1030988
fields_desc = [
1031989
ByteEnumField('reportType', 0, UDS_RDTCI.reportTypes),
1032-
ConditionalField(FlagsField('DTCStatusAvailabilityMask', 0, 8,
1033-
UDS_RDTCI.dtcStatus),
990+
ConditionalField(XByteField('DTCStatusAvailabilityMask', 0),
1034991
lambda pkt: pkt.reportType in [0x01, 0x07, 0x11,
1035992
0x12, 0x02, 0x0A,
1036993
0x0B, 0x0C, 0x0D,
@@ -1046,7 +1003,7 @@ class UDS_RDTCIPR(Packet):
10461003
ConditionalField(ShortField('DTCCount', 0),
10471004
lambda pkt: pkt.reportType in [0x01, 0x07,
10481005
0x11, 0x12]),
1049-
ConditionalField(PacketListField('DTCAndStatusRecord', None, pkt_cls=DTC),
1006+
ConditionalField(StrField('DTCAndStatusRecord', b""),
10501007
lambda pkt: pkt.reportType in [0x02, 0x0A, 0x0B,
10511008
0x0C, 0x0D, 0x0E,
10521009
0x0F, 0x13, 0x15]),
@@ -1302,24 +1259,24 @@ def _contains_data_format_identifier(packet):
13021259
fmt='B'),
13031260
lambda p: p.modeOfOperation != 2),
13041261
ConditionalField(StrLenField('maxNumberOfBlockLength', b"",
1305-
length_from=lambda p: p.lengthFormatIdentifier),
1262+
length_from=lambda p: p.lengthFormatIdentifier),
13061263
lambda p: p.modeOfOperation != 2),
13071264
ConditionalField(BitField('compressionMethod', 0, 4),
13081265
lambda p: p.modeOfOperation != 0x02),
13091266
ConditionalField(BitField('encryptingMethod', 0, 4),
13101267
lambda p: p.modeOfOperation != 0x02),
13111268
ConditionalField(FieldLenField('fileSizeOrDirInfoParameterLength',
1312-
None,
1313-
length_of='fileSizeUncompressedOrDirInfoLength'),
1269+
None,
1270+
length_of='fileSizeUncompressedOrDirInfoLength'),
13141271
lambda p: p.modeOfOperation not in [1, 2, 3]),
13151272
ConditionalField(StrLenField('fileSizeUncompressedOrDirInfoLength',
13161273
b"",
13171274
length_from=lambda p:
13181275
p.fileSizeOrDirInfoParameterLength),
13191276
lambda p: p.modeOfOperation not in [1, 2, 3]),
13201277
ConditionalField(StrLenField('fileSizeCompressed', b"",
1321-
length_from=lambda p:
1322-
p.fileSizeOrDirInfoParameterLength),
1278+
length_from=lambda p:
1279+
p.fileSizeOrDirInfoParameterLength),
13231280
lambda p: p.modeOfOperation not in [1, 2, 3, 5]),
13241281
]
13251282

scapy/contrib/isotp/isotp_soft_socket.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -379,7 +379,7 @@ def _poll(cls):
379379
callback = handle._cb
380380
handle._cb = True
381381

382-
# Call the callback here, outside of the mutex
382+
# Call the callback here, outside the mutex
383383
if callable(callback):
384384
try:
385385
callback()

0 commit comments

Comments
 (0)