- 博客(1240)
- 资源 (19)
- 问答 (1)
- 收藏
- 关注
转载 SurfaceFlinger处理vsync信号
surfaceflinger创建Connection对象的过程前面已经论述过,在此就不赘述了。Surfaceflinger中接收vsync信号的入口为MessageQueue的cb_eventReceiver方法,调用流程图如下,cb_eventReceiver方法如下,直接调用eventReceiver方法,MessageQueue* queue = reinterpret_cast...
2019-08-21 11:37:33 244
转载 蓝牙map协议源码解析
MAP协议使用场景:智能车载中同步短信,彩信等信息1 协议概述协议代码路径:frameworks\opt\bluetooth\src\android\bluetooth\client\ map这个包中Jar包名称,android.bluetooth.client. map所以进行开发时,在mk文件中需要添加这个包,并且,在AndroidManifest文件中必须导入Obe...
2019-08-21 11:05:27 3803
转载 Android ANR日志分析指南
当你的项目越做越复杂,或者你的用户达到某个数量级的时候,你的代码不小心出现细小的问题,你会收到各种各样的bug,其中ANR的问题你一定不会陌生。本文将详细讲解ANR的类型、出现的原因、ANR案例详细分析、经典的案例。定义ANR(Application Not Responding)应用程序无响应。如果你应用程序在UI线程被阻塞太长时间,就会出现ANR,通常出现ANR,系统会弹出一个提示提...
2019-08-20 15:17:38 11289 4
转载 CSR (英国蓝牙芯片制造商)
简介编辑CSR公司(Cambridge Silicon Radio:CSR),是位于 英国剑桥的一家Fabless无工厂半导体制造商。其主要产品线为单芯片的蓝牙芯片,GPS芯片。发展编辑1998年,CSR从Cambridge Consultants分离出来并成立公司,2004年在伦敦证券交易所挂牌上市。CSR logo2005年,CSR收购Clear Voice C...
2019-08-08 13:32:06 1973
转载 I2S音频总线
I2S音频总线学习(一)数字音频技术一、声音的基本概念 声音是通过一定介质传播的连续的波。图1 声波重要指标:振幅:音量的大小 周期:重复出现的时间间隔 频率:指信号每秒钟变化的次数声音按频率分类:图2 声音的频率(语音信号频率范围:300Hz-3kHz)声音的传播携带了信息,它是人类传播信息的一种主要媒体。声音的三种类型:波形声音...
2019-08-08 10:22:31 691
转载 I2S
I2S(Inter—IC Sound)总线, 又称 集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专门用于音频设备之间的数据传输,广泛应用于各种多媒体系统。它采用了沿独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离,避免了因时差诱发的失真,为用户节省了购买抵抗音频抖动的专业设备的费用。I2S(Inter-IC Sound)是飞利浦公司...
2019-08-08 10:19:44 456
转载 蓝牙耳机Priority设置流程
当蓝牙耳机配对成功后,会发送一个BONDING_STATE_CHANGE的消息,在BondStateMachine状态机里会对这个消息进行处理,调用setProfilePriorty(dev)函数对当前的耳机进行优先级的设置,把以前的设置优先级顺序Hid、A2DP、Headset改为Headset、A2DP、Hid,请看这个函数修改后的具体code:private void setProf...
2019-08-06 20:00:41 2703 7
转载 用蓝牙耳机拨打电话时的音频通路是如何切换的呢?
首先AP侧要在Modem(2G/3G/4G)、DSP和CP2(BT固件)之间建立通路连接,建立通路过程中AP侧通过AT命令(AT+SSAM)和Modem端进行音频通路选择的协商,之后,Modem端会告诉AP侧是否需要通过DSP来进行音频数据传输,这个时候Modem需要和AP侧进行通信,如果需要DSP的话,DSP要读取NV配置来设置DSP与CP2进行音频数据传输所需要的端口和总线的数据格式。DSP和...
2019-08-06 19:58:43 2835
转载 Bluedroid MFI support
苹果MFi认证(apple公司 “Made for iPhone/iPod/iPad”的英文缩写)是苹果公司(Apple Inc.)对其授权配件厂商生产的外置配件的一种标识使用许可。我们如何让apple可以扫描到我们的蓝牙设备呢?我们需要在bluedroid里添加支持特定的UUID。相关代码如下:1.将之前添加的代码封装如下:static voidbta_...
2019-08-06 19:57:17 323
转载 BT Page timeout问题
最近做可穿戴设备遇到一个问题,可穿戴设备和手机进行连接时,容易出现Page timeout,导致连接不成功。这个问题我们需要知道在什么场景下会导致发生Page timeout。首先我们需要知道BT的整个连接过程。主设备(master,即发起连接的设备)会寻呼(page)从设备(slave接收连接的设备),master会用跳频的方式去寻呼slave,slave会固定间隔地去扫...
2019-08-06 19:51:19 1718
转载 蓝牙耳机按键在Android侧的处理流程
目前大多数音频视频设备采用红外遥控器,由于距离、角度、障碍物等的影响,红外遥控器的应用受到了很大限制。蓝牙无线通信技术可以实现传统红外遥控全部应用功能,而且客服了红外遥控器的局限性。蓝牙音频视频遥控应用框架(Audio Video Remote Control Profile,AVRCP)就是实现无线遥控功能的规范。蓝牙耳机按键的处理在android层主要就是对BT的AVRCP ...
2019-08-06 19:48:48 1813 3
转载 Android4.4蓝牙耳机HFP流程分析-1
我们可以看到google使用的是AT+CLCC的方式来获取当前通话信息的,CLCC的状态描述总共有6种,也就是:active(0)、held(1)、dialing(2)、alterting(3)、incoming(4)、waiting(5),括号里为状态对应的数值.这些状态值由Modem端返回,也就是说所有Call状态的源头在Modem端。Telephony中的各种状态,以及它们之间的对应关系...
2019-08-06 19:47:10 445
转载 Bluetooth技术学习笔记 ——L2CAP之数据包格式
参考:core_v5.0 vol 3. Part A1PSM:Protocol/Service Multiplexer 协议/服务复用器。FCS:Frame Check Sequence,帧校验序列MTU:Maximum Transmission Unit,最大传输单元piconet :微微网B-frame:Basic information frameG-frame:Group f...
2019-08-06 19:27:18 631
转载 BlueTooth: 蓝牙基础知识进阶——链路控制操作
转自:http://blog.csdn.net/augusdi/article/details/25887395七链路控制操作链路控制操作就是用来描述一个设备是如何加入piconet又是如何从一个piconet中退出的。当然我们肯定不会忘记介绍一个设备是如何在多个piconet中夹缝生存的,呵呵~~Q1:在加入和退出一个piconet的过程中是否有类似状态转换的定义啊?这个问题不错...
2019-08-06 16:47:09 1105
转载 蓝牙主设备/从设备通 信和 Sniff/Sniff Sub
译注:译文略去了部分与技术无关的内容如版本历史及贡献者等,对于某些专有名词,译词反而词不 达意,故不做翻译。译文难免有错误之处,请不吝指出,任何疑问和探讨,请联络: jinhuagu.sh@126.com 或者 qiaofeifan@gmail.com 1目录 1 介绍............................................................
2019-08-06 16:45:11 5076 1
转载 Bluetooth Sniff 详解
前面讲了Blueooth Remote Control发送Sniff request,要求每5ms发送一个数据包。这篇详细介绍一下Bluetooth Sniff.在Sniff mode, Slave活动的占空比可能会降低。如果一个ACL逻辑传输的Slave 处于Active Mode,它将在在每个Master 发送ACL Slot中监听。除非link处理为分散连接或者在Hold Mode。在S...
2019-08-06 16:39:35 2120
转载 网络基本概念之TCP, UDP, 单播(Unicast), 多播(组播)(Multicast)
我们周围一切几乎都依赖于把事情抽象成低等级,并在某一点把它具体化,在一些设计概念中,接口层十分清晰并且目标很集中,应用程序不用考虑操作系统如何工作,操作系统也不用考虑硬件如何工作,OSI模型的第4层不需要考虑第三层如何工作。所以我们只需要集中精力在某一层,就当下面的层正常工作,但这样能行吗?如果你写一个应用,你最好知道OS是怎么样工作的,并且要考虑数据库如何存储字符的,同样,一个好的操作系统必需要...
2019-08-05 17:50:23 1278
转载 Use cases for CMAC vs. HMAC?
HMAC was there first (theRFC 2104is from 1997, whileCMACis from 2006), which is reason enough to explain its primacy. If you use HMAC, you will more easily find test vectors and implementations ag...
2019-08-05 17:45:32 322
转载 octet和byte的差异
在不严谨的前提下,byte和octet都表示为8 bits,但是严格意义上来讲,octet才是严格意义上的8 bits,而历史上的byte其实可以表示为4 bits ~ 10 bits,只不过现在的计算机环境下,已经默认了byte为8 bits。octet = 8 bitsbyte = (4~10 bits)8 bits(通常情况下)参考出处:https://www.differenceb...
2019-08-05 16:32:58 560
转载 PDU (协议数据单元)
协议数据单元PDU(Protocol Data Unit)是指对等层次之间传递的数据单位。 协议数据单元(Protocol Data Unit )物理层的 PDU是数据位(bit),数据链路层的 PDU是数据帧(frame),网络层的PDU是数据包(packet),传输层的 PDU是数据段(segment),其他更高层次的PDU是报文(message)。定义在分层网络结构,例如在开放...
2019-08-05 16:28:09 4759 1
转载 怎样使用CC2540EMK-USB Packet Sniffer 来抓取数据包?
Hi,我手上有TI的CC2540USB DONGLE, 并且安装了TI packet sniffer。但是由于BLE是调频的,我应该如何设置packet sniffer来随着我的BLE应用来调频,进而抓取空中的数据包?可以查看http://www.ti.com.cn/cn/lit/ug/swru187f/swru187f.pdf第17页If a post answ...
2019-08-03 16:42:14 229
转载 DMA之理解
1、DMA由来DMA(Direct Memory Access,直接存储器访问)。在DMA出现之前,CPU与外设之间的数据传送方式有程序传送方式、中断传送方式。CPU是通过系统总线与其他部件连接并进行数据传输。1.1程序传送方式程序传送方式是指直接在程序控制下进行数据的输入/输出操作。分为无条件传送方式和查询(条件传送方式)两种。1.1.1无条件传送方式微机系统中的一些简单的外设...
2019-08-03 16:18:11 312
转载 Notify 与 Indicate的区别
根据TI BLE1.4.0的介绍,Indicate是有ACK的。Q1:那么如果我用Notify,是否可能会丢数据呢?比如我用一个charisticrist 连续notify100个数据,中间是否有可能丢数据?我实验了很多次,也没有发现有丢数据。Q2:Indicate怎么使用呢?我看了thermometer的例子,但是感觉他仅仅是在定义static gattAttribute_t...
2019-08-03 16:08:17 12477 2
转载 Provisioning a Bluetooth Mesh Network他山之石(一):蓝牙Mesh 技术一起学 配网(1)
蓝牙Mesh配网任大神的这篇文章之前我也转帖过,因为配网这个过程在蓝牙mesh里面是头一遭,很多人都想搞清楚到底配网是怎么样的,和之前的BLE有没有区别。终于有一点时间把这篇文章的主要部分翻译了一下,也加了一些大威自己的理解。想啃E文的请移步到Provisioning a Bluetooth Mesh Network Part 1概述配网是把一个新的,没有配网过的设备加到一个...
2019-08-03 15:45:30 1248
原创 dongle
dongle:软件保护器,简称软件狗。dongle经常被认为是硬件保护,它是一个可被附加在计算机并口、串口或USB上的小插件,它包含厂家烧制的EPROM和定制的专用集成电路。在计算机方面,dongle = hardware key,作用主要是用来防止软件的盗用,有如看家狗,故俗称为“狗”。中文雅号似可称为“版权钥匙”,也可考虑“挡狗”,以收音义之效...
2019-08-03 15:06:50 4220
转载 ios蓝牙开发(四)BabyBluetooth蓝牙库介绍
BabyBluetooth是一个最简单易用的蓝牙库,基于CoreBluetooth的封装,并兼容ios和mac osx。特色:基于原生CoreBluetooth框架封装的轻量级的开源库,可以帮你更简单地使用CoreBluetooth API。 CoreBluetooth所有方法都是通过委托完成,代码冗余且顺序凌乱。BabyBluetooth使用block方法,可以重新按照功能和顺序...
2019-07-31 15:50:41 404
转载 ios蓝牙开发(三)app作为外设被连接的实现
再上一节说了app作为central连接peripheral的情况,这一节介绍如何使用app发布一个peripheral,给其他的central连接还是这张图,central模式用的都是左边的类,而peripheral模式用的是右边的类peripheral模式的流程1. 打开peripheralManager,设置peripheralManager的委托2. 创建chara...
2019-07-31 15:48:33 244
转载 ios蓝牙开发(二)ios连接外设的代码实现
上一篇文章介绍了蓝牙的技术知识,这里我们具体说明一下中心模式的应用场景。主设备(手机去扫描连接外设,发现外设服务和属性,操作服务和属性的应用。一般来说,外设(蓝牙设备,比如智能手环之类的东西), 会由硬件工程师开发好,并定义好设备提供的服务,每个服务对于的特征,每个特征的属性(只读,只写,通知等等),本文例子的业务场景,就是用一手机app去读写蓝牙设备。ios连接外设的代码实现流程1...
2019-07-31 15:46:57 1339
转载 iOS蓝牙开发(一)蓝牙相关基础知识
蓝牙常见名称和缩写 MFI ======= make for ipad ,iphone, itouch 专们为苹果设备制作的设备 BLE ==== buletouch low energy,蓝牙4.0设备因为低耗电,所以也叫做BLE peripheral,central == 外设和中心,发起连接的时central,被连接的设备为perilheral servi...
2019-07-31 15:45:08 161
转载 IoT技术选型及模型设计的思考
IoT是Internet of Things的缩写,对应的中文就是“物联网”。在近几年随着大型物联平台的出现和智能设备数量和种类,不断增长,芯片厂商不断的技术突破,新的使用领域和互联场景不断出现,IoT进入到一个快速增长和爆发的时代。(本文被收录在程序员杂志2017年4月刊)一:IoT时代的无线通讯技术世界最遥远的具体就是没有网络,网络通讯技术是IoT的基础,常见的无线网络通讯有...
2019-07-31 15:42:15 908
转载 Bluedroid: 蓝牙协议栈源码剖析
一、 基础知识介绍1.缩略语BTIF: Bluetooth InterfaceBTU: Bluetooth Upper LayerBTM: Bluetooth ManagerBTE: Bluetooth embedded systemBTA:Blueetooth application layerCO: call out\CI: call inHF...
2019-07-30 11:29:56 2177
转载 BlueDroid源码详细分析
1.整体架构1.1 名词解释HAL :HardwareAbstraction LayerBtif :BluetoothinterfaceBta :BluetoothapplicationBtu :Bluetoothuper layerBte :Bluetoothembedded layerBtm :Bluetooth devicemanagerCO : callout...
2019-07-30 11:27:06 1103
转载 蓝牙Profile的概念和常见种类
蓝牙ProfileBluetooth的一个很重要特性,就是所有的Bluetooth产品都无须实现全部 的Bluetooth规范。为了更容易的保持Bluetooth设备之间的兼容,Bluetooth规范中定义了Profile。Profile定义了设备如何实现一种连接或者应用,你可以把Profile理解为连接层或者应用层协。在所有的Profile中,有四种是基本的Profile,这些Profi...
2019-07-29 14:52:53 1679
转载 蓝牙协议(bluetooth spec)
1.概述:蓝牙协议规范遵循开放系统互连参考模型(OSI/RM),从低到高地定义了蓝牙协议堆栈的各个层次。 SIG(Session Initiation Protocol)所定义的蓝牙技术规范的目的是使符合该规范的各种应用之间能够实现互操作。 互操作的远端设备需要使用相同的协议栈,不同的应用需要不同的协议栈。 但是,所有的应用都要使用蓝牙技术规范中的数据链路层和物理层。...
2019-07-29 14:07:58 4099
转载 .s文件、.S文件和.o文件的区别
s文件和.o文件的区别.s汇编语言源程序; 操作:汇编.S汇编语言源程序; 操作:预处理+汇编.s结尾文件:小写的 s文件,在后期阶段不会再进行预处理操作了,所以我们不能在其内写上预处理语句。一般是 .c 文件经过汇编器处理后的输出。 如 GCC 编译器就可以指定 -S 选项进行输出,且是经过预处理器处理后的了。例如:gcc -S test.c-----生成....
2019-07-26 16:13:40 6268
转载 学习Android之setDataAndType(利用第三方应用程序打开各种文件)
案例:首先,我们先看看Android如何利用第三方应用程序打开PDF文件File tempFile = new File(path); if (!tempFile.exists()){ return; } try { *//* Intent intent = new Intent("android.in...
2019-07-24 10:55:54 834
转载 Android 音视频深入 三 MP4解码播放视频 (附源码下载)
本篇项目地址,名字是媒体解码MediaCodec,MediaExtractor,求starhttps://github.com/979451341/Audio-and-video-learning-materials这次要用到新的东西SurfaceView、MediaCodec、MediaExtractor、MediaFormat1.文字说明SurfaceView:一个View,...
2019-07-24 10:15:16 232
转载 Android MediaPlayer
现在的手机功能越来越丰富了,遥想10年前,MP3,MP4,MP5,还是很流行的,博主当时读高中时很想拥有一台,可以听音乐和看电影。可是条件有限,学校也禁止此东西,所以只能偷偷的玩。而现在我们的手机也很早以前就支持了这些功能,而且界面和功能也远远超过了MP4。好吧,说多了,今天本文介绍的是Andriod系统自带的Mediaplayer,和VideoView实现简单的音乐和视频的播放,至于想做出如酷狗...
2019-07-23 16:57:23 166
转载 数字IC设计入门书单
作者:Forever snow链接:https://zhuanlan.zhihu.com/p/23429432来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。修订说明:1、2016.11.07,@Kevin Hahn补充半导体物理与器件相关参考书。感谢!------------------------------------------------...
2019-07-19 10:14:13 8567 3
转载 Android 9.0 最完整的新特性列表
谷歌在GoogleI / O 2018 上终于发布了Android 9.0。不管你是否已经更新了你的Android版本,当你运行Android9时,你终究会看到大量的新功能,下面列出了其中最炫酷的25个新特性。1.自适应电池如果你在Android6中使用了休眠功能,它会让所有的应用程序都休眠,而自适应电池功能是它的一个进阶版,默认情况下是启用的。你可以在Settings...
2019-07-15 18:02:00 11319 2
Mocor MMI VCard Interface User Guide.doc
2010-11-16
Mocor MMI Camera Interface User Guide
2010-11-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人