自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (5)
  • 问答 (2)
  • 收藏
  • 关注

原创 一个程序员的感觉

世人都晓神仙好,唯有功名忘不了,岸上走,不回头。271 361 榨干青春 原地解散 大礼包。

2023-12-25 11:36:02 393

原创 LE AUDIO快速了解

有BIS和CIS两种BIS是广播的,不需要连接,只需要监听CIS要建立连接的,除了ACL链路,还需要建立CIS链路。

2023-04-07 19:12:12 777

原创 蓝牙OTA升级

【代码】蓝牙OTA升级。

2022-11-25 17:23:26 413

原创 蓝牙MAP处理

MAP如果本地打开所有通道,收到数据会没有问题,但是在下一次排帧对端会在约定好的心跳修改MAP通道,造成发送失败,所以需要本地进行更新,RX中断后拿到,在排帧前更新保证通道一致。目前开发保活排帧除了空包需要处理之外,还需处理LL的跳频,才能实现保活持续。37个通道5个字节,加一个event_count。

2022-11-25 17:16:23 540

原创 蓝牙基带的基础

一般蓝牙芯片内部有个大于1M的RTC外面再贴一个32.768k(容易获取1hz)的。1/32k = 31.25us 再来个10分频 就有一个312.5us的计数器。在基带上写的各种协议代码,蓝牙的时间戳在里面表示都是按照半个slot来玩的。evt_cnt也是按照半slot来叠加,剩下TUS就是按照0.5us来计数。玩无线通信最基础的是时间戳,除了编解码,传输的时间戳就是核心。所以TS*625+TUS 可以表示蓝牙的任何一个时间点。比如8M的,那4分频,就有一个0.5us的计数器。

2022-11-25 17:04:45 586

原创 蓝牙流程(aidl)

说说aidl百度百科复制一波什么是AIDL编辑?Android系统中的进程之间不能共享内存,因此,需要提供一些机制在不同进程之间进行数据通信。为了使其他的应用程序也可以访问本应用程序提供的服务,Android系统采用了远程过程调用(Remote Procedure Call,RPC)方式来实现。与很多其他的基于RPC的解决方案一样,Android使用一种接口定义语言(Interface Definition Language,IDL)来公开服务的接口。我们知道4个Android应用程序组件中的3

2021-08-26 15:36:22 403 1

原创 vim工具

说说工具前段时间去玩WOTA了,都没想写什么东西,漫展拍vlog有点腻了,好想和KAGAYA那样去拍各种星图。https://twitter.com/KAGAYA_11949/status/1425799770266767360?s=09得入手几张KAGAYA的图,美到不行,我可以说一年,加上纯音乐,组长,我可以起飞!工具工具工具,咋玩,工欲善其事必先利其器葛,还是咋个说有了工具又能咋样,会不会让你觉得自己很有意思,最终还不是要分析记录才有用?是不是一眼望过去都在用vscode,so

2021-08-13 13:07:55 303

原创 安卓蓝牙启动(第四篇)

打开蓝牙就是把按钮拔过去,最简单的理解就是上电linux蓝牙上电直接echo 0 > /sys/class/rfkill/rfkill0/statesleep 2echo 1 > /sys/class/rfkill/rfkill0/statesleep 2这样就可以android的咋个说还是在start_up上面...

2019-08-16 10:21:40 1182 1

原创 安卓蓝牙启动(第三篇)

接第二篇,start_up到最后都是要以文件以目录为思考,不用跳来跳去找先是hci_layer.c这里直接就进来vendor了,我们先分析一下结构vendor_t不是最终的接口,要找一下,通过vendor_get_interface去拿,在哪里接口是在这里的,所以hci_layer.c调用的是 vendor.c的vendor...

2019-08-15 17:02:18 1836 1

原创 安卓蓝牙启动(第二篇)

接第一篇从JNI enable蓝牙,到哪里来着,尼玛好像是那个enableNative上图就是bluetooth app 加载JNI的地方各个模块我们主要看看 android::register_com_android_bluetooth_btservice_AdapterService上图就是bluetooth app 加载JNI的接口,将sMethod...

2019-08-12 18:30:40 3017 1

原创 安卓蓝牙启动(第一篇)

了解一下android的蓝牙setting app(按钮操作) ->framkwork (binder)->bluetooth appservice (JNI_OnLoad)-> native (dlopen)->default.so(dlopen) -> vendor.so -> dev整个过程的核心在default.so,蓝牙协...

2019-08-12 01:07:04 1505 1

原创 以太网

以太网是802.3的封包,其实去掉物理层网络层传输层的那层皮,不管是80几的,到了应用层一样是http ftp scp rtmp mqtt。。。。各种上层问题基本无,有也是应用的问题,目前的IPC基本都是socket,很少用dbus,上层去看看了我其实主要是看搭载上的,是的。。能用就行以太网不通,以太网传的慢,概率性掉比较多主要有主控的MAC 和PHY芯片的问题,因为真他妈...

2019-06-13 15:19:59 2527

原创 device tree

最近在搞wota艺,虽然不如岛国那么有底蕴,但是更疯狂,我不知道该怎么说,说啥好。。。1、随便说一下我有一种感觉就是配置表。。。废话,如果比较暴力一点的调试直接用 io 指令,你们配完没有,一个指令也可以完成io -4 -w 0xff7b0004 0x00ff000f 。。。类似这种,这就是一种方法,一种方法最常使用的是引脚,也有其它各种寄存器按照probe的最先加载的一次...

2019-05-08 18:07:26 239

原创 BLE中篇

哇。。。。好多UUID呀,好多。。。 "1800": "Generic Access Profile", "1801": "Generic Attribute Profile", "1802": "Immediate Alert", "1803": "Link Loss", "1804": "Tx Power", "1805": "Curr...

2019-03-22 02:58:13 472

原创 BLE上篇

最近帮朝歌看了一下连接问题,实际说一下BLE的连接我们都知道BLE是发空包保持连接的,和Mesh不一样,发的广播是connectable 的广播包,就是可以连接的搞BLE的话,调试比较常用nrf connect会看到发现了很多设备为什么,因为你下拉扫描的时候,nrf connect会找到广播包,然后发scan req 收到scan response...

2019-03-21 02:01:07 856

原创 HFP看看

我。。。。HFP是啥东西,是啥东西。。我也不知道咋不能只是说这个东西是啥,应该说一下应用场景好比小明有一个手机(HFP上叫做AG)和一个手机蓝牙连上的耳机(HFP上叫做HF) 连上然后十四哥用手机打小明手机。。。小明在蓝牙耳机上接听电话,就是HFP使用的场景如果这个时候铁柱也用手机打小明手机,小明在蓝牙耳机上选择接铁柱电话挂掉十四哥电话,就是HFP上的三...

2019-03-16 01:49:06 1646

原创 蓝牙比较常分析的东西

通信,就是我问你答,你问我答,就是这么一个过程。不用想的那么复杂那么,通信往往出问题了,是原因呢1、我问你不答2、我问你答的很慢3、我问的很慢4、我问你答的不对往往表现就是通信速度变慢,通信中断A、蓝牙最常分析为首的就是重传重传针对 上面1、2 、4的问题,重传就是意味着通信出现问题了,比较轻的重传我们可以忽略,比较重的重传那就是一件很麻烦的事情,因为看...

2019-03-07 03:03:05 702

原创 说一说蓝牙core spec

目前看spec是没有中文版的,都是英文 经典蓝牙和BLE你可以把它们区分成为两个不同的设备,但是使用同一条天线,物理地址也不同,手机扫描的话也是两个设备 看spec可以看两部分charts,就是连接的图表,这个两部分charts,可以代表core spec了 主要分成两部分,其一是经典蓝牙,其二是BLE第一是经典蓝牙的Vol2  part F  Message ...

2018-12-22 15:53:06 2601 3

原创 说一说蓝牙

家贫,无从致书以观,天大寒,砚冰坚,手指不得屈伸,我已经穷成狗其实所有的蓝牙设备都是这样的,有些MCU直接集成进去了,比如TI和nordic的,一般手机或者大一点的设备都是分开来的,用串口即HCI传输层传输数据,就算是USB驱动也离不开HCI的传输层。反正你就理解为串口控制。controller才是蓝牙模组那一端有天线的,跑freertos之类的系统的,host端一般都是MCU主控或...

2018-10-29 01:07:17 443

原创 git 闪退

git 闪退,卧槽,点击一下就退出来,日了狗了,。fuck,最近本来就很烦,国庆倒计时还3天,上班一天都要死! 我在网上找了一下方法://------------------------------------------------------------------------------------------//     如C:\Program Files\Git\us...

2018-09-26 15:56:01 562

原创 C语言我喜欢这样写

难呐,活着真难,这个世界什么时候结束,看到那些说喜欢学习的人我就很想打他们,痴线是不是读书不如抄代码,抄代码不如吃喝玩乐妈妈总说,要有梦想,阿搭西の梦想就是吃着火锅唱着歌,天天躺着,还有很多钱拿。 是不是很厉害,伟大的梦想。C语言,C语言, C语言。。。。阿搭西喜欢这样写,模块句柄 -> 主进程in

2017-11-16 18:34:34 365 1

原创 最近玩了一下nordic

我最近比较虚,新番又很少,玩个王者用李白买红叉快电刀打推进各种赢还经常被人举报,要不是我偷塔他们能赢?这是个推塔的游戏好不好最近玩了一下nordic , 我随便bb。刚开车的人一般都是选开发板的,淘宝上买一个,资源有的是,带资料,小公司开发几个蓝牙产品没有问题,震动棒之类的。。我发现可以一开始就去自己打板,PACK和各种工具都是开源的,github上面都

2017-10-31 16:16:57 852 2

原创 ubuntu14.04 samba没有权限访问解决

直接上文件 /etc/samba/smb.conf  ,  配置好这个就可以了  ,  用户和share都可以访问,## Sample configuration file for the Samba suite for Debian GNU/Linux.### This is the main Samba configuration file. You should

2017-07-27 11:08:34 3355

原创 写了一个pca9633的iic驱动

----------------------------------------------------------------------------------------#include #include #include #include #include #include #include #include #include #incl

2017-07-24 18:40:23 1758 1

原创 按键驱动-RK3128

目前的情况是这样, 自己在外设上面 搞了四个按键 ,充当遥控器的 音量加  音量减 还有 灯光亮  灯光暗  这4个功能,按照最简单的方法就是, 弄4个IO出来,  可以自己写一个驱动文件,一个一个获取引脚,然后设置成为中断引脚,然后关联中断函数,设置一个定时器函数在中断函数的下半部进行消抖,一般是10ms。  在定时器中断函数调用输入子系统的接口函数,这样很简单就可以实现

2017-07-11 16:21:30 1852 1

原创 LCD驱动快速调试

LCD就是一个一个的点嘛,每个点有分16bit  24bit  32bit   一般都8 : 8 : 8 的红绿蓝  基本原理就是这样,一个一个的点。一个LCD的图就是这样一般换屏调的比较多的是Timing,就是上面的那个图,调什么呢,就是调 “打点”。打点不能太快,也不能太慢!看上面那个图,left_margin  Right marg

2017-06-15 21:25:41 895

原创 驱动添加设备节点/sys/class/

现在我有一个驱动文件xxx.c  编译加载后可以在 /dev/  看到已经加载ok ,现在想要添加  sys/class/   的设备节点 ,就是想做这件事情而已假如 现在需要添加一个 gpio节点,配置gpio_control的属性文件接口比如 echo 1 > /sys/class/gpio/gpio_control   可以设置某个io高电平  。。。#include

2017-06-05 12:22:36 3788

原创 Recover后升级失败,unknown volume for path

有个三星的平台,发现Finding update package...I:Update location: /sdcard/update.zipOpening update package...E:unknown volume for path [/sdcard/update.zip]sysutil: Unable to open '/sdcard/update

2017-05-11 17:02:54 4932

原创 搭载repo服务器

说起搭载repo服务器,眼泪都掉了下来。本当に問題ないですか我手写了470个仓库,关键我sed指令已经用的不能再智能了开发安卓产品是需要一份android源码,一般都原厂给你,像华为, mtk,realtek,rk等公司,一般叫你搭载镜像服务器,但是,这个repo是指到人家家里面的,你不可能跑到人家家里去开发,所以一般都是repo start newbranch --all

2017-04-25 15:15:09 354

原创 git 快速使用

妈妈,现在我在一个工作目录,里面有.git目录和一个A文件,修改完A文件后,我想把A文件push 上去,做一个正常的程序员,妈妈从厨房哭到厕所1、git branch -a(看有多少个分支)  remotes/m/android-7.0.0-b/trunk-7.0 -> origin/trunk-7.0  remotes/origin/AskeyBranch-20160615

2017-04-06 17:31:49 417

原创 DM-verity

key有多种我只取一把,像我们老大就是多把key排列组合,不行,不能泄密,感觉6.0刚换block-based现在7.0又来update engine,事情多的一匹之前file-based的方式是mount起来/system,然后modify掉,现在不用mount了 block-based 直接对system分区的device进行烧写,我们的system的device是mmcblk0p

2017-03-18 18:26:22 3256

git 闪退功能解决

解决git for windows闪退的问题,原因是因为用了盗版的系统,所以非常的坑,其他方法都是没有用的

2018-09-26

ADK4.1 CSR8670

csr bluelab,没有linux虚拟机环境,用的是windows的工具,不用去淘宝买,csr自从被高通收购就只开放和他合作的商家,官网注册邮箱后缀是合作商才能看到资料

2018-08-14

PID算法(本人自写可用平衡车)

void PID init { PID e0 0; PID e1 0; PID e2 0; PID x chuzhi 28000; PID x out 28000; PID y shedingzhi 0; PID kp 100; PID ki 28; PID kd 10000; PID2 e0 0; PID2 e1 0; PID2 e2 0; PID2 x chuzhi 27000; PID2 x out 27000; PID2 y shedingzhi 0; PID2 kp 1; PID2 ki 40; PID2 kd 100; }

2015-02-17

PID算法(本人自写验证可用平衡车)

void PID init { PID e0 0; PID e1 0; PID e2 0; PID x chuzhi 28000; PID x out 28000; PID y shedingzhi 0; PID kp 100; PID ki 28; PID kd 10000; PID2 e0 0; PID2 e1 0; PID2 e2 0; PID2 x chuzhi 27000; PID2 x out 27000; PID2 y shedingzhi 0; PID2 kp 1; PID2 ki 40; PID2 kd 100; }

2015-02-17

卡尔曼滤波(我亲测可以用)

亲测卡尔曼滤波 void Angle Calcu void { aax GetData ACCEL XOUT H ; aax aax 16 384; if aax>1500 { aax 1998 aax 2; } else aax aax; gy GetData GYRO YOUT H ; gy gy 102; ggy gy; if ggy>30000 { ggy ggy 65536; } else ggy ggy 1 8; ggy ggy 16 4; kalmanCalculate x aax ggy 0 003 ; }">亲测卡尔曼滤波 void Angle Calcu void { aax GetData ACCEL XOUT H ; aax aax 16 384; if aax>1500 { aax 1998 aax 2; } else aax aax; gy GetData GYRO YOUT H ; gy gy 102; ggy gy; if ggy>30000 [更多]

2015-02-17

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除