# A109 吸尘器显示候选

2026-10-11。标准Waveshare0.91inch OLED Module / SSD1306 /128×32作为工程候选。它能承载原机要求的吸力百分比与低吸力提醒，不代表原屏型号、字体、尺寸、显示效果或千台成本已相同。原吸力学习、供电协议和风机仍未实物验证。

`sh verify.sh`执行ASan/UBSan主机测试、Cortex-M0+ soft-float单模块交叉编译和实际512字节帧的独立像素/字符解码。依赖clang、arm-none-eabi-gcc/size、Python3/Pillow。不是完整A108镜像构建：本轮未改A108目标或实际GPIO，未实现PA6/PA7物理软件I2C，未连接/通电显示模块。

vd_render只接受外部真实有效/已标定吸力数据。uint8百分比0..100、fan_enabled、measurement_valid、qualified且样本<=500ms才可显示百分比和滤网提示。500ms有效期是工程候选，未来按测量/报警更新频率验证；未来采样时间、无效、未标定、故障、学习、待重启或风机未开启均显示--%。不把PWM、电流、转速或无来源数据转换为吸力。level只显示1..4，否则为-。FAN ON需调用者提供实际已确认风机状态，不得传UI运行请求。示例100/37均为合成测试数据，不是任何原机/自制机测量。

vd_begin复制并冻结512字节帧；vd_service每次最多发一个正常包，每包最多17字节，失败时最多再尝试一次关屏包，然后终止。写入过程保持屏关闭；全部四页128列写完才开屏。每次帧刷新重新配置并关闭显示，可能产生闪烁，实物后应优化为分块双缓存/更新策略，不能宣称显示观感达标。回调必须有ACK/超时检测、真实有界期限且单调用不得阻塞按键10ms服务。display_off_confirmed仅指回调报告成功，不是物理熄屏证据，失败不可保证清除旧像素。

初始化与寄存器/字节协议取自SSD1306官方文档内容；MUX31、COM02、页寻址、3C/3D七位地址为128×32工程配置。模块地址/翻转/供电复位/对比度/泵参数及实际模块引脚要实测，不能把3C自动当确定模块地址。不得用8位写地址78替代7位3C。

A106接口J5.1=3.3V、.2=GND、.3=PA6/SCL、.4=PA7/SDA。按模块具名SCL/SDA端接线，不能凭接口表顺序接直通电缆。外部上拉只能到3.3V，当前主板并未新增这两个上拉；须核对模块已有上拉及等效阻值/线缆电容，不能直接使用5V上拉。供电预算、接插件、结构、显示寿命/亮度/温升和千台价格仍未批准。

低成本生产方案后续比较裸OLED/段码LCD：器件成本、定制图案/开模/NRE、寿命、装配、良率一起算。当前候选不冻结量产BOM，不是便宜替代屏已通过原机等效验证。

Sources: https://www.waveshare.com/product/ai/displays/oled/0.91inch-oled-module.htm ; https://files.waveshare.com/upload/1/10/0.91inch_OLED_Module_User_Manual_EN.pdf ; https://files.waveshare.com/upload/a/af/SSD1306-Revision_1.1.pdf . 厂商旧手册第一页写2.2V/5V而示例接线写3V3/5V，未将旧手册该值当统一电压下限。仅选3.3V工程接线，实物仍需确认。
