Skip to content

Commit 5ab463e

Browse files
committed
add canbus simulator!!!
1 parent 7e9175b commit 5ab463e

File tree

3 files changed

+16
-3
lines changed

3 files changed

+16
-3
lines changed

classes/protocol_settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -917,7 +917,7 @@ def process_register_bytes(self, registry : dict[int,bytes], entry : registry_ma
917917
else:
918918
flags : list[str] = []
919919
for i in range(start_bit, end_bit): # Iterate over each bit position (0 to 15)
920-
val = register[byte]
920+
val = register[i]
921921
# Check if the i-th bit is set
922922
if (val >> i) & 1:
923923
flags.append("1")

classes/transports/transport_base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ def __init__(self, settings : "SectionProxy") -> None:
9898
self.device_name = settings.get(["device_name", "name"], fallback=self.device_manufacturer+"_"+self.device_serial_number)
9999
self.bridge = settings.get("bridge", self.bridge)
100100
self.read_interval = settings.getfloat("read_interval", self.read_interval)
101-
self.max_precision = settings.getint(["max_precision", "precision"], self.max_precision)
101+
self.max_precision = settings.getint(["max_precision", "precision"], fallback=self.max_precision)
102102
if "write_enabled" in settings or "enable_write" in settings:
103103
self.write_enabled = settings.getboolean(["write_enabled", "enable_write"], self.write_enabled)
104104

protocol_gateway.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,11 @@ def get(self, section, option, *args, **kwargs):
5757
kwargs["fallback"] = None
5858

5959
for name in option:
60-
value = super().get(section, name, *args, **kwargs)
60+
try:
61+
value = super().get(section, name, *args, **kwargs)
62+
except NoOptionError:
63+
value = None
64+
6165
if value:
6266
break
6367

@@ -73,6 +77,15 @@ def get(self, section, option, *args, **kwargs):
7377
return value
7478

7579
return value.strip() if value is not None else value
80+
81+
def getint(self, section, option, *args, **kwargs): #bypass fallback bug
82+
value = self.get(section, option, *args, **kwargs)
83+
return int(value) if value is not None else None
84+
85+
def getfloat(self, section, option, *args, **kwargs): #bypass fallback bug
86+
value = self.get(section, option, *args, **kwargs)
87+
return float(value) if value is not None else None
88+
7689

7790
class Protocol_Gateway:
7891
"""

0 commit comments

Comments
 (0)