From 2544a8f2b8fe1f6b54f10e6afded9d9c607f7c3f Mon Sep 17 00:00:00 2001 From: acetaffy Date: Wed, 30 Sep 2026 17:56:34 +0800 Subject: [PATCH] Add task confirmation, numeric debug status and communication handoff --- AMI.HMI | Bin 15132269 -> 15132269 bytes README.md | 36 ++++++- docs/AMI仪表通讯交接文档.pdf | Bin 0 -> 134143 bytes docs/通讯交接文档.md | 192 +++++++++++++++++++++++++++++++++++ docs/验证说明.txt | 4 + examples/ami_debug_send.c | 19 ++++ 6 files changed, 250 insertions(+), 1 deletion(-) create mode 100644 docs/AMI仪表通讯交接文档.pdf create mode 100644 docs/通讯交接文档.md create mode 100644 docs/验证说明.txt create mode 100644 examples/ami_debug_send.c diff --git a/AMI.HMI b/AMI.HMI index 948a75266c72599582ea7463c880e7e0e422d625..98fc11454404249de633ee52300d96c9d6086d11 100644 GIT binary patch delta 27510 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 Je4JMh{BLFXe4qdT diff --git a/README.md b/README.md index 7054946..16a10de 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,37 @@ # AMI -YMR A11仪表 \ No newline at end of file +YMR A11 仪表,使用淘晶驰 TJC4827X543_011 串口屏,分辨率 480 × 272。 + +当前通讯协议为 **v1.1(debug 数字状态版)**,工程使用 USART HMI 1.68.1.3037 编辑、编译。 + +## 工程与交接资料 + +- [AMI.HMI](AMI.HMI):最新版屏幕工程,打开后编译并下载到对应型号屏幕。 +- [通讯交接文档](docs/通讯交接文档.md):可编辑协议说明,包含全部状态编号、任务帧、主页面属性及联调步骤。 +- [PDF 文档](docs/AMI仪表通讯交接文档.pdf):适合直接转交接手者的 5 页版本。 +- [C 发送示例](examples/ami_debug_send.c):主控更新 debug 状态的参考函数。 +- [验证说明](docs/验证说明.txt):已完成检查和实物验证范围。 + +## 最小通讯示例 + +主控向屏幕发送 ASCII 指令,每条末尾追加三个实际字节 `FF FF FF`,当前波特率为 `9600`: + +```text +d0=1 +d1=2 +page debug +``` + +这三条分别将配电箱状态设为正常、左急停及行程/惯性状态设为故障、进入 debug 页面。`d0=1` 的完整字节为 `64 30 3D 31 FF FF FF`。 + +Debug 共 16 个全局变量 `d0~d15`,状态统一为 `0=未知、1=正常、2=故障`。页面每 250 ms 自动更新文字和颜色,`d1` 同时更新两个对应位置。不要继续直接写入旧接口的 `debug.tN.txt/pco`,它们会被刷新脚本覆盖。 + +主页面右上角隐藏热区进入 debug;debug 的返回按钮切回主页面。六个任务按钮进入确认页,确认后屏幕向主控发送 `AA 55 01 NN 0D 0A`,`NN=01~06`;取消不发送任务帧。任务帧结束符与主控发给屏幕的文本指令结束符不同。 + +## 验证与接手事项 + +工程编译通过:0 错误、0 警告。模拟器已验证状态转换、跨页更新和 `d1` 双位置同步;任务回传此前已做模拟检查。 + +实际屏幕、串口和主控尚未联机验证,C 示例尚未在目标主控工程编译。主页面部分数值的单位和缩放仍需与主控统一。任务执行裁决、VCU 通知、EBS 灯及 ECUBACK 安全输出由主控实现;仪表显示不能作为执行成功或安全回路导通的证明。 + +许可证沿用仓库中的 [AGPL-3.0](LICENSE)。 diff --git a/docs/AMI仪表通讯交接文档.pdf b/docs/AMI仪表通讯交接文档.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9b34ee3dcc15553f7570396d57655db651293517 GIT binary patch literal 134143 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

Mj^l`~VCjlE*jSPE;|{FN6Kukp-H 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%0Anjlm079 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 literal 0 HcmV?d00001 diff --git a/docs/通讯交接文档.md b/docs/通讯交接文档.md new file mode 100644 index 0000000..558f2f7 --- /dev/null +++ b/docs/通讯交接文档.md @@ -0,0 +1,192 @@ +# AMI 仪表通讯交接文档 + +协议版本 1.1(debug 数字状态版) | 2026-09-30 + +适用工程:AMI.HMI;屏幕 TJC4827X543_011,480 × 272;编辑器 USART HMI 1.68.1.3037。本文以随附的精简指令版工程为准。 + +## 1. 接手先看这三点 + +主控 → 屏幕:发送文本指令,末尾必须追加三个实际字节 FF FF FF。屏幕 → 主控:用户确认任务后发送固定 6 字节帧 AA 55 01 NN 0D 0A。这两种帧的结束方式不同。 + +debug 状态只发送 d0~d15 的数值;0=未知,1=正常,2=故障。屏幕自动处理中文和颜色,不再要求主控发送 txt/pco。 + +任务帧表示用户选择请求。仪表没有实现主控执行确认、运行完成回传或安全互锁裁决,主控必须自行判断能否执行。 + +## 2. 串口与发送规则 + +| 项目 | 当前约定 | +| --- | --- | +| 波特率 | 9600(Program.s 中 baud=9600) | +| 串口格式 | 联调使用 8N1;实物 UART 参数及电平按该型号规格书确认 | +| 接收模式 | recmod=0,使用屏幕原生文本指令协议 | +| 指令编码 | dN=状态 等指令为 ASCII;发送中文时使用 GB2312 | +| 指令结束 | 每条指令后加 FF FF FF;不需要 CR/LF,不发送字符串“FF FF FF” | +| 接线 | 主控 TX → 屏 RX,屏 TX → 主控 RX,共地;本交接未核实连接器针脚和电平 | + +## 3. 最小可用示例 + +以下三条依次设置配电箱正常、左急停/行程/惯性故障,再进入 debug 页面。仅发送指令本身,每条追加结束符。 + +```text +d0=1 +d1=2 +page debug +``` + +发送 d0=1 的完整字节:64 30 3D 31 FF FF FF(7 字节)。连续发送多条时,每条都要独立追加结束符,串口队列不得让不同任务的字节交错。 + + +--- + +# 4. Debug 状态编号 + +主控发送 dN=V;N 为下表编号,V 只能取 0、1、2。默认全部为 0。下表顺序是工程中的接口映射,不是电气线束针脚顺序。 + +| 变量 | 原始信号名 | 检测内容 | +| --- | --- | --- | +| d0 | Safe_DBBox_OUT | 配电箱安全回路 | +| d1 | Safe_L&BOTS&IW | 左急停、超行程和惯性开关 | +| d2 | Safe_Ba_BOX | 电池箱安全回路 | +| d3 | Safe_RSTOP | 右急停和驾驶舱急停 | +| d4 | Safe_LAST | 安全回路末端 | +| d5 | Safe_S | 左右后悬安全回路 | +| d6 | Safe_RES1 | RES 安全回路 | +| d7 | Safe_Control | 主控盒安全回路 | +| d8 | EBS_BE | 制动舵机电源 | +| d9 | EBS_12V | 电磁阀电源 | +| d10 | EBS_AIR | 气压传感器电源 | +| d11 | EBS_Oil | 油压传感器电源 | +| d12 | Driverless_INS | 惯导电源 | +| d13 | Driverless_WSS | 轮速传感器电源 | +| d14 | Driverless_Camera | 摄像头电源 | +| d15 | 12V_Control | 主控盒供电 | + +## 显示与生命周期 + +0 → 灰色“未知”(33840);1 → 绿色“正常”(2016);2 → 红色“故障”(63488)。其他数值显示未知,但主控应限制为 0~2。颜色由工程脚本处理。 + +d1 同时更新左急停及行程/惯性两个位置;一次发送即可同步。后悬、RES、主控盒在原图中未标出接入点,独立显示;连线表示原图的示意顺序,不能据此推断具体断点。 + +d0~d15 为全局变量,任何页面均可更新,切页保留,断电重置。debug 后初始化立即绘制状态,tm0 每 250 ms 刷新;离开 debug 后定时器停止,但全局变量仍可接收更新。 + +通讯断线不会自动恢复未知。主控或通讯管理层应在数据超时后将相应 dN 清为 0;建议仅发送变化项,并按项目周期补发完整状态。旧的 debug.tN.txt/pco 赋值会被定时器覆盖,接手代码应改为 dN=V。 + + +--- + +# 5. 任务选择回传 + +方向:屏幕 → 主控。用户点击主页面左侧按钮后进入 CONFIRM,显示所选任务。点击“确认发送”输出下表帧并返回 dash;点击“取消返回”不输出任务帧。 + +| 编号 NN | 任务 | 完整帧(十六进制) | +| --- | --- | --- | +| 01 | 八字绕环 | AA 55 01 01 0D 0A | +| 02 | 直线加速 | AA 55 01 02 0D 0A | +| 03 | 高速循迹 | AA 55 01 03 0D 0A | +| 04 | 车检测试 | AA 55 01 04 0D 0A | +| 05 | EBS 测试 | AA 55 01 05 0D 0A | +| 06 | 手动驾驶 | AA 55 01 06 0D 0A | + +| 偏移 | 字节 | 含义 | +| --- | --- | --- | +| 0~1 | AA 55 | 帧头 | +| 2 | 01 | 任务选择消息类型 | +| 3 | 01~06 | 任务编号,单字节二进制 | +| 4~5 | 0D 0A | 固定帧尾 | + +## 主控接收与处理 + +按连续字节流解析,不能假定一次 UART/DMA 回调正好收到一帧。维护接收缓冲,搜索 AA 55,等待至少 6 字节,检查类型=01、编号=1~6、帧尾=0D 0A。合法则交给任务状态机并消费 6 字节;非法则丢弃首字节重新搜索。 + +当前帧没有长度字段、序列号、校验和或 CRC;屏幕也没有 ACK 等待、自动重发机制。主控自行决定忙碌时如何处理新任务和重复请求。确认发送后,仪表仅把“当前任务”更新为用户选择,不证明主控已接受或车辆正在执行。 + +## 上电与其他返回帧 + +Program.s 上电通过 printh 发出 00 00 00 FF FF FF 88 FF FF FF。该启动数据不是任务指令。屏幕还可能输出官方错误、查询结果等返回数据,接收层要与任务帧区分。 + +联调可发送 bkcmd=3(同样加 FF FF FF)打开成功/失败反馈。官方执行成功码为 01 FF FF FF,变量名称无效为 1A FF FF FF。反馈是屏幕执行文本指令的结果,不是任务执行 ACK。当前工程未主动设置 bkcmd,不应以“没有成功返回”判断命令失败。 + + +--- + +# 6. 主页面与页面切换 + +主页面数字控件已设为全局,可通过带页面名的属性指令跨页更新。它们是整数显示控件,没有约定浮点缩放。不要直接发送小数值。 + +| 显示项 | 赋值命令示例 | 说明 | +| --- | --- | --- | +| 当前车速 | dash.speed.val=30 | 界面标注 km/h;示例显示 30 | +| 高压电压 | dash.ts.val=300 | 示例为显示值;电气单位需与主控统一 | +| 扭矩千分 | dash.mct.val=500 | 保留界面“扭矩千分”定义 | +| 高压电流 | dash.dl.val=20 | 示例为显示值 | +| 电机温度 | dash.djwd.val=45 | 示例为显示值 | +| MCU 温度 | dash.mcuwd.val=40 | 示例为显示值 | +| 最高单体 | dash.dtwd.val=50 | 含义/单位待主控确认,不能仅按控件名猜测 | + +数值 val 按有符号 32 位整数使用。电压、电流、温度及“最高单体”的单位、有效范围、无效值和缩放未形成主控协议;本版只确认控件名及整数赋值方式。联调前应由接手者补齐这些定义。 + +## 页面指令 + +```text +page dash +page debug +``` + +每条后加 FF FF FF。页面 ID:dash=0、debug=1、CONFIRM=2。优先用页面名,不依赖页面顺序。CONFIRM 应由六个任务按钮进入,避免未设置 pending_task 时直接进入。 + +隐藏入口:dash 右上角 x=440,y=0,w=40,h=25;debug 右上角“返回”切回 dash。调试页状态是显示功能,不输出 ECU/继电器动作指令。 + +## 其他文本与安全动作 + +dash 的 sd(锁定显示)、EBS 文本为私有控件;只在 dash 当前显示时用 sd.txt="已锁定" 或 EBS.txt="EBS 正常" 更新,中文需 GB2312。切页后会恢复设计初值。debug 的 d8 不会自动驱动主页面 EBS 文本。 + +按用户提供的状态表:EBS 舵机、电磁阀、气压、油压检测故障时的 VCU 通知、EBS 灯供地及 ECUBACK 断开,由主控实现;无人驾驶 INS/WSS/Camera 故障的 VCU 通知与 ECUBACK 断开也由主控实现,其 EBS 灯逻辑与前四项不同。屏幕工程不包含这些安全输出,也不把检测电平自动解释为正常/故障。 + + +--- + +# 7. 主控发送参考与验收 + +以下 C 示例一次提交整条消息,防止命令与结束符被交错。UART_SendBytes 是待接入的驱动接口;必须在返回前完成发送或复制数据,异步 DMA 不能继续引用函数栈缓冲。 + +```text +#include +#include +#include + +extern void UART_SendBytes(const uint8_t *data, size_t len); + +int ami_set_debug(unsigned id, unsigned state) +{ + uint8_t buf[24]; + if (id > 15 || state > 2) return -1; + int n = snprintf((char *)buf, sizeof buf, + "d%u=%u", id, state); + if (n < 0 || (size_t)n > sizeof buf - 4) return -1; + buf[n++] = 0xFF; + buf[n++] = 0xFF; + buf[n++] = 0xFF; + UART_SendBytes(buf, (size_t)n); + return 0; +} + +``` + +## 联调验收顺序 + +① 下载配套 AMI.HMI 编译生成的屏幕资源;将 UART 参数、电平和接线与实际型号核对。② 在 dash 页面发送 d0=1、d1=2,打开隐藏入口,应见配电箱绿正常、左急停和行程/惯性同时红故障。③ debug 内发送 d0=2、d1=1,应在约 250 ms 刷新周期内变色;发送 d0=0 应恢复灰未知。 + +④ 离开再进入 debug,状态应保留;断电重启应全为未知。⑤ 六个任务逐项确认并记录实际收到的 6 字节帧;逐项取消应无新增任务帧。⑥ 主控接收测试覆盖拆帧、粘帧、启动数据及非法编号。⑦ 单独验证安全逻辑,不能以仪表显示替代主控/执行器测试。 + +## 已完成与待验证 + +已完成:USART HMI 编译 0 错误、0 警告;模拟器验证跨页数值更新、正常/故障/未知转换,以及 d1 双位置同步。六个任务回传此前已做模拟检查。待完成:实际屏幕下载、UART 收发、触摸行为、数据时序和车辆安全动作。C 示例仅为驱动接入参考,本次未在目标主控工程中编译。 + +## 8. 工程版本与资料 + +配套 AMI.HMI 的 SHA-256: +4b7986154d6f0a7a4226ee4591373f39f9ed70af5a6c81ee9380c6e9f72c0ada + +旧版工程不能与本版 dN 接口混用。配套文件包括 AMI.HMI、PDF、通讯交接文档.md 和 ami_debug_send.c;其中 Markdown 为可编辑文字源,C 文件为参考发送函数。仓库中的实际位置见 README。 + +官方协议依据:wiki.tjc1688.com/commands/index.html;wiki.tjc1688.com/return/index.html;wiki.tjc1688.com/variables/bkcmd.html。项目自定义任务帧和 dN 编号以本文及配套工程为准。 diff --git a/docs/验证说明.txt b/docs/验证说明.txt new file mode 100644 index 0000000..8147f88 --- /dev/null +++ b/docs/验证说明.txt @@ -0,0 +1,4 @@ +精简数字接口版:d0-d15,0未知/1正常/2故障;tm0=250ms。 +编译0错误0警告,模拟器通过跨页更新、三态显示、d1双位置同步。 +真实屏幕及主控串口未联机验证。 +主控C示例尚未在目标工程编译。 diff --git a/examples/ami_debug_send.c b/examples/ami_debug_send.c new file mode 100644 index 0000000..53536de --- /dev/null +++ b/examples/ami_debug_send.c @@ -0,0 +1,19 @@ +#include +#include +#include + +extern void UART_SendBytes(const uint8_t *data, size_t len); + +int ami_set_debug(unsigned id, unsigned state) +{ + uint8_t buf[24]; + if (id > 15 || state > 2) return -1; + int n = snprintf((char *)buf, sizeof buf, + "d%u=%u", id, state); + if (n < 0 || (size_t)n > sizeof buf - 4) return -1; + buf[n++] = 0xFF; + buf[n++] = 0xFF; + buf[n++] = 0xFF; + UART_SendBytes(buf, (size_t)n); + return 0; +}