Skip to content

Conversation

@hujuntao
Copy link

@hujuntao hujuntao commented Dec 9, 2025

添加BatteryMonitor类实现电池状态监控,包括电量、电压、电流和温度等
在EmoteDisplay中添加电池图标显示功能,支持不同电量等级和充电状态
更新EchoEar支持包(BQ27220),集成电池监控和低功耗定时器功能

添加BatteryMonitor类实现电池状态监控,包括电量、电压、电流和温度等
在EmoteDisplay中添加电池图标显示功能,支持不同电量等级和充电状态
更新EchoEar支持包(BQ27220),集成电池监控和低功耗定时器功能
@78
Copy link
Owner

78 commented Dec 9, 2025

保持代码风格一致性;不用的代码可以直接删除,不要注释。

@hujuntao
Copy link
Author

保持代码风格一致性;不用的代码可以直接删除,不要注释。

好的,我装个格式化插件格式化以下。

重构电池监控相关代码,包括:
1. 调整头文件和代码格式,提高可读性
2. 简化成员函数实现,使用单行形式
3. 统一代码风格,删除多余空行
4. 优化注释格式和位置

refactor(EchoEar): 重构主控板代码结构

1. 重新组织头文件引入顺序
2. 优化初始化函数逻辑
3. 改进电源管理功能实现
4. 统一代码缩进和格式风格
5. 删除无用注释和空行

style(emote_display): 清理显示模块代码格式

1. 删除多余空行
2. 统一代码块间距
3. 优化函数间空白
@hujuntao
Copy link
Author

hujuntao commented Dec 10, 2025

初衷:
某宝入手了喵伴,发现没有省电模式,1200mA的电池待机8小时就没电了。一直插插着电,充电,还有头部的Led灯一直亮着不适合放卧室。于是动手加了一些功能:

  1. 加入电池监控功能:来源同款喵伴其它固件(https://github.com/espressif/esp-brookesia/blob/master/products/speaker/main/modules/battery_monitor.cpp)
  2. 参考其它板子加入PowerSaveTimer功能,在进入睡眠模式是调低亮度,关闭头部Led灯,切换sleepy表情。充电时退出睡眠模式
  3. 增加GetBatteryLevel,GetTemperature,SetPowerSaveLevel,虽然不知道有啥用,但是别的板子有的,喵伴也必须有。
  4. 增加self.screen.get_info,self.battery.get_info MCP工具,这样喵伴在控制台自定义资源的时候也能获取到屏幕尺寸。
  5. emote_display.cc 增加电池分级图标
  6. 适配了2.1.0以后新的配网模式(不改编译报错)

提交的battery_monitor.cc,battery_monitor.h 已按照要求使用clang-format工具Google 风格化,但是每个人的.clang-format配置不一样,已尽量保持一致

EchoEar.cc 已被我改的乱七八糟了,emote_display.cc 没敢大动怕给原作者带来太多麻烦,毕竟码农都不喜欢别人动他的代码。
@espressif2022 抱歉了。

已知问题:

  1. 虽然加了电池监控,增加电源管理,低功耗似乎没啥效果。
  2. 语音唤醒/点击屏幕并不会推出睡眠模式,想加的但是不知道加在哪儿。
  3. 等待配网表情缺失,在emote.json 加了{"emote": "gear", "src": "confused.eaf", "loop": false, "fps": 20},串口日志还是显示SetEyes: No emoji data found for gear
  4. 开启USE_DEVICE_AEC 会被自己的话打断。比如查看电量,或者查询天气,说着说着就自言自语了。
image 5.喵伴开发版默认是700mA电池,网上卖的基本都是1200mA甚至更大。\espressif__bq27220\bq27220.c->bq27220_create 有段电池容量校正代码,coze固件刷进去容量显示650mA,不知道原作者是否考虑将设计容量作为一个选项加入sdkconfig里。

@78
Copy link
Owner

78 commented Dec 10, 2025

这个 PR 跟这个 #1519 是冲突的,我先合并 #1519

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants