Skip to content

Commit bb2a79b

Browse files
committed
wip
1 parent cf78620 commit bb2a79b

2 files changed

Lines changed: 22 additions & 3 deletions

File tree

luxtronik/cfi/interface.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,9 +266,10 @@ def _parse(self, data_vector, raw_data):
266266
Parse raw data into the corresponding fields.
267267
268268
Args:
269+
data_vector (DataVector): Data vector in which
270+
the raw data is to be integrated.
269271
raw_data (list[int]): List of raw register values.
270272
The raw data must start at register index 0.
271-
num_bits (int): Number of bits per register.
272273
"""
273274
raw_len = len(raw_data)
274275
# Prepare a list of undefined indices
@@ -281,6 +282,7 @@ def _parse(self, data_vector, raw_data):
281282
next_idx = definition.index + definition.count
282283
if next_idx > raw_len:
283284
# not enough registers
285+
field.raw = None
284286
continue
285287
# remove all used indices from the list of undefined indices
286288
for index in range(definition.index, next_idx):

tests/cfi/test_cfi_interface.py

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
class TestLuxtronikSocketInterface:
1111

12-
1312
def test_parse(self):
1413
lux = LuxtronikSocketInterface('host')
1514
parameters = Parameters()
@@ -32,4 +31,22 @@ def test_parse(self):
3231
lux._parse(visibilities, t)
3332
v = visibilities.get(n)
3433
assert v.name == f"unknown_visibility_{n}"
35-
assert v.raw == n
34+
assert v.raw == n
35+
36+
n = 10
37+
t = list(range(0, n + 1))
38+
39+
lux._parse(parameters, t)
40+
for definition, field in parameters.data.pairs():
41+
if definition.index > n:
42+
assert field.raw is None
43+
44+
lux._parse(calculations, t)
45+
for definition, field in calculations.data.pairs():
46+
if definition.index > n:
47+
assert field.raw is None
48+
49+
lux._parse(visibilities, t)
50+
for definition, field in visibilities.data.pairs():
51+
if definition.index > n:
52+
assert field.raw is None

0 commit comments

Comments
 (0)