본문 바로가기
블루투스/LE Link Layer

LL Control PDU Payload

by 테크쟁이 2023. 2. 9.
반응형
 

참고자료: https://www.bluetooth.com/specifications/specs/core-specification-5-3/

* 전체 Data Physical Channel PDU는 "Bluetooth LE Packet Format" 참고

* LL Control PDU opcode 정리표는 "LL Control PDU opcode" 참고

 

LL Control PDU Payload

- Link Layer connection을 control 할 때 사용한다

LLID는 0b11를 사용한다 (자세한 내용은, 위의 "1-1. LLID field" 참고)

 

LL Control PDU Payload

- Opcode: Link Layer connection을 control 하기 위한 operation code

- CtrData: Opcode에 대한 control data로, opcode에 따라 길이가 고정이고, 명시적으로 선언되지 않은 interger는 unsigned로 해석된다


1. LL_CONNECTION_UPDATE_IND (0x00)

LL_CONNECTION_UPDATE_IND Opcode CtrData

- WinSize: transmitWindowSize 값 (transmitWindowSize = WinSize * 1.25 ms)

- WinOffset: transmitWindowOffset 값 (transmitWindowOffset = WinOffset * 1.25 ms.)

- Interval: connInterval 값 (connInterval = Interval * 1.25 ms)

- Latency: connPeripheralLatency 값 (connPeripheralLatency = Latency)

- Timeout: connSupervisionTimeout 값 (connSupervisionTimeout = Timeout * 10 ms)

- Instant: connection 관련된 변화의 기준점

connection parameter update 상황에서, instant와 connection event의 타이밍


2. LL_CHANNEL_MAP_IND (0x01)

LL_CHANNEL_MAP_IND Opcode CtrData

- ChM: data channel의 Used/Unused 상태를 알려준다 (자세한 내용은, "LE - RF channel map" 참고)

- Instant: connection 관련된 변화의 기준점 (자세한 내용은, 위의 "1. LL_CONNECTION_UPDATE_IND"를 참고)


3. LL_TERMINATE_IND (0x02)

LL_TERMINATE_IND Opcode CtrData

- ErrorCode: connection이 끊어진 이유 (자세한 내용은, "Controller Error Code" 참고)


4. LL_ENC_REQ (0x03)

LL_ENC_REQ Opcode CtrData

- Rand: EDIV와 같이 사용되는, Host가 제공하는 random 숫자

- EDIV: encrypted diversifier

- SKD_C: Central의 Session key diversifier의 일부분

- IV_C: Central의 initialization vector의 일부분


5. LL_ENC_RSP (0x04)

LL_ENC_RSP Opcode CtrData

- SKD_P: Peripheral의 Session key diversifier의 일부분

- IV_P: Peripheral의 initialization vector의 일부분


6. LL_START_ENC_REQ (0x05)

- No CtrData field


7. LL_START_ENC_RSP (0x06)

- No CtrData field


8. LL_UNKNOWN_RSP (0x07)

- 지원하지 않는 LL Control PDU를 수신하면, UnknownType field에 해당 opcode를 할당한 후, LL_UNKNOWN_RSP PDU로 응답해야 한다

- RFU인 LL Control PDU를 수신하면, UnknownType field에 해당 opcode를 할당한 후, LL_UNKNOWN_RSP PDU로 응답해야 한다

- 길이가 잘못된 LL Control PDU를 수신하여, 해석을 시도하였으나 실패하면, UnknownType field에 해당 opcode를 할당한 후, LL_UNKNOWN_RSP PDU로 응답해야 한다

- CtrData가 잘못된 LL Control PDU를 수신하여, 해석을 시도하였으나 실패하면, UnknownType field에 해당 opcode를 할당한 후, LL_UNKNOWN_RSP PDU로 응답해야 한다

LL_UNKNOWN_RSP Opcode CtrData

- UnknownType: 수신한 LL Control PDU의 Opcode


9. LL_FEATURE_REQ (0x08)

LL_FEATURE_REQ Opcode CtrData

- FeatureSet: Central에서 지원하는 features set (자세한 내용은, "LE Controller features" 참고)


10. LL_FEATURE_RSP (0x09)

LL_FEATURE_RSP Opcode CtrData

- FeatureSet[0]: Central과 Peripheral에서 지원하는 features set (자세한 내용은, "LE Controller features" 참고)

- FeatureSet[1] ~ [7]: 해당 PDU를 전송하는 디바이스의 Link Layer에서 지원하는 features set


11. LL_PAUSE_ENC_REQ (0x0A)

- No CtrData field


12. LL_PAUSE_ENC_RSP (0x0B)

- No CtrData field


13. LL_VERSION_IND (0x0C)

LL_VERSION_IND Opcode CtrData

- Version: Controller에서 지원하는 Link Layer 버전 ("Core specification version UUID" 참고)

- Company_Identifier: Bluetooth Controller manufacturer의 company identifier ("Company Identifiers UUID" 참고)

- Subversion: Bluetooth Controller의 implementation에 대한 unique value 또는 implementation revision 


14. LL_REJECT_IND (0x0D)

- Extended Reject Indication Link Layer feature을 지원하면 LL_REJECT_EXT_IND가 사용되고, 아니면 LL_REJECT_IND PDU가 사용된다

- 길이가 잘못된 LL Control PDU를 수신하여, 해석을 시도하여 성공하면, LL_REJECT_IND PDU로 응답해야 한다

- CtrData가 잘못된 LL Control PDU를 수신하여, 해석을 시도하여 성공하면, LL_REJECT_IND PDU로 응답해야 한다

LL_REJECT_IND Opcode CtrData

- ErrorCode: request가 reject된 이유 (자세한 내용은, "Controller Error Code" 참고)


15. LL_PERIPHERAL_FEATURE_REQ (0x0E)

LL_PERIPHERAL_FEATURE_REQ Opcode CtrData

- FeatureSet: Peripheral에서 지원하는 features set (자세한 내용은, "LE Controller features" 참고)


16. LL_CONNECTION_PARAM_REQ (0x0F)

LL_CONNECTION_PARAM_REQ Opcode CtrData

- Interval_Min: connInterval의 최소값 (connInterval = Interval_Min * 1.25 ms)

- Interval_Max: connInterval의 최대값 (connInterval = Interval_Max * 1.25 ms)

- Latency: connPeripheralLatency 값 (connPeripheralLatency = Latency)

- Timeout: connSupervisionTimeout 값 (connSupervisionTimeout = Timeout * 10 ms)

- PreferredPeriodicity: 선호되는 connInterval의 값으로, 0 이면 선호되는 값이 없다는 것이다 (PreferredPeriodicity * 1.25 ms = connInterval =< Interval_Max 1.25 ms)

- ReferenceConnEventCount: valid인 Offset0 ~ Offset5 필드가 계산된, connEventCounter 값

- Offset0 ~ Offset5: updated connection parameter에 대한, LE connection의 예상 anchor point 값으로, 값이 0xFFFF이면 invalid이다. Offset0가 가장 선호되는 값이고, 그다음 선호되는 값은 Offset1 이며, Offset5는 가장 선호되지 않는 값이다 (Offset0 ~ Offset5 1.25 ms = connInterval =< Interval_Max 1.25 ms)


17. LL_CONNECTION_PARAM_RSP (0x10)

LL_CONNECTION_PARAM_RSP Opcode CtrData

- 각 필드에 대한 설명은, "16. LL_CONNECTION_PARAM_REQ (0x0F)"과 동일


18. LL_REJECT_EXT_IND (0x11)

- Extended Reject Indication Link Layer feature을 지원하면 LL_REJECT_EXT_IND가 사용되고, 아니면 LL_REJECT_IND PDU가 사용된다

- 길이가 잘못된 LL Control PDU를 수신하여, 해석을 시도하여 성공하면, RejectOpcode field에 해당 opcode를 할당한 후, LL_REJECT_EXT_IND PDU로 응답해야 한다

- CtrData가 잘못된 LL Control PDU를 수신하여, 해석을 시도하여 성공하면, RejectOpcode field에 해당 opcode를 할당한 후, LL_REJECT_EXT_IND PDU로 응답해야 한다

LL_REJECT_EXT_IND Opcode CtrData

- RejectOpcode: reject 된, LL Control PDU의 Opcode

- ErrorCode: LL Control PDU가 reject된 이유 (자세한 내용은, "Controller Error Code" 참고)


19. LL_PING_REQ (0x12)

- No CtrData field


20. LL_PING_RSP (0x13)

- No CtrData field


21. LL_LENGTH_REQ (0x14)

LL_LENGTH_REQ Opcode CtrData

- MaxRxOctets: 전송 디바이스의 connMaxRxOctets 값으로, 수신할 수 있는 payload의 최대 octet 갯수를 나타낸다 (MaxRxOctets >= 27 octet)

- MaxRxTime: 전송 디바이스의 connMaxRxTime 값으로, packet을 수신할 수 있는 최대 μs를 나타낸다 (MaxRxTime >= 328 μs)

- MaxTxOctets: 전송 디바이스의 connMaxTxOctets 값으로, 전송할 수 있는 payload의 최대 octet 갯수를 나타낸다 (MaxTxOctets >= 27 octet)

- MaxTxTime: 전송 디바이스의 connMaxTxTime 값으로, packet을 전송할 수 있는 최대 μs를 나타낸다 (MaxTxTime >= 328 μs)


22. LL_LENGTH_RSP (0x15)

LL_LENGTH_RSP Opcode CtrData

- 각 필드에 대한 설명은, "21. LL_LENGTH_REQ (0x14)"과 동일


23. LL_PHY_REQ (0x16)

LL_PHY_REQ Opcode CtrData

- TX_PHYS: 전송 디바이스에서 선호하는 송신 PHY

- RX_PHYS: 전송 디바이스에서 선호하는 수신 PHY

bit 값이 1인 위치 선호하는 PHY
0 bit LE 1M PHY
1 bit LE 2M PHY
2 bit LE Coded PHY
3 ~ 7 bit RFU

24. LL_PHY_RSP (0x17)

LL_PHY_RSP Opcode CtrData

각 필드에 대한 설명은, "23. LL_PHY_REQ (0x16)"과 동일


25. LL_PHY_UPDATE_IND (0x18)

LL_PHY_UPDATE_IND Opcode CtrData

- PHY_C_TO_P: Central에서 Peripheral으로 packet 전송에 사용되는 PHY

- PHY_P_TO_C: Peripheral에서 Central으로 packet 전송에 사용되는 PHY

bit 값이 1인 위치 선호하는 PHY
0 bit LE 1M PHY
1 bit LE 2M PHY
2 bit LE Coded PHY
3 ~ 7 bit RFU

- Instant: connection 관련된 변화의 기준점

connection parameter update 상황에서, instant와 connection event의 타이밍


26. LL_MIN_USED_CHANNELS_IND (0x19)

LL_MIN_USED_CHANNELS_IND Opcode CtrData

- PHYS: 최소 channel을 사용하는 Peripheral의 PHY 값으로 설정

bit 값이 1인 위치 선호하는 PHY
0 bit LE 1M PHY
1 bit LE 2M PHY
2 bit LE Coded PHY
3 ~ 7 bit RFU

- MinUsedChannels: 지정된 PHY에서 사용되는 최소 channel


27. LL_CTE_REQ (0x1A)

LL_CTE_REQ Opcode CtrData

- MinCTELenReq: 리모트 디바이스에서 요청한 Constant Tone Extension의 최소 길이를 나타내고, 8 μs 단위이다 (2 ~ 20)

- CTETypeReq: 리모트 디바이스에서 요청한 Constant Tone Extension 종류를 나타낸다

Constant Tone Extension 종류
0 AoA Constant Tone Extension
1 AoD Constant Tone Extension with 1 μs slots
2 AoD Constant Tone Extension with 2 μs slots
3 Reserved for future use

- Constant Tone Extension에 대한 자세한 내용은 "Constant Tone Extension" 참고


28. LL_CTE_RSP (0x1B)

- No CtrData field


29. LL_PERIODIC_SYNC_IND (0x1C)

- 해당 PDU를 전송하기 위해서는, 먼저 connection이 되어있어야 한다

- 해당 PDU를 전송하기 위해서는, AUX_SYNC_IND PDU를 전송하거나 수신해야 한다

LL_PERIODIC_SYNC_IND Opcode CtrData

- ID: Upper layer에서 사용하기 위해, Host에서 제공한 값

- SyncInfo: syncPacketWindowOffset의 reference point가, connEventCount field에서 지정된 counter 값을 가진 connection event의 anchor point라는 점과, zero offset은 의미가 없다는 점을 제외하고는, "Common Extended Advertising Payload - SyncInfo field"과 동일하다

- connEventCount: currEvent는 LL_PERIODIC_SYNC_IND PDU가 전송(또는 재전송)될 때 connection event의 counter 값이다 (currEvent - 2^14 < connEventCount < currEvent + 2^14)

- lastPaEventCounter: AUX_SYNC_IND PDU에 적용되는 paEventCounter 값으로 설정되어야 하고, SyncInfo의 PeriodicEventCounter 값과 동일하거나, 1 차이가 있거나(modulo 0x 1 0000), 5초 이상 차이가 나면 안된다

- SID: periodic advertising을 pointing하는, advertising set의 Advertising SID subfield 값으로 설정되어야 한다

- AType: public address이면 0, random address이면 1이다

- SCA: 디바이스의 sleep clock accuracy를 나타내고, CONNECT_IND PDU와 동일한 방식으로 표시해야 한다

- PHY: periodic advertising이 사용하는 PHY를 나타낸다

bit 값이 1인 위치 선호하는 PHY
0 bit LE 1M PHY
1 bit LE 2M PHY
2 bit LE Coded PHY
3 ~ 7 bit RFU

- AdvA: periodic advertising을 pointing하는 advertising set에 있는 advertiser의 address가, resolvable private address이면 동일한 IRK를 사용하여 생성 되어야 되고, 그렇지 않으면 advertising set에 있는 advertiser의 address로 설정되어야 한다

- syncConnEventCount: 전송 디바이스에서 해당 PDU의 내용을 결정하는데 사용된 connection event에 대한 connection event counter 값으로 설정되어야 하고, anchor point를 동기화 하는데 사용된다


30. LL_CLOCK_ACCURACY_REQ (0x1D)

LL_CLOCK_ACCURACY_REQ Opcode CtrData

- SCA: PDU를 전송한 디바이스의 sleep clock accuracy를 나타내고, CONNECT_IND PDU와 동일한 방식으로 표시해야 한다


31. LL_CLOCK_ACCURACY_RSP (0x1E)

LL_CLOCK_ACCURACY_RSP Opcode CtrData

- SCA: PDU를 전송한 디바이스의 sleep clock accuracy를 나타내고, CONNECT_IND PDU와 동일한 방식으로 표시해야 한다


32. LL_CIS_REQ (0x1F)

LL_CIS_REQ Opcode CtrData

- CIG_ID: CIG(Connected Isochronous Group) identifier

- CIS_ID: CIS(Connected Isochronous Stream) identifier

- PHY_C_To_P: Central에서 Peripheral으로 packet 전송에 사용되는 PHY

- PHY_P_To_C: Peripheral에서 Central으로 packet 전송에 사용되는 PHY

bit 값이 1인 위치 선호하는 PHY
0 bit LE 1M PHY
1 bit LE 2M PHY
2 bit LE Coded PHY
3 ~ 7 bit RFU

- Max_SDU_C_To_P: Central Host의 SDU 최대 크기 (octet)

- Framed: 0이면 unframed Data PDU이고, 1이면 framed Data PDU이다

- Max_SDU_P_To_C: Peripheral Host의 SDU 최대 크기 (octet)

- SDU_Interval_C_To_P: Central Host에서 연속된 두 SDU 사이의 시간 (μs)

- SDU_Interval_P_To_C: Peripheral Host에서 연속된 두 SDU 사이의 시간 (μs)

- Max_PDU_C_To_P: Central에서 Peripheral으로의 최대 payload 크기로, 만약 BN_C_To_P가 0이면 Max_PDU_C_To_P도 0이다  (0 ~ 251 octet)

- Max_PDU_P_To_C: Peripheral에서 Central으로의 최대 payload 크기로, 만약 BN_P_To_C가 0이면 Max_PDU_P_To_C도 0이다  (0 ~ 251 octet)

- NSE(Number of SubEvent): 각 CIS(Connected Isochronous Stream) event에 있는 subevents의 최대 갯수 (1 ~ 31)

- Sub_Interval: 동일한 CIS event에서, 시작 subevent와 다음 subevent 사이의 시간으로, 만약 NSE 값이 1이면 Sub_Interval 값은 0이다 (400 μs < Sub_Interval < ISO_Interval )

- BN_C_To_P: Central에서 Peripheral으로 사용되는 BN parameter 값 (0 ~ 15)

- BN_P_To_C: Peripheral에서 Central으로 사용되는 BN parameter 값 (0 ~ 15)

- FT_C_To_P: Central에서 Peripheral으로 사용되는 FT parameter 값 (1 ~ 255)

- FT_P_To_C: Peripheral에서 Central으로 사용되는 FT parameter 값 (1 ~ 255)

- ISO_Interval: 두개의 연속된 CIS(Connected Isochronous Stream) anchor point의 1.25 ms 단위 시간 (4 ~ 3200 = 5 ms ~ 4 s)

- CIS_Offset_Min: connection event counter가 connEventCount와 같은 connection event의 ACL anchor point와, 최초 CIS anchor point 사이의 μs 단위 최소 시간 (CIS_Offset_Min >= 500 μs)

- CIS_Offset_Max: connection event counter가 connEventCount와 같은 connection event의 ACL anchor point와, 최초 CIS anchor point 사이의 μs 단위 최대 시간 ( CIS_Offset_Min =< CIS_Offset_Max =< connInterval – ((NSE – 1) × Sub_Interval + MPT_C + T_IFS + MPT_P + T_MSS))

- connEventCount:  currEvent는 LL_CIS_REQ PDU가 전송(또는 재전송)될 때 connection event의 counter 값이다 (currEvent - 2^14 < connEventCount < currEvent + 2^14)

CIS event


33. LL_CIS_RSP (0x20)

LL_CIS_RSP Opcode CtrData

- CIS_Offset_Min: connection event counter가 connEventCount와 같은 connection event의 ACL anchor point와, 최초 CIS anchor point 사이의 μs 단위 최소 시간 (CIS_Offset_Min >= 500 μs)

- CIS_Offset_Max: connection event counter가 connEventCount와 같은 connection event의 ACL anchor point와, 최초 CIS anchor point 사이의 μs 단위 최대 시간 ( CIS_Offset_Min =< CIS_Offset_Max =< connInterval – ((NSE – 1) × Sub_Interval + MPT_C + T_IFS + MPT_P + T_MSS))

- connEventCount: currEvent는 LL_CIS_RSP PDU가 전송(또는 재전송)될 때 connection event의 counter 값이다 (currEvent - 2^14 < connEventCount < currEvent + 2^14)


34. LL_CIS_IND (0x21)

- CIS event의 가능한 최대 시간 = (NSE – 1) × Sub_Interval + MPT_C + T_IFS + MPT_P

LL_CIS_IND Opcode CtrData

- AA: CIS(Connected Isochronous Stream)의 Access Address

- CIS_Offset: connEventCount가 참조하는 connection event의 anchor point에서, 첫번째 CIS anchor point 까지의 시간 (μs)

- CIG_Sync_Delay: 아래 "3개 CIS로 구성된 CIG" 그림 참고 (μs)

- CIS_Sync_Delay: 아래 "3개 CIS로 구성된 CIG" 그림 참고 (μs)

3개 CIS로 구성된 CIG

- connEventCount: currEvent는 LL_CIS_IND PDU가 전송(또는 재전송)될 때 connection event의 counter 값이다 (currEvent - 2^14 < connEventCount < currEvent + 2^14)


35. LL_CIS_TERMINATE_IND (0x22)

LL_CIS_TERMINATE_IND Opcode CtrData

- CIG_ID: 종료된 CIG(Connected Isochronous Group)의 identifier

- CIS_ID: 종료된 CIS(Connected Isochronous Stream)의 identifier

- ErrorCode: CIS가 종료된 이유 (자세한 내용은, "Controller Error Code" 참고)


36. LL_POWER_CONTROL_REQ (0x23)

LL_POWER_CONTROL_REQ

- PHY: Power control이 요청된 PHY

bit 값이 1인 위치 선호하는 PHY
0 bit LE 1M PHY
1 bit LE 2M PHY
2 bit LE Coded PHY with S=8 data coding
3 bit LE Coded PHY with S=2 data coding
All other bits RFU

- Delta: 수신 디바이스의 transmit power level 변경 요청 값 (dB)

Delta 값 설명
음수 transmit power level 감소 요청
0 transmit power level 변경 요청 없음
양수 transmit power level 증가 요청
0x7F transmit power level 최대로 증가 요청

- TxPower: 전송 디바이스의 transmit power level (dBm)

설명
126 126은 사용하면 안됨
127 사용 불가능을 나타냄

37. LL_POWER_CONTROL_RSP (0x24)

- 만약 Min, Max가 둘 다 set 되었으면, 전송 디바이스가 fixed transmit power level을 가진 것이다.

LL_CIS_REQ Opcode CtrData

- Min: 전송 디바이스의 power level이 현재 최소 level이면 set

- Max: 전송 디바이스의 power level이 현재 최대 level이면 set

- Delta: 전송 디바이스의 transmit power level이 변경된 값 (dB)

Delta 값 설명
음수 transmit power level 감소됨
0 transmit power level 변경 없음
양수 transmit power level 증가됨

- TxPower: 전송 디바이스의 transmit power level (dBm)

설명
126 126은 사용하면 안됨
127 사용 불가능을 나타냄

- APR (Acceptable Power Reduction): 전송 디바이스가 수용 가능한, 상대 디바이스의 output power level의 최대 감소치로, 만약 APR 값이 0xFF이면, 전송 디바이스가 APR 값을 결정할 수 없다는 것이다 (dB)


38. LL_POWER_CHANGE_IND (0x25)

- 만약 Min, Max가 둘 다 set 되었으면, 전송 디바이스가 fixed transmit power level을 가진 것이다.

LL_POWER_CHANGE_IND Opcode CtrData

- PHY: Power level이 change되는 PHY

bit 값이 1인 위치 선호하는 PHY
0 bit LE 1M PHY
1 bit LE 2M PHY
2 bit LE Coded PHY with S=8 data coding
3 bit LE Coded PHY with S=2 data coding
All other bits RFU

- Min: 전송 디바이스의 power level이 현재 최소 level이면 set

- Max: 전송 디바이스의 power level이 현재 최대 level이면 set

- Delta: 전송 디바이스의 transmit power level이 변경된 값 (dB)

Delta 값 설명
음수 transmit power level 감소됨
0 transmit power level 변경 없음
양수 transmit power level 증가됨

- TxPower: 전송 디바이스의 transmit power level (dBm)

설명
126 전송 디바이스가 power managment를 중지한다는 것을 나타냄
모든 다른 field 값이 무시된다
127 사용 불가능을 나타냄

39. LL_SUBRATE_REQ (0x26)

LL_SUBRATE_REQ Opcode CtrData

- SubrateFactorMin: connSubrateFactor 최소값 (자세한 내용은, "LE Connection event" 참고)

- SubrateFactorMax: connSubrateFactor 최대값 (자세한 내용은, "LE Connection event" 참고)

- Max_Latency: connPeripheralLatency 최대값 (자세한 내용은, "LE Connection event" 참고)

- ContinuationNumber: connContinuationNumber 최소값 (자세한 내용은, "LE Connection event" 참고)

- Timeout: connSupervisionTimeout 값 (자세한 내용은, "LE Connection event" 참고)


40. LL_SUBRATE_IND (0x27)

LL_SUBRATE_IND Opcode CtrData

- SubrateFactor: 새로운 connSubrateFactor 값 (자세한 내용은, "LE Connection event" 참고)

- SubrateBaseEvent: 새로운 connSubrateBaseEvent  (자세한 내용은, "LE Connection event" 참고)

- Latency: subrated events에서 새로운 connPeripheralLatency 값 (자세한 내용은, "LE Connection event" 참고)

- ContinuationNumber: 새로운 connContinuationNumber 값 (자세한 내용은, "LE Connection event" 참고)

- Timeout: 새로운 connSupervisionTimeout 값 (자세한 내용은, "LE Connection event" 참고)


41. LL_CHANNEL_REPORTING_IND (0x28)

LL_CHANNEL_REPORTING_IND Opcode CtrData

- Enable: channel classification reporting을 enable/disable할 지 나타낸다

설명
0x00 Disable channel classification reporting
0x01 Enable channel classification reporting
All other values RFU

- Min_Spacing: 마지막으로 전송된 LL_CHANNEL_STATUS_IND PDU로부터, 다음 LL_CHANNEL_STATUS_IND PDU를 전송할 수 있는 최소 시간 (5 ~ 150 = 1s ~ 30s)

- Max_Delay: Peripheral에서 channel classification의 변화를 detect한 시점과, LL_CHANNEL_STATUS_IND PDU가 생성되는 사이의 최대 시간 (5 ~ 150 = 1s ~ 30s), (Max_Delay >= Min_Spacing)


42. LL_CHANNEL_STATUS_IND (0x29)

LL_CHANNEL_STATUS_IND Opcode CtrData

- Channel_Classification: data channel의 상태를 알려주며, uint2[37] 자료형을 가진다

data channel의 상태
0 unknown
1 good
2 RFU
3 bad

43. RFU (0xF0 ~ 0xFB)

- Used for specification development purposes


44. RFU (All other values)

 
반응형

'블루투스 > LE Link Layer' 카테고리의 다른 글

LE Connection event  (0) 2023.02.13
LL Control PDU opcode  (0) 2023.02.09
LE MD(More Data) field  (0) 2023.02.07
LE - Acknowledgment / Flow control  (0) 2023.02.05
Data Physical Channel PDU  (0) 2023.02.04