refactor: data_parser binary parsers use shared sensor_count_for()
This commit is contained in:
@@ -8,8 +8,6 @@ from pygui.serialcomm.data_parser import (
|
||||
remove_trailing_zeros,
|
||||
save_to_csv,
|
||||
_convert_hex_to_temp,
|
||||
MAXDUT_P,
|
||||
MAXDUT_X,
|
||||
)
|
||||
|
||||
# ── csv_column_count ──────────────────────────────────────────────────────────
|
||||
@@ -106,7 +104,7 @@ def _make_p_block(num_blocks: int = 1, value: int = 0x0100) -> bytes:
|
||||
data = bytearray()
|
||||
for _ in range(num_blocks):
|
||||
for i in range(256):
|
||||
word = value if i < MAXDUT_P else 0
|
||||
word = value if i < 244 else 0
|
||||
data += word.to_bytes(2, byteorder="little")
|
||||
return bytes(data)
|
||||
|
||||
@@ -120,7 +118,7 @@ def _make_x_block(num_blocks: int = 1, value: int = 0x0100) -> bytes:
|
||||
data = bytearray()
|
||||
for _ in range(num_blocks):
|
||||
for i in range(256):
|
||||
word = value if i < MAXDUT_X else 0
|
||||
word = value if i < 80 else 0
|
||||
data += word.to_bytes(2, byteorder="little")
|
||||
return bytes(data)
|
||||
|
||||
@@ -136,7 +134,7 @@ class TestParseBinaryData:
|
||||
data = _make_p_block(1)
|
||||
result = parse_binary_data(data, "P")
|
||||
assert result is not None
|
||||
assert len(result[0]) == MAXDUT_P # 244
|
||||
assert len(result[0]) == 244
|
||||
|
||||
def test_p_family_two_blocks_returns_two_rows(self):
|
||||
data = _make_p_block(2)
|
||||
@@ -161,14 +159,14 @@ class TestParseBinaryData:
|
||||
data = _make_x_block(1)
|
||||
result = parse_binary_data(data, "X")
|
||||
assert result is not None
|
||||
assert len(result[0]) == MAXDUT_X # 80
|
||||
assert len(result[0]) == 80
|
||||
|
||||
def test_a_family_uses_p_parser(self):
|
||||
# A/B/C/D/E/F all route to _parse_p_binary
|
||||
data = _make_p_block(1)
|
||||
result = parse_binary_data(data, "A")
|
||||
assert result is not None
|
||||
assert len(result[0]) == MAXDUT_P
|
||||
assert len(result[0]) == 244
|
||||
|
||||
def test_empty_bytes_returns_empty_list(self):
|
||||
result = parse_binary_data(b"", "P")
|
||||
|
||||
Reference in New Issue
Block a user