Skip to content

Commit d07b8bc

Browse files
alexrudd2janiversen
andcommitted
Initalize block as the complete type rather than an empty dict
Co-Authored-By: jan iversen <[email protected]>
1 parent 031c457 commit d07b8bc

File tree

2 files changed

+4
-8
lines changed

2 files changed

+4
-8
lines changed

pymodbus/datastore/store.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
# ---------------------------------------------------------------------------#
5252
# Datablock Storage
5353
# ---------------------------------------------------------------------------#
54-
class BaseModbusDataBlock:
54+
class BaseModbusDataBlock(dict):
5555
"""Base class for a modbus datastore
5656
5757
Derived classes must create the following fields:
@@ -72,16 +72,12 @@ def default(self, count, value=False):
7272
:param value: The default value to set to the fields
7373
"""
7474
self.default_value = value # pylint: disable=attribute-defined-outside-init
75-
self.values = [ # pylint: disable=attribute-defined-outside-init
76-
self.default_value
77-
] * count
75+
self.values = [self.default_value] * count
7876
self.address = 0x00 # pylint: disable=attribute-defined-outside-init
7977

8078
def reset(self):
8179
"""Reset the datastore to the initialized default value."""
82-
self.values = [ # pylint: disable=attribute-defined-outside-init
83-
self.default_value
84-
] * len(self.values)
80+
self.values = [self.default_value] * len(self.values)
8581

8682
def validate(self, address, count=1):
8783
"""Check to see if the request is in range.

pymodbus/server/reactive/main.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -415,7 +415,7 @@ def create_context(
415415
unit = [unit]
416416
slaves = {}
417417
for i in unit:
418-
block = {}
418+
block = BaseModbusDataBlock()
419419
for modbus_entity, block_desc in data_block.items():
420420
start_address = block_desc.get("block_start", 0)
421421
default_count = block_desc.get("block_size", 0)

0 commit comments

Comments
 (0)