feat: add AS status feedback for both HMI sizes with verified v2.7 release

This commit is contained in:
shenlefengnai-rgb
2026-10-07 16:32:42 +08:00
parent dba8aa5ea9
commit e6556fc218
245 changed files with 21470 additions and 159 deletions
@@ -0,0 +1,32 @@
[
{
"elf": "firmware\\build\\Debug\\AMI_Controller.elf",
"sha256": "551c32ec0707295dc2393a97fa03ab860479725b72fd6a49bc08f9bc5506d8fb",
"result": "passed",
"checks": [
"boot: all four unknown; complete UART commands end in real FF FF FF",
"CAN1: all 7 tasks x 6 AS states x 16 independent validity combinations; UART checked",
"CAN2: all 7 tasks x 6 AS states x 16 independent validity combinations; UART checked",
"legacy v1 always clears previous v2 AS to unknown; all 8 legacy flags accepted",
"both ports: malformed DLC/version/enum/reserved/extended/remote/FD rejected without timeout renewal",
"timeout at >500 ms, tick zero and wrap verified; all four unknown transmitted",
"other CAN cannot renew AS; same-value recovery and periodic resync UART work"
],
"evidence": "ARM emulation with mocked HAL; no physical CAN/HMI"
},
{
"elf": "firmware\\build\\Release\\AMI_Controller.elf",
"sha256": "778cd5be96cc932a7ad13b971a9af96a449e680352687f044a95c975c998baa7",
"result": "passed",
"checks": [
"boot: all four unknown; complete UART commands end in real FF FF FF",
"CAN1: all 7 tasks x 6 AS states x 16 independent validity combinations; UART checked",
"CAN2: all 7 tasks x 6 AS states x 16 independent validity combinations; UART checked",
"legacy v1 always clears previous v2 AS to unknown; all 8 legacy flags accepted",
"both ports: malformed DLC/version/enum/reserved/extended/remote/FD rejected without timeout renewal",
"timeout at >500 ms, tick zero and wrap verified; all four unknown transmitted",
"other CAN cannot renew AS; same-value recovery and periodic resync UART work"
],
"evidence": "ARM emulation with mocked HAL; no physical CAN/HMI"
}
]
@@ -0,0 +1,18 @@
{
"result": "passed",
"messages": 13,
"signals": 53,
"known_payload_checks": 183,
"all_task_ids_and_counter_edges": true,
"ports_bitrate": {
"CAN1": 500000,
"CAN2": 250000
},
"shared_dbc_layouts_and_payloads_match": true,
"heartbeat_can1_only": true,
"firmware_and_ioc_bit_timing_match": true,
"firmware_ids_match": true,
"sdc_source_layout_match": true,
"display_sender_known_bytes_and_argument_rejection": true,
"cantools_version": "44.1.0"
}
@@ -0,0 +1 @@
DBC documentation and CAN2 DBC match AMI.dbc
@@ -0,0 +1,43 @@
{
"version": "AMI-2.7-2026-10-07",
"screen_interface": "1.5",
"scope": "MCU flashed and byte-for-byte verified; physical CAN1/UART and official 480x272/800x480 simulators tested; no physical HMI download",
"files": {
"AMI.dbc": {
"bytes": 15095,
"sha256": "73e07d06e1c3689636e5dd67eb7ccae2df8f2bc73ca616bef56c3286b49f5070"
},
"AMI_CAN2_250k.dbc": {
"bytes": 14405,
"sha256": "76d2cfb6f5cf356a9e56b20371a885b4a67cf7342c33dde4f46552ddc37775a2"
},
"AMI.HMI": {
"bytes": 12732432,
"sha256": "6772d1fb6e1b53ebbdf46f63fafc04522663cc341962f026772ced7da3002849"
},
"AMI_TJC8048X370_011.HMI": {
"bytes": 15448751,
"sha256": "97b00ceb452f120d6f01afd100aed5b41284830b66fe886fbb6e9c47acf7e56b"
},
"output/firmware/AMI_Controller.bin": {
"bytes": 16672,
"sha256": "1951c63e779429d08a992d1171fc92173e4399307ff741fdc5d9b7646848855d"
},
"output/hmi/AMI.tft": {
"bytes": 6242220,
"sha256": "274c7edabb5e92a70231e3db63fe1fc29139a750c8d23ec7681b24941d00bd53"
},
"output/hmi/AMI_TJC8048X370_011.tft": {
"bytes": 8863680,
"sha256": "6007a83691fa9f655af037ec5a8276bd843a0e6a51cf9056b7cf4c60ecf04472"
},
"output/pdf/AMI_CAN报文说明.pdf": {
"bytes": 138860,
"sha256": "8fa260a60146390ab467183fe962904147e916b7a66814ba4dfb5d24a4a5b2c3"
},
"docs/AMI_CAN_DBC说明.md": {
"bytes": 27193,
"sha256": "13a55e054b1f0a6def5f3e8794a63ad05c0a02a2f4950e6ccbb12db0125d455b"
}
}
}
@@ -0,0 +1,30 @@
[
{
"elf": "firmware\\build\\Debug\\AMI_Controller.elf",
"sha256": "551c32ec0707295dc2393a97fa03ab860479725b72fd6a49bc08f9bc5506d8fb",
"result": "passed",
"checks": [
"boot unknown speed: grey zero, UART terminator verified",
"CAN1: 9 zero, asymmetric, rounding and saturation vectors",
"CAN2: 9 zero, asymmetric, rounding and saturation vectors",
"8 invalid DLC/format/legacy frames reject without overwriting or refreshing expiry",
"unrelated SDC/BMS/VCU traffic cannot renew; same-value recovery and white zero work",
"tick zero and uint32 wrap: independent timeout boundary works"
],
"evidence": "ARM emulation with mocked HAL, not physical CAN/HMI"
},
{
"elf": "firmware\\build\\Release\\AMI_Controller.elf",
"sha256": "778cd5be96cc932a7ad13b971a9af96a449e680352687f044a95c975c998baa7",
"result": "passed",
"checks": [
"boot unknown speed: grey zero, UART terminator verified",
"CAN1: 9 zero, asymmetric, rounding and saturation vectors",
"CAN2: 9 zero, asymmetric, rounding and saturation vectors",
"8 invalid DLC/format/legacy frames reject without overwriting or refreshing expiry",
"unrelated SDC/BMS/VCU traffic cannot renew; same-value recovery and white zero work",
"tick zero and uint32 wrap: independent timeout boundary works"
],
"evidence": "ARM emulation with mocked HAL, not physical CAN/HMI"
}
]