feat: integrate cabin CAN and verified dynamic seat modes

This commit is contained in:
vee
2026-08-04 17:51:38 +08:00
parent 155fbb59ba
commit dc7c91800e
99 changed files with 51897 additions and 3618 deletions
@@ -0,0 +1,87 @@
{
"schema_version": "1.0.0",
"validated_at": "2026-08-04T09:55:52+08:00",
"platform": "t2g_cabin_bench",
"adapter": {
"model": "USBCANFD-200U",
"device_type": 41,
"device_index": 0,
"driver_self_test": {
"passed": true,
"pointer_bits": 32,
"missing_exports": [],
"classic_frame_size": 16,
"can_fd_frame_size": 72,
"can_fd_tx_size": 76,
"can_fd_rx_size": 80
}
},
"channels": {
"seat_can": {
"channel": 0,
"format": "classic_can_11_bit",
"bitrate": 500000,
"diagnostic_self_reception": {
"frame_id": "0x7AA",
"payload_hex": "43 48 30 53 45 41 54 30",
"passed": true
},
"external_passive_observation_seconds": 6,
"external_frames_observed": 0,
"physical_feedback_verified": false
},
"body_can": {
"channel": 1,
"format": "iso_can_fd_11_bit",
"arbitration_bitrate": 500000,
"data_bitrate": 2000000,
"bitrate_switch": true,
"diagnostic_self_reception": {
"frame_id": "0x7AA",
"payload_hex": "43 48 31 2D 42 4F 44 59 2D 43 41 4E 46 44 21 21",
"payload_size": 16,
"passed": true
},
"external_passive_observation_seconds": 5,
"external_frames_observed": 0,
"physical_feedback_verified": false
}
},
"linked_request": {
"utterance": "关闭副驾座椅通风,同时关闭空调",
"dry_run": {
"status": "succeeded",
"function_configs": ["seat", "native_climate"],
"command_plans": ["seat", "native_climate"]
},
"hardware_attempts": [
{
"request_id": "req-20260804015505-713de5",
"status": "execution_failed",
"body_can": "0x1DE transmit rejected; channel_error=0x00000004",
"seat_can": "passive firmware signature not observed within 1200 ms; no seat control frame sent"
},
{
"request_id": "req-20260804015552-674fb4",
"status": "execution_failed",
"body_can": "0x1DE transmit rejected; channel_error=0x00000000",
"seat_can": "passive firmware signature not observed within 3500 ms; no seat control frame sent"
}
]
},
"verdict": {
"adapter_dual_channel_transport": "passed",
"classic_can_transport": "passed",
"iso_can_fd_brs_transport": "passed",
"one_sentence_compilation_and_routing": "passed",
"seat_ecu_closed_loop": "not_verified_no_external_frames",
"body_ecu_closed_loop": "not_verified_no_bus_ack_or_0x404_feedback",
"overall_hardware_requirement": "blocked_by_external_bus_connectivity_or_power"
},
"safety_cleanup": {
"seat_control_acknowledged": false,
"body_control_acknowledged": false,
"actuator_state_changed_by_verified_command": false,
"zcanpro_restarted": true
}
}
@@ -0,0 +1,63 @@
{
"validated_at": "2026-08-04",
"firmware_revision": 10,
"firmware_image_sha256": "85f9d67ff1efb36c37f38bb7584dffdbb6ecbee33bfc70ab491bad0d57da63b2",
"change": "remove delayed M1 clearance/catch-up and keep all four axes moving from the phase start",
"max_hall": [499, 374, 917, 647],
"known_range_home": {
"hall_before": [379, 255, 417, 416],
"hall_after": [0, 0, 0, 0],
"all_complete_ok": true,
"all_position_valid": true
},
"step_1_to_step_2": {
"start_hall": [391, 140, 406, 405],
"target_hall": [246, 281, 701, 494],
"observed_hall": [246, 281, 701, 494],
"four_axis_start_spread_s": 0.070,
"four_axis_arrival_spread_s": 0.342,
"cruise_checkpoint": {
"elapsed_s": 3.090,
"hall": [354, 202, 510, 468],
"normalized_progress": {
"longitudinal": 0.255,
"cushion_tilt": 0.440,
"backrest_recline": 0.353,
"legrest_height": 0.708
}
},
"result": "PASS"
},
"step_2_to_step_3": {
"start_hall": [246, 281, 701, 494],
"target_hall": [391, 140, 405, 404],
"observed_hall": [391, 140, 405, 404],
"four_axis_start_spread_s": 0.050,
"four_axis_arrival_spread_s": 0.339,
"cruise_checkpoint": {
"elapsed_s": 2.591,
"hall": [283, 226, 616, 435],
"normalized_progress": {
"longitudinal": 0.255,
"cushion_tilt": 0.390,
"backrest_recline": 0.287,
"legrest_height": 0.656
}
},
"result": "PASS"
},
"continuous_rollover": {
"next_cycle_all_four_axes_active": true,
"next_cycle_start_spread_s": 0.051,
"result": "PASS"
},
"stop_verification": {
"ack": 1,
"reject": 0,
"final_0x306": "00 00 00 00 00 00 00 00",
"active_mask": 0,
"fault_mask": 0,
"result": "PASS"
},
"result": "PASS"
}
@@ -0,0 +1,88 @@
{
"validated_at": "2026-08-04",
"firmware_revision": 9,
"firmware_image_sha256": "216f3f6b2d7c441f2050e99c2b9d54153a69b46466235232dec1b7ab7644b7c4",
"mode": "dynamic_cradle",
"coordinate_precondition": {
"motor": 1,
"operation": "HOME_KNOWN_RANGE",
"ack": 1,
"reject": 0,
"hall_before": 169,
"hall_after": 0,
"max_hall_preserved": 374,
"near": true,
"position_valid": true,
"result": "PASS"
},
"full_cycle": {
"entry_step_1": {
"target_hall": [391, 140, 405, 404],
"observed_hall": [392, 141, 405, 403]
},
"step_1_to_step_2": {
"target_hall": [246, 281, 701, 494],
"observed_hall": [246, 281, 701, 494],
"duration_s": 17.329,
"four_axis_start_spread_s": 0.077,
"four_axis_arrival_spread_s": 0.338,
"result": "PASS"
},
"step_2_to_step_3": {
"target_hall": [391, 140, 405, 404],
"observed_hall": [391, 140, 405, 405],
"duration_s": 15.155,
"four_axis_start_spread_s": 0.079,
"four_axis_arrival_spread_s": 0.495,
"result": "PASS"
},
"cycle_index_after_return": 1,
"fault_mask": 0,
"result": "PASS"
},
"continuous_rollover": {
"cycle_0_forward_start_spread_s": 0.052,
"cycle_0_return_start_spread_s": 0.053,
"cycle_1_forward_start_spread_s": 0.082,
"phase_transitions_s": [0.370, 17.888, 32.781],
"result": "PASS"
},
"step_3_to_step_1_semantics": "Step 3 and Step 1 have identical Hall targets, so their boundary has zero physical displacement. The ECU rolls the cycle index atomically and synchronously launches the next Step 1-to-Step 2 leg.",
"stop_verification": {
"stop_dynamic_sent": true,
"final_0x306": "00 00 00 00 00 00 00 00",
"result": "PASS"
},
"frontend_natural_language_hil": {
"start": {
"utterance": "开启动态摇篮模式",
"request_id": "req-20260804071706-45a1df",
"result": "SUCCEEDED",
"firmware_signature": "seat-controller-smv8-dynamic-modes-v9",
"command": "0x300 0E 10 06 00 02 00 00 00",
"ui_state": "动态摇篮模式 · 循环中 · 最长10分钟"
},
"active_physical_can_observation": {
"source": "physical_can",
"complete": true,
"moving_axes": {
"longitudinal_pct": 59,
"backrest_recline_pct": 75
},
"all_axes_position_valid": true,
"faults": false
},
"stop": {
"utterance": "关闭动态摇篮模式",
"request_id": "req-20260804072028-55179f",
"result": "SUCCEEDED",
"command": "0x300 0F 10 07 00 00 00 00 00",
"ui_state": "未运行",
"all_axes_stopped": true,
"all_axes_position_valid": true,
"faults": false
},
"hardware_access_after_test": "automatically released by the 180-second local idle policy",
"result": "PASS"
}
}
@@ -0,0 +1,343 @@
{
"mode": "rocking_horse",
"firmware_revision": 11,
"max_hall": [
499,
374,
917,
647
],
"homes": [
{
"motor": 0,
"hall_before": 349,
"hall_after": 0,
"ack": {
"ack": 1,
"reject": 0,
"sequence": 21,
"opcode": 11,
"firmware_revision": 11
},
"terminal": {
"motor": 0,
"task": 6,
"result": 2,
"active": false,
"position_valid": true,
"sequence": 21,
"position_x100": 0
}
},
{
"motor": 1,
"hall_before": 163,
"hall_after": 0,
"ack": {
"ack": 1,
"reject": 0,
"sequence": 22,
"opcode": 11,
"firmware_revision": 11
},
"terminal": {
"motor": 1,
"task": 6,
"result": 2,
"active": false,
"position_valid": true,
"sequence": 22,
"position_x100": 0
}
},
{
"motor": 2,
"hall_before": 534,
"hall_after": 0,
"ack": {
"ack": 1,
"reject": 0,
"sequence": 23,
"opcode": 11,
"firmware_revision": 11
},
"terminal": {
"motor": 2,
"task": 6,
"result": 2,
"active": false,
"position_valid": true,
"sequence": 23,
"position_x100": 0
}
},
{
"motor": 3,
"hall_before": 456,
"hall_after": 0,
"ack": {
"ack": 1,
"reject": 0,
"sequence": 24,
"opcode": 11,
"firmware_revision": 11
},
"terminal": {
"motor": 3,
"task": 6,
"result": 2,
"active": false,
"position_valid": true,
"sequence": 24,
"position_x100": 0
}
}
],
"start_ack": {
"ack": 1,
"reject": 0,
"sequence": 37,
"opcode": 14,
"firmware_revision": 11
},
"segments": [
{
"cycle_index": 0,
"phase": 2,
"phase_start": 262550.8121217,
"start_hall": [
320,
191,
500,
431
],
"first_active": {
"2": 262550.8883221,
"3": 262550.9146271,
"0": 262550.9401055,
"1": 262550.9661217
},
"arrival": {
"3": 262552.7830827,
"1": 262552.8335206,
"2": 262553.0696745,
"0": 262553.1213695
},
"cruise_checkpoint": {
"elapsed_s": 0.6343701000441797,
"hall": [
312,
201,
481,
417
],
"normalized_progress": [
0.26666666666666666,
0.3448275862068966,
0.475,
0.45161290322580644
]
},
"end_hall": [
290,
219,
460,
400
],
"start_spread_s": 0.07779960002517328,
"arrival_spread_s": 0.3382868000189774,
"all_axes_started": true,
"all_axes_arrived": true,
"target": [
290,
220,
460,
400
]
},
{
"cycle_index": 0,
"phase": 3,
"phase_start": 262553.4043395,
"start_hall": [
290,
219,
460,
400
],
"first_active": {
"2": 262553.4973208,
"3": 262553.5228996,
"0": 262553.5485228,
"1": 262553.5743734
},
"arrival": {
"3": 262557.0745088,
"1": 262557.1252219,
"2": 262557.2577929,
"0": 262557.3081852
},
"cruise_checkpoint": {
"elapsed_s": 1.079516199999489,
"hall": [
306,
199,
489,
422
],
"normalized_progress": [
0.26666666666666666,
0.3389830508474576,
0.3625,
0.36666666666666664
]
},
"end_hall": [
350,
160,
540,
460
],
"start_spread_s": 0.0770526000414975,
"arrival_spread_s": 0.23367639997741207,
"all_axes_started": true,
"all_axes_arrived": true,
"target": [
350,
160,
540,
460
]
},
{
"cycle_index": 1,
"phase": 2,
"phase_start": 262557.4375185,
"start_hall": [
350,
160,
540,
460
],
"first_active": {
"3": 262557.4893286,
"0": 262557.5161744,
"1": 262557.5424914,
"2": 262557.5696487
},
"arrival": {
"3": 262561.8903825,
"1": 262561.9425291,
"2": 262562.0729115,
"0": 262562.1245799
},
"cruise_checkpoint": {
"elapsed_s": 1.337460899958387,
"hall": [
335,
185,
498,
430
],
"normalized_progress": [
0.25,
0.4166666666666667,
0.525,
0.5
]
},
"end_hall": [
290,
220,
460,
400
],
"start_spread_s": 0.08032010000897571,
"arrival_spread_s": 0.23419739998644218,
"all_axes_started": true,
"all_axes_arrived": true,
"target": [
290,
220,
460,
400
]
},
{
"cycle_index": 1,
"phase": 3,
"phase_start": 262562.35135919997,
"start_hall": [
290,
220,
460,
400
],
"first_active": {
"3": 262562.3911222,
"0": 262562.4169718,
"1": 262562.4437546,
"2": 262562.4700679
},
"arrival": {
"3": 262566.0670384,
"1": 262566.1195433,
"2": 262566.1444,
"0": 262566.2991242
},
"cruise_checkpoint": {
"elapsed_s": 1.1310953000211157,
"hall": [
305,
198,
497,
423
],
"normalized_progress": [
0.25,
0.36666666666666664,
0.4625,
0.38333333333333336
]
},
"end_hall": [
350,
160,
540,
459
],
"start_spread_s": 0.07894570002099499,
"arrival_spread_s": 0.23208580003120005,
"all_axes_started": true,
"all_axes_arrived": true,
"target": [
350,
160,
540,
460
]
}
],
"repeat_first_active": {
"0": 262566.4901705,
"1": 262566.5153454,
"2": 262566.542698,
"3": 262566.5681911
},
"stop_ack": {
"ack": 1,
"reject": 0,
"sequence": 38,
"opcode": 15,
"firmware_revision": 11
},
"idle": {
"mode_id": 0,
"state": 0,
"phase": 0,
"active_mask": 0,
"fault_mask": 0,
"cycle_index": 0,
"phase_elapsed_ms": 0
}
}
@@ -0,0 +1,343 @@
{
"mode": "rocking_horse",
"firmware_revision": 12,
"max_hall": [
499,
374,
917,
647
],
"homes": [
{
"motor": 0,
"hall_before": 342,
"hall_after": 0,
"ack": {
"ack": 1,
"reject": 0,
"sequence": 1,
"opcode": 11,
"firmware_revision": 12
},
"terminal": {
"motor": 0,
"task": 6,
"result": 2,
"active": false,
"position_valid": true,
"sequence": 1,
"position_x100": 0
}
},
{
"motor": 1,
"hall_before": 166,
"hall_after": 0,
"ack": {
"ack": 1,
"reject": 0,
"sequence": 2,
"opcode": 11,
"firmware_revision": 12
},
"terminal": {
"motor": 1,
"task": 6,
"result": 2,
"active": false,
"position_valid": true,
"sequence": 2,
"position_x100": 0
}
},
{
"motor": 2,
"hall_before": 534,
"hall_after": 0,
"ack": {
"ack": 1,
"reject": 0,
"sequence": 3,
"opcode": 11,
"firmware_revision": 12
},
"terminal": {
"motor": 2,
"task": 6,
"result": 2,
"active": false,
"position_valid": true,
"sequence": 3,
"position_x100": 0
}
},
{
"motor": 3,
"hall_before": 454,
"hall_after": 0,
"ack": {
"ack": 1,
"reject": 0,
"sequence": 4,
"opcode": 11,
"firmware_revision": 12
},
"terminal": {
"motor": 3,
"task": 6,
"result": 2,
"active": false,
"position_valid": true,
"sequence": 4,
"position_x100": 0
}
}
],
"start_ack": {
"ack": 1,
"reject": 0,
"sequence": 17,
"opcode": 14,
"firmware_revision": 12
},
"segments": [
{
"cycle_index": 0,
"phase": 2,
"phase_start": 264077.9579478,
"start_hall": [
320,
191,
500,
430
],
"first_active": {
"0": 264078.038142,
"1": 264078.0663315,
"2": 264078.0774349,
"3": 264078.1169224
},
"arrival": {
"3": 264079.9439302,
"1": 264079.9959276,
"2": 264080.2325822,
"0": 264080.2840808
},
"cruise_checkpoint": {
"elapsed_s": 0.6441632999922149,
"hall": [
312,
214,
481,
416
],
"normalized_progress": [
0.26666666666666666,
0.3898305084745763,
0.475,
0.4666666666666667
]
},
"end_hall": [
290,
250,
460,
400
],
"start_spread_s": 0.07878040004288778,
"arrival_spread_s": 0.34015060000820085,
"all_axes_started": true,
"all_axes_arrived": true,
"target": [
290,
250,
460,
400
]
},
{
"cycle_index": 0,
"phase": 3,
"phase_start": 264080.62360189995,
"start_hall": [
290,
250,
460,
400
],
"first_active": {
"0": 264080.6481176,
"1": 264080.6733371,
"2": 264080.7001602,
"3": 264080.7257557
},
"arrival": {
"1": 264084.2944588,
"3": 264084.344339,
"0": 264084.475855,
"2": 264084.5271018
},
"cruise_checkpoint": {
"elapsed_s": 1.0275715000461787,
"hall": [
305,
206,
492,
421
],
"normalized_progress": [
0.25,
0.36666666666666664,
0.4,
0.35
]
},
"end_hall": [
350,
132,
540,
460
],
"start_spread_s": 0.07763810001779348,
"arrival_spread_s": 0.2326430000248365,
"all_axes_started": true,
"all_axes_arrived": true,
"target": [
350,
130,
540,
460
]
},
{
"cycle_index": 1,
"phase": 2,
"phase_start": 264084.65867120004,
"start_hall": [
350,
132,
540,
460
],
"first_active": {
"2": 264084.7388101,
"1": 264084.7410872,
"0": 264084.7599586,
"3": 264084.7926978
},
"arrival": {
"3": 264089.0549796,
"1": 264089.108405,
"0": 264089.3941196,
"2": 264089.4443601
},
"cruise_checkpoint": {
"elapsed_s": 1.391282099939417,
"hall": [
335,
187,
497,
429
],
"normalized_progress": [
0.25,
0.4661016949152542,
0.5375,
0.5166666666666667
]
},
"end_hall": [
290,
250,
460,
400
],
"start_spread_s": 0.05388769996352494,
"arrival_spread_s": 0.38938050001161173,
"all_axes_started": true,
"all_axes_arrived": true,
"target": [
290,
250,
460,
400
]
},
{
"cycle_index": 1,
"phase": 3,
"phase_start": 264089.7385309,
"start_hall": [
290,
250,
460,
400
],
"first_active": {
"1": 264089.857611,
"2": 264089.8838599,
"3": 264089.910015,
"0": 264089.938548
},
"arrival": {
"1": 264093.3849972,
"3": 264093.4384044,
"2": 264093.5165479,
"0": 264093.5667763
},
"cruise_checkpoint": {
"elapsed_s": 1.011584700027015,
"hall": [
305,
207,
492,
420
],
"normalized_progress": [
0.25,
0.35833333333333334,
0.4,
0.3333333333333333
]
},
"end_hall": [
350,
132,
540,
460
],
"start_spread_s": 0.08093699999153614,
"arrival_spread_s": 0.1817791000357829,
"all_axes_started": true,
"all_axes_arrived": true,
"target": [
350,
130,
540,
460
]
}
],
"repeat_first_active": {
"0": 264093.8496089,
"2": 264093.8578157,
"3": 264093.8843526,
"1": 264093.9379308
},
"stop_ack": {
"ack": 1,
"reject": 0,
"sequence": 18,
"opcode": 15,
"firmware_revision": 12
},
"idle": {
"mode_id": 0,
"state": 0,
"phase": 0,
"active_mask": 0,
"fault_mask": 0,
"cycle_index": 0,
"phase_elapsed_ms": 0
}
}
@@ -0,0 +1,343 @@
{
"mode": "rocking_horse",
"firmware_revision": 13,
"max_hall": [
499,
374,
917,
647
],
"homes": [
{
"motor": 0,
"hall_before": 326,
"hall_after": 0,
"ack": {
"ack": 1,
"reject": 0,
"sequence": 1,
"opcode": 11,
"firmware_revision": 13
},
"terminal": {
"motor": 0,
"task": 6,
"result": 2,
"active": false,
"position_valid": true,
"sequence": 1,
"position_x100": 0
}
},
{
"motor": 1,
"hall_before": 138,
"hall_after": 0,
"ack": {
"ack": 1,
"reject": 0,
"sequence": 2,
"opcode": 11,
"firmware_revision": 13
},
"terminal": {
"motor": 1,
"task": 6,
"result": 2,
"active": false,
"position_valid": true,
"sequence": 2,
"position_x100": 0
}
},
{
"motor": 2,
"hall_before": 532,
"hall_after": 0,
"ack": {
"ack": 1,
"reject": 0,
"sequence": 3,
"opcode": 11,
"firmware_revision": 13
},
"terminal": {
"motor": 2,
"task": 6,
"result": 2,
"active": false,
"position_valid": true,
"sequence": 3,
"position_x100": 0
}
},
{
"motor": 3,
"hall_before": 451,
"hall_after": 0,
"ack": {
"ack": 1,
"reject": 0,
"sequence": 4,
"opcode": 11,
"firmware_revision": 13
},
"terminal": {
"motor": 3,
"task": 6,
"result": 2,
"active": false,
"position_valid": true,
"sequence": 4,
"position_x100": 0
}
}
],
"start_ack": {
"ack": 1,
"reject": 0,
"sequence": 17,
"opcode": 14,
"firmware_revision": 13
},
"segments": [
{
"cycle_index": 0,
"phase": 2,
"phase_start": 265437.2473564,
"start_hall": [
320,
190,
500,
430
],
"first_active": {
"2": 265437.2955111,
"3": 265437.3198522,
"0": 265437.346692,
"1": 265437.3733125
},
"arrival": {
"1": 265438.9329059,
"3": 265438.9846889,
"0": 265439.2201775,
"2": 265439.2731793
},
"cruise_checkpoint": {
"elapsed_s": 0.5042391999741085,
"hall": [
306,
209,
486,
419
],
"normalized_progress": [
0.28,
0.31666666666666665,
0.35,
0.36666666666666664
]
},
"end_hall": [
270,
250,
460,
400
],
"start_spread_s": 0.07780140003887936,
"arrival_spread_s": 0.34027340001193807,
"all_axes_started": true,
"all_axes_arrived": true,
"target": [
270,
250,
460,
400
]
},
{
"cycle_index": 0,
"phase": 3,
"phase_start": 265439.64164610003,
"start_hall": [
270,
250,
460,
400
],
"first_active": {
"2": 265439.6948618,
"3": 265439.7208077,
"0": 265439.7458537,
"1": 265439.7726268
},
"arrival": {
"1": 265442.9056772,
"3": 265442.9558483,
"2": 265443.0339587,
"0": 265443.0861803
},
"cruise_checkpoint": {
"elapsed_s": 0.8318679999792948,
"hall": [
295,
216,
484,
417
],
"normalized_progress": [
0.25,
0.2833333333333333,
0.3,
0.2833333333333333
]
},
"end_hall": [
370,
130,
540,
460
],
"start_spread_s": 0.07776499999454245,
"arrival_spread_s": 0.18050309998216107,
"all_axes_started": true,
"all_axes_arrived": true,
"target": [
370,
130,
540,
460
]
},
{
"cycle_index": 1,
"phase": 2,
"phase_start": 265443.25305889995,
"start_hall": [
370,
130,
540,
460
],
"first_active": {
"0": 265443.2954135,
"1": 265443.3206536,
"2": 265443.3348354,
"3": 265443.3728105
},
"arrival": {
"3": 265446.8221541,
"1": 265446.8749014,
"2": 265447.0045205,
"0": 265447.159461
},
"cruise_checkpoint": {
"elapsed_s": 1.084834800043609,
"hall": [
343,
175,
507,
436
],
"normalized_progress": [
0.27,
0.375,
0.4125,
0.4
]
},
"end_hall": [
270,
250,
460,
401
],
"start_spread_s": 0.07739699998637661,
"arrival_spread_s": 0.3373069000081159,
"all_axes_started": true,
"all_axes_arrived": true,
"target": [
270,
250,
460,
400
]
},
{
"cycle_index": 1,
"phase": 3,
"phase_start": 265447.3484032,
"start_hall": [
270,
250,
460,
401
],
"first_active": {
"1": 265447.3961179,
"0": 265447.400082,
"2": 265447.4222059,
"3": 265447.4483388
},
"arrival": {
"1": 265450.6434356,
"3": 265450.693563,
"2": 265450.7765666,
"0": 265450.8258244
},
"cruise_checkpoint": {
"elapsed_s": 0.9676259999978356,
"hall": [
297,
209,
490,
421
],
"normalized_progress": [
0.27,
0.3416666666666667,
0.375,
0.3389830508474576
]
},
"end_hall": [
370,
130,
540,
460
],
"start_spread_s": 0.05222090001916513,
"arrival_spread_s": 0.18238880002172664,
"all_axes_started": true,
"all_axes_arrived": true,
"target": [
370,
130,
540,
460
]
}
],
"repeat_first_active": {
"3": 265450.9977942,
"0": 265451.025777,
"2": 265451.0380102,
"1": 265451.0497914
},
"stop_ack": {
"ack": 1,
"reject": 0,
"sequence": 18,
"opcode": 15,
"firmware_revision": 13
},
"idle": {
"mode_id": 0,
"state": 0,
"phase": 0,
"active_mask": 0,
"fault_mask": 0,
"cycle_index": 0,
"phase_elapsed_ms": 0
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,764 @@
{
"suite": "t2g-seat-frontend-full-hil",
"started_at": "2026-08-01T14:53:29.226676Z",
"base_url": "http://127.0.0.1:8000",
"vehicle_id": "denza_n7",
"conversation_id": "conv-hil-full-20260801145329",
"runtime": {
"hardware_execution_allowed": true,
"firmware_profiles": [
"combined"
]
},
"results": [
{
"id": "MODE-QUEEN",
"group": "mode",
"utterance": "副驾执行女王副驾行驶模式",
"started_at": "2026-08-01T14:53:29.226724Z",
"status": "failed",
"errors": [
"T2G motor 0 TIMEOUT: task_state=7, Hall=499->499"
],
"http_status": 201,
"request_id": "req-20260801145329-c441d5",
"failure_telemetry": {
"motor_selector": 0,
"motion_axis": "longitudinal",
"task_state": 7,
"motor_result": 6,
"motor_result_name": "TIMEOUT",
"position_valid": true,
"hall_before": 499,
"hall_after": 499,
"hall_delta": 0,
"endpoint_recovery_max_near_hall": 72,
"command_frame": {
"frame_id": "0x300",
"payload_size": 8,
"data_hex": "01 10 30 00 20 1C 30 75",
"timestamp": null
},
"ack_frame": {
"frame_id": "0x301",
"payload_size": 8,
"data_hex": "21 00 30 00 01 01 F0 4B",
"timestamp": 26444.37267
},
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 67 28 30 00 10 27 00",
"timestamp": 26450.902006
},
"diagnostic_before_frame": {
"frame_id": "0x303",
"payload_size": 8,
"data_hex": "00 00 F3 01 F3 01 00 90",
"timestamp": 26444.360963
},
"diagnostic_frame": {
"frame_id": "0x303",
"payload_size": 8,
"data_hex": "00 05 F3 01 F3 01 00 A0",
"timestamp": 26450.903153
},
"diagnostic_read_error": null,
"current_diagnostic": {
"sample_count": 65,
"valid_sample_count": 65,
"max_current_raw": 214,
"max_current_delta_raw": 213,
"high_current_seen": false,
"low_hall_seen": true,
"stall_overlap_seen": false,
"peak": {
"current_raw": 214,
"current_baseline_raw": 1,
"current_delta_raw": 213,
"stall_current_delta_threshold_raw": 500,
"current_sample_valid": true,
"current_baseline_valid": true,
"high_current": false,
"hall_activity_low": true,
"current_calibrating": false,
"frame": {
"frame_id": "0x304",
"payload_size": 8,
"data_hex": "00 0B D6 00 01 00 F4 01",
"timestamp": 26449.53215
}
},
"latest": {
"current_raw": 212,
"current_baseline_raw": 1,
"current_delta_raw": 211,
"stall_current_delta_threshold_raw": 500,
"current_sample_valid": true,
"current_baseline_valid": true,
"high_current": false,
"hall_activity_low": true,
"current_calibrating": false,
"frame": {
"frame_id": "0x304",
"payload_size": 8,
"data_hex": "00 0B D4 00 01 00 F4 01",
"timestamp": 26450.886864
}
}
},
"error_type": "HardwareExecutionError",
"stop_all_attempted": true,
"simulated": false
},
"finished_at": "2026-08-01T14:53:36.269029Z",
"duration_ms": 7042
},
{
"id": "MODE-BABY-NAP",
"group": "mode",
"utterance": "副驾执行宝宝午睡模式",
"status": "safety_blocked",
"started_at": "2026-08-01T14:53:36.269096Z",
"finished_at": "2026-08-01T14:53:36.269098Z",
"duration_ms": 0,
"errors": [],
"safety_block": {
"axis": "cushion_tilt",
"target_pct": 30,
"minimum_safe_target_pct": 35,
"reason": "M1 near-direction mechanical obstruction: repeated Hall stop at 122/123 with zero pulses and high current; do not drive toward the near endpoint until the mechanism is inspected.",
"evidence": {
"hall_count": 122,
"pulse_count": 0,
"peak_current_delta_raw": 1205,
"stall_threshold_raw": 500
}
}
},
{
"id": "MODE-CRUISE-SOFA",
"group": "mode",
"utterance": "副驾执行巡航沙发模式",
"status": "safety_blocked",
"started_at": "2026-08-01T14:53:36.269107Z",
"finished_at": "2026-08-01T14:53:36.269108Z",
"duration_ms": 0,
"errors": [],
"safety_block": {
"axis": "cushion_tilt",
"target_pct": 30,
"minimum_safe_target_pct": 35,
"reason": "M1 near-direction mechanical obstruction: repeated Hall stop at 122/123 with zero pulses and high current; do not drive toward the near endpoint until the mechanism is inspected.",
"evidence": {
"hall_count": 122,
"pulse_count": 0,
"peak_current_delta_raw": 1205,
"stall_threshold_raw": 500
}
}
},
{
"id": "MODE-MEDITATION",
"group": "mode",
"utterance": "副驾执行冥想空间模式",
"started_at": "2026-08-01T14:53:36.269121Z",
"status": "failed",
"errors": [
"T2G motor 1 STALL: task_state=7, Hall=374->374"
],
"http_status": 201,
"request_id": "req-20260801145336-cea6e3",
"failure_telemetry": {
"motor_selector": 1,
"motion_axis": "cushion_tilt",
"task_state": 7,
"motor_result": 5,
"motor_result_name": "STALL",
"position_valid": true,
"hall_before": 374,
"hall_after": 374,
"hall_delta": 0,
"endpoint_recovery_max_near_hall": 56,
"command_frame": {
"frame_id": "0x300",
"payload_size": 8,
"data_hex": "01 11 34 00 30 11 30 75",
"timestamp": null
},
"ack_frame": {
"frame_id": "0x301",
"payload_size": 8,
"data_hex": "21 00 34 00 01 02 F0 49",
"timestamp": 26453.41257
},
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 57 68 34 00 10 27 00",
"timestamp": 26462.801669
},
"diagnostic_before_frame": {
"frame_id": "0x303",
"payload_size": 8,
"data_hex": "01 00 76 01 76 01 00 B0",
"timestamp": 26451.441787
},
"diagnostic_frame": {
"frame_id": "0x303",
"payload_size": 8,
"data_hex": "01 14 76 01 76 01 00 C1",
"timestamp": 26462.802815
},
"diagnostic_read_error": null,
"current_diagnostic": {
"sample_count": 113,
"valid_sample_count": 113,
"max_current_raw": 1353,
"max_current_delta_raw": 1351,
"high_current_seen": true,
"low_hall_seen": true,
"stall_overlap_seen": true,
"peak": {
"current_raw": 1353,
"current_baseline_raw": 2,
"current_delta_raw": 1351,
"stall_current_delta_threshold_raw": 500,
"current_sample_valid": true,
"current_baseline_valid": true,
"high_current": true,
"hall_activity_low": false,
"current_calibrating": false,
"frame": {
"frame_id": "0x304",
"payload_size": 8,
"data_hex": "01 07 49 05 02 00 F4 01",
"timestamp": 26461.7585
}
},
"latest": {
"current_raw": 1199,
"current_baseline_raw": 2,
"current_delta_raw": 1197,
"stall_current_delta_threshold_raw": 500,
"current_sample_valid": true,
"current_baseline_valid": true,
"high_current": true,
"hall_activity_low": true,
"current_calibrating": false,
"frame": {
"frame_id": "0x304",
"payload_size": 8,
"data_hex": "01 0F AF 04 02 00 F4 01",
"timestamp": 26462.798972
}
}
},
"error_type": "HardwareExecutionError",
"stop_all_attempted": true,
"simulated": false
},
"finished_at": "2026-08-01T14:53:48.119388Z",
"duration_ms": 11850
},
{
"id": "MODE-LEISURE",
"group": "mode",
"utterance": "副驾执行休闲躺椅模式",
"status": "safety_blocked",
"started_at": "2026-08-01T14:53:48.119450Z",
"finished_at": "2026-08-01T14:53:48.119452Z",
"duration_ms": 0,
"errors": [],
"safety_block": {
"axis": "cushion_tilt",
"target_pct": 30,
"minimum_safe_target_pct": 35,
"reason": "M1 near-direction mechanical obstruction: repeated Hall stop at 122/123 with zero pulses and high current; do not drive toward the near endpoint until the mechanism is inspected.",
"evidence": {
"hall_count": 122,
"pulse_count": 0,
"peak_current_delta_raw": 1205,
"stall_threshold_raw": 500
}
}
},
{
"id": "MODE-CALF",
"group": "mode",
"utterance": "副驾执行小腿解压悬浮模式",
"started_at": "2026-08-01T14:53:48.119461Z",
"status": "failed",
"errors": [
"T2G motor 0 TIMEOUT: task_state=7, Hall=499->499"
],
"http_status": 201,
"request_id": "req-20260801145348-bae676",
"failure_telemetry": {
"motor_selector": 0,
"motion_axis": "longitudinal",
"task_state": 7,
"motor_result": 6,
"motor_result_name": "TIMEOUT",
"position_valid": true,
"hall_before": 499,
"hall_after": 499,
"hall_delta": 0,
"endpoint_recovery_max_near_hall": 72,
"command_frame": {
"frame_id": "0x300",
"payload_size": 8,
"data_hex": "01 10 37 00 EC 13 30 75",
"timestamp": null
},
"ack_frame": {
"frame_id": "0x301",
"payload_size": 8,
"data_hex": "21 00 37 00 01 01 F0 41",
"timestamp": 26463.239675
},
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 67 28 37 00 10 27 00",
"timestamp": 26469.752618
},
"diagnostic_before_frame": {
"frame_id": "0x303",
"payload_size": 8,
"data_hex": "00 00 F3 01 F3 01 00 10",
"timestamp": 26463.237716
},
"diagnostic_frame": {
"frame_id": "0x303",
"payload_size": 8,
"data_hex": "00 05 F3 01 F3 01 00 20",
"timestamp": 26469.754985
},
"diagnostic_read_error": null,
"current_diagnostic": {
"sample_count": 65,
"valid_sample_count": 65,
"max_current_raw": 253,
"max_current_delta_raw": 250,
"high_current_seen": false,
"low_hall_seen": true,
"stall_overlap_seen": false,
"peak": {
"current_raw": 253,
"current_baseline_raw": 3,
"current_delta_raw": 250,
"stall_current_delta_threshold_raw": 500,
"current_sample_valid": true,
"current_baseline_valid": true,
"high_current": false,
"hall_activity_low": false,
"current_calibrating": false,
"frame": {
"frame_id": "0x304",
"payload_size": 8,
"data_hex": "00 03 FD 00 03 00 F4 01",
"timestamp": 26463.272395
}
},
"latest": {
"current_raw": 207,
"current_baseline_raw": 3,
"current_delta_raw": 204,
"stall_current_delta_threshold_raw": 500,
"current_sample_valid": true,
"current_baseline_valid": true,
"high_current": false,
"hall_activity_low": true,
"current_calibrating": false,
"frame": {
"frame_id": "0x304",
"payload_size": 8,
"data_hex": "00 0B CF 00 03 00 F4 01",
"timestamp": 26469.728393
}
}
},
"error_type": "HardwareExecutionError",
"stop_all_attempted": true,
"simulated": false
},
"finished_at": "2026-08-01T14:53:55.135955Z",
"duration_ms": 7017
},
{
"id": "MODE-BEACH",
"group": "mode",
"utterance": "副驾执行电感沙滩椅模式",
"status": "safety_blocked",
"started_at": "2026-08-01T14:53:55.136004Z",
"finished_at": "2026-08-01T14:53:55.136006Z",
"duration_ms": 0,
"errors": [],
"safety_block": {
"axis": "cushion_tilt",
"target_pct": 0,
"minimum_safe_target_pct": 35,
"reason": "M1 near-direction mechanical obstruction: repeated Hall stop at 122/123 with zero pulses and high current; do not drive toward the near endpoint until the mechanism is inspected.",
"evidence": {
"hall_count": 122,
"pulse_count": 0,
"peak_current_delta_raw": 1205,
"stall_threshold_raw": 500
}
}
},
{
"id": "MODE-NAP",
"group": "mode",
"utterance": "副驾执行小憩模式",
"started_at": "2026-08-01T14:53:55.136014Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801145355-391520",
"matched_modes": [
"nap"
],
"state_http_status": 200,
"physical_state": {
"position": {
"longitudinal": {
"position_pct": 100,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 0,
"value_x100": 10000,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 26 28 3A 00 10 27 00",
"timestamp": 26476.732654
}
},
"cushion_tilt": {
"position_pct": 100,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 1,
"value_x100": 10000,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 26 28 3B 00 10 27 00",
"timestamp": 26476.759174
}
},
"backrest_recline": {
"position_pct": 81,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 2,
"value_x100": 8103,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 26 08 3C 00 A7 1F 00",
"timestamp": 26476.785245
}
},
"legrest_height": {
"position_pct": 94,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 3,
"value_x100": 9397,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 26 08 3D 00 B5 24 00",
"timestamp": 26476.810211
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 26476.820464
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 26476.820464
}
},
"captured_at": "2026-08-01T14:54:01.990826Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T14:54:02.155719Z",
"duration_ms": 7020
},
{
"id": "MODE-ZERO-GRAVITY",
"group": "mode",
"utterance": "副驾执行零重力模式",
"started_at": "2026-08-01T14:54:02.155796Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801145402-f6ff8b",
"matched_modes": [
"zero_gravity"
],
"state_http_status": 200,
"physical_state": {
"position": {
"longitudinal": {
"position_pct": 100,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 0,
"value_x100": 10000,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 26 28 3F 00 10 27 00",
"timestamp": 26483.63127
}
},
"cushion_tilt": {
"position_pct": 100,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 1,
"value_x100": 10000,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 26 28 40 00 10 27 00",
"timestamp": 26483.657826
}
},
"backrest_recline": {
"position_pct": 81,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 2,
"value_x100": 8103,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 26 08 41 00 A7 1F 00",
"timestamp": 26483.682735
}
},
"legrest_height": {
"position_pct": 94,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 3,
"value_x100": 9397,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 26 08 42 00 B5 24 00",
"timestamp": 26483.708846
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 26483.717983
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 26483.717983
}
},
"captured_at": "2026-08-01T14:54:08.888287Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T14:54:08.963843Z",
"duration_ms": 6808
}
],
"final_state": {
"id": "FINAL-THERMAL-OFF",
"group": "cleanup",
"utterance": "关闭副驾座椅加热和通风",
"started_at": "2026-08-01T14:54:08.963900Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801145408-c833b5",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"legrest_height": {
"position_pct": 94,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 3,
"value_x100": 9397,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 26 08 42 00 B5 24 00",
"timestamp": 26484.485071
}
},
"longitudinal": {
"position_pct": 100,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 0,
"value_x100": 10000,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 26 28 3F 00 10 27 00",
"timestamp": 26484.511148
}
},
"cushion_tilt": {
"position_pct": 100,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 1,
"value_x100": 10000,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 26 28 40 00 10 27 00",
"timestamp": 26484.537248
}
},
"backrest_recline": {
"position_pct": 81,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 2,
"value_x100": 8103,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 26 08 41 00 A7 1F 00",
"timestamp": 26484.562609
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 26484.572862
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 26484.572862
}
},
"captured_at": "2026-08-01T14:54:09.742991Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T14:54:09.821001Z",
"duration_ms": 857
},
"finished_at": "2026-08-01T14:54:09.821038Z",
"summary": {
"total": 9,
"passed": 2,
"failed": 3,
"safety_blocked": 4,
"executed": 5,
"final_state_passed": true
}
}
@@ -0,0 +1,240 @@
{
"suite": "t2g-seat-frontend-full-hil",
"started_at": "2026-08-01T14:55:16.839705Z",
"base_url": "http://127.0.0.1:8000",
"vehicle_id": "denza_n7",
"conversation_id": "conv-hil-full-20260801145516",
"runtime": {
"hardware_execution_allowed": true,
"firmware_profiles": [
"combined"
]
},
"results": [
{
"id": "MOTION-M0-HOME",
"group": "motion",
"utterance": "把副驾座椅水平位置归零",
"started_at": "2026-08-01T14:55:16.839746Z",
"status": "failed",
"errors": [
"T2G motor 0 CALIBRATION_FAILED: task_state=7, Hall=499->499"
],
"http_status": 201,
"request_id": "req-20260801145516-496358",
"failure_telemetry": {
"motor_selector": 0,
"motion_axis": "longitudinal",
"task_state": 7,
"motor_result": 11,
"motor_result_name": "CALIBRATION_FAILED",
"position_valid": false,
"hall_before": 499,
"hall_after": 499,
"hall_delta": 0,
"endpoint_recovery_max_near_hall": 72,
"command_frame": {
"frame_id": "0x300",
"payload_size": 8,
"data_hex": "0B 10 44 00 52 4B 78 00",
"timestamp": null
},
"ack_frame": {
"frame_id": "0x301",
"payload_size": 8,
"data_hex": "51 00 44 00 0B 41 F0 4F",
"timestamp": 26552.027376
},
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 B7 00 44 00 FF FF 00",
"timestamp": 26555.266451
},
"diagnostic_before_frame": {
"frame_id": "0x303",
"payload_size": 8,
"data_hex": "00 00 F3 01 F3 01 00 C0",
"timestamp": 26552.016761
},
"diagnostic_frame": {
"frame_id": "0x303",
"payload_size": 8,
"data_hex": "00 88 F3 01 F3 01 00 00",
"timestamp": 26555.267587
},
"diagnostic_read_error": null,
"current_diagnostic": {
"sample_count": 36,
"valid_sample_count": 36,
"max_current_raw": 223,
"max_current_delta_raw": 220,
"high_current_seen": false,
"low_hall_seen": true,
"stall_overlap_seen": false,
"peak": {
"current_raw": 223,
"current_baseline_raw": 3,
"current_delta_raw": 220,
"stall_current_delta_threshold_raw": 500,
"current_sample_valid": true,
"current_baseline_valid": true,
"high_current": false,
"hall_activity_low": false,
"current_calibrating": true,
"frame": {
"frame_id": "0x304",
"payload_size": 8,
"data_hex": "00 13 DF 00 03 00 F4 01",
"timestamp": 26552.116307
}
},
"latest": {
"current_raw": 10,
"current_baseline_raw": 23,
"current_delta_raw": 0,
"stall_current_delta_threshold_raw": 500,
"current_sample_valid": true,
"current_baseline_valid": true,
"high_current": false,
"hall_activity_low": true,
"current_calibrating": false,
"frame": {
"frame_id": "0x304",
"payload_size": 8,
"data_hex": "00 0B 0A 00 17 00 F4 01",
"timestamp": 26555.246382
}
}
},
"error_type": "HardwareExecutionError",
"stop_all_attempted": true,
"simulated": false
},
"finished_at": "2026-08-01T14:55:20.627987Z",
"duration_ms": 3788
}
],
"final_state": {
"id": "FINAL-THERMAL-OFF",
"group": "cleanup",
"utterance": "关闭副驾座椅加热和通风",
"started_at": "2026-08-01T14:55:20.628029Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801145520-65fe81",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"backrest_recline": {
"position_pct": 81,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 3,
"motor_selector": 2,
"value_x100": 8103,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 30 08 45 00 A7 1F 00",
"timestamp": 26556.1968
}
},
"legrest_height": {
"position_pct": 94,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 3,
"motor_selector": 3,
"value_x100": 9397,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 30 08 45 00 B5 24 00",
"timestamp": 26556.222629
}
},
"longitudinal": {
"position_pct": 100,
"position_valid": false,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 3,
"motor_selector": 0,
"value_x100": 65535,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 30 00 45 00 FF FF 00",
"timestamp": 26556.248442
}
},
"cushion_tilt": {
"position_pct": 100,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 3,
"motor_selector": 1,
"value_x100": 10000,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 30 28 45 00 10 27 00",
"timestamp": 26556.274646
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 26556.283681
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 26556.283681
}
},
"captured_at": "2026-08-01T14:55:21.452124Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T14:55:21.531805Z",
"duration_ms": 904
},
"finished_at": "2026-08-01T14:55:21.531835Z",
"summary": {
"total": 1,
"passed": 0,
"failed": 1,
"safety_blocked": 0,
"executed": 1,
"final_state_passed": true
}
}
@@ -0,0 +1,62 @@
{
"suite": "t2g-seat-frontend-full-hil",
"started_at": "2026-08-01T15:32:33.035150Z",
"base_url": "http://127.0.0.1:8000",
"vehicle_id": "denza_n7",
"conversation_id": "conv-hil-full-20260801153233",
"runtime": {
"hardware_execution_allowed": true,
"firmware_profiles": [
"combined"
]
},
"results": [
{
"id": "MOTION-M0-HOME",
"group": "motion",
"utterance": "把副驾座椅水平位置归零",
"started_at": "2026-08-01T15:32:33.035187Z",
"status": "failed",
"errors": [
"ZCAN_SetValue(canfd_abit_baud_rate) failed"
],
"http_status": 201,
"request_id": "req-20260801153233-4d8760",
"failure_telemetry": {
"error_type": "CanGatewayError",
"stop_all_attempted": false,
"simulated": false
},
"finished_at": "2026-08-01T15:32:33.233128Z",
"duration_ms": 198
}
],
"final_state": {
"id": "FINAL-THERMAL-OFF",
"group": "cleanup",
"utterance": "关闭副驾座椅加热和通风",
"started_at": "2026-08-01T15:32:33.233166Z",
"status": "failed",
"errors": [
"ZCAN_SetValue(canfd_abit_baud_rate) failed"
],
"http_status": 201,
"request_id": "req-20260801153233-dc02d8",
"failure_telemetry": {
"error_type": "CanGatewayError",
"stop_all_attempted": false,
"simulated": false
},
"finished_at": "2026-08-01T15:32:33.390312Z",
"duration_ms": 157
},
"finished_at": "2026-08-01T15:32:33.390330Z",
"summary": {
"total": 1,
"passed": 0,
"failed": 1,
"safety_blocked": 0,
"executed": 1,
"final_state_passed": false
}
}
@@ -0,0 +1,240 @@
{
"suite": "t2g-seat-frontend-full-hil",
"started_at": "2026-08-01T15:38:36.967401Z",
"base_url": "http://127.0.0.1:8000",
"vehicle_id": "denza_n7",
"conversation_id": "conv-hil-full-20260801153836",
"runtime": {
"hardware_execution_allowed": true,
"firmware_profiles": [
"combined"
]
},
"results": [
{
"id": "MOTION-M0-HOME",
"group": "motion",
"utterance": "把副驾座椅水平位置归零",
"started_at": "2026-08-01T15:38:36.967442Z",
"status": "failed",
"errors": [
"T2G motor 0 CALIBRATION_FAILED: task_state=7, Hall=499->499"
],
"http_status": 201,
"request_id": "req-20260801153836-3cd030",
"failure_telemetry": {
"motor_selector": 0,
"motion_axis": "longitudinal",
"task_state": 7,
"motor_result": 11,
"motor_result_name": "CALIBRATION_FAILED",
"position_valid": false,
"hall_before": 499,
"hall_after": 499,
"hall_delta": 0,
"endpoint_recovery_max_near_hall": 72,
"command_frame": {
"frame_id": "0x300",
"payload_size": 8,
"data_hex": "0B 10 02 00 52 4B 78 00",
"timestamp": null
},
"ack_frame": {
"frame_id": "0x301",
"payload_size": 8,
"data_hex": "51 00 02 00 0B 41 E0 55",
"timestamp": 29165.165292
},
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 B7 00 02 00 FF FF 00",
"timestamp": 29168.401573
},
"diagnostic_before_frame": {
"frame_id": "0x303",
"payload_size": 8,
"data_hex": "00 00 F3 01 F3 01 00 20",
"timestamp": 29165.154003
},
"diagnostic_frame": {
"frame_id": "0x303",
"payload_size": 8,
"data_hex": "00 88 F3 01 F3 01 00 60",
"timestamp": 29168.402701
},
"diagnostic_read_error": null,
"current_diagnostic": {
"sample_count": 36,
"valid_sample_count": 36,
"max_current_raw": 238,
"max_current_delta_raw": 233,
"high_current_seen": false,
"low_hall_seen": true,
"stall_overlap_seen": false,
"peak": {
"current_raw": 236,
"current_baseline_raw": 3,
"current_delta_raw": 233,
"stall_current_delta_threshold_raw": 500,
"current_sample_valid": true,
"current_baseline_valid": true,
"high_current": false,
"hall_activity_low": false,
"current_calibrating": true,
"frame": {
"frame_id": "0x304",
"payload_size": 8,
"data_hex": "00 13 EC 00 03 00 F4 01",
"timestamp": 29165.251397
}
},
"latest": {
"current_raw": 12,
"current_baseline_raw": 36,
"current_delta_raw": 0,
"stall_current_delta_threshold_raw": 500,
"current_sample_valid": true,
"current_baseline_valid": true,
"high_current": false,
"hall_activity_low": true,
"current_calibrating": false,
"frame": {
"frame_id": "0x304",
"payload_size": 8,
"data_hex": "00 0B 0C 00 24 00 F4 01",
"timestamp": 29168.379476
}
}
},
"error_type": "HardwareExecutionError",
"stop_all_attempted": true,
"simulated": false
},
"finished_at": "2026-08-01T15:38:53.697878Z",
"duration_ms": 16730
}
],
"final_state": {
"id": "FINAL-THERMAL-OFF",
"group": "cleanup",
"utterance": "关闭副驾座椅加热和通风",
"started_at": "2026-08-01T15:38:53.697934Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801153853-1d639f",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"cushion_tilt": {
"position_pct": 100,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 3,
"motor_selector": 1,
"value_x100": 10000,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 30 28 03 00 10 27 00",
"timestamp": 29169.295418
}
},
"backrest_recline": {
"position_pct": 81,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 3,
"motor_selector": 2,
"value_x100": 8103,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 30 08 03 00 A7 1F 00",
"timestamp": 29169.322276
}
},
"legrest_height": {
"position_pct": 94,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 3,
"motor_selector": 3,
"value_x100": 9397,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 30 08 03 00 B5 24 00",
"timestamp": 29169.347323
}
},
"longitudinal": {
"position_pct": 100,
"position_valid": false,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 3,
"motor_selector": 0,
"value_x100": 65535,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 30 00 03 00 FF FF 00",
"timestamp": 29169.374233
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 29169.380975
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 29169.380975
}
},
"captured_at": "2026-08-01T15:38:54.491848Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T15:38:54.576238Z",
"duration_ms": 878
},
"finished_at": "2026-08-01T15:38:54.576286Z",
"summary": {
"total": 1,
"passed": 0,
"failed": 1,
"safety_blocked": 0,
"executed": 1,
"final_state_passed": true
}
}
@@ -0,0 +1,363 @@
{
"suite": "t2g-seat-frontend-full-hil",
"started_at": "2026-08-01T15:43:36.160681Z",
"base_url": "http://127.0.0.1:8000",
"vehicle_id": "denza_n7",
"conversation_id": "conv-hil-full-20260801154336",
"runtime": {
"hardware_execution_allowed": true,
"firmware_profiles": [
"combined"
]
},
"results": [
{
"id": "THERM-H-OFF",
"group": "thermal",
"utterance": "关闭副驾座椅加热",
"started_at": "2026-08-01T15:43:36.160725Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801154336-0eefe8",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"backrest_recline": {
"position_pct": 81,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 2,
"value_x100": 8103,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 00 08 00 00 A7 1F 00",
"timestamp": 29463.233038
}
},
"legrest_height": {
"position_pct": 94,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 3,
"value_x100": 9397,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 00 08 00 00 B5 24 00",
"timestamp": 29463.259912
}
},
"longitudinal": {
"position_pct": 100,
"position_valid": false,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 0,
"value_x100": 65535,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 00 00 00 00 FF FF 00",
"timestamp": 29463.284973
}
},
"cushion_tilt": {
"position_pct": 100,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 1,
"value_x100": 10000,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 00 28 00 00 10 27 00",
"timestamp": 29463.311881
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 29463.319822
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 29463.319822
}
},
"captured_at": "2026-08-01T15:43:48.424601Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T15:43:48.512170Z",
"duration_ms": 12351
},
{
"id": "THERM-V-OFF",
"group": "thermal",
"utterance": "关闭副驾座椅通风",
"started_at": "2026-08-01T15:43:48.512241Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801154348-d8018c",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"backrest_recline": {
"position_pct": 81,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 2,
"value_x100": 8103,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 00 08 00 00 A7 1F 00",
"timestamp": 29464.079538
}
},
"legrest_height": {
"position_pct": 94,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 3,
"value_x100": 9397,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 00 08 00 00 B5 24 00",
"timestamp": 29464.105253
}
},
"longitudinal": {
"position_pct": 100,
"position_valid": false,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 0,
"value_x100": 65535,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 00 00 00 00 FF FF 00",
"timestamp": 29464.131102
}
},
"cushion_tilt": {
"position_pct": 100,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 1,
"value_x100": 10000,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 00 28 00 00 10 27 00",
"timestamp": 29464.157968
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 29464.165819
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 29464.165819
}
},
"captured_at": "2026-08-01T15:43:49.270734Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T15:43:49.336080Z",
"duration_ms": 824
}
],
"final_state": {
"id": "FINAL-THERMAL-OFF",
"group": "cleanup",
"utterance": "关闭副驾座椅加热和通风",
"started_at": "2026-08-01T15:43:49.336131Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801154349-f42e7f",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"cushion_tilt": {
"position_pct": 100,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 1,
"value_x100": 10000,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 00 28 00 00 10 27 00",
"timestamp": 29464.904964
}
},
"backrest_recline": {
"position_pct": 81,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 2,
"value_x100": 8103,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 00 08 00 00 A7 1F 00",
"timestamp": 29464.931901
}
},
"legrest_height": {
"position_pct": 94,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 3,
"value_x100": 9397,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 00 08 00 00 B5 24 00",
"timestamp": 29464.95768
}
},
"longitudinal": {
"position_pct": 100,
"position_valid": false,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 0,
"value_x100": 65535,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 00 00 00 00 FF FF 00",
"timestamp": 29464.98386
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 29464.990659
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 29464.990659
}
},
"captured_at": "2026-08-01T15:43:50.095435Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T15:43:50.176751Z",
"duration_ms": 841
},
"finished_at": "2026-08-01T15:43:50.176781Z",
"summary": {
"total": 2,
"passed": 2,
"failed": 0,
"safety_blocked": 0,
"executed": 2,
"final_state_passed": true
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,250 @@
{
"suite": "t2g-seat-frontend-full-hil",
"started_at": "2026-08-01T17:39:16.430915Z",
"base_url": "http://127.0.0.1:8000",
"vehicle_id": "denza_n7",
"conversation_id": "conv-hil-full-20260801173916",
"runtime": {
"hardware_execution_allowed": true,
"firmware_profiles": [
"combined"
]
},
"results": [
{
"id": "MOTION-ALL-ZERO",
"group": "motion",
"utterance": "把副驾水平、坐盆、靠背、腿托四轴归零",
"started_at": "2026-08-01T17:39:16.430950Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801173916-90206d",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"cushion_tilt": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 1,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 26 18 6D 01 00 00 00",
"timestamp": 36459.051975
}
},
"backrest_recline": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 2,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 26 18 6E 01 00 00 00",
"timestamp": 36459.077734
}
},
"legrest_height": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 3,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 26 18 6F 01 00 00 00",
"timestamp": 36459.104324
}
},
"longitudinal": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 0,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 26 18 6C 01 00 00 00",
"timestamp": 36459.129781
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 36459.136472
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 36459.136472
}
},
"captured_at": "2026-08-01T17:40:24.101369Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T17:40:24.299645Z",
"duration_ms": 67869
}
],
"final_state": {
"id": "FINAL-THERMAL-OFF",
"group": "cleanup",
"utterance": "关闭副驾座椅加热和通风",
"started_at": "2026-08-01T17:40:24.299777Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801174024-2bef93",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"longitudinal": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 0,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 26 18 6C 01 00 00 00",
"timestamp": 36460.001759
}
},
"cushion_tilt": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 1,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 26 18 6D 01 00 00 00",
"timestamp": 36460.028327
}
},
"backrest_recline": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 2,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 26 18 6E 01 00 00 00",
"timestamp": 36460.055218
}
},
"legrest_height": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 3,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 26 18 6F 01 00 00 00",
"timestamp": 36460.08066
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 36460.087354
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 36460.087354
}
},
"captured_at": "2026-08-01T17:40:25.052281Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T17:40:25.130245Z",
"duration_ms": 830
},
"finished_at": "2026-08-01T17:40:25.130276Z",
"summary": {
"total": 1,
"passed": 1,
"failed": 0,
"safety_blocked": 0,
"executed": 1,
"final_state_passed": true
}
}
@@ -0,0 +1,364 @@
{
"suite": "t2g-seat-frontend-comprehensive-hil",
"started_at": "2026-08-01T20:30:03.347380Z",
"base_url": "http://127.0.0.1:8000",
"vehicle_id": "denza_n7",
"conversation_id": "conv-hil-full-20260801203003",
"runtime": {
"hardware_execution_allowed": true,
"firmware_profiles": [
"combined"
]
},
"results": [
{
"id": "MODEL-FUZZY-CRAMPED-COMFORT",
"group": "model",
"utterance": "前舱空间太挤了,把座椅调整到舒服的位置",
"started_at": "2026-08-01T20:30:43.772650Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801203043-6dba03",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"backrest_recline": {
"position_pct": 35,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 2,
"value_x100": 3501,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 26 08 09 00 AD 0D 00",
"timestamp": 46720.941274
}
},
"legrest_height": {
"position_pct": 10,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 3,
"value_x100": 1005,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 26 08 0A 00 ED 03 00",
"timestamp": 46720.967852
}
},
"longitudinal": {
"position_pct": 80,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 0,
"value_x100": 8016,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 26 08 07 00 50 1F 00",
"timestamp": 46720.993263
}
},
"cushion_tilt": {
"position_pct": 30,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 1,
"value_x100": 2995,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 26 08 08 00 B3 0B 00",
"timestamp": 46721.019784
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 46721.030217
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 46721.030217
}
},
"captured_at": "2026-08-01T20:31:25.795596Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T20:31:25.863040Z",
"duration_ms": 42090
}
],
"position_memory_sync": {
"id": "PREFLIGHT-POSITION-MEMORY-SYNC",
"group": "preflight",
"utterance": "关闭副驾座椅加热和通风,并把水平、坐盆、靠背、腿托四轴归零",
"started_at": "2026-08-01T20:30:03.347411Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801203003-f00e7a",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"cushion_tilt": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 1,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 26 18 03 00 00 00 00",
"timestamp": 46678.830874
}
},
"backrest_recline": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 2,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 26 18 04 00 00 00 00",
"timestamp": 46678.856952
}
},
"legrest_height": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 3,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 26 18 05 00 00 00 00",
"timestamp": 46678.882795
}
},
"longitudinal": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 0,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 26 18 02 00 00 00 00",
"timestamp": 46678.908649
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 46678.916532
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 46678.916532
}
},
"captured_at": "2026-08-01T20:30:43.683001Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T20:30:43.772568Z",
"duration_ms": 40425
},
"final_state": {
"id": "FINAL-THERMAL-OFF",
"group": "cleanup",
"utterance": "关闭副驾座椅加热和通风,并把水平、坐盆、靠背、腿托四轴归零",
"started_at": "2026-08-01T20:31:25.863092Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801203125-a4af68",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"longitudinal": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 0,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 26 18 0C 00 00 00 00",
"timestamp": 46759.956435
}
},
"cushion_tilt": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 1,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 26 18 0D 00 00 00 00",
"timestamp": 46759.982688
}
},
"backrest_recline": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 2,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 26 18 0E 00 00 00 00",
"timestamp": 46760.008938
}
},
"legrest_height": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 3,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 26 18 0F 00 00 00 00",
"timestamp": 46760.041009
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 46760.053878
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 46760.053878
}
},
"captured_at": "2026-08-01T20:32:04.818553Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T20:32:04.895597Z",
"duration_ms": 39033
},
"finished_at": "2026-08-01T20:32:04.895635Z",
"summary": {
"total": 1,
"passed": 1,
"failed": 0,
"safety_blocked": 0,
"executed": 1,
"position_memory_sync_passed": true,
"final_state_passed": true
}
}
@@ -0,0 +1,250 @@
{
"suite": "t2g-seat-frontend-full-hil",
"started_at": "2026-08-01T17:16:40.264559Z",
"base_url": "http://127.0.0.1:8000",
"vehicle_id": "denza_n7",
"conversation_id": "conv-hil-full-20260801171640",
"runtime": {
"hardware_execution_allowed": true,
"firmware_profiles": [
"combined"
]
},
"results": [
{
"id": "MOTION-ALL-ZERO",
"group": "motion",
"utterance": "把副驾水平、坐盆、靠背、腿托四轴归零",
"started_at": "2026-08-01T17:16:40.264614Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801171640-4a5f1e",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"backrest_recline": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 2,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 26 18 19 01 00 00 00",
"timestamp": 35105.608647
}
},
"legrest_height": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 3,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 26 18 1A 01 00 00 00",
"timestamp": 35105.634423
}
},
"longitudinal": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 0,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 26 18 17 01 00 00 00",
"timestamp": 35105.661016
}
},
"cushion_tilt": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 1,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 26 18 18 01 00 00 00",
"timestamp": 35105.68652
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 35105.692065
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 35105.692065
}
},
"captured_at": "2026-08-01T17:17:50.683023Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T17:17:50.762718Z",
"duration_ms": 70498
}
],
"final_state": {
"id": "FINAL-THERMAL-OFF",
"group": "cleanup",
"utterance": "关闭副驾座椅加热和通风",
"started_at": "2026-08-01T17:17:50.762772Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801171750-2f0f2f",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"backrest_recline": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 2,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 26 18 19 01 00 00 00",
"timestamp": 35106.475011
}
},
"legrest_height": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 3,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 26 18 1A 01 00 00 00",
"timestamp": 35106.500476
}
},
"longitudinal": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 0,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 26 18 17 01 00 00 00",
"timestamp": 35106.526322
}
},
"cushion_tilt": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 1,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 26 18 18 01 00 00 00",
"timestamp": 35106.552849
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 35106.558466
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 35106.558466
}
},
"captured_at": "2026-08-01T17:17:51.549417Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T17:17:51.636183Z",
"duration_ms": 873
},
"finished_at": "2026-08-01T17:17:51.636217Z",
"summary": {
"total": 1,
"passed": 1,
"failed": 0,
"safety_blocked": 0,
"executed": 1,
"final_state_passed": true
}
}
@@ -0,0 +1,363 @@
{
"suite": "t2g-seat-frontend-full-hil",
"started_at": "2026-08-01T16:40:47.172484Z",
"base_url": "http://127.0.0.1:8000",
"vehicle_id": "denza_n7",
"conversation_id": "conv-hil-full-20260801164047",
"runtime": {
"hardware_execution_allowed": true,
"firmware_profiles": [
"combined"
]
},
"results": [
{
"id": "THERM-H-OFF",
"group": "thermal",
"utterance": "关闭副驾座椅加热",
"started_at": "2026-08-01T16:40:47.172525Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801164047-8cddb4",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"backrest_recline": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 2,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 00 18 00 00 00 00 00",
"timestamp": 32897.543083
}
},
"legrest_height": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 3,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 00 18 00 00 00 00 00",
"timestamp": 32897.568506
}
},
"longitudinal": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 0,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 00 18 00 00 00 00 00",
"timestamp": 32897.595022
}
},
"cushion_tilt": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 1,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 00 18 00 00 00 00 00",
"timestamp": 32897.620753
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 32897.62524
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 32897.62524
}
},
"captured_at": "2026-08-01T16:41:02.659736Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T16:41:02.738362Z",
"duration_ms": 15566
},
{
"id": "THERM-V-OFF",
"group": "thermal",
"utterance": "关闭副驾座椅通风",
"started_at": "2026-08-01T16:41:02.738421Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801164102-401927",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"backrest_recline": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 2,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 00 18 00 00 00 00 00",
"timestamp": 32898.36913
}
},
"legrest_height": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 3,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 00 18 00 00 00 00 00",
"timestamp": 32898.394558
}
},
"longitudinal": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 0,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 00 18 00 00 00 00 00",
"timestamp": 32898.421367
}
},
"cushion_tilt": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 1,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 00 18 00 00 00 00 00",
"timestamp": 32898.446823
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 32898.453497
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 32898.453497
}
},
"captured_at": "2026-08-01T16:41:03.487981Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T16:41:03.570272Z",
"duration_ms": 832
}
],
"final_state": {
"id": "FINAL-THERMAL-OFF",
"group": "cleanup",
"utterance": "关闭副驾座椅加热和通风",
"started_at": "2026-08-01T16:41:03.570317Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801164103-4efef7",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"cushion_tilt": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 1,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 00 18 00 00 00 00 00",
"timestamp": 32899.183035
}
},
"backrest_recline": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 2,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 00 18 00 00 00 00 00",
"timestamp": 32899.209498
}
},
"legrest_height": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 3,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 00 18 00 00 00 00 00",
"timestamp": 32899.23527
}
},
"longitudinal": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 0,
"motor_result": 0,
"motor_selector": 0,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 00 18 00 00 00 00 00",
"timestamp": 32899.260679
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 32899.267388
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 32899.267388
}
},
"captured_at": "2026-08-01T16:41:04.301854Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T16:41:04.424088Z",
"duration_ms": 854
},
"finished_at": "2026-08-01T16:41:04.424118Z",
"summary": {
"total": 2,
"passed": 2,
"failed": 0,
"safety_blocked": 0,
"executed": 2,
"final_state_passed": true
}
}
@@ -0,0 +1,250 @@
{
"suite": "t2g-seat-frontend-full-hil",
"started_at": "2026-08-01T17:32:24.627065Z",
"base_url": "http://127.0.0.1:8000",
"vehicle_id": "denza_n7",
"conversation_id": "conv-hil-full-20260801173224",
"runtime": {
"hardware_execution_allowed": true,
"firmware_profiles": [
"combined"
]
},
"results": [
{
"id": "MOTION-ALL-ZERO",
"group": "motion",
"utterance": "把副驾水平、坐盆、靠背、腿托四轴归零",
"started_at": "2026-08-01T17:32:24.627106Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801173224-cedf76",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"longitudinal": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 0,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 26 18 30 01 00 00 00",
"timestamp": 36047.100786
}
},
"cushion_tilt": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 1,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 26 18 31 01 00 00 00",
"timestamp": 36047.126273
}
},
"backrest_recline": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 2,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 26 18 32 01 00 00 00",
"timestamp": 36047.152829
}
},
"legrest_height": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 3,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 26 18 33 01 00 00 00",
"timestamp": 36047.178304
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 36047.185019
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 36047.185019
}
},
"captured_at": "2026-08-01T17:33:32.157834Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T17:33:32.231664Z",
"duration_ms": 67605
}
],
"final_state": {
"id": "FINAL-THERMAL-OFF",
"group": "cleanup",
"utterance": "关闭副驾座椅加热和通风",
"started_at": "2026-08-01T17:33:32.231720Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801173332-3d22e2",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"longitudinal": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 0,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 26 18 30 01 00 00 00",
"timestamp": 36047.928676
}
},
"cushion_tilt": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 1,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 26 18 31 01 00 00 00",
"timestamp": 36047.954191
}
},
"backrest_recline": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 2,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 26 18 32 01 00 00 00",
"timestamp": 36047.980699
}
},
"legrest_height": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 3,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 26 18 33 01 00 00 00",
"timestamp": 36048.006522
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 36048.013163
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 36048.013163
}
},
"captured_at": "2026-08-01T17:33:32.986103Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T17:33:33.067889Z",
"duration_ms": 836
},
"finished_at": "2026-08-01T17:33:33.067920Z",
"summary": {
"total": 1,
"passed": 1,
"failed": 0,
"safety_blocked": 0,
"executed": 1,
"final_state_passed": true
}
}
@@ -0,0 +1,250 @@
{
"suite": "t2g-seat-frontend-full-hil",
"started_at": "2026-08-01T17:26:35.994926Z",
"base_url": "http://127.0.0.1:8000",
"vehicle_id": "denza_n7",
"conversation_id": "conv-hil-full-20260801172635",
"runtime": {
"hardware_execution_allowed": true,
"firmware_profiles": [
"combined"
]
},
"results": [
{
"id": "MOTION-ALL-ZERO",
"group": "motion",
"utterance": "把副驾水平、坐盆、靠背、腿托四轴归零",
"started_at": "2026-08-01T17:26:35.994963Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801172635-cf368d",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"backrest_recline": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 2,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 26 18 23 01 00 00 00",
"timestamp": 35698.280073
}
},
"legrest_height": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 3,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 26 18 24 01 00 00 00",
"timestamp": 35698.306668
}
},
"longitudinal": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 0,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 26 18 21 01 00 00 00",
"timestamp": 35698.332116
}
},
"cushion_tilt": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 1,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 26 18 22 01 00 00 00",
"timestamp": 35698.357889
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 35698.36569
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 35698.36569
}
},
"captured_at": "2026-08-01T17:27:43.345246Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T17:27:43.418173Z",
"duration_ms": 67423
}
],
"final_state": {
"id": "FINAL-THERMAL-OFF",
"group": "cleanup",
"utterance": "关闭副驾座椅加热和通风",
"started_at": "2026-08-01T17:27:43.418231Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801172743-1f95ae",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"backrest_recline": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 2,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 26 18 23 01 00 00 00",
"timestamp": 35699.098847
}
},
"legrest_height": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 3,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 26 18 24 01 00 00 00",
"timestamp": 35699.124304
}
},
"longitudinal": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 0,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 26 18 21 01 00 00 00",
"timestamp": 35699.150901
}
},
"cushion_tilt": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 1,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 26 18 22 01 00 00 00",
"timestamp": 35699.176715
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 35699.184476
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 35699.184476
}
},
"captured_at": "2026-08-01T17:27:44.164137Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T17:27:44.276096Z",
"duration_ms": 858
},
"finished_at": "2026-08-01T17:27:44.276129Z",
"summary": {
"total": 1,
"passed": 1,
"failed": 0,
"safety_blocked": 0,
"executed": 1,
"final_state_passed": true
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,252 @@
{
"suite": "t2g-seat-frontend-full-hil",
"started_at": "2026-08-01T17:32:02.775803Z",
"base_url": "http://127.0.0.1:8000",
"vehicle_id": "denza_n7",
"conversation_id": "conv-hil-full-20260801173202",
"runtime": {
"hardware_execution_allowed": true,
"firmware_profiles": [
"combined"
]
},
"results": [
{
"id": "MODE-ZERO-GRAVITY",
"group": "mode",
"utterance": "打开零重力模式",
"started_at": "2026-08-01T17:32:02.775839Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801173202-68d1da",
"matched_modes": [
"zero_gravity"
],
"state_http_status": 200,
"physical_state": {
"position": {
"cushion_tilt": {
"position_pct": 100,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 1,
"value_x100": 10000,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 26 28 2C 01 10 27 00",
"timestamp": 35964.438236
}
},
"backrest_recline": {
"position_pct": 81,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 2,
"value_x100": 8103,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 26 08 2D 01 A7 1F 00",
"timestamp": 35964.464297
}
},
"legrest_height": {
"position_pct": 94,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 3,
"value_x100": 9397,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 26 08 2E 01 B5 24 00",
"timestamp": 35964.490843
}
},
"longitudinal": {
"position_pct": 100,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 0,
"value_x100": 10000,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 26 28 2B 01 10 27 00",
"timestamp": 35964.51698
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 35964.526089
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 35964.526089
}
},
"captured_at": "2026-08-01T17:32:09.500643Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T17:32:09.582995Z",
"duration_ms": 6807
}
],
"final_state": {
"id": "FINAL-THERMAL-OFF",
"group": "cleanup",
"utterance": "关闭副驾座椅加热和通风",
"started_at": "2026-08-01T17:32:09.583051Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801173209-29898b",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"longitudinal": {
"position_pct": 100,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 0,
"value_x100": 10000,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 26 28 2B 01 10 27 00",
"timestamp": 35965.246437
}
},
"cushion_tilt": {
"position_pct": 100,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 1,
"value_x100": 10000,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 26 28 2C 01 10 27 00",
"timestamp": 35965.27405
}
},
"backrest_recline": {
"position_pct": 81,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 2,
"value_x100": 8103,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 26 08 2D 01 A7 1F 00",
"timestamp": 35965.3002
}
},
"legrest_height": {
"position_pct": 94,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 3,
"value_x100": 9397,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 26 08 2E 01 B5 24 00",
"timestamp": 35965.326337
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 35965.334306
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 35965.334306
}
},
"captured_at": "2026-08-01T17:32:10.308851Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T17:32:10.379863Z",
"duration_ms": 797
},
"finished_at": "2026-08-01T17:32:10.379894Z",
"summary": {
"total": 1,
"passed": 1,
"failed": 0,
"safety_blocked": 0,
"executed": 1,
"final_state_passed": true
}
}
@@ -0,0 +1,250 @@
{
"suite": "t2g-seat-frontend-comprehensive-hil",
"started_at": "2026-08-01T18:19:38.370275Z",
"base_url": "http://127.0.0.1:8000",
"vehicle_id": "denza_n7",
"conversation_id": "conv-hil-full-20260801181938",
"runtime": {
"hardware_execution_allowed": true,
"firmware_profiles": [
"combined"
]
},
"results": [
{
"id": "MOTION-ALL-ZERO",
"group": "motion",
"utterance": "把副驾水平、坐盆、靠背、腿托四轴归零",
"started_at": "2026-08-01T18:19:38.370320Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801181938-22b770",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"backrest_recline": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 2,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 26 18 2A 01 00 00 00",
"timestamp": 38880.446998
}
},
"legrest_height": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 3,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 26 18 2B 01 00 00 00",
"timestamp": 38880.472823
}
},
"longitudinal": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 0,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 26 18 28 01 00 00 00",
"timestamp": 38880.498667
}
},
"cushion_tilt": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 1,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 26 18 29 01 00 00 00",
"timestamp": 38880.524482
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 38880.532693
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 38880.532693
}
},
"captured_at": "2026-08-01T18:20:45.450814Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T18:20:45.533084Z",
"duration_ms": 67163
}
],
"final_state": {
"id": "FINAL-THERMAL-OFF",
"group": "cleanup",
"utterance": "关闭副驾座椅加热和通风,并把水平、坐盆、靠背、腿托四轴归零",
"started_at": "2026-08-01T18:20:45.533139Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801182045-0ea6d9",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"legrest_height": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 3,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 26 18 30 01 00 00 00",
"timestamp": 38903.567521
}
},
"longitudinal": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 0,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 26 18 2D 01 00 00 00",
"timestamp": 38903.593343
}
},
"cushion_tilt": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 1,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 26 18 2E 01 00 00 00",
"timestamp": 38903.619184
}
},
"backrest_recline": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 2,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 26 18 2F 01 00 00 00",
"timestamp": 38903.646408
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 38903.653213
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 38903.653213
}
},
"captured_at": "2026-08-01T18:21:08.570962Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T18:21:08.651237Z",
"duration_ms": 23118
},
"finished_at": "2026-08-01T18:21:08.651275Z",
"summary": {
"total": 1,
"passed": 1,
"failed": 0,
"safety_blocked": 0,
"executed": 1,
"final_state_passed": true
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,252 @@
{
"suite": "t2g-seat-frontend-comprehensive-hil",
"started_at": "2026-08-01T18:23:33.171605Z",
"base_url": "http://127.0.0.1:8000",
"vehicle_id": "denza_n7",
"conversation_id": "conv-hil-full-20260801182333",
"runtime": {
"hardware_execution_allowed": true,
"firmware_profiles": [
"combined"
]
},
"results": [
{
"id": "MODE-ZERO-GRAVITY-OPEN",
"group": "mode",
"utterance": "打开零重力模式",
"started_at": "2026-08-01T18:23:33.171647Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801182333-ad87f6",
"matched_modes": [
"zero_gravity"
],
"state_http_status": 200,
"physical_state": {
"position": {
"cushion_tilt": {
"position_pct": 100,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 1,
"value_x100": 10000,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 26 28 33 01 10 27 00",
"timestamp": 39114.700574
}
},
"backrest_recline": {
"position_pct": 81,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 2,
"value_x100": 8103,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 26 08 34 01 A7 1F 00",
"timestamp": 39114.725999
}
},
"legrest_height": {
"position_pct": 94,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 3,
"value_x100": 9397,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 26 08 35 01 B5 24 00",
"timestamp": 39114.754159
}
},
"longitudinal": {
"position_pct": 100,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 0,
"value_x100": 10000,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 26 28 32 01 10 27 00",
"timestamp": 39114.780784
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 39114.790091
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 39114.790091
}
},
"captured_at": "2026-08-01T18:24:39.703780Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T18:24:39.790515Z",
"duration_ms": 66619
}
],
"final_state": {
"id": "FINAL-THERMAL-OFF",
"group": "cleanup",
"utterance": "关闭副驾座椅加热和通风,并把水平、坐盆、靠背、腿托四轴归零",
"started_at": "2026-08-01T18:24:39.790569Z",
"status": "passed",
"errors": [],
"http_status": 201,
"request_id": "req-20260801182439-328aa0",
"matched_modes": [],
"state_http_status": 200,
"physical_state": {
"position": {
"cushion_tilt": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 1,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "01 26 18 38 01 00 00 00",
"timestamp": 39185.409902
}
},
"backrest_recline": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 2,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "02 26 18 39 01 00 00 00",
"timestamp": 39185.435684
}
},
"legrest_height": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 3,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "03 26 18 3A 01 00 00 00",
"timestamp": 39185.461565
}
},
"longitudinal": {
"position_pct": 0,
"position_valid": true,
"motion_state": "stopped",
"fault": false,
"task_state": 6,
"motor_result": 2,
"motor_selector": 0,
"value_x100": 0,
"feedback_frame": {
"frame_id": "0x302",
"payload_size": 8,
"data_hex": "00 26 18 37 01 00 00 00",
"timestamp": 39185.487663
}
}
},
"ventilation": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 39185.496704
}
},
"heating": {
"state": "off",
"level": 0,
"feedback_value": 1,
"feedback_frame": {
"frame_id": "0x4FA",
"payload_size": 8,
"data_hex": "09 00 00 00 00 00 00 00",
"timestamp": 39185.496704
}
},
"captured_at": "2026-08-01T18:25:50.408971Z",
"source": "physical_can",
"target": {
"device": "seat",
"zone": "front_right",
"instance": "passenger"
},
"complete": true,
"missing": []
},
"finished_at": "2026-08-01T18:25:50.490639Z",
"duration_ms": 70700
},
"finished_at": "2026-08-01T18:25:50.490676Z",
"summary": {
"total": 1,
"passed": 1,
"failed": 0,
"safety_blocked": 0,
"executed": 1,
"final_state_passed": true
}
}