本文围绕下面四类问题,整理对应的现象、问题原因和处理结果:

一、快速开关盖后异常断连

问题现象

快速开关盖时,耳机低概率断开。日志中没有完整的关盖命令,耳机却进入了充电状态。

问题原因

快速开关盖时,充电盒重新拉起供电。电平持续时间超过原来的防抖阈值,耳机提前判断为稳定入盒。状态切换由充电检测触发,不是串口丢包。

处理结果

将充电电平持续检测时间从约 600 ms 延长到 1 s,避免短暂电平触发充电模式。连续快速开关盖验证后,未再出现异常断连。

二、左右耳回复不一致,盒子灯效频闪

问题现象

耳机进入配对状态并放入盒内后,充电盒白灯闪烁不均匀,部分场景出现频闪或亮度异常。

问题原因

左右耳返回给充电盒的配对状态不一致。盒子先收到一只耳机的配对状态,又收到另一只耳机的非配对状态,灯效状态被反复切换。

左耳回复:配对中
右耳回复:非配对
        ↓
盒子灯效在两个状态之间反复切换

处理结果

由从耳同步主耳的配对状态,确保左右耳向充电盒返回一致的数据。双耳状态一致后,配对灯效恢复正常。

三、耳机进入配对,盒子却不显示配对灯效

问题现象

耳机已经连接一台手机,再进入配对模式并放入盒内。充电盒只显示耳机电量,没有显示配对灯效。

问题原因

耳机同时存在“已连接”和“可发现可连接”两个状态。原来的回复逻辑优先返回已连接状态,覆盖了正在配对的状态,盒子因此没有进入配对灯效。

/* 修改前 */
if (phone_connected()) {
    report_connected();
} else if (pairing()) {
    report_pairing();
}

/* 修改后 */
if (pairing()) {
    report_pairing();
} else if (phone_connected()) {
    report_connected();
}

处理结果

回复状态时优先判断配对状态,再判断手机连接状态。修改后,耳机在已连接状态下重新进入配对,盒子能够正常显示配对灯效。

四、配对超时后,盒子显示了错误灯效

问题现象

耳机在配对状态下入盒,配对超时后,充电盒显示了配对成功灯效,而不是结束灯效。

问题原因

耳机在配对超时后返回无效状态,充电盒却把这个状态按配对成功处理。数据传输正常,但两端对同一状态的含义没有统一。

处理结果

统一耳机与充电盒对回复状态的定义。收到无效状态时直接结束灯效,不再进入配对成功灯效。

这四类问题对应的检查入口是:充电电平、左右耳回复是否一致、状态判断优先级、两端状态定义。