Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 290f9dbb authored by kuanyuhuang's avatar kuanyuhuang Committed by Cherrypicker Worker
Browse files

BQR: vendor specific quality and trace event

add following event mask and report id

Event mask:
Bit 15: Vendor Specific Quality Event: Used for the controller vendor to define the vendor proprietary quality event(s).
Bit 31: Vendor Specific Trace: Used for the controller vendor to define the vendor proprietary trace(s).

Report id:
0x10: Vendor Specific Quality Event
0x20: Vendor Specific Trace Event

Bug: 237506425
Tag: #feature
Test: test on vendor specific event
Change-Id: Ib63c8450f1a3ecf11908e5514d689642e836797c
(cherry picked from commit bbe594c5)
Merged-In: Ib63c8450f1a3ecf11908e5514d689642e836797c
parent f1acb6b0
Loading
Loading
Loading
Loading
+23 −11
Original line number Diff line number Diff line
@@ -49,6 +49,10 @@ namespace bqr {
//     When the controller encounters an error it shall report Root Inflammation
//     event indicating the error code to the host.
//
//   [Vendor Specific Quality]
//     Used for the controller vendor to define the vendor proprietary quality
//     event(s).
//
//   [LMP/LL message trace]
//     The controller sends the LMP/LL message handshaking with the remote
//     device to the host.
@@ -63,22 +67,28 @@ namespace bqr {
//     just can autonomously report debug logging information via the Controller
//     Debug Info sub-event to the host.
//
//   [Vendor Specific Trace]
//     Used for the controller vendor to define the vendor proprietary trace(s).
//

// Bit masks for the selected quality event reporting.
static constexpr uint32_t kQualityEventMaskAllOff = 0;
static constexpr uint32_t kQualityEventMaskMonitorMode = 0x00000001;
static constexpr uint32_t kQualityEventMaskApproachLsto = 0x00000002;
static constexpr uint32_t kQualityEventMaskA2dpAudioChoppy = 0x00000004;
static constexpr uint32_t kQualityEventMaskScoVoiceChoppy = 0x00000008;
static constexpr uint32_t kQualityEventMaskRootInflammation = 0x00000010;
static constexpr uint32_t kQualityEventMaskLmpMessageTrace = 0x00010000;
static constexpr uint32_t kQualityEventMaskBtSchedulingTrace = 0x00020000;
static constexpr uint32_t kQualityEventMaskControllerDbgInfo = 0x00040000;
static constexpr uint32_t kQualityEventMaskMonitorMode = 0x1 << 0;
static constexpr uint32_t kQualityEventMaskApproachLsto = 0x1 << 1;
static constexpr uint32_t kQualityEventMaskA2dpAudioChoppy = 0x1 << 2;
static constexpr uint32_t kQualityEventMaskScoVoiceChoppy = 0x1 << 3;
static constexpr uint32_t kQualityEventMaskRootInflammation = 0x1 << 4;
static constexpr uint32_t kQualityEventMaskVendorSpecificQuality = 0x1 << 15;
static constexpr uint32_t kQualityEventMaskLmpMessageTrace = 0x1 << 16;
static constexpr uint32_t kQualityEventMaskBtSchedulingTrace = 0x1 << 17;
static constexpr uint32_t kQualityEventMaskControllerDbgInfo = 0x1 << 18;
static constexpr uint32_t kQualityEventMaskVendorSpecificTrace = 0x1 << 31;
static constexpr uint32_t kQualityEventMaskAll =
    kQualityEventMaskMonitorMode | kQualityEventMaskApproachLsto |
    kQualityEventMaskA2dpAudioChoppy | kQualityEventMaskScoVoiceChoppy |
    kQualityEventMaskRootInflammation | kQualityEventMaskLmpMessageTrace |
    kQualityEventMaskBtSchedulingTrace | kQualityEventMaskControllerDbgInfo;
    kQualityEventMaskRootInflammation | kQualityEventMaskVendorSpecificQuality |
    kQualityEventMaskLmpMessageTrace | kQualityEventMaskBtSchedulingTrace |
    kQualityEventMaskControllerDbgInfo | kQualityEventMaskVendorSpecificTrace;
// Define the minimum time interval (in ms) of quality event reporting for the
// selected quality event(s). Controller Firmware should not report the next
// event within the defined time interval.
@@ -150,9 +160,11 @@ enum BqrQualityReportId : uint8_t {
  QUALITY_REPORT_ID_SCO_VOICE_CHOPPY = 0x04,
  QUALITY_REPORT_ID_ROOT_INFLAMMATION = 0x05,
  QUALITY_REPORT_ID_LE_AUDIO_CHOPPY = 0x07,
  QUALITY_REPORT_ID_VENDOR_SPECIFIC_QUALITY = 0x10,
  QUALITY_REPORT_ID_LMP_LL_MESSAGE_TRACE = 0x11,
  QUALITY_REPORT_ID_BT_SCHEDULING_TRACE = 0x12,
  QUALITY_REPORT_ID_CONTROLLER_DBG_INFO = 0x13
  QUALITY_REPORT_ID_CONTROLLER_DBG_INFO = 0x13,
  QUALITY_REPORT_ID_VENDOR_SPECIFIC_TRACE = 0x20,
};

// Packet Type definition