Bright_Han
多年的老码农
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
抬手、放手识别算法
在一款智能手表中, 平时手表处于息屏的状态, 用于节省功耗,延长使用时间。在用户进行抬手的时候,其实是希望能够及时看一下时间、消息通知等信息的。这时手表应该能够检测到用户的抬手动作,自动进行屏幕的点亮。当用户垂手返回的时候,也应该识别到,及时进行屏幕的关闭。对于这种动作的侦测,采用加速度传感器,是常见的选择。加速度传感采用固定的频率,进行X轴、Y轴、Z轴三轴数据的采集,放置在FIFO队列中, MCU可以定期去获取这些数据, 对于这些数据进行处理和特征识别。当识别出抬手、放手时,进行相应的逻辑处理。原创 2025-01-21 13:53:58 · 285 阅读 · 0 评论 -
在Ubuntu24上采用Wine打开SourceInsight
本文将介绍在Ubuntu系统中使用Wine安装和配置Source Insight的详细步骤。主要内容包括:1) 安装Wine及32位库支持;2) 配置字体和图形设置以解决显示问题;3) 创建独立的.wine-si环境;4) 处理界面兼容性问题,如隐藏异常工具栏和使用快捷键替代功能。文章还提供了解决安装失败时的替代方案,如直接拷贝已安装程序文件。通过设置WINEPREFIX变量和编写启动脚本,确保Source Insight在Linux环境下正常运行。原创 2025-06-09 10:20:57 · 347 阅读 · 0 评论 -
Ubuntu上进行VS Code的配置
本文介绍了在Ubuntu系统上配置VSCode进行C++开发的完整流程。首先通过命令行安装VSCode和GCC编译器,然后安装中文语言包和C++扩展插件。接着详细说明了创建HelloWorld项目的目录结构和代码文件配置,包括头文件和源文件的编写。重点讲解了tasks.json和launch.json的配置文件设置,涵盖编译、链接和调试环境的配置方法。最后通过编译运行程序并验证输出结果,完成了从环境搭建到项目调试的整个开发流程。整个过程注重细节,为C++初学者提供了清晰的开发环境配置指南。原创 2025-06-02 20:44:12 · 350 阅读 · 0 评论 -
Git使用说明
本文介绍了Git的基本配置和使用流程。首先,通过git config命令设置全局邮箱和用户名。接着,使用git init初始化本地仓库,并通过git add将文件添加到暂存区,再通过git commit提交到本地仓库。若需将代码推送到远程仓库(如Gitee、GitHub),需先创建远程仓库,并通过git remote add关联本地与远程仓库,最后使用git push推送代码。此外,还介绍了生成SSH密钥、查看仓库状态和提交历史等操作。原创 2025-05-23 19:40:43 · 248 阅读 · 0 评论 -
何谓智能手表
在RTOS上实现一些AlwaysOn的功能(运动算法+表盘+消息等),一些具体功能时,需要进入Android系统,从而功耗比纯AndroidGo低,但是比基于RTOS的纯蓝牙手表功耗要高(7天以上的续航),能够达到2-3天的续航。(1)苹果Watch,可以支持eSIM开卡的功能,能够独立上网和通过,也有单独的手表应用商店,但是其实在手表的应用中,都不会出现杀手级应用,也没有完善的商务模式,可能更多是因为苹果的品牌影响力而已。2. 表盘,丰富绚丽的表盘,微光表盘。1. 装饰,漂亮的ID外观。原创 2024-08-19 22:14:20 · 783 阅读 · 0 评论 -
GPS定位时间的极限在哪里?
每一个子帧的长度是300Bit,每个Bit需要20ms, 那么理论上,传输每个子帧的时间是20*300=6000ms=6秒。如果能够注入辅助时间, 时间和UTC时间相差不超过3秒,应该可以不用等第一个子帧接收完毕, 所以第一个6秒,会进一步缩短。从以上信息,可以看出,即使是信号最为理想的情况下,冷启动的定位时间不会小于18秒, 在有AGPS辅助星历注入的情况,定位时间不会小于6秒。总之,在设计单独的GPS时,需要设定合理的目标,保证板级的传导,整机的耦合,减少干扰因素,还是能够达到比较理想的效果。原创 2024-08-20 17:51:58 · 1585 阅读 · 0 评论 -
智能手表Sensor知多少
真的那么简单吗,Sensor是Sensor,算法是算法,有些客户把两者的依存关系还没有搞清楚,就开始想当然的大放厥词了。不知道是为了贬低你的工作,从而压价格,还是真的无知者无畏。在进行项目评估时,经常会听到客户的一些声音:一个小小的手表能有多复杂,不就是这样这样那样那样的吗......下面就列出来一下,一个小小的智能手表会用到的Sensor吧, 后续有时间可以再列一下所会用到的算法。看完这些Sensor,还会觉得如下的一款手表,So Easy吗?此时只能默然,心中默念。原创 2024-08-21 16:25:28 · 540 阅读 · 0 评论 -
Android系统--Binder
从Android的启动,函数级别的调用,Linux的IPC方式,深度解析Binder的基本原理和简单的实例原创 2024-09-10 13:54:48 · 845 阅读 · 0 评论 -
Android系统--Zygote
由Zygote孵化出所有的基于java虚拟机的实例Service。 通过如下的图可以看出(通过adb shell ps查看和汇总Linux进程信息),(1)第一个进程Init作为1号进程, 创建了536/537/538/539/540/541/542/543等一系列的进程。(2)其中的541号进程,即是Zygote进程。(3)Zygote进程创建了565/610/612/636/656/664/711等系列的进程,其中565即为System_server。zygote是在init.rc中定义的一个服务进程。原创 2024-09-04 19:34:40 · 962 阅读 · 0 评论 -
Android系统--Init
init是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。init始终是用户级的第一个进程。adb shell ps查看pid及ppid为1的进程信息:作为天字第一号进程,init被赋予了很多极其重要的工作职责:(1)解析系统property文件并初始化property信息。(2)解析脚本init.rc。(3)根据init.rc配置信息,触发Action及启动Service。原创 2024-09-03 21:17:44 · 678 阅读 · 0 评论
分享