5.4 KiB
5.4 KiB
电子开关-加热灯罩 台上验收测试笔记
- 固件:V1.0.0(
JBao_Heat_Lamp_V1.0.0_*,提交426bb8d) - 协议:CBR0 / PRCBR0,
MAX_PACKAGE_LEN=512,DP 0–29 - 日期 / 测试人 / 烧录镜像 hash:
- 第 1 轮:____-- / ____ / hash ______
- 第 2 轮:____-- / ____ / hash ______
依据规格书
Doc/电子开关-加热灯罩_固件需求规格书.md第 17 章。勾选 = 实测通过。 串口:UART0 TX=PC5,波特率按 SDKTCFG_UART0(日志 tag:[LIGHT]/[APP_NVM]/[APP_TMR]/[APP_LINK]/[JB_PRD])。 用 APP 直连时注意:DP9 是 WO(服务器下发),设备全量/差分上报不含 DP9。
1. P0 — 台上 Bring-up(不依赖 APP)
- 1.1 上电即开机:无按键等待;不强制清配对进绑定(规格书 5.1/5.2,删除上电
usr_goto_pair) - 1.2 短按开/关:继电器在过零沿吸合/断开,红绿 LED 跟实际吸合态
- 1.3 按住 5s → 配对提示(绿灯快闪);松手进绑定广播;120s 超时失败保持开机、灯回跟继电器
- 1.4 按住 12s → 红绿交替,进 OTA(
usr_app_ota_init) - 1.5 过零超时 100ms:开请求无沿 → 放弃保持关;关请求无沿 → 强断(
fault_code=2,DP23) - 1.6 运行中断电再上电:BLE 配对保留
仅 Bring-up 冒烟:把
BOARD_LINKAGE/TIMER/TH_SCAN/RUNREC/LIGHT_LIFE/NVM_ENABLE置 0 编译(已验证 EXIT=0),板上复测 1.1–1.5。
2. P1 — 最小产品闭环
- 2.1 5s 配对后 APP 写 DP0 开/关灯泡:过零后灯与 DP0 上报一致(报实际吸合态)
- 2.2 短按同步上报 DP0
- 2.3 VM:改开关后断电,重新上电按上次开关恢复(开则等过零再吸合)
- 2.4 DP1 / DP2 / DP5–8 写忽略;DP2 上报恒 0
- 2.5 DP9(WO):APP/服务器能写当前温度;设备全量上报不含 DP9
- 2.6 定时 7 组 11 字节 +
time_en能存(规格书 11.1 布局);BOARD_TIMER_ENABLE=0不执行 - 2.7
MAX_PACKAGE_LEN=512:APP 能读完整 124Brun_record(DP20,本阶段可为 0) - 2.8 第一次开机:DP3=2,592,000、DP25=0(串口应见
[LIGHT] light life init, remain=2592000)
3. P2 — 自动化 + 寿命
- 3.1 断连已配对:500ms 见宝重连广播 ↔ 500ms 扫描交替;已连接停扫描
- 3.2 扫描匹配
JBao-{缸体号}且配置版本相同才更新温度;湿度不参与开停 - 3.3 联动:
T<Tmin开灯、T>Tmax关灯、中间保持;无匹配包保持上一态 - 3.4 缸体号 0 /
Tmin>Tmax不跑联动 - 3.5 手动作废后须先
T>Tmax再T<Tmin才允许联动再开 - 3.6 定时 RTC 门闩:未对时绝不动作;对时后落在窗内立即开
- 3.7 定时:跨午夜窗、单次自毁(结束清 Byte0 落盘)、每天/每周、多组重叠
- 3.8 定时窗开始开、结束关,结束时立刻按 10.3 重判联动;按 11.1 解析(Byte1=类型)
- 3.9 DP10 脉冲删除;DP11 重写立刻重判
- 3.10 运行记录:实际吸合累计,满 600s 落盘;对时后跨天左移
- 3.11 出厂重置(DP26 写 1):清业务 VM 留配对;剩余寿命回 2,592,000、DP25=0
- 3.12 过零超时
fault_code=2(DP23) - 3.13 仲裁表(第 12 章)用例 1–13(见下节)
- 3.14 寿命:实际吸合才扣;到 0 停在 0、
alarm_code=1、灯仍可亮(不互锁) - 3.15 DP4 写 1:剩余寿命回 2,592,000、告警清 0、立刻上报
- 3.16 APP 写 DP3:任意 uint32 生效;>0 清告警、=0 置告警;立刻落盘
- 3.17 按键 5s 清绑定 不改寿命
- 3.18 点灯时 DP3 最多 1 分钟报一次;到期/复位/写 DP3 立刻报
- 3.19 掉电再上电:未到期接着扣;已到期仍 0 且 DP25=1
4. 仲裁最小用例(灯泡语义)
前置:缸体号≠0、Tmin≤Tmax、已配对;「关」=DP0 写 0 / 短按关,「开」同理。温度源:已连接写 DP9;断连扫描 JBao-{缸体}。
- 空闲
T<Tmin→ 开灯;短按关 → 保持关,即使仍低于 Tmin。 - 用例 1 之后先到
T>Tmax,再回到T<Tmin,才再次开。 - 定时窗开始 → 开;窗未结束前保持开;结束时刻关;若此时
T<Tmin→ 联动再开。 - 定时窗内再短按关 → 保持关到窗结束,定时不抢回;窗结束若已作废且仍
T<Tmin→ 不要被联动立刻打开。 - 未对时,定时配置使能也不动作;对时后若在窗内立即开。
- 上电 VM 为开、暂无温度 → 保持开(等过零吸合);温度到达后再按 10.3。
T在 [Tmin, Tmax] → 保持上一态。- 断连扫描丢包 → 不关灯(保持上一态)。
- 已连接写 DP9 使
T<Tmin→ 开;断开后扫描到同一缸体更高温度T>Tmax→ 关。 - 剩余寿命置 5,实际吸合 5 秒 → DP3=0、DP25=1,继电器保持开(若请求仍为开)。
- 用例 10 之后 DP4 写 1 → DP3=2,592,000、DP25=0。
- APP 写 DP3=100 后立刻拔电再上电 → 仍约 100(允许未满边沿的秒误差,不允许回到 2,592,000)。
- 定时 11 字节:Byte1=1(每天)、Byte3–6=时分、Byte0=1 → 到点开;若误用加热垫偏移(Byte2 当类型)则本条失败。
5. 对账记录
| 轮次 | 日期 | 用例失败清单 | 根因 / 修复 commit | 回归 |
|---|---|---|---|---|
| 1 | ||||
| 2 |