forked from espressif/esp-idf
Merge branch 'bugfix/doc_blufi' into 'master'
bugfix/doc_blufi See merge request idf/esp-idf!2644
This commit is contained in:
@@ -41,7 +41,7 @@ The following uses Station as an example to illustrate the core parts of the pro
|
|||||||
|
|
||||||
2. The data lengths before and after symmetric encryption/decryption must stay the same. It also supports in-place encryption and decryption.
|
2. The data lengths before and after symmetric encryption/decryption must stay the same. It also supports in-place encryption and decryption.
|
||||||
|
|
||||||
The flow chat of BluFi
|
The flow chart of BluFi
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
.. seqdiag::
|
.. seqdiag::
|
||||||
@@ -77,35 +77,64 @@ The frame formats for the communication between the mobile phone App and ESP32 a
|
|||||||
|
|
||||||
The frame format with no fragment (8 bit):
|
The frame format with no fragment (8 bit):
|
||||||
|
|
||||||
+------------+---------------+-----------------+-------------+----------------+----------------+
|
+-----------------+----------------+
|
||||||
| LSB - Type | Frame Control | Sequence Number | Data Length | Data | MSB - CheckSum |
|
| Description | Value |
|
||||||
+============+===============+=================+=============+================+================+
|
+=================+================+
|
||||||
| 1 | 1 | 1 | 1 | ${Data Length} | 2 |
|
| LSB - Type | 1 |
|
||||||
+------------+---------------+-----------------+-------------+----------------+----------------+
|
+-----------------+----------------+
|
||||||
|
| Frame Control | 1 |
|
||||||
|
+-----------------+----------------+
|
||||||
|
| Sequence Number | 1 |
|
||||||
|
+-----------------+----------------+
|
||||||
|
| Data Length | 1 |
|
||||||
|
+-----------------+----------------+
|
||||||
|
| Data | ${Data Length} |
|
||||||
|
+-----------------+----------------+
|
||||||
|
| MSB - CheckSum | 2 |
|
||||||
|
+-----------------+----------------+
|
||||||
|
|
||||||
If the **Frame Ctrl** bit is enabled, the **Total length** bit indicates the length of remaining part of the frame. It can tell the remote how much memory needs to be alloced.
|
If the **Frame Ctrl** bit is enabled, the **Total length** bit indicates the length of remaining part of the frame. It can tell the remote how much memory needs to be alloced.
|
||||||
|
|
||||||
The frame format with fragments(8 bit):
|
The frame format with fragments(8 bit):
|
||||||
|
|
||||||
+------------+--------------------+----------------+------------+-------------------------------------------+----------------+
|
+--------------------+-------------------------------------------+
|
||||||
| LSB - Type | FrameControl(Frag) | SequenceNumber | DataLength | Data | MSB - CheckSum |
|
| Description | Value |
|
||||||
+ + + + +----------------------+--------------------+ +
|
+====================+===========================================+
|
||||||
| | | | | Total Content Length | Content | |
|
| LSB - Type | 1 |
|
||||||
+============+====================+================+============+======================+====================+================+
|
+--------------------+-------------------------------------------+
|
||||||
| 1 | 1 | 1 | 1 | 2 | ${Data Length} - 2 | 2 |
|
| FrameControl(Frag) | 1 |
|
||||||
+------------+--------------------+----------------+------------+----------------------+--------------------+----------------+
|
+--------------------+-------------------------------------------+
|
||||||
|
| SequenceNumber | 1 |
|
||||||
|
+--------------------+-------------------------------------------+
|
||||||
|
| DataLength | 1 |
|
||||||
|
+--------------------+----------------------+--------------------+
|
||||||
|
| | Total Content Length | 2 |
|
||||||
|
+ Data +----------------------+--------------------+
|
||||||
|
| | Content | ${Data Length} - 2 |
|
||||||
|
+--------------------+----------------------+--------------------+
|
||||||
|
| MSB - CheckSum | 2 |
|
||||||
|
+--------------------+-------------------------------------------+
|
||||||
|
|
||||||
Normally, the control frame does not contain data bits, except for Ack Frame.
|
Normally, the control frame does not contain data bits, except for Ack Frame.
|
||||||
|
|
||||||
The format of Ack Frame(8 bit):
|
The format of Ack Frame(8 bit):
|
||||||
|
|
||||||
+------------------+----------------+------------------+--------------+-----------------------+----------------+
|
+------------------+--------------------------------------------+
|
||||||
| LSB - Type (Ack) | Frame Control | SequenceNumber | Data Length | Data | MSB - CheckSum |
|
| Description | Value |
|
||||||
+ + + + +-----------------------+ +
|
+------------------+--------------------------------------------+
|
||||||
| | | | | Acked Sequence Number | |
|
| LSB - Type (Ack) | 1 |
|
||||||
+==================+================+==================+==============+=======================+================+
|
+------------------+--------------------------------------------+
|
||||||
| 1 | 1 | 1 | 1 | 1 | 2 |
|
| Frame Control | 1 |
|
||||||
+------------------+----------------+------------------+--------------+-----------------------+----------------+
|
+------------------+--------------------------------------------+
|
||||||
|
| SequenceNumber | 1 |
|
||||||
|
+------------------+--------------------------------------------+
|
||||||
|
| DataLength | 1 |
|
||||||
|
+------------------+-----------------------+--------------------+
|
||||||
|
+ Data + Acked Sequence Number + 2 +
|
||||||
|
| | | |
|
||||||
|
+------------------+-----------------------+--------------------+
|
||||||
|
| MSB - CheckSum | 2 |
|
||||||
|
+------------------+--------------------------------------------+
|
||||||
|
|
||||||
1. Type
|
1. Type
|
||||||
|
|
||||||
|
@@ -81,35 +81,64 @@ BluFi 传输格式
|
|||||||
|
|
||||||
帧不分片情况下的标准格式 (8 bit):
|
帧不分片情况下的标准格式 (8 bit):
|
||||||
|
|
||||||
+------------+---------------+-----------------+-------------+----------------+----------------+
|
+-----------------+----------------+
|
||||||
| LSB - Type | Frame Control | Sequence Number | Data Length | Data | MSB - CheckSum |
|
| Description | Value |
|
||||||
+============+===============+=================+=============+================+================+
|
+=================+================+
|
||||||
| 1 | 1 | 1 | 1 | ${Data Length} | 2 |
|
| LSB - Type | 1 |
|
||||||
+------------+---------------+-----------------+-------------+----------------+----------------+
|
+-----------------+----------------+
|
||||||
|
| Frame Control | 1 |
|
||||||
|
+-----------------+----------------+
|
||||||
|
| Sequence Number | 1 |
|
||||||
|
+-----------------+----------------+
|
||||||
|
| Data Length | 1 |
|
||||||
|
+-----------------+----------------+
|
||||||
|
| Data | ${Data Length} |
|
||||||
|
+-----------------+----------------+
|
||||||
|
| MSB - CheckSum | 2 |
|
||||||
|
+-----------------+----------------+
|
||||||
|
|
||||||
如果 **Frame Control** 帧中的 **More Frag** 使能,则 **Total Content Length** 为数据帧中剩余部分的总长度,用于报告终端需要分配多少内存。
|
如果 **Frame Control** 帧中的 **More Frag** 使能,则 **Total Content Length** 为数据帧中剩余部分的总长度,用于报告终端需要分配多少内存。
|
||||||
|
|
||||||
帧分片格式(8 bit):
|
帧分片格式(8 bit):
|
||||||
|
|
||||||
+------------+--------------------+----------------+------------+-------------------------------------------+----------------+
|
+--------------------+-------------------------------------------+
|
||||||
| LSB - Type | FrameControl(Frag) | SequenceNumber | DataLength | Data | MSB - CheckSum |
|
| Description | Value |
|
||||||
+ + + + +----------------------+--------------------+ +
|
+====================+===========================================+
|
||||||
| | | | | Total Content Length | Content | |
|
| LSB - Type | 1 |
|
||||||
+============+====================+================+============+======================+====================+================+
|
+--------------------+-------------------------------------------+
|
||||||
| 1 | 1 | 1 | 1 | 2 | ${Data Length} - 2 | 2 |
|
| FrameControl(Frag) | 1 |
|
||||||
+------------+--------------------+----------------+------------+----------------------+--------------------+----------------+
|
+--------------------+-------------------------------------------+
|
||||||
|
| SequenceNumber | 1 |
|
||||||
|
+--------------------+-------------------------------------------+
|
||||||
|
| DataLength | 1 |
|
||||||
|
+--------------------+----------------------+--------------------+
|
||||||
|
| | Total Content Length | 2 |
|
||||||
|
+ Data +----------------------+--------------------+
|
||||||
|
| | Content | ${Data Length} - 2 |
|
||||||
|
+--------------------+----------------------+--------------------+
|
||||||
|
| MSB - CheckSum | 2 |
|
||||||
|
+--------------------+-------------------------------------------+
|
||||||
|
|
||||||
通常情况下,控制帧不包含数据位,Ack 帧类型除外。
|
通常情况下,控制帧不包含数据位,Ack 帧类型除外。
|
||||||
|
|
||||||
Ack 帧格式(8 bit):
|
Ack 帧格式(8 bit):
|
||||||
|
|
||||||
+------------------+---------------+-----------------+-------------+-----------------------+----------------+
|
+------------------+--------------------------------------------+
|
||||||
| LSB - Type (Ack) | Frame Control | SequenceNumber | Data Length | Data | MSB - CheckSum |
|
| Description | Value |
|
||||||
+ + + + +-----------------------+ +
|
+------------------+--------------------------------------------+
|
||||||
| | | | | Acked Sequence Number | |
|
| LSB - Type (Ack) | 1 |
|
||||||
+==================+===============+=================+=============+=======================+================+
|
+------------------+--------------------------------------------+
|
||||||
| 1 | 1 | 1 | 1 | 1 | 2 |
|
| Frame Control | 1 |
|
||||||
+------------------+---------------+-----------------+-------------+-----------------------+----------------+
|
+------------------+--------------------------------------------+
|
||||||
|
| SequenceNumber | 1 |
|
||||||
|
+------------------+--------------------------------------------+
|
||||||
|
| DataLength | 1 |
|
||||||
|
+------------------+-----------------------+--------------------+
|
||||||
|
+ Data + Acked Sequence Number + 2 +
|
||||||
|
| | | |
|
||||||
|
+------------------+-----------------------+--------------------+
|
||||||
|
| MSB - CheckSum | 2 |
|
||||||
|
+------------------+--------------------------------------------+
|
||||||
|
|
||||||
1. Type
|
1. Type
|
||||||
|
|
||||||
@@ -424,4 +453,4 @@ BluFi (ESP32 -> 手机) 特性:0xFF02,主要权限:可读可通知
|
|||||||
|
|
||||||
1. 目前 Ack 机制已经在该 Profile 协议中定义,但是还没有代码实现。
|
1. 目前 Ack 机制已经在该 Profile 协议中定义,但是还没有代码实现。
|
||||||
|
|
||||||
2. 其他部分均已实现。
|
2. 其他部分均已实现。
|
Reference in New Issue
Block a user