some fixes
This commit is contained in:
@@ -12,7 +12,12 @@ from python_app.models.run_config_schema import (
|
||||
PreprocessNotchModel,
|
||||
RunConfigModel,
|
||||
)
|
||||
from python_app.models.run_config_validation import load_ring_payload, load_switch_payload, validate_gpr_model
|
||||
from python_app.models.run_config_validation import (
|
||||
load_control_button_payload,
|
||||
load_ring_payload,
|
||||
load_switch_payload,
|
||||
validate_gpr_model,
|
||||
)
|
||||
|
||||
|
||||
def _as_dict(value: Any, context: str) -> dict[str, Any]:
|
||||
@@ -82,6 +87,7 @@ def run_config_from_dict(payload: dict[str, Any]) -> RunConfigModel:
|
||||
switches_payload = _as_dict(payload.get("switches"), "switches")
|
||||
port1_payload = _as_dict(switches_payload.get("port1"), "switches.port1")
|
||||
port2_payload = _as_dict(switches_payload.get("port2"), "switches.port2")
|
||||
control_button_payload = _as_dict(payload.get("control_button"), "control_button")
|
||||
run_payload = _as_dict(payload.get("run"), "run")
|
||||
preprocess_payload = _as_dict(payload.get("preprocess"), "preprocess")
|
||||
gpr_payload = _as_dict(payload.get("gpr"), "gpr")
|
||||
@@ -245,6 +251,7 @@ def run_config_from_dict(payload: dict[str, Any]) -> RunConfigModel:
|
||||
|
||||
load_switch_payload(port1_payload, model.output_switch)
|
||||
load_switch_payload(port2_payload, model.input_switch)
|
||||
load_control_button_payload(control_button_payload, model.control_button)
|
||||
model.apply_device_model_constraints()
|
||||
|
||||
model.runtime.settling_ms = int(run_payload.get("settling_ms", model.runtime.settling_ms))
|
||||
@@ -477,6 +484,15 @@ def run_config_to_dict(model: RunConfigModel) -> dict[str, Any]:
|
||||
"invert_logic": model.input_switch.invert_logic,
|
||||
},
|
||||
},
|
||||
"control_button": {
|
||||
"enabled": model.control_button.enabled,
|
||||
"gpio_chip": model.control_button.gpio_chip,
|
||||
"pin": model.control_button.pin,
|
||||
"active_low": model.control_button.active_low,
|
||||
"bias": model.control_button.bias,
|
||||
"debounce_ms": model.control_button.debounce_ms,
|
||||
"action": model.control_button.action,
|
||||
},
|
||||
"run": {
|
||||
"settling_ms": model.runtime.settling_ms,
|
||||
"idle_sleep_ms": model.runtime.idle_sleep_ms,
|
||||
|
||||
Reference in New Issue
Block a user