Skip to content

Commit bbdff10

Browse files
committed
fix pylint
1 parent e5f3a03 commit bbdff10

File tree

1 file changed

+60
-54
lines changed

1 file changed

+60
-54
lines changed

can/bit_timing.py

Lines changed: 60 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -58,21 +58,21 @@ def __init__(
5858
"nof_samples": nof_samples,
5959
}
6060

61-
if not (5_000 <= bitrate <= 2_000_000):
61+
if not 5_000 <= bitrate <= 2_000_000:
6262
raise ValueError(f"bitrate (={bitrate}) must be in [5,000...2,000,000].")
6363

64-
if not (1 <= tseg1 <= 16):
64+
if not 1 <= tseg1 <= 16:
6565
raise ValueError(f"tseg1 (={tseg1}) must be in [1...16].")
6666

67-
if not (1 <= tseg2 <= 8):
67+
if not 1 <= tseg2 <= 8:
6868
raise ValueError(f"tseg2 (={tseg2}) must be in [1...8].")
6969

7070
nbt = self.nbt
71-
if not (8 <= nbt <= 25):
71+
if not 8 <= nbt <= 25:
7272
raise ValueError(f"nominal bit time (={nbt}) must be in [8...25].")
7373

7474
brp = self.brp
75-
if not (1 <= brp <= 64):
75+
if not 1 <= brp <= 64:
7676
raise ValueError(f"bitrate prescaler (={brp}) must be in [1...64].")
7777

7878
actual_bitrate = f_clock / (nbt * brp)
@@ -82,7 +82,7 @@ def __init__(
8282
f"from the requested bitrate (={bitrate})"
8383
)
8484

85-
if not (1 <= sjw <= 4):
85+
if not 1 <= sjw <= 4:
8686
raise ValueError(f"sjw (={sjw}) must be in [1...4].")
8787

8888
if sjw > tseg2:
@@ -165,7 +165,7 @@ def from_sample_point(
165165
continue
166166

167167
if not possible_solutions:
168-
raise ValueError(f"No suitable bit timings found.")
168+
raise ValueError("No suitable bit timings found.")
169169

170170
return sorted(
171171
possible_solutions, key=lambda x: x.oscillator_tolerance, reverse=True
@@ -324,31 +324,32 @@ def __init__(
324324
"data_sjw": data_sjw,
325325
}
326326

327-
if not (5_000 <= nom_bitrate <= 2_000_000):
327+
if not 5_000 <= nom_bitrate <= 2_000_000:
328328
raise ValueError(
329329
f"nom_bitrate (={nom_bitrate}) must be in [5,000...2,000,000]."
330330
)
331331

332-
if not (25_000 <= data_bitrate <= 8_000_000):
332+
if not 25_000 <= data_bitrate <= 8_000_000:
333333
raise ValueError(
334334
f"data_bitrate (={data_bitrate}) must be in [25,000...8,000,000]."
335335
)
336336

337337
if data_bitrate < nom_bitrate:
338338
raise ValueError(
339-
f"data_bitrate (={data_bitrate}) must be greater than or equal to nom_bitrate (={nom_bitrate})"
339+
f"data_bitrate (={data_bitrate}) must be greater than or "
340+
f"equal to nom_bitrate (={nom_bitrate})"
340341
)
341342

342-
if not (2 <= nom_tseg1 <= 256):
343+
if not 2 <= nom_tseg1 <= 256:
343344
raise ValueError(f"nom_tseg1 (={nom_tseg1}) must be in [2...256].")
344345

345-
if not (1 <= nom_tseg2 <= 128):
346+
if not 1 <= nom_tseg2 <= 128:
346347
raise ValueError(f"nom_tseg2 (={nom_tseg2}) must be in [1...128].")
347348

348-
if not (1 <= data_tseg1 <= 32):
349+
if not 1 <= data_tseg1 <= 32:
349350
raise ValueError(f"data_tseg1 (={data_tseg1}) must be in [1...32].")
350351

351-
if not (1 <= data_tseg2 <= 16):
352+
if not 1 <= data_tseg2 <= 16:
352353
raise ValueError(f"data_tseg2 (={data_tseg2}) must be in [1...16].")
353354

354355
nbt = self.nbt
@@ -360,13 +361,13 @@ def __init__(
360361
raise ValueError(f"data bit time (={dbt}) must be at least 8.")
361362

362363
nom_brp = self.nom_brp
363-
if not (1 <= nom_brp <= 256):
364+
if not 1 <= nom_brp <= 256:
364365
raise ValueError(
365366
f"nominal bitrate prescaler (={nom_brp}) must be in [1...256]."
366367
)
367368

368369
data_brp = self.data_brp
369-
if not (1 <= data_brp <= 256):
370+
if not 1 <= data_brp <= 256:
370371
raise ValueError(
371372
f"data bitrate prescaler (={data_brp}) must be in [1...256]."
372373
)
@@ -385,15 +386,15 @@ def __init__(
385386
f"from the requested bitrate (={data_bitrate})"
386387
)
387388

388-
if not (1 <= nom_sjw <= 128):
389+
if not 1 <= nom_sjw <= 128:
389390
raise ValueError(f"nom_sjw (={nom_sjw}) must be in [1...128].")
390391

391392
if nom_sjw > nom_tseg2:
392393
raise ValueError(
393394
f"nom_sjw (={nom_sjw}) must not be greater than nom_tseg2 (={nom_tseg2})."
394395
)
395396

396-
if not (1 <= data_sjw <= 16):
397+
if not 1 <= data_sjw <= 16:
397398
raise ValueError(f"data_sjw (={data_sjw}) must be in [1...128].")
398399

399400
if data_sjw > data_tseg2:
@@ -421,46 +422,51 @@ def from_sample_point(
421422
)
422423

423424
possible_solutions: List[BitTimingFd] = []
424-
for nom_brp in range(1, 257):
425-
nbt = round(int(f_clock / (nom_bitrate * nom_brp)))
426-
if nbt < 8:
427-
continue
428425

429-
nom_tseg1 = int(round(nom_sample_point / 100 * nbt)) - 1
430-
nom_tseg2 = nbt - nom_tseg1 - 1
431-
432-
for nom_sjw in range(1, 129):
433-
for data_brp in range(1, 257):
434-
dbt = round(int(f_clock / (data_bitrate * data_brp)))
435-
if dbt < 8:
436-
continue
437-
438-
data_tseg1 = int(round(data_sample_point / 100 * dbt)) - 1
439-
data_tseg2 = dbt - data_tseg1 - 1
440-
441-
for data_sjw in range(1, 17):
442-
try:
443-
bt = BitTimingFd(
444-
f_clock=f_clock,
445-
nom_bitrate=nom_bitrate,
446-
nom_tseg1=nom_tseg1,
447-
nom_tseg2=nom_tseg2,
448-
nom_sjw=nom_sjw,
449-
data_bitrate=data_bitrate,
450-
data_tseg1=data_tseg1,
451-
data_tseg2=data_tseg2,
452-
data_sjw=data_sjw,
453-
)
454-
if (
455-
abs(bt.nom_sample_point - nom_sample_point) < 1
456-
and abs(bt.data_sample_point - bt.data_sample_point) < 1
457-
):
458-
possible_solutions.append(bt)
459-
except ValueError:
426+
def _generate_bit_timings() -> Iterator[BitTimingFdDict]:
427+
for nom_brp in range(1, 257):
428+
nbt = round(int(f_clock / (nom_bitrate * nom_brp)))
429+
if nbt < 8:
430+
continue
431+
432+
nom_tseg1 = int(round(nom_sample_point / 100 * nbt)) - 1
433+
nom_tseg2 = nbt - nom_tseg1 - 1
434+
435+
for nom_sjw in range(1, 129):
436+
for data_brp in range(1, 257):
437+
dbt = round(int(f_clock / (data_bitrate * data_brp)))
438+
if dbt < 8:
460439
continue
461440

441+
data_tseg1 = int(round(data_sample_point / 100 * dbt)) - 1
442+
data_tseg2 = dbt - data_tseg1 - 1
443+
444+
for data_sjw in range(1, 17):
445+
yield {
446+
"f_clock": f_clock,
447+
"nom_bitrate": nom_bitrate,
448+
"nom_tseg1": nom_tseg1,
449+
"nom_tseg2": nom_tseg2,
450+
"nom_sjw": nom_sjw,
451+
"data_bitrate": data_bitrate,
452+
"data_tseg1": data_tseg1,
453+
"data_tseg2": data_tseg2,
454+
"data_sjw": data_sjw,
455+
}
456+
457+
for bit_timings in _generate_bit_timings():
458+
try:
459+
bt = BitTimingFd(**bit_timings)
460+
if (
461+
abs(bt.nom_sample_point - nom_sample_point) < 1
462+
and abs(bt.data_sample_point - bt.data_sample_point) < 1
463+
):
464+
possible_solutions.append(bt)
465+
except ValueError:
466+
continue
467+
462468
if not possible_solutions:
463-
raise ValueError(f"No suitable bit timings found.")
469+
raise ValueError("No suitable bit timings found.")
464470

465471
# prefer using the same prescaler for arbitration and data phase
466472
same_prescaler = list(

0 commit comments

Comments
 (0)