feat: synchronize CH1 vehicle control and feedback

This commit is contained in:
vee
2026-08-11 10:42:13 +08:00
parent 3701192a11
commit 32379a1573
50 changed files with 13636 additions and 736 deletions
@@ -0,0 +1,267 @@
{
"suite": "ch1-vehicle-door-smoke-hil",
"started_with": {
"source": "physical_can_ch1",
"channel": 1,
"read_only": true,
"captured_at": "2026-08-10T18:26:38.774392Z",
"gear": "P",
"speed_kmh": 0.0,
"frame_count": 2751,
"evidence": {
"gear_frame_id": "0x342",
"speed_frame_id": "0x4EB"
}
},
"finished_at": "2026-08-10T18:27:06.208449Z",
"results": [
{
"at": "2026-08-10T18:26:43.864787Z",
"module": "self_orchestration",
"case_id": "DOOR-VEHICLE-LOCK",
"status": "failed",
"duration_ms": 4032,
"safety_snapshot": {
"source": "physical_can_ch1",
"channel": 1,
"read_only": true,
"captured_at": "2026-08-10T18:26:39.775825Z",
"gear": "P",
"speed_kmh": 0.0,
"frame_count": 2256,
"evidence": {
"gear_frame_id": "0x342",
"speed_frame_id": "0x4EB"
}
},
"error": "Ch1HilContractError: DOOR-VEHICLE-LOCK: request status is execution_failed"
},
{
"at": "2026-08-10T18:27:06.208449Z",
"module": "cleanup",
"case_id": "suite_finally",
"status": "passed",
"results": [
{
"case_id": "WINDOW-FRONT-LEFT-0",
"command": "window front-left position 0",
"http_status": 201,
"status": "passed",
"duration_ms": 2843,
"safety_snapshot": {
"source": "physical_can_ch1",
"channel": 1,
"read_only": true,
"captured_at": "2026-08-10T18:26:44.790088Z",
"gear": "P",
"speed_kmh": 0.0,
"frame_count": 2279,
"evidence": {
"gear_frame_id": "0x342",
"speed_frame_id": "0x4EB"
}
},
"request_id": "req-20260810182644-0f4f23"
},
{
"case_id": "SHADE-POSITION-0",
"command": "shade position 0",
"http_status": 201,
"status": "passed",
"duration_ms": 2235,
"safety_snapshot": {
"source": "physical_can_ch1",
"channel": 1,
"read_only": true,
"captured_at": "2026-08-10T18:26:47.795715Z",
"gear": "P",
"speed_kmh": 0.0,
"frame_count": 2694,
"evidence": {
"gear_frame_id": "0x342",
"speed_frame_id": "0x4EB"
}
},
"request_id": "req-20260810182647-436fd7"
},
{
"case_id": "DOOR-VEHICLE-UNLOCK",
"command": "door vehicle unlock",
"http_status": 201,
"status": "passed",
"duration_ms": 2906,
"safety_snapshot": {
"source": "physical_can_ch1",
"channel": 1,
"read_only": true,
"captured_at": "2026-08-10T18:26:49.802764Z",
"gear": "P",
"speed_kmh": 0.0,
"frame_count": 2017,
"evidence": {
"gear_frame_id": "0x342",
"speed_frame_id": "0x4EB"
}
},
"request_id": "req-20260810182649-4a52a7"
},
{
"case_id": "SEAT-DRIVER-MASSAGE-OFF",
"command": "seat driver massage off",
"http_status": 201,
"status": "passed",
"duration_ms": 2500,
"safety_snapshot": {
"source": "physical_can_ch1",
"channel": 1,
"read_only": true,
"captured_at": "2026-08-10T18:26:52.820116Z",
"gear": "P",
"speed_kmh": 0.0,
"frame_count": 2374,
"evidence": {
"gear_frame_id": "0x342",
"speed_frame_id": "0x4EB"
}
},
"request_id": "req-20260810182652-028f24"
},
{
"case_id": "SEAT-DRIVER-HEAT-OFF",
"command": "seat driver heat off",
"http_status": 201,
"status": "passed",
"duration_ms": 2000,
"safety_snapshot": {
"source": "physical_can_ch1",
"channel": 1,
"read_only": true,
"captured_at": "2026-08-10T18:26:54.817949Z",
"gear": "P",
"speed_kmh": 0.0,
"frame_count": 697,
"evidence": {
"gear_frame_id": "0x342",
"speed_frame_id": "0x4EB"
}
},
"request_id": "req-20260810182654-200daa"
},
{
"case_id": "SEAT-DRIVER-VENT-OFF",
"command": "seat driver vent off",
"http_status": 201,
"status": "passed",
"duration_ms": 2000,
"safety_snapshot": {
"source": "physical_can_ch1",
"channel": 1,
"read_only": true,
"captured_at": "2026-08-10T18:26:56.821969Z",
"gear": "P",
"speed_kmh": 0.0,
"frame_count": 709,
"evidence": {
"gear_frame_id": "0x342",
"speed_frame_id": "0x4EB"
}
},
"request_id": "req-20260810182656-77bc93"
},
{
"case_id": "CLIMATE-POWER-OFF",
"command": "ac off",
"http_status": 201,
"status": "passed",
"duration_ms": 1859,
"safety_snapshot": {
"source": "physical_can_ch1",
"channel": 1,
"read_only": true,
"captured_at": "2026-08-10T18:26:58.826087Z",
"gear": "P",
"speed_kmh": 0.0,
"frame_count": 735,
"evidence": {
"gear_frame_id": "0x342",
"speed_frame_id": "0x4EB"
}
},
"request_id": "req-20260810182658-1509d2"
},
{
"case_id": "LIGHT-INDOOR-OFF",
"command": "light indoor off",
"http_status": 201,
"status": "passed",
"duration_ms": 1953,
"safety_snapshot": {
"source": "physical_can_ch1",
"channel": 1,
"read_only": true,
"captured_at": "2026-08-10T18:27:00.833034Z",
"gear": "P",
"speed_kmh": 0.0,
"frame_count": 1204,
"evidence": {
"gear_frame_id": "0x342",
"speed_frame_id": "0x4EB"
}
},
"request_id": "req-20260810182700-64ded1"
},
{
"case_id": "AMBIENT-POWER-OFF",
"command": "light ambient off",
"http_status": 201,
"status": "passed",
"duration_ms": 2172,
"safety_snapshot": {
"source": "physical_can_ch1",
"channel": 1,
"read_only": true,
"captured_at": "2026-08-10T18:27:02.837333Z",
"gear": "P",
"speed_kmh": 0.0,
"frame_count": 1445,
"evidence": {
"gear_frame_id": "0x342",
"speed_frame_id": "0x4EB"
}
},
"request_id": "req-20260810182702-78f422"
},
{
"case_id": "LIGHT-READING-ALL-OFF",
"command": "light reading all off",
"http_status": 201,
"status": "passed",
"duration_ms": 1875,
"safety_snapshot": {
"source": "physical_can_ch1",
"channel": 1,
"read_only": true,
"captured_at": "2026-08-10T18:27:04.842348Z",
"gear": "P",
"speed_kmh": 0.0,
"frame_count": 829,
"evidence": {
"gear_frame_id": "0x342",
"speed_frame_id": "0x4EB"
}
},
"request_id": "req-20260810182704-244a2c"
}
]
}
],
"summary": {
"total": 1,
"passed": 0,
"failed": 1,
"aborted_on_first_failure": true,
"cleanup_runs": 1,
"cleanup_failed": false,
"offline_rejection_cases": 24
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff