- 博客(13)
- 收藏
- 关注
原创 c语言,GDBUS开发bluez,带agent处理
这次写了个agent,如果后面还有时间的话还会再写写gatt的操作。现在回过头来再看下gdbus开发bluez,感觉就没多少人用。先gdbus用法比python里用麻烦了非常多,再又是bluez的逻辑只能参考bluetoothctl,而bluetoothctl用的dbus库还是另外一套,一些帮忙封装bluetoothctl的还被连带了GPL,感觉挺麻烦。说句实话感觉就挺奇怪的linux开发蓝牙怎么和andriod、单片机开发区别那么大,但映像中蓝牙官方确实推荐用的dbus,但实际用下来怎么却麻烦得不正常了。
2024-09-24 16:37:21
920
2
原创 从点屏的角度看drm子系统
至此,在drm子系统中,屏幕是怎么亮起来的这个点已经描述完,而我所遇到的dcs发送问题也基本找到了处理位置,虽然后面的操作硬件发送dcs命令依旧是个难点,但至少drm子系统不再是干扰。不过整篇文章虽然写了不少东西,但对于drm子系统来说仍是冰山一角,如果想再进一步了解,还是需要更加详细的阅读drm源码。我这篇文章就到这了,应该足够让人初步认识到drm运作流程了。
2024-03-17 19:27:05
2077
1
原创 如何通过dbus开发bluez(c语言版)
如何通过c语言去开发bluez,截至到我写这篇文章为止,百度,谷歌搜下来,估计就csdn一个写套例子放在csdn上,但我没会员,也就没下来看了。这里我提供个简单的蓝牙扫描例子,以此来敲砖引玉。看一下应该很容易就明白了。bluez要如何通过dbus操作,通过上面的说明应该已经很清晰,另外的一些blues使用逻辑可以参考bluetoothctl源码和test/里面的python代码。
2023-08-01 15:03:43
2149
5
原创 如何通过dbus开发bluez(python版)
在linux上,如果你正在考虑用bluez开发蓝牙相关功能,应该很快就会查到官方推荐用dbus开发。假如你对dbus不熟悉的话,估计很容易就会两眼发黑,发现网上基本找不到例子,似乎让人很难弄下去。这里我提供个入门方法应该可以方便很多人开发bluez。(另外bluez似乎能编译出一个hci动态库,但由于官方推荐使用dbus,这里不做考虑)
2023-08-01 11:00:57
1402
4
原创 lvgl_SDL2_opengles显示驱动,用于缩放和色彩变化
本文所构建的lvgl工程添加了一个opengles的显示驱动,用于通过使用gpu处理最终的ui画面,来降低cpu占用率。其诞生的原因是lvgl v8在无法多线程生成ui画面,也没有专用的gpu加速ui生成,结果单核性能瓶颈导致画面卡顿(卡顿的典型情况:全屏滑动卡顿)。其主要用于对最终画面进行缩放,旋转,以及rgb565转argb。此外,由于opengles本身的特点,还可以对输出画面进行其他二次处理,或者模仿一些纹理优化操作,进行分区域渲染。
2023-07-31 16:07:20
1964
2
原创 Bluez mesh node/device 模式(非provision)验证
以下命令中的文件路径,皆是yocto工程编译后配置好的位置,需要根据实际进行变化,test-mesh这个python文件的依赖也需要根据实际情况进行配置。我这边测试,由于test-mesh只能识别pd-adv模式下的dbus,所以两设备全程运行在pd-adv模式下,pd-adv相关操作可以参考官方文档。provision设备:在mesh网络中充当provision的设备。切换回node 设备终端,能看到以下log,将key输入到provision设备终端,即可完成provisioning流程。
2023-07-28 16:43:52
330
1
原创 lvgl 8.3.0和lv_drivers 8.3下编译支持wayland
本方法参考yocto中的lvgl,dialog-lvgl,lv-drivers这三个recipe,将lvgl输出到weston是种较为简单的利用硬件加速方案,这里就是由于在高分辨率下要进行旋转,导致纯软件效果不佳,所以需要利用上硬件加速。
2022-11-01 09:51:35
2762
5
原创 在stm32单片机中使用c++与c语言的对比
在stm32单片机中使用c++与c语言的对比简介单片机能够用c++来编写,这件事放到现在已经不是什么新鲜事,将它放在实际的开发中也有其存在意义,例如:某通讯接口上位机用的是面向对象的方法开发的,到了下位机则可以考虑用c++开发,以此节约c语言处理面向对象问题的时间,以及后续维护成本。虽然话是这样说,但现实情况是一想到c++要运行在单片机上,下秒的想法便是c++太大了,不适合用在单片机上。所以单片机这到底要不要用c++开发这一问题其实挺让人犹豫的。到这里再回顾一下我举的例子,有个通讯协议用的是面向对象
2022-02-07 23:05:10
10780
3
原创 【window】cpplint在vscode中安装与使用
【window】cpplint在vscode中安装与使用1.cpplint简介Cpplint是一个Python脚本,作为一款开源免费的代码静态检测工具,Google也使用它作为自己的C++代码检测工具,也就是说,只要你想代码遵从Google C++代码规范,那么Cpplint将会提供很好的代码静态检测支持。如果写c/c++想要遵循良好的代码规范,又希望有工具提示自己是否遵循了规范,那cpplint肯定是一相对完美的答案。之所以说相对,毕竟静态代码检查工具肯定会有漏报,误报,但有一完整的开源代码规范加上
2022-01-22 10:29:10
4291
1
原创 单元测试环境gtest,mockcpp,LCOV搭建与使用
单元测试环境gtest,mockcpp,LCOV搭建与使用1. 环境介绍本文搭建单元测试环境用上的软件工具有:1.1 gtestgtest是一个跨平台的(Liunx、Mac OS X、Windows、Cygwin、Windows CE and Symbian)C++单元测试框架,由google公司发布。gtest是为在不同平台上为编写C++测试而生成的。它提供了丰富的断言、致命和非致命判断、参数化、”死亡测试”等等。1.2 mockcppMockcpp是一个面向C/C++的mock框架。其指定(
2022-01-19 01:30:02
5433
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人