外设能力与验收边界
2026-10-05 18:05当前状态:四设备候选four-device-candidate-20261005-r5正在验证,尚无本轮完整PASS。r4保持FAIL,主证据和恢复测试嵌套证据均已独立保全(INTEGRITY_PASS不代表候选通过)。Windows报告原子替换冲突修复后的four-device-soak-focused-20261005-r2仅取得35项设备长测、66项触屏长测、24项候选观察的本地定向PASS,输入稳定、未访问设备;没有据此增加任何实物或长期验收通过项。
本轮优先COM15(ESP32-S3-F16R8)、COM4(ESP32-C3-F4R0)、COM16(ESP32-F4R0)和COM8/9(同一台ESP32-S3-F16R8触控屏)。四台配置保全部署、实际Web访问、资源/内存、物理反馈及24小时/7天仍待各自证据;C6容量、其余环境与完整九环境/RGB保留独立待办。以下带日期、P8/P7/r3及容量数字的记录均为历史,不继承为当前候选通过;当前进展以本段和系统改进状态顶部为准。
核对日期:2026-10-04。下面描述系统改进开发候选,使用前还要核对设备当前固件版本、能力接口、板型修订和实际接线。新代码存在不证明现场设备已经更新。
代码列出44个外设类型,其中35个有条件实现,9个是未配置、未实现、调试或保留类型。35也不是已经通过实物验收的型号数;同一个类型可对应多个模块,编译开关、芯片、引脚、总线及实例数量仍有限制。Modbus设备由协议配置管理,不通过普通外设表单新建。
当前实现与软件验证
2026-10-04 23:44当前增量:下方P8和r3类型表保留历史;最新候选尚待完整验证,当前状态以系统改进状态为准。
| 新增或补齐能力 | 已取得的本地证据 | 尚未验收 |
|---|---|---|
| ADS1115同址1~4路扫描 | r60真实45个驱动/缓存场景及双视口50个表单场景通过;锁外等待、代际取消、逐路时间、整轮发布、外层超时清除旧诊断均已覆盖。默认单MUX兼容,详见扫描说明。 | 完整固件/容量、每路电气量程与标定、通道时差、现场组合及内存 |
| 数字OUT雷达49 | 受管GPIO、双沿去抖、确认失活后保持、暂停/退役/外来owner拒读已实现,r56的28场景×4芯片分支通过。 | 模块OUT极性、自身保持/噪声、接线与实际状态;不含UART雷达协议 |
| RTC/SD/UART/DS18B20 | RTC默认关闭的启动种子及未认证来源展示;SD自动记录/有界队列/轮转和历史文件保护;UART硬件错误代际隔离;DS18 ROM绑定与锁外等待,均已实现并有各自定向回归。 | 电池保持、可信时间现场变更、卡满/掉电/恢复、串口噪声、真实采集及资源占用 |
| 动作21与每日执行 | 固定目标事件防环、动态目标拒绝、单次条件上报和启动内日期水位已实现,真实执行/图/负例回归通过。 | 当前完整候选、MQTT实际接收与现场故障恢复 |
Health/MQTT共享JSON写入已完成真实完整方法/逐分配失败/恢复差分;它们不证明MCU内存收益。2026-10-05 00:18核对:含全部新增的C6容量r14实际BIN3,364,320 B,超原分区21,984 B;r13编译失败与r14容量失败均已独立保全。离线读取目标ELF显示传感器缓存对象由1304增至1552 B,这是静态ABI大小,不是运行内存实测。完整Host/Native/Web/S3+C6检查正在运行,尚无完整候选PASS;九环境/RGB与全部实物、资源内存、RTC保持、2h/24h/7d/V14仍未通过。原失败记录保留,后继复验不改写原结论。
P8历史证据
以下P8证据覆盖旧P7/r3描述中的“未运行/夹具阻断”状态;P7原失败与后面的类型范围表保留为历史。已经实现、指定Host模块通过、完整候选通过和实物验收仍是四件不同的事。
历史定向 focused r11为385/385通过,输入稳定并已独立保全。实际范围是Modbus来源核心157、Protocol42、虚拟外设35、启动快照44、HTTP52、匹配结果报告22、身份绑定15和报告载荷18;不能把这385项称为全系统或全部H1通过。
统一诊断 P8(precheck r8)于12:05:54终态FAIL,1772输入稳定并独立保全。Host实际 4058项:4057通过、0失败/错误、1跳过;跳过的是test_config_staging_journal中Windows文件符号链接权限场景(WinError1314),不算已验证。Native2379/2379、离线恢复61、内存契约、六静态、新Web页面186项和配置121项通过。原P7三类装配错误和四项失败已实际修复复验。
当前阻塞为两个目标的应用容量:S3-F8R0程序3,682,183 B超过3,670,016 B分区12,167 B;C6-F4R0程序统计虽未超限,实际BIN3,395,328 B超过3,342,336 B分区52,992 B。两者均无本批可部署制品,不扩大分区或放宽容量门槛;后继优化须重新实测。
证据在固件仓库artifacts/system-plan-r20-precheck-20261004-r8/host-unit-all.log(SHA256=943a1561e3b38e8a320389ea048fd4ea9aa467b77bd90b8d52f8cae6fc896cc5)及artifacts/system-plan-r20-precheck-r8-independent-verification-20261004/report.json。独立保全为INTEGRITY_PASS,原候选仍FAIL。下面方法数均来自该P8 Host日志,不跨候选累加。
| 已实现能力 | P8 Host证据(下表模块无跳过) | 尚未验收的边界 |
|---|---|---|
| ADS1115生产驱动、转换会话与采样链 | test_ads1115_driver24、test_ads1115_session14通过 | 量程/标定/真实采集与平台收到 |
| MCP23017 provider/session、RESET与整组启动 | test_mcp23017_provider21、test_mcp23017_session19、test_mcp23017_device27、test_io_expander_manager3通过 | A7/B7、RESET、供电/负载与故障关闭 |
| PCA9685受检命令、OE、共频与显式启动 | config6/device26/provider19/session10/manager18/web12全部通过,模块名前缀均为test_pca9685_ | 实际PWM波形、OE上拉和负载 |
| H1描述驱动表单与解析 | test_h1_parameter_contract5、test_h1_register_contracts7通过 | 旧Web字段断言已在test_p1_peripheral_web_contract8项中通过;实际设备界面与硬件仍待验收 |
| GPIO/DAC与运动输出 | managed_pin_io25、dac_action28、managed_pin_manager7、encoder_checked_lifecycle15、ordinary_control121、motion_ordinary44、stepper_managed_lifecycle44通过 | P7三类fixture装配问题已实测修复;物理电压/波形、IRQ、运动和负载未验 |
| TM1637/LCD1602/OLED来源与失败返回 | display_ordinary41、lcd1602_driver29、oled_i2c_ownership26、lcd_http7通过 | 实际字符/段码/背光与总线组合;ACK不等于显示正确 |
| RF收发学习、IR接收 | rf_output_control34、rf_receiver_lifecycle30、ir_receiver_lifecycle25通过 | 实际协议/噪声/距离;不承诺IR发送 |
| RTC、SD/UART、温控与迁移 | system_time_quality33、sd_status_action18、uart_action40、thermostat_runtime7、config_migration_storage17等既有模块通过 | 电池走时、卡故障、串口噪声、温控负载、两板迁移与独立试用 |
| RGB/GT911和资源观测 | rgb_display_backend2、gt911_ownership17、runtime_resource_snapshots4、task_stack_snapshot26通过 | RGB完整固件、实物显示/触摸、DRAM/DMA/PSRAM/栈与恢复实测 |
表中简写模块均位于固件仓库test/unit/test_<名称>.py,数字为unittest方法数,不重复累计芯片分支。P8另有Modbus来源核心157、Protocol43、虚拟外设35、HTTP52通过;P7原失败模块modbus_panel_observations2、modbus_wait_scheduler2、modbus_relay_async2均实际通过。模块通过不改变应用容量失败、平台收件或物理反馈尚未验收的边界。
完整九环境/RGB、设备部署、真实资源/内存、RTC保持和2h/24h/7d/V14尚未完成。H1驱动、普通控制、RTC/SD/UART和迁移已有实现;这些验收缺口不表示需要重新开发整套功能,也不表示可以发布。
P7历史失败(保留)
历史统一诊断 precheck r7于11:29:50终态FAIL,1772输入稳定并独立保全;其中Host结果为:3914项,4失败、3类装配错误、1跳过。下面仅列这个已结束Host日志中的局部结果,Web页面186项、配置121项通过;Native2379项有5失败,S3/C6均因Modbus清理守卫类型不符编译失败,没有本批新应用制品。证据在固件仓库artifacts/system-plan-r20-post-r6-focused-20261004-r11/report.json、artifacts/system-plan-r20-post-r6-focused-independent-20261004-r11/verification.json以及artifacts/system-plan-r20-precheck-20261004-r7/host-unit-all.log。
当时三类装配错误来自RF/显示依赖未同步;另有Modbus观测、retry装配,以及relay帧长度和Web字段的旧源码断言四项失败。修复当时已合入、等待r8;现在已经取得上方P8复验结果。原P7 FAIL和日志保持原结论,不将后继通过反写到历史候选。
r3历史验证状态
集中诊断r20-r3在2026-10-04 04:18:14终态 FAIL,尚不可发布。19份阶段日志和1659项输入已独立核验;生产源码与测试输入稳定,另一个任务的一份文档发生漂移,原失败与输入不稳定记录仍保留。若干Host子组已通过,但GPIO/编码器/步进测试夹具、GT911测试夹具和固件编译入口仍暴露问题,后继修复须重新集中验证。夹具修复不会把原失败改成通过。
本批完整九环境、RGB专用候选、设备部署与实物验收尚未通过。表内所有类型的本候选实物验收和长期稳定性均为 NOT_RUN,不会继承历史设备的通过结果。更多候选信息见系统改进状态。
按类型查看适用范围
“有实现”表示可以定位对应代码入口;完整链路还需逐项核对表单、解析、保存、初始化、采样/动作、质量、上报、释放与重启恢复。未知或尚未绑定的测试证据不自动表示功能尚未开发。
| 类型ID与功能 | 已有实现及适用边界 | 仍需完成的验收 |
|---|---|---|
| 1 UART | 通用串口与控制台、Modbus有不同owner和容量;接收事件带来源代际 | 实际速率、半帧/噪声、竞争、报告及重启恢复 |
| 2 I2C、3 SPI | 共享总线、地址或CS租约;不等于任意I2C/SPI器件已有驱动 | 多设备组合、断线、频率兼容及失败释放 |
| 11/13/14 数字输入,18/19/20 中断输入 | 数字读入、上下拉、受检中断与有界队列,受芯片引脚限制 | 实际极性、去抖、频率、丢脉冲、反复重配 |
| 12 数字输出 | 本机GPIO或扩展通道;命令/锁存状态与负载反馈分开,温控有独立故障策略 | 安全初值、反相、互锁、实际负载与故障关闭 |
| 15/26 ADC | 受检ADC单元、通道和校准;芯片能力、ADC2/Wi-Fi限制分别处理 | 电路量程、精度、真实零、断线、并发与恢复 |
| 16/17 PWM输出 | LEDC资源与频率/分辨率约束;16也是PWM模拟输出 | 与舵机/蜂鸣器/背光竞争、真实波形与失败清理 |
| 27 DAC | 仅有DAC的芯片分支;r3规则动作5旁路问题已在后继代码修复,新增范围、运行状态、资源与SDK结果校验,待集中复验 | 动作入口完整回归,电压/负载/零输出;不表示具备0–10V电路 |
| 36 LCD/OLED、52 LCD1602 | 对应I2C/SPI显示器;LCD1602使用PCF8574字符屏路径 | 正确字符、截断/背光、NACK/短写恢复、实例限制 |
| 37 SDIO | 当前实际为SDSPI单实例与受限文件操作,不是SDMMC | 满盘、掉电、恢复、记录负载与总线共存 |
| 38 通用传感器 | 包含ADS1115、AHT20、BH1750、BMP280、MPU6050、SHT30/SHT31、INA226等已登记驱动及传统采集分支 | 每型号字段/单位、注册与实例容量、物理采集、标定、故障恢复 |
| 41 舵机、42 步进电机 | 有限舵机PWM;步进为现有四相GPIO方案,均非闭环位置反馈 | 脉宽/线圈顺序、电流、限位、速度、失步和安全停机 |
| 43 编码器 | 两输入、固定槽、软件ISR及代际保护,不是PCNT后端 | 最高频率、方向、抖动、计数边界与重启 |
| 44 OneWire | 现有DS18B20采集,不外推任意OneWire器件 | ROM绑定、转换等待、掉线、实际owner释放 |
| 45 NeoPixel | 有界灯珠数、后端发送与失败资源保留;r3相关Host组70项通过 | 供电、物理颜色/时序、长链及负载;不等于RGB并口屏通过 |
| 47 TM1637、48 RF、49 数字雷达 | 数码管、基础RF收发/可选学习、数字OUT雷达;49不等于LD2410多字段UART驱动 | 段码/显示、实际编码/重复帧、极性/去抖/断线及释放 |
| 50 DS1302 RTC | 三线RTC、时间来源与质量、UTC/显示转换 | 电池保持、走时误差、无效时间、NTP来源和真实显示 |
| 51 Modbus设备 | 协议管理、寄存器映射、字序/倍率与质量;只读模板生成禁用草稿 | 确切仪表、CRC/超时、字序/单位、读写限制与平台接收 |
| 53 红外接收、54 RFID | 红外解码与MFRC522 SPI单例及受限块操作;不承诺通用红外发送 | 确切协议/卡型、噪声/去重、权限、超时和释放 |
| 55 I/O扩展 | PCF8574 8路、MCP23017 16路;MCP23017整组明确启动,输入采样与输出锁存区分 | A7/B7、RESET、子通道安全、配置保全及总线故障 |
| 56 屏幕 | SPI ST7789/ILI9341及受限ST7701 RGB/GT911配置;实际后端/缓冲/worker有资源登记 | RGB专用固件、DRAM/PSRAM峰值、触摸/睡眠/显示与长稳 |
| 57 PCA9685 | 评审后明确启动、独占OE、共频约束及受检命令;不自动恢复输出 | OE外部上拉、故障关闭、真实PWM频率/波形/负载 |
| 60 设备事件 | 逻辑对象,无物理GPIO;事件身份、规则与队列 | 循环、限流、失联报告与重启配置 |
| 0 未配置;4 CAN、5 USB、21 GPIO_TOUCH、31 JTAG、32 SWD、39 CAMERA、40 ETHERNET、46保留槽 | 这9类不作为普通外设驱动支持;40与独立W5500网络功能不同,21与GT911触摸不同 | 旧配置拒绝与不可用提示,不纳入可用模块数量 |
数据和控制状态代表什么
传感器采样带来源、单位、时间和质量;失败、失鲜、未采样不能冒充有效0。ADS1115已有驱动→缓存→观察值→字段报告链路;这条链存在不等于物理校准或云端收件已经通过。
GPIO、NeoPixel等适用动作可按规则上报控制结果;报告在执行前捕获字段身份,执行后核对来源,并使用有界发送/缓存。已入队、已交给发送接口和平台实际收到分别验收。MCP23017的输出锁存值也不是继电器、泵阀或其它负载的物理反馈。
温控动作读取控制器状态和执行记录,不通过单次动作直接驱动或解除故障锁存;诊断明确物理反馈未观察。PCA9685已有状态和执行记录,按当前策略不进入GPIO类自动属性上报,其成功仅表示本地会话接受,物理输出仍未验证。
Modbus映射可向显示/历史提供质量和时效,但取决于相关编译功能;展示正常不能替代仪表校准或MQTT收件。配置迁移则按预览、准备、重启恢复、提交阶段验收;准备成功不表示活动配置已经切换。
还需交付的实际证据
- 同一最终候选的软件回归、九环境和RGB制品,保留所有原失败记录。
- 确切设备、制品、配置及接线对应的实物矩阵,真实资源/内存峰值与恢复测量。
- 持续运行24小时/7天、物理故障与恢复记录,以及NC01~NC04独立试用。
设备阶段另行确认授权、身份、配置保全和接线安全;条件不明的危险输出保持NOT_RUN。主机测试、代码完成、刷入成功和实物验收是不同交付项,参见发布检查清单。

