
最近主要在改进portapack硬件,我现在内置电池硬件搞定了,开关也不难,只要改一下外壳就行,接下来的工作就是加入喇叭和麦克风了。
跟一个朋友聊起,原来portapack硬件上是支持喇叭的,只是软件没开。
我找了找资料,在原作的repo里找到个issue
https://github.com/furrtek/portapack-havoc/issues/284
有个老外的评论,推荐去看看这两个代码。
firmware\application\audio.cppfirmware\common\ak4951.cpp
我看了以后发现觉得基本有戏。
然后我就在audio.cpp里在mute和unmute函数里仿造headphone的disable和enable加入了speaker的disable和enable。
加入的时候要注意,头文件里要实现几个虚函数,这样audio.cpp才能调用到ak4951.cpp里的喇叭相关函数。
否则会提示找不到speaker_enable等函数。至于怎么加入可以参考headphone相关函数。
然后我找了个小喇叭,两线的,两头分别接到3pin喇叭口的外侧两个脚,就有声音了,声音轻的话可以把喇叭贴在外壳上,形成共振(我感觉这个原理就跟人的手捏着天线可以增强接收效果一样)。另外右上角也可以调整音量。
如果充电宝供电,音量不能超过80,音量也不能低于70否则没声音。如果电池供电音量可以到99,但是在90以上会失真。
后来我发现如果一直开着喇叭,耗电挺厉害。
所以我想了个办法,在最上面一栏里加了个图标,用这个图标来控制喇叭是否打

本文详细记录了作者如何在Portapack硬件上成功加入喇叭功能的过程,包括软件修改、硬件连接及音量控制等内容。通过一系列技术手段,如在audio.cpp中加入speaker的disable和enable函数,以及在UI中增加控制图标,最终实现了喇叭的完美集成。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



