4545based on their preference.
4646"""
4747# pylint: disable=missing-type-doc
48+ from __future__ import annotations
49+
4850from abc import ABC , abstractmethod
49- from typing import Iterable
51+ from typing import Any , Iterable
5052
5153from pymodbus .exceptions import ParameterException
5254
@@ -66,25 +68,12 @@ class BaseModbusDataBlock(ABC):
6668 validate(self, address, count=1)
6769 getValues(self, address, count=1)
6870 setValues(self, address, values)
71+ reset(self)
6972 """
7073
71- def default (self , count , value = False ):
72- """Use to initialize a store to one value.
73-
74- :param count: The number of fields to set
75- :param value: The default value to set to the fields
76- """
77- self .default_value = value # pylint: disable=attribute-defined-outside-init
78- self .values = [ # pylint: disable=attribute-defined-outside-init
79- self .default_value
80- ] * count
81- self .address = 0x00 # pylint: disable=attribute-defined-outside-init
82-
83- def reset (self ):
84- """Reset the datastore to the initialized default value."""
85- self .values = [ # pylint: disable=attribute-defined-outside-init
86- self .default_value
87- ] * len (self .values )
74+ values : dict | list
75+ address : int
76+ default_value : Any
8877
8978 @abstractmethod
9079 def validate (self , address :int , count = 1 ) -> bool :
@@ -156,6 +145,20 @@ def create(cls):
156145 """
157146 return cls (0x00 , [0x00 ] * 65536 )
158147
148+ def default (self , count , value = False ):
149+ """Use to initialize a store to one value.
150+
151+ :param count: The number of fields to set
152+ :param value: The default value to set to the fields
153+ """
154+ self .default_value = value
155+ self .values = [self .default_value ] * count
156+ self .address = 0x00
157+
158+ def reset (self ):
159+ """Reset the datastore to the initialized default value."""
160+ self .values = [self .default_value ] * len (self .values )
161+
159162 def validate (self , address , count = 1 ):
160163 """Check to see if the request is in range.
161164
@@ -224,7 +227,7 @@ def __init__(self, values=None, mutable=True):
224227 If values is a integer, then the value is set for the corresponding offset.
225228
226229 """
227- self .values = {}
230+ self .values : dict [ int , Any ] = {}
228231 self ._process_values (values )
229232 self .mutable = mutable
230233 self .default_value = self .values .copy ()
0 commit comments