This commit is contained in:
firestar5683
2026-04-06 02:11:24 -05:00
parent 5b8fb4c4f1
commit db2d380a6d
4 changed files with 29 additions and 4 deletions
+1 -1
View File
@@ -1,2 +1,2 @@
extern const uint8_t gitversion[19];
const uint8_t gitversion[19] = "DEV-701080a6-DEBUG";
const uint8_t gitversion[19] = "DEV-c45051f5-DEBUG";
+1 -1
View File
@@ -1 +1 @@
DEV-701080a6-DEBUG
DEV-c45051f5-DEBUG
+12 -1
View File
@@ -1,5 +1,6 @@
#!/usr/bin/env python3
import json
import math
import cereal.messaging as messaging
@@ -21,6 +22,16 @@ from openpilot.starpilot.controls.lib.starpilot_vcruise import StarPilotVCruise
from openpilot.starpilot.controls.lib.weather_checker import WeatherChecker
def _sanitize_json_value(value):
if isinstance(value, float):
return value if math.isfinite(value) else None
if isinstance(value, dict):
return {k: _sanitize_json_value(v) for k, v in value.items()}
if isinstance(value, (list, tuple)):
return [_sanitize_json_value(v) for v in value]
return value
class StarPilotPlanner:
def __init__(self, error_log, ThemeManager):
self.params = Params(return_defaults=True)
@@ -166,7 +177,7 @@ class StarPilotPlanner:
starpilotPlan.starpilotEvents = self.starpilot_events.events.to_msg()
starpilotPlan.starpilotToggles = json.dumps(vars(starpilot_toggles))
starpilotPlan.starpilotToggles = json.dumps(_sanitize_json_value(vars(starpilot_toggles)), allow_nan=False)
if sm["starpilotCarState"].trafficModeEnabled:
starpilotPlan.increasedStoppedDistance = 0
+15 -1
View File
@@ -3,6 +3,9 @@
#include <cstdlib>
#include <string>
#include <QDebug>
#include <QJsonParseError>
#include "system/hardware/hw.h"
static void update_state(StarPilotUIState *fs) {
@@ -39,7 +42,18 @@ static void update_state(StarPilotUIState *fs) {
QByteArray current_toggles(toggles.cStr(), toggles.size());
static QByteArray previous_toggles;
if (previous_toggles != current_toggles) {
starpilot_scene.starpilot_toggles = QJsonDocument::fromJson(current_toggles).object();
QJsonParseError parse_error;
QJsonDocument toggles_doc = QJsonDocument::fromJson(current_toggles, &parse_error);
if (parse_error.error == QJsonParseError::NoError && toggles_doc.isObject()) {
QJsonObject updated_toggles = starpilot_scene.starpilot_toggles;
const QJsonObject parsed_toggles = toggles_doc.object();
for (auto it = parsed_toggles.begin(); it != parsed_toggles.end(); ++it) {
updated_toggles.insert(it.key(), it.value());
}
starpilot_scene.starpilot_toggles = updated_toggles;
} else {
qWarning() << "Ignoring invalid StarPilot toggles JSON:" << parse_error.errorString();
}
previous_toggles = current_toggles;
}
}