每天的美好时光
暑假到了,每一天我都可以看电视,还可以吹空调 ^_^;
有一点不开心的是因为感冒了还要吃药,每天还有那么多作业>_<;
但是在我看来每一天都很充实,并且充满了温暖和爱心,所以我的标题每一个字都是满满的幸福,也是我喜欢的每一天。
第一次用钢笔
今天我会用钢笔了,可是钢笔的墨水弄到了我的手上,
我的手马上就变成了蓝色,虽然有点脏,但是颜色还挺好看的,并且用水一下就洗掉了……
我喜欢我的第一支钢笔^_^
新买的钢笔
昨天爸爸给我买了一只钢笔,今天就到了。
可是收到钢笔后我不知道怎么安装 ^_^
只有等爸爸回来帮我装上才能用,心里非常的期待啊。
^_^ ……
学轮滑
今天上轮滑课的时候,我交了一个好朋友,名叫悦悦。
不知道她愿不愿意和我一起做好朋友呢?
^_^…….
LE Audio Profile (BAP)
概述LE Audio整体框图如下,对于BlueZ协议栈来说主要是实现了Generic Audio Framework层的profile,本章节主要针对BAP介绍CIS和BIS的相关service。 BlueZ协议栈的介绍可以参考Linux蓝牙框架(三) - BlueZ协议栈 链接。
从上图可知除了BAP,还有其他Profile,例如MCP(Media Control Profile), CCP(Call Control Profile), CSIP (Coordinated Set Identification Profile), MICP(Microphone Control Profile), VCP(Volume Control Profile),本章节的主要介绍BAP以及BAP下的基础service(PACS/ASCS/BASS);
BAP SPEC中定义了如下角色,下面的章节将针对Unicast和Broadcast分别介绍.
Role
Sub Role
Description
Unicast
Unicast Server
发送广播声明支持的 ...
宝贝计划-保持耐心,静待花开
小女今年六岁,开始上小学了,开校一个月,很快适应了学校的生活,并且对于上学这个事依然保持着热情和向往。每天放学都跟妈妈分享学校的故事,学校下午发的零食也会带回来跟妈妈一起吃,可惜我下班晚,就没有这个口福了。她生活习惯上也有很大进步,但是独立睡觉尝试了几次都以失败告终,她说一个人总是睡不着,闭上眼睛就很害怕,没有办法,只能在床边给她搭了一个小床。
上周五我有幸参加了班上的家长会,老师们跟我年龄相仿,甚至可能还小个几岁,但坐在教室中,仍然觉得自己还是学生,对老师油然而生一种尊敬。老师们分享了语文数学英语各科在现阶段需要注意的,以及家庭中孩子生活习惯、行为习惯需要注意的。教育是个大工程,需要老师家长一起协作。第一次家长会有些忐忑,也有些惶恐,现在的教育早已不在是我们小时候散养的模式了,家长也需要付出更多的精力和时间跟孩子一起成长和学习。
幺妹有个很好的习惯,就是写作业还是很积极的,我们在幼儿园的时候就开始安排她放学后需要先写作业,但是辅导作业对于妈妈来说已经初显焦虑了,她辅导了两次作业,都差点崩溃,认字刚刚教了,再问又忘记了,写字也是,笔画顺序总是错的,名字里面的梦字,没有一笔是正确的。我只 ...
肺炎开始普及了吗
《集疾成医》“身体健康无病痛,我想是每个人最朴素的愿望了,奈何人食五谷,孰能无疾。今记录遇到的一些疾病,包括症状、过程、用药以及结合医学经典的理解,一来可供相似症状的患者参考,二来习医以自诊。”
新年第一咳2024甲辰年开年之初,连续几天的春日骄阳伴着徐徐春风算是给大家带来了一个温暖快乐的新年,初一到初三,几个好友每天下午都约着晒着太阳打牌,不辜负这天赐春光。不知不觉背心冒汗脸颊滚烫,这时徐徐春风便成了贼风,偷偷伤害着你的身体,可能风热感冒了;再加上大年顿顿大吃大喝,脾胃积热肯定是在所难免的,表里皆有热盛,不出意外,意外发生了,我从初5开始全身酸痛,腰背更甚,伴随有轻微发热咽痛等症状。
初六全身疼痛加剧,项背强直,动作不利,头也开始痛,咳嗽更甚,大多诊所都没有开门,只能去医院,我就近去了天府新区人民挂急诊,预诊测量提问37.6度,只能看发热门诊,出人意料人很多,排了差不多1个小时,医生简单询问了基本情况,开了甲流/乙流/支原体等检查单,我一看费用290多,吓得我虎驱一振,我就看个感冒,还没开药,先得纳个300块的投名状,医生解释说需要先确认是什么病毒细菌这样用药 ...
Linux蓝牙框架(三) - BlueZ协议栈
前言BlueZ协议栈是Linux平台默认使用的蓝牙Host协议栈,上一篇文章介绍了BlueZ协议栈与Linux kernel之间的数据交互是通过socket的方式进行的,Linux内核提供了AF_BLUETOOTH协议簇的socket通道,BlueZ可以通过创建不同protocal的socket来跟内核进行数据通信,例如BTPROTO_HCI/BTPROTO_L2CAP/BTPROTO_ISO等,下面是Linux 蓝牙框图:
BlueZ协议栈处于用户空间,本身提供了bluetoothctl/btmon等工具,还提供了基于DBus方式的API接口,所以应用程序可以通过DBus API进行编程。
本文基于BlueZ 5.70版本进行介绍,需要注意的是在新版本中有一些组件和工具已经被社区弃用(例如hcidump/hciconfig/gatttool/hciattach等)。
bluetoothd守护进程bluetoothd是BlueZ协议栈的守护进程,运行在蓝牙主机设备上,从Makefile文件可以看出,编译bluetoothd目 ...
Linux蓝牙框架(二) - 内核协议层
前言自BT Core 5.3在2021年发布以来,当前linux内核蓝牙协议与BlueZ协议栈最多的提交主要集中在LE Audio上,如果需要使用最新的LE Audio相关的功能,BlueZ协议栈与内核需要同时升级到最新版本。本篇文章主要讨论的主题是内核的蓝牙协议的框架,以及如何与蓝牙驱动和BlueZ协议栈交互,还是先看一下整体的框图,下面我们会介绍Bluetooth Protocol部分的内容。
蓝牙启动内核蓝牙模块依赖CONFIG_BT宏开关,其入口函数bt_init()通过subsys_initcall()符号声明到.initcall的section中,这样在kernel_init的流程中通过执行do_initcalls函数,会把.initcall段中的函数按顺序全部执行一遍。
bt_init()函数定义在net/bluetooth/af_bluetooth.c文件中,该函数主要完成下面几个功能:
bt_sysfs_init,创建蓝牙协议层的文件系统,用于用户空间配置/调试/查看等操作;
sock_register,注册PF_BLUET ...
Linux蓝牙框架(一) - 蓝牙驱动
前言Linux平台下的蓝牙驱动可以按照外设类型分为hci_uart, hci_usb, hci_sdio等,取决于Controller芯片所提供的接口。所以通常所说的蓝牙驱动实际上是HCI设备的驱动,因为不管是什么接口,对于内核蓝牙协议(net/bluetooth)来说都是在操作hdev(hci device)设备。本文基于linux kernel 6.7-rc1版本。
本文主要介绍Amlogic公司的W2 蓝牙驱动的框架和流程,该芯片蓝牙接口采用UART,所以下面主要介绍hci_uart驱动,其他公司的蓝牙驱动也都大同小异。
蓝牙驱动框图自2017年Linux 4.12内核引入serdev驱动框架后,很多公司便基于serdev框架实现了bluetooth,ethernet等驱动,例如drivers/bluetooth目录下的hci_bcm.c, hci_norkia.c文件,以及drivers/net/ethernet/qualcomm/qca_uart.c文件,若想了解serdev详细介绍,可以参考连接:https:// ...


