fix get PIDs and restart auto
This commit is contained in:
@@ -25,6 +25,15 @@ class OBD2Config:
|
||||
timeout: float = 0.1
|
||||
|
||||
|
||||
@dataclass
|
||||
class ScanConfig:
|
||||
"""PID scan configuration."""
|
||||
|
||||
retries: int = 5
|
||||
retry_delay: float = 1.5
|
||||
initial_delay: float = 1.0
|
||||
|
||||
|
||||
@dataclass
|
||||
class PollingConfig:
|
||||
"""Polling configuration."""
|
||||
@@ -41,6 +50,7 @@ class Config:
|
||||
|
||||
can: CANConfig = field(default_factory=CANConfig)
|
||||
obd2: OBD2Config = field(default_factory=OBD2Config)
|
||||
scan: ScanConfig = field(default_factory=ScanConfig)
|
||||
polling: PollingConfig = field(default_factory=PollingConfig)
|
||||
|
||||
@classmethod
|
||||
@@ -87,6 +97,12 @@ class Config:
|
||||
self.obd2.response_id = self._parse_hex(obd2_data["response_id"])
|
||||
self.obd2.timeout = obd2_data.get("timeout", self.obd2.timeout)
|
||||
|
||||
if "scan" in data:
|
||||
scan_data = data["scan"]
|
||||
self.scan.retries = scan_data.get("retries", self.scan.retries)
|
||||
self.scan.retry_delay = scan_data.get("retry_delay", self.scan.retry_delay)
|
||||
self.scan.initial_delay = scan_data.get("initial_delay", self.scan.initial_delay)
|
||||
|
||||
if "polling" in data:
|
||||
poll_data = data["polling"]
|
||||
self.polling.interval_fast = poll_data.get(
|
||||
|
||||
Reference in New Issue
Block a user