Bluetooth: att protocol

news2024/11/14 13:45:44

一篇搞懂 ATT 支持的东西都有什么。

READ_BY_GROUP_TYPE_REQ/RSP

如下是 Spec 内容:
The attributes returned shall be the attributes with the lowest handles within the handle
range. These are known as the requested attributes.

If the attributes with the requested type within the handle range have attribute
values that have the same length, then these attributes can all be read in a
single request. However, if those attributes have different lengths, then multiple
ATT_READ_BY_GROUP_TYPE_REQ PDUs must be issued.

The ATT Server shall include as many attributes as possible in the response in order to
minimize the number of PDUs required to read attributes of the same type.

翻译一下:
不是逐字逐句的翻译哈,将其表达的意思说明清楚:
按照查找的范围,找到符合type的所有attibute 的 handle + value + group_end_handle;
因为 value 的长度可能会各有区别,每个 RSP packet 需要将相同长度的放在一起才可以;
但是考虑到 MTU 的限制,有时必须要进行多次请求回应才可以拿到所需范围内的attibutes;
实际中,往往是这样来实现:这些找到的attributes按照handle从小打到排列,例如 group_end_handle<=20的,其value都是同样长度,那么就先回应出去;然后对方下一个请求的起始handle就会从21开始,Server收到后,发现21 ~ group_end_handle 为80 的attributes 的 value都是同样的长度,那么就再回应出去,以此类推。

READ_BY_TYPE/RSP

来自于 Spec:
The attributes returned shall be the attributes with the lowest handles within the handle
range. These are known a

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2091837.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

石油设备和相关机械都包涵那些?

关键字&#xff1a;钻杆测径仪&#xff0c;泵管测径仪&#xff0c;固井管道直线度测量仪&#xff0c;输送管测径仪&#xff0c;输送管检测设备&#xff0c; 石油设备是指在石油和天然气的勘探、开发、生产、储存和运输等过程中使用的各种机械和装置。这些设备通常包括但不限于…

黄力医生科普:如何有效预防冠心病,这几个保健措施不可少!

冠心病&#xff0c;作为心血管系统的一种常见病&#xff0c;主要因冠状动脉粥样硬化导致管腔狭窄或闭塞&#xff0c;进而引发心肌缺血缺氧。此病多发于中老年群体&#xff0c;且具有一定遗传性。然而&#xff0c;无论发病因素如何&#xff0c;我们都可以通过一系列有效的预防措…

C++类和对象(6)——初始化列表

一般的初始化 class A { public:A(int a){ //一般的初始化&#xff0c;在{}括号里面给成员变量赋值_a a;cout << _a << endl;}~A() {}private:int _a; }; 用 初始化列表 初始化 当成员变量是以下两种情况时&#xff0c; 必须使用初始化列表&#xff01; cons…

单自由度无阻尼系统振动分析

特别感谢&#xff1a;https://www.bilibili.com/video/BV114411y7ab/?p6&spm_id_frompageDriver&vd_sourceebe07816bf845358030fc92d23830b29 本文图片该系列视频 tips&#xff1a;关于特征方程与振动方程&#xff1a; 特征方程有助于我们理解和确定系统的固有频率和模…

【算法】贪心算法解析:基本概念、策略证明与代码例题演示

文章目录 1. 什么是贪心算法&#xff1f;2. 贪心算法的特点3. 例题&#xff08;贪心策略&#xff09;① 找零问题② 最小路径和③ 背包问题 4. 贪心策略证明 1. 什么是贪心算法&#xff1f; 在学习贪心算法之前&#xff0c;一定要理解的是贪心策略&#xff1a; 贪心策略是一种…

Ubuntu中qt类与类信号槽的创建及使用

今天学习到了新的一个小玩意&#xff0c;我们在QT中创建一个大项目的时候一般会创建多个类&#xff0c;那我们就来学习一下如何在自定义的类中声名和使用信号与槽函数。 首先我们CTRLn来创建我们新的类&#xff1a; 我们创建新的C的类&#xff0c;一个School&#xff0c;一个S…

举办知识竞赛是线上好还是线下好

举办知识竞赛线上和线下各有优势&#xff0c;选择哪种方式取决于具体的需求和条件。 线上举办知识竞赛的优缺点&#xff1a; 优点&#xff1a; 便捷性&#xff1a;线上竞赛不受地域限制&#xff0c;参与者可以在任何有网络的地方参与。 选手数&#xff1a;可以同时满足人数较…

单门店共享自习室小程序系统源码搭建对接门禁和空开api

共享自习室小程序&#xff0c;单门店共享自习室小程序&#xff0c;有源码&#xff0c;对接门禁和电控api接口&#xff0c;php开发语言&#xff0c;前端是uniapp。可以源码搭建&#xff0c;也可以二开或定制。 一 用户端 在线选择预约时间&#xff0c;选择座位&#xff0c;选择…

macOS搭建Python3.11+Django4.2.15的平台框架使用Poetry管理

最近想使用Python开发&#xff0c;使用Django框架搭建平台&#xff0c;之前没有使用过Python&#xff0c;所以记录下整个过程&#xff1a; 1、Python版本的选择&#xff0c;直接去官网【Download Python | Python.org】看最新稳定版是哪个版本&#xff0c;选择安装&#xff0c…

Ascend C算子开发(入门)—— 什么是算子?

文章目录 Ascend C算子开发&#xff08;入门&#xff09;—— 什么是算子&#xff1f;一、从人工智能到算子1.1 人工智能的四个层面1.2 人工智能之三大流派1.3 算子、神经元、神经网络 二、算子的基本概念2.1 算子在数学中的定义&#xff1a;2.2 算子基本概念 —— 总览2.3 算子…

利用clip模型实现text2draw

参考论文 实践 有数据增强的代码 import math import collections import CLIP_.clip as clip import torch import torch.nn as nn from torchvision import models, transforms import numpy as np import webp from PIL import Image import skimage import torchvision …

基于单片机的楼宇消防控制系统设计

本设计基于单片机的楼宇消防控制系统&#xff0c;主要包括温湿度检测模块、空气质量检测模块、火焰检测模块、ZigBee通信模块、报警模块和自动喷水模块。首先&#xff0c;系统通过温湿度检测模块实时监测楼道内的温湿度状况&#xff0c;以便及时掌握火灾发生前的环境变化。其次…

足底筋膜炎怎么治疗效果好

足底筋膜炎的症状 足底筋膜炎是一种常见的足部疾病&#xff0c;主要表现为足底区域&#xff08;尤其是脚跟附近&#xff09;的疼痛和不适。这种疼痛在早晨起床或长时间休息后初次站立时尤为明显&#xff0c;被形象地称为“晨间痛”。随着行走时间的增加&#xff0c;疼痛可能会…

直击源头!劳保鞋厂家揭秘机械制造业防护安全鞋挑选秘籍

在机械制造业这一高风险、高强度的行业中&#xff0c;选择合适的劳保鞋对于保障工人的安全至关重要。作为劳保鞋的生产厂家&#xff0c;我们深知一双优质的防护鞋能为工人提供怎样的保护。今天百华小编和大家从多个维度看一下机械制造业是如何挑选防护安全鞋的挑选秘籍&#xf…

四款远程控制分享!你pick哪一款?

远程控制软件已经成为我们日常生活中不可或缺的一部分&#xff0c;无论是远程办公、技术支持还是家庭娱乐&#xff0c;这些软件都扮演着重要的角色。今天&#xff0c;我们就来聊聊几款市面上比较热门的远程控制软件在电脑远程操作上都有哪些表现呢&#xff1f;让我们一探究竟。…

ArkTS语法题

1. 下面示例中会导致编译报错的有&#xff1f; A. let x: number null&#xff1b; B. let x: number | null null&#xff1b; C. let y: string null&#xff1b; D. let y: string 100&#xff1b; 看来GPT对这种标准概念选择&#xff0c;也没有统一的说法。 - 文心…

【3.8】贪心算法-解无重叠区间

一、题目 给定一个区间的集合 intervals &#xff0c;其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量&#xff0c;使剩余区间互不重叠 。 示例 1: 输入: intervals [[1,2],[2,3],[3,4],[1,3]] 输出: 1 解释: 移除 [1,3] 后&#xff0c;剩下的区间没有重叠…

ImportError: Missing optional dependency ‘openpyxl‘.报错已解决

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引言&#xff1a; 在开发过程中&#xff0c;你是否遇到过导入模块时出现ImportError: Missing optional dependency openpyxl的…

绘制YOLOv9训练结果的mAP0.5变化曲线

本文绘制mAP0.5在训练过程中的变化曲线&#xff08;Python脚本&#xff09;&#xff0c;用以比较不同算法的收敛速度&#xff0c;最终精度等&#xff0c;并且能够在论文中直观的展示改进效果。 以下是比较了三个模型的mAP0.5变化曲线&#xff0c;数据来源是直接读取三个训练完…

Flink1.14.* 各种算子在StreamTask控制下如何调用的源码

前言&#xff1a;一、StreamTask执行算子的生命周期二、 Source的streamTask用的是SourceStreamTask三、基础转换操作&#xff0c;窗口用的是OneInputStreamTask1、初始化OneInputStreamTask2、StreamTask运行invoke调用的是StreamTask的processInput方法3、从缓冲区获取数据放…