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,84 @@
VERSION "1.1"
NS_ :
NS_DESC_
CM_
BA_DEF_
BA_
VAL_
CAT_DEF_
CAT_
FILTER
BA_DEF_DEF_
EV_DATA_
ENVVAR_DATA_
SGTYPE_
SGTYPE_VAL_
BA_DEF_SGTYPE_
BA_SGTYPE_
SIG_TYPE_REF_
VAL_TABLE_
SIG_GROUP_
SIG_VALTYPE_
SIGTYPE_VALTYPE_
BO_TX_BU_
BA_DEF_REL_
BA_REL_
BA_DEF_DEF_REL_
BU_SG_REL_
BU_EV_REL_
BU_BO_REL_
SG_MUL_VAL_
BS_:
BU_: SDC_ACQ_DAC VehicleController
BO_ 1696 SDC_Heartbeat: 8 SDC_ACQ_DAC
SG_ Board_Identifier : 0|8@1+ (1,0) [0|255] "" VehicleController
SG_ Protocol_Version : 8|8@1+ (1,0) [0|255] "" VehicleController
SG_ Heartbeat_Sequence : 16|16@1+ (1,0) [0|65535] "" VehicleController
SG_ Uptime : 32|32@1+ (0.001,0) [0|4294967.295] "s" VehicleController
BO_ 1697 SDC_ADC_InputVoltage: 2 SDC_ACQ_DAC
SG_ Input_Voltage : 0|16@1+ (0.001,0) [0|65.535] "V" VehicleController
BO_ 1698 SDC_WheelSpeed: 4 SDC_ACQ_DAC
SG_ WheelSpeed_LeftFront_PA0 : 0|16@1+ (0.001,0) [0|65.535] "m/s" VehicleController
SG_ WheelSpeed_RightFront_PA6 : 16|16@1+ (0.001,0) [0|65.535] "m/s" VehicleController
BO_ 1699 SDC_DAC_Set: 3 VehicleController
SG_ DAC_Select : 0|8@1+ (1,0) [1|2] "" SDC_ACQ_DAC
SG_ DAC_Command_Voltage : 8|16@1+ (0.001,0) [0|5] "V" SDC_ACQ_DAC
BO_ 1700 SDC_DAC_Ack: 4 SDC_ACQ_DAC
SG_ DAC_Set_Result : 0|8@1+ (1,0) [0|1] "" VehicleController
SG_ DAC_Select : 8|8@1+ (1,0) [1|2] "" VehicleController
SG_ DAC_Output_Voltage : 16|16@1+ (0.001,0) [0|5] "V" VehicleController
BO_ 1701 ASSI_Lamp_Set: 1 VehicleController
SG_ ASSI_State : 0|8@1+ (1,0) [0|4] "" SDC_ACQ_DAC
BO_ 1702 SDC_GPIO_Status: 8 SDC_ACQ_DAC
SG_ SDC_Input_State : 0|15@1+ (1,0) [0|32767] "" VehicleController
SG_ SDC_Changed_Mask : 16|15@1+ (1,0) [0|32767] "" VehicleController
SG_ Timestamp : 32|32@1+ (0.001,0) [0|4294967.295] "s" VehicleController
VAL_ 1696 Board_Identifier 161 "A11_F407" ;
VAL_ 1699 DAC_Select 1 "DAC1" 2 "DAC2" ;
VAL_ 1700 DAC_Set_Result 0 "Failed" 1 "OK" ;
VAL_ 1700 DAC_Select 1 "DAC1" 2 "DAC2" ;
VAL_ 1701 ASSI_State 0 "AS_OFF" 1 "AS_READY" 2 "AS_DRIVING" 3 "AS_EMERGENCY" 4 "AS_FINISHED" ;
CM_ BO_ 1696 "Standard ID 0x6A0. Sent every 100 ms on CAN1 and CAN2.";
CM_ BO_ 1697 "Standard ID 0x6A1. Filtered and calibrated physical input voltage before the hardware divider.";
CM_ BO_ 1698 "Standard ID 0x6A2. Sent every 20 ms with two wheel speeds: left-front PA0 then right-front PA6. Raw value is mm/s (physical scale 0.001 m/s), derived from 49 pulses/rev and 1414 mm wheel circumference.";
CM_ BO_ 1699 "Standard ID 0x6A3. Accepted on CAN1 and CAN2. The on-wire voltage is an unsigned mV value. Each DAC is reset to 0 mV if its own control frame is not received again within 100 ms.";
CM_ BO_ 1700 "Standard ID 0x6A4. Sent on CAN1 and CAN2 after a DAC command. Result 0 indicates the I2C write failed.";
CM_ BO_ 1701 "Standard ID 0x6A5. Accepted on CAN1 and CAN2. Byte 0 selects the latched ASSI RGB lamp state: AS_OFF, AS_READY, AS_DRIVING, AS_EMERGENCY, or AS_FINISHED.";
CM_ BO_ 1702 "Standard ID 0x6A6. Sent every 1000 ms on CAN1 and CAN2. Changed-mask bits accumulate PD0-PD14 transitions since the preceding report.";
CM_ SG_ 1696 Board_Identifier "Fixed board identifier 0xA1.";
CM_ SG_ 1698 WheelSpeed_LeftFront_PA0 "Left-front wheel speed. TIM5_CH1 input capture on PA0; 49 pulses/rev and 1414 mm circumference.";
CM_ SG_ 1698 WheelSpeed_RightFront_PA6 "Right-front wheel speed. TIM3_CH1 input capture on PA6; 49 pulses/rev and 1414 mm circumference.";
CM_ SG_ 1702 SDC_Input_State "Bit 0 through bit 14 map directly to PD0 through PD14.";
CM_ SG_ 1702 SDC_Changed_Mask "A set bit identifies an input that changed during the preceding 1000 ms reporting interval.";
@@ -0,0 +1,18 @@
{
"result": "passed",
"messages": 13,
"signals": 51,
"known_payload_checks": 87,
"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,30 @@
[
{
"elf": "firmware\\build\\Debug\\AMI_Controller.elf",
"sha256": "cd3d9ce38757938a9ba898dd9f41dadbb0ee3b484e6de847d26b4c58be2f2d71",
"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": "4fd3023757769d6cf5ae7bc81f277082abbc4c3db77d779684d536707a206d08",
"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"
}
]
@@ -0,0 +1,20 @@
{
"sdc_remote": "https://git.acetaffy.ltd/acetaffy/SDC_ACQ_DAC.git",
"branch": "master",
"commit": "7bc2d9f1eaaf19814957037bd097cd879cbf4cbf",
"verified_on": "2026-10-05",
"source_dbc_sha256": "3ec8f4bf25e4255265113752aba3c10e3d5f98291ae32e75a795130c3f3c2567",
"release_bin_bytes": 16632,
"ram_bytes": 2656,
"files": {
"firmware/Core/Src/ami_app.c": "397717546de6423872c3147aab3155bae483c722a759f5639628b957ca285057",
"firmware/Core/Inc/ami_protocol.h": "95c7ef20aa1101071acf0a57ae049e7f9c0b453d24cb9a377bb8ad2754ebac16",
"AMI.dbc": "843c2f59ee642b2ad047ca410474833c4cbce2c2708663f428d35e5a63c720c8",
"AMI_CAN2_250k.dbc": "4d7a1b887ca037f859f25e0ad34d88498fed99d0af57587fb1033d2f06e5fec7",
"output/firmware/AMI_Controller.bin": "ac5cff0bd3a9e06499f2ebf4186863625ba8c664dcab67309f14acb7d83acabd",
"output/firmware/AMI_Controller_v2.5_500k_250k.bin": "a772bd9d1a278ed061b659e7996d276ebfa59fcc65260d0c7fc8a34f67bf0293"
},
"flash_performed": false,
"physical_can_test_performed": false,
"physical_hmi_test_performed": false
}