Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
a039b76
feat: Project STD 本地项目代码
Vansama74 Jul 29, 2026
abeffe3
refact: scan函数动态通道遍历 + HardFault调试变量加volatile
Vansama74 Jul 30, 2026
2544b45
docs: add ChongQing and QingHai highway fee display protocol documents
Vansama74 Jul 31, 2026
cec2dd2
feat: add QingHai protocol compatibility updates
Vansama74 Aug 4, 2026
5be0104
feat: sync protocol docs and tooling updates
Vansama74 Aug 5, 2026
3d69b77
fix: keep factory test formatting in sync
Vansama74 Aug 5, 2026
5a37d0b
feat: 帧同步竞态修复 + LDI/VMS行槽位重写 + 渲染引擎增强 + 出厂斜扫测试
Vansama74 Aug 11, 2026
b834ab0
feat: 重构烧录流程 + bootloader向量表偏移修复
Vansama74 Aug 11, 2026
24d0886
fix: 调整 1.577 模块矩阵为 1×1
Vansama74 Aug 11, 2026
3f01003
feat: SRAM/堆瘦身与协议帧队列修订,并对齐 05/06/07 文档
Vansama74 Aug 14, 2026
273fdee
docs: 对齐 05/06 文档与代码事实(EIDE 采样口径、协议选编差异、Makefile 源集)
Vansama74 Aug 14, 2026
7cd3d9c
docs: 重写 CLAUDE.md 对齐现行架构(bootloader 已落地、多协议 RB、initcall 全表、LwIP 实测参数)
Vansama74 Aug 14, 2026
3481325
fix: 消除项目代码编译警告并补全 Makefile Kernel 源集(bcc_utils)
Vansama74 Aug 14, 2026
b154a22
build: EIDE Debug 调整协议选编与链接输出任务排除
Vansama74 Aug 14, 2026
50849dd
feat: 四川 ETC/MTC/治超三协议解析器接入 + LDI/IAP 配置解耦落地
Vansama74 Aug 17, 2026
84066a6
fix+docs: MTC 变长帧修复、全屏换行、ETC 心跳停用、注释净化 + 新增协议接入规则文档
Vansama74 Aug 17, 2026
7af65b6
feat: 山东费显协议解析器接入 + 默认显示注册机制 + 显示越界修复
Vansama74 Aug 17, 2026
758b41c
feat: 贵州常规费显协议解析器接入 + '{' 帧族互斥守卫
Vansama74 Aug 18, 2026
3b25b71
fix: IAP 0x03 版本上报字节序修复 + 命令表越界防护 + 4B02 改 IP 重启生效
Vansama74 Aug 18, 2026
41f6e84
feat: PROGRAM_CODE 版本号上电落库 Sector1 + 升级中间态仅放行 net_cfg 更新
Vansama74 Aug 18, 2026
e47e141
feat: UART RX 由 DMA 空闲中断改为乒乓双缓冲 circular 模式
Vansama74 Aug 18, 2026
7d596d4
fix: 通道实例静态化 UAF 根治 + 帧分发活锁/越界修复 + channel_send 回验
Vansama74 Aug 18, 2026
a117441
feat: LDI 配置双源方案 X(Sector1 真源 + W25 镜像)+ 命令帧长越界防护
Vansama74 Aug 18, 2026
a2b7f78
fix: 渲染/显示/存储/编码转换多路越界与竞态修复
Vansama74 Aug 18, 2026
27c3715
docs: 同步 05/06/07/08/09 文档与 CLAUDE.md 至代码现状
Vansama74 Aug 18, 2026
6bd50d4
merge: 合并 phtty/yy 多控制卡联动(MSL)并适配新字体API
Vansama74 Aug 18, 2026
18ce017
build: MSL 收录位置对齐 .eide 顺序(协议探针优先级置末)
Vansama74 Aug 18, 2026
cbc7a74
docs: 字体API文档对齐重构实现 + MSL收录序说明
Vansama74 Aug 18, 2026
56d8d1b
fix: EIDE 排除旧 p20 驱动对齐 Makefile,规避 pl_hub75 API 缺失与同名符号链接冲突
Vansama74 Aug 18, 2026
6e3a5cc
fix: 链接脚本恢复主固件 0x08040000 基址,修复合并引入的向量表错位
Vansama74 Aug 18, 2026
0583863
fix: 光敏任务移除 RS485 亮度广播,修复单卡闪烁
Vansama74 Aug 18, 2026
e789186
revert: 移除 merge phtty/yy 引入的上游内容(MSL/旧P20/渲染接口等),本地项目回归自有工作
Vansama74 Aug 18, 2026
7a5f4bc
chore: 清理 eide.yml 中 MSL/旧P20/ah_mqtt 残留,保留用户 EIDE 偏好
Vansama74 Aug 18, 2026
c00c78a
build: 双构建入口口径统一——PROTO=ALL|CQ 与 CQ_FAULT_SCREEN 透传变量、云南/CQ/cJSON 收录与…
Vansama74 Aug 24, 2026
73fedf9
feat: 网络配置应用统一入口 app_net_boot——TCP 口两口径应用修复、CQ UDP 业务口接入、netconn 池扩容
Vansama74 Aug 24, 2026
1f4bbca
feat: 重庆协议模块目录化收录(ProtocolParser_ChongQing/ + cJSON 中间件)与故障屏支撑接口
Vansama74 Aug 24, 2026
4dd5f53
feat: 云南费显协议接入(ProtocolParser_YunNan/ 13 命令 + doc/11)
Vansama74 Aug 24, 2026
908a18a
docs: 同步 03/05/06/07/08 文档与 CLAUDE.md 至网络解耦/方案 B/云南接入现状
Vansama74 Aug 24, 2026
63ea041
chore: PROGRAM_CODE 更新为 9K1F3127E2,workspace 调试变量格式改为自然格式
Vansama74 Aug 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,4 @@ IndentCaseLabels: true
SortIncludes: false
AlignConsecutiveMacros: AcrossEmptyLines
AlignConsecutiveAssignments: Consecutive
BoolAcrossComments: true
59 changes: 44 additions & 15 deletions .clangd
Original file line number Diff line number Diff line change
@@ -1,17 +1,46 @@
CompileFlags:
Add:
- -isystem/usr/arm-none-eabi/include/c++/15.2.1
- -isystem/usr/arm-none-eabi/include/c++/15.2.1/arm-none-eabi/thumb/v7e-m+fp/hard
- -isystem/usr/arm-none-eabi/include/c++/15.2.1/backward
- -isystem/usr/lib/gcc/arm-none-eabi/15.2.1/include
- -isystem/usr/lib/gcc/arm-none-eabi/15.2.1/include-fixed
- -isystem/usr/arm-none-eabi/include
Remove:
- -fcallgraph-info*
- -mthumb-interwork
CompilationDatabase: ./build/Debug
Compiler: /usr/bin/arm-none-eabi-gcc
Add:
- --target=arm-none-eabi
- -mcpu=cortex-m4
- -mthumb
- -mfpu=fpv4-sp-d16
- -mfloat-abi=hard
- -std=gnu23
- -DUSE_HAL_DRIVER
- -DSTM32F407xx
- -I${workspace}/Application/Inc
- -I${workspace}/Application/Inc/IAP
- -I${workspace}/Application/Inc/LDI
- -I${workspace}/Application/Inc/ProtocolParser_QingHai
- -I${workspace}/Application/Inc/AH_MQTT
- -I${workspace}/Application/Inc/RLS
- -I${workspace}/Application/Inc/Channel
- -I${workspace}/Device/Inc
- -I${workspace}/Platform/Inc
- -I${workspace}/Kernel/Inc
- -I${workspace}/Core/Inc
- -I${workspace}/Drivers/CMSIS/Include
- -I${workspace}/Drivers/CMSIS/Device/ST/STM32F4xx/Include
- -I${workspace}/Drivers/STM32F4xx_HAL_Driver/Inc
- -I${workspace}/Middlewares/Third_Party/SEGGER_RTT
- -I${workspace}/Middlewares/Third_Party/LwIP/src/include
- -I${workspace}/Middlewares/Third_Party/LwIP/system
- -I${workspace}/Middlewares/Third_Party/FreeRTOS/Source/include
- -I${workspace}/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2
- -I${workspace}/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F
- -I${workspace}/Compiler
- -isystem/home/yystation/EnvTools/embedded-toolchain/arm-gnu-toolchain/arm-none-eabi/include/c++/15.2.1
- -isystem/home/yystation/EnvTools/embedded-toolchain/arm-gnu-toolchain/arm-none-eabi/include/c++/15.2.1/arm-none-eabi/thumb/v7e-m+fp/hard
- -isystem/home/yystation/EnvTools/embedded-toolchain/arm-gnu-toolchain/arm-none-eabi/include/c++/15.2.1/backward
- -isystem/home/yystation/EnvTools/embedded-toolchain/arm-gnu-toolchain/lib/gcc/arm-none-eabi/15.2.1/include
- -isystem/home/yystation/EnvTools/embedded-toolchain/arm-gnu-toolchain/lib/gcc/arm-none-eabi/15.2.1/include-fixed
- -isystem/home/yystation/EnvTools/embedded-toolchain/arm-gnu-toolchain/arm-none-eabi/include
Remove:
- -fcallgraph-info*
- -mthumb-interwork
Compiler: /home/yystation/EnvTools/embedded-toolchain/arm-gnu-toolchain/bin/arm-none-eabi-gcc
CompilationDatabase: ./build/Debug
Diagnostics:
Suppress:
- unused-includes
- drv_unknown_argument
Suppress:
- unused-includes
- drv_unknown_argument
134 changes: 114 additions & 20 deletions .eide/eide.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,19 @@ virtualFolder:
- name: Application
files:
- path: Application/Src/app_boot.c
- path: Application/Src/app_net_boot.c
- path: Application/Src/app_default_display.c
- path: Application/Src/app_render.c
- path: Application/Src/app_key.c
- path: Application/Src/app_light_sensor.c
- path: Application/Src/app_uart_baud.c
- path: Application/Src/app_test.c
- path: Application/Src/app_factory_test.c
folders:
- name: config
files:
- path: Application/Src/Config/app_board_net_cfg.c
folders: []
- name: channel
files:
- path: Application/Src/Channel/app_mqtt.c
Expand All @@ -39,25 +46,73 @@ virtualFolder:
files:
- path: Application/Src/IAP/app_iap_cmd.c
- path: Application/Src/IAP/app_iap.c
- path: Application/Src/IAP/app_iap_cfg.c
folders: []
- name: ldi
files:
- path: Application/Src/LDI/app_ldi.c
- path: Application/Src/LDI/app_ldi_cmd.c
- path: Application/Src/LDI/app_ldi_device.c
- path: Application/Src/LDI/app_vms_ctrl.c
- path: Application/Src/LDI/app_ldi_cfg.c
folders: []
- name: ProtocolParser_QingHai
files:
- path: Application/Src/ProtocolParser_QingHai/app_qh_proto.c
- path: Application/Src/ProtocolParser_QingHai/app_qh_proto_parse.c
- path: Application/Src/ProtocolParser_QingHai/app_qh_proto_cmd.c
- path: Application/Src/ProtocolParser_QingHai/app_qh_proto_voice.c
folders: []
- name: ProtocolParser_SiChuang_ETC
files:
- path: Application/Src/ProtocolParser_SiChuang_ETC/app_sc_etc_proto.c
- path: Application/Src/ProtocolParser_SiChuang_ETC/app_sc_etc_proto_parse.c
- path: Application/Src/ProtocolParser_SiChuang_ETC/app_sc_etc_proto_cmd.c
folders: []
- name: ProtocolParser_SiChuang_MTC
files:
- path: Application/Src/ProtocolParser_SiChuang_MTC/app_sc_mtc_proto.c
- path: Application/Src/ProtocolParser_SiChuang_MTC/app_sc_mtc_proto_parse.c
- path: Application/Src/ProtocolParser_SiChuang_MTC/app_sc_mtc_proto_cmd.c
- path: Application/Src/ProtocolParser_SiChuang_MTC/app_sc_mtc_proto_voice.c
folders: []
- name: ProtocolParser_SiChuang_Overload
files:
- path: Application/Src/ProtocolParser_SiChuang_Overload/app_sc_ol_proto.c
- path: Application/Src/ProtocolParser_SiChuang_Overload/app_sc_ol_proto_parse.c
- path: Application/Src/ProtocolParser_SiChuang_Overload/app_sc_ol_proto_cmd.c
folders: []
- name: ProtocolParser_ShanDong
files:
- path: Application/Src/ProtocolParser_ShanDong/app_sd_proto.c
- path: Application/Src/ProtocolParser_ShanDong/app_sd_proto_parse.c
- path: Application/Src/ProtocolParser_ShanDong/app_sd_proto_cmd.c
- path: Application/Src/ProtocolParser_ShanDong/app_sd_proto_default.c
folders: []
- name: ProtocolParser_GuiZhou
files:
- path: Application/Src/ProtocolParser_GuiZhou/app_gz_proto.c
- path: Application/Src/ProtocolParser_GuiZhou/app_gz_proto_parse.c
- path: Application/Src/ProtocolParser_GuiZhou/app_gz_proto_cmd.c
- path: Application/Src/ProtocolParser_GuiZhou/app_gz_proto_voice.c
folders: []
- name: ProtocolParser_YunNan
files:
- path: Application/Src/ProtocolParser_YunNan/app_yn_proto.c
- path: Application/Src/ProtocolParser_YunNan/app_yn_proto_parse.c
- path: Application/Src/ProtocolParser_YunNan/app_yn_proto_cmd.c
- path: Application/Src/ProtocolParser_YunNan/app_yn_proto_voice.c
folders: []
- name: ProtocolParser_ChongQing
files:
- path: Application/Src/ProtocolParser_ChongQing/app_cq_proto.c
- path: Application/Src/ProtocolParser_ChongQing/app_cq_proto_parse.c
- path: Application/Src/ProtocolParser_ChongQing/app_cq_proto_cmd.c
folders: []
- name: rls
files:
- path: Application/Src/RLS/app_rls_cmd.c
- path: Application/Src/RLS/app_rls.c
folders: []
- name: msl
files:
- path: Application/Src/MSL/app_msl.c
- path: Application/Src/MSL/app_msl_cmd.c
folders: []
- name: Drivers
files: []
folders:
Expand Down Expand Up @@ -224,6 +279,10 @@ virtualFolder:
- path: Middlewares/Third_Party/SEGGER_RTT/SEGGER_RTT_printf.c
- path: Middlewares/Third_Party/SEGGER_RTT/SEGGER_RTT_Syscalls_GCC.c
folders: []
- name: cJSON
files:
- path: Middlewares/Third_Party/cJSON/cJSON.c
folders: []
- name: Compiler
files:
- path: Compiler/startup.c
Expand All @@ -235,6 +294,7 @@ virtualFolder:
files:
- path: Device/Comm/dev_rs232.c
- path: Device/Comm/dev_rs485.c
- path: Device/Comm/dev_rs232_voice.c
folders: []
- name: Network
files:
Expand All @@ -255,8 +315,9 @@ virtualFolder:
- name: Display
files:
- path: Device/Display/dev_display.c
- path: Device/Display/dev_display_p20.c
- path: Device/Display/dev_display_old_p20.c
- path: Device/Display/dev_display_1_969.c
- path: Device/Display/dev_display_1_577.c
- path: Device/Display/dev_display_1_260.c
folders: []
- name: Platform
files:
Expand Down Expand Up @@ -316,6 +377,7 @@ targets:
defineList:
- USE_HAL_DRIVER
- STM32F407xx
- PROTO_CHONGQING
incList:
- Core/Inc
- Drivers/CMSIS/Include
Expand All @@ -335,18 +397,35 @@ targets:
- Application/Inc/Channel
- Application/Inc/IAP
- Application/Inc/LDI
- Application/Inc/Config
- Application/Inc/AH_MQTT
- Application/Inc/RLS
- Application/Inc/MSL
- Application/Inc/ProtocolParser_QingHai
- Application/Inc/ProtocolParser_SiChuang_ETC
- Application/Inc/ProtocolParser_SiChuang_MTC
- Application/Inc/ProtocolParser_SiChuang_Overload
- Application/Inc/ProtocolParser_ShanDong
- Application/Inc/ProtocolParser_GuiZhou
- Application/Inc/ProtocolParser_YunNan
- Application/Inc/ProtocolParser_ChongQing
- Middlewares/Third_Party/cJSON
libList: []
excludeList:
- <virtual_root>/Drivers/BSP/Key/key.c
- <virtual_root>/Drivers/BSP/RingBuff/Ringbuffer.c
- <virtual_root>/Drivers/BSP/Display/scan.c
- <virtual_root>/Device/Display/dev_display_p20.c
- <virtual_root>/Application/protocol/ah/ah_mqtt_cmd.c
- <virtual_root>/Application/protocol/ah/ah_mqtt.c
- <virtual_root>/Application/channel/app_mqtt.c
- <virtual_root>/Device/Display/dev_display_1_260.c
- <virtual_root>/Application/protocol/ah
- <virtual_root>/Application/protocol/rls
- <virtual_root>/Application/protocol/ProtocolParser_ShanDong
- <virtual_root>/Application/protocol/ProtocolParser_QingHai
- <virtual_root>/Application/protocol/ProtocolParser_GuiZhou
- <virtual_root>/Device/Display/dev_display_1_969.c
- <virtual_root>/Application/protocol/ProtocolParser_SiChuang_MTC
- <virtual_root>/Application/protocol/ProtocolParser_SiChuang_ETC
- <virtual_root>/Application/protocol/ProtocolParser_SiChuang_Overload
- <virtual_root>/Application/protocol/ldi
- <virtual_root>/Application/protocol/ProtocolParser_ChongQing
settings:
debugger: cortex-debug
toolchain: GCC
Expand All @@ -361,11 +440,11 @@ targets:
asm-compiler: {}
beforeBuildTasks: []
c/cpp-compiler:
language-c: c23
language-cpp: c++23
language-c: gnu23
language-cpp: gnu++23
one-elf-section-per-data: true
one-elf-section-per-function: true
optimization: level-0
optimization: level-3
warnings: all-warnings
global:
$float-abi-type: hard
Expand All @@ -376,6 +455,9 @@ targets:
stack-usage: true
use-newlib-nano: true
linker:
$outputTaskExcludes:
- .s19
- .bin
$toolName: auto
LIB_FLAGS: -lm
output-format: elf
Expand Down Expand Up @@ -420,8 +502,8 @@ targets:
uploadConfigMap:
Custom:
bin: ""
commandLine: openocd -f ./Compiler/stm32f407zg.cfg -c "init; halt; program ./build/Debug/${workspaceFolderBasename}.hex verify reset exit"
eraseChipCommand: openocd -f ./Compiler/stm32f407zg.cfg -c "init; halt; stm32f4x unlock 0; stm32f4x mass_erase 0; shutdown"
commandLine: bash ./tool/flash_all.sh
eraseChipCommand: ""
JLink:
baseAddr: ""
bin: ""
Expand All @@ -430,12 +512,22 @@ targets:
vendor: ST
otherCmds: ""
proType: 1
speed: 8000
speed: 32000
OpenOCD:
baseAddr: "0x08000000"
bin: ""
interface: cmsis-dap
target: stm32f4x
STLink:
address: "0x08000000"
bin: ""
elFile: None
optionBytes: .eide/debug.st.option.bytes.ini
otherCmds: ""
proType: SWD
resetMode: default
runAfterProgram: true
speed: 4000
probe-rs:
allowEraseAll: false
baseAddr: "0x08000000"
Expand All @@ -444,7 +536,7 @@ targets:
protocol: swd
speed: 10000
target: STM32F407ZG
uploader: probe-rs
uploader: JLink
Release:
cppPreprocessAttrs:
defineList:
Expand All @@ -467,6 +559,8 @@ targets:
- Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2
- Middlewares/Third_Party/FreeRTOS/Source/include
- Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F
- Application/Inc/ProtocolParser_ChongQing
- Middlewares/Third_Party/cJSON
- Compiler
- Drivers/BSP/Display
- Drivers/BSP/Key
Expand Down
17 changes: 0 additions & 17 deletions .eide/env.ini

This file was deleted.

32 changes: 16 additions & 16 deletions Application/Inc/AH_MQTT/ah_mqtt.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,24 +11,24 @@
#define MQTT_FRAME_MAX_LEN (21U + 512U)

typedef struct [[gnu::packed]] topic_baseinfo {
char station_hex[8];
char lane_hex[2];
char device_type[2];
char device_id[2];
char station_hex[8] __attribute__((nonstring));
char lane_hex[2] __attribute__((nonstring));
char device_type[2] __attribute__((nonstring));
char device_id[2] __attribute__((nonstring));
} topic_info_t;

typedef struct [[gnu::packed]] notify_date {
char year[4];
char month[2];
char day[2];
char hour[2];
char year[4] __attribute__((nonstring));
char month[2] __attribute__((nonstring));
char day[2] __attribute__((nonstring));
char hour[2] __attribute__((nonstring));
} notify_date_t;

typedef struct [[gnu::packed]] notify_id {
notify_date_t date_time;
char device_type[2];
char device_id[2];
char send_count[6];
char device_type[2] __attribute__((nonstring));
char device_id[2] __attribute__((nonstring));
char send_count[6] __attribute__((nonstring));
} notify_id_t;

// 设备状态
Expand All @@ -44,11 +44,11 @@ typedef struct [[gnu::packed]] sign_up {
notify_id_t notify;
char type;
char work_sta;
char soft_ver[10];
char hard_ver[10];
char protocol_ver[10];
char company[10];
char device[10];
char soft_ver[10] __attribute__((nonstring));
char hard_ver[10] __attribute__((nonstring));
char protocol_ver[10] __attribute__((nonstring));
char company[10] __attribute__((nonstring));
char device[10] __attribute__((nonstring));
char reserved[21];
} sign_up_t;

Expand Down
Loading