feat: update CAN integration and T2G seat firmware

This commit is contained in:
vee
2026-08-01 15:55:21 +08:00
parent 8cda026ac2
commit 4aded5c21d
1443 changed files with 1007122 additions and 4978 deletions
@@ -24,7 +24,7 @@ class MatrixCompilerTests(unittest.TestCase):
self.compiler = SeatCompiler(DOMAIN_ROOT / "can" / "signal-mapping.yaml")
def test_encodes_combined_control_bits(self) -> None:
parsed = parse_local_intent("打开主驾座椅通风,同时关闭副驾座椅加热")
parsed = parse_local_intent("打开副驾座椅通风,同时关闭副驾座椅加热")
config = build_function_config(parsed, "req-test-001", "local_rules")
plan = self.compiler.compile(config)
command = plan["spec"]["commands"][0]
@@ -32,7 +32,7 @@ class MatrixCompilerTests(unittest.TestCase):
frame = self.matrix.encode(command["message"], command["signals"])
self.assertEqual(frame["frame_id"], "0x42A")
self.assertEqual(frame["data_hex"], "01 80")
self.assertEqual(frame["data_hex"], "00 90")
def test_compilation_is_deterministic(self) -> None:
parsed = parse_local_intent("关闭副驾座椅通风")
@@ -46,20 +46,20 @@ class MatrixCompilerTests(unittest.TestCase):
"actions": [
{
"action_type": "position",
"target": "driver",
"target": "passenger",
"axis": "longitudinal",
"position_pct": 35,
},
{
"action_type": "position",
"target": "driver",
"target": "passenger",
"axis": "backrest_recline",
"position_pct": 60,
},
],
"deferred_requests": [],
"ambiguities": [],
"decision_summary": ["Move two driver-seat axes."],
"decision_summary": ["Move two front-passenger-seat axes."],
"confidence": 1.0,
}
config = build_function_config(parsed, "req-motion-001", "test")
@@ -68,15 +68,15 @@ class MatrixCompilerTests(unittest.TestCase):
self.assertEqual(len(plan["spec"]["commands"]), 2)
first, second = plan["spec"]["commands"]
self.assertEqual(first["message"], "Driver_Seat_Motion_Command_550")
self.assertEqual(first["message"], "Passenger_Seat_Motion_Command_551")
self.assertEqual(first["signals"]["Longitudinal_Target_Pct"], 35)
self.assertEqual(first["signals"]["Motion_Enable_Mask"], 1)
self.assertEqual(first["completion"]["message"], "Driver_Seat_Motion_Status_558")
self.assertEqual(first["completion"]["message"], "Passenger_Seat_Motion_Status_559")
self.assertEqual(first["completion"]["signal"], "Longitudinal_Actual_Pct")
self.assertEqual(second["signals"]["Backrest_Recline_Target_Pct"], 60)
self.assertEqual(second["signals"]["Motion_Enable_Mask"], 4)
frame = self.combined_matrix.encode(first["message"], first["signals"])
self.assertEqual(frame["frame_id"], "0x550")
self.assertEqual(frame["frame_id"], "0x551")
self.assertEqual(frame["payload_size"], 8)