外设执行业务流程
当前流程由 PeriphExecManager、PeriphExecScheduler、PeriphExecExecutor 和既有工作池共同完成。此页描述实际模块边界,不以历史伪代码、行号或候选测试数字代表当前验证。
配置到执行
普通修改先提交配置,再更新运行索引,失败不伪造保存成功。配置文件整包导入与普通编辑不同,暂存提交后须重启。运行版本、输出来源与设备实例用于阻止旧排队任务在修改后执行到新目标。
调度输入
| 输入 | 检查方式 | 关键边界 |
|---|---|---|
平台 id/value | 按 ID 和平台模式匹配 | 操作符 1 是设置模式,不是不等于 |
| 间隔定时 | 单调毫秒到期检查 | 首次可立即准入,拒绝不推进成功时间 |
| 每日定时 | 有效系统本地日历 | 不补错过分钟,同次启动阻止旧日期重放 |
| 按键 | 稳定输入状态机 | 使用保存消抖;长按阶段递进,双击订阅影响单击时机 |
| 本地采样 | 实际缓存键数据事件 | 无效/过期数据不能伪装新测量 |
| 轮询 | 周期动作与数据入口分别处理 | 含采集动作的周期会执行整条规则,不门控紧随的输出 |
平台输入不等于本地传感器入口。轮询采集的阈值联动用独立 ds: 事件规则;Modbus 自采集重入会被抑制。字段细节见配置指南。
动作执行与资源生命周期
规则最多 3 个 OR 触发器、4 个动作。规则及各动作可保存执行模式;动作延时在该动作前执行,不能代替实际完成反馈。既有工作池、队列、锁等待和协议超时有界,资源不足应拒绝或进入可恢复保护;不要新增每条规则独占的无限后台任务。
动作通过 PeripheralManager、协议与电机服务处理来源占用、类型、版本和总线仲裁。GPIO 翻转基于最近成功逻辑输出,未知状态拒绝;波形停止与安全关断不同。步进动作 12 和灯效动作 11 当前有效,不是退休槽。系统动作 7/9、动作 20 及旧远程通道 33 的边界见动作索引。
传感器动作保留实际通道、单位、原采样时间与质量;读失败留下旧缓存不算新采样。温控和 SD 记录是持续控制器,手动运行动作只读状态,不能以按钮成功理解为重新启动或解除故障。
完成、上报与联动
动作结果分别记录执行成功、拒绝、失败或结果未知。GPIO SDK 接收、串口完成、Modbus ACK 与物理动作不同;超时且可能已写入时不得自动重复输出。规则完成可带 success/failed/cancelled,不会凭通知伪造动作成功。
监听指定规则完成时使用实际规则 ID。periph_exec_completed 不是任意完成的通配符。固定事件及完成链的潜在环在配置和启用前校验,数据条件不能豁免潜在环。图容量不足不会默认放行。
MQTT 上报绑定捕获的实例与主题,使用有界队列并校验完整正文;断线恢复不自动转投新实例。SSE 心跳仅维持连接,不证明新业务数据。读取历史和卡片重绘不能刷新原采样年龄。详细结果见动作检查及Modbus 控制结果。
核验重点
本地应覆盖配置失败保留、来源变更后退休、无效参数、准入拒绝、样本失鲜、联动环和队列满。设备验证另核对版本、芯片/内存、配置、业务负载、协议数据与实物反馈;短时本机回归不能代表九环境或长期验收通过。

