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

Commit 5ccbee13 authored by Chienyuan Huang's avatar Chienyuan Huang Committed by Gerrit Code Review
Browse files

Merge changes I9607b356,Ic8b75e48 into main

* changes:
  RAS: Get address for Reflector
  RAS: Push Ranging Data segments to RAS server
parents 1c8c9402 20dd8572
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -24,19 +24,12 @@
namespace bluetooth {
namespace ras {

enum ProcedureDoneStatus : uint8_t {
  ALL_RESULTS_COMPLETE = 0x0,
  PARTIAL_RESULTS = 0x1,
  ABORTED = 0xf,
};

class RasServer {
 public:
  virtual ~RasServer() = default;
  virtual void Initialize() = 0;
  virtual void PushProcedureData(RawAddress address, uint16_t procedure_count,
                                 ProcedureDoneStatus procedure_done_status,
                                 std::vector<uint8_t> data) = 0;
                                 bool is_last, std::vector<uint8_t> data) = 0;
};

RasServer* GetRasServer();
+5 −9
Original line number Diff line number Diff line
@@ -30,8 +30,6 @@ using namespace bluetooth;
using namespace ::ras;
using namespace ::ras::uuid;

using bluetooth::ras::ProcedureDoneStatus;

namespace {

class RasServerImpl;
@@ -76,11 +74,10 @@ class RasServerImpl : public bluetooth::ras::RasServer {
  }

  void PushProcedureData(RawAddress address, uint16_t procedure_counter,
                         ProcedureDoneStatus procedure_done_status,
                         std::vector<uint8_t> data) {
    log::info("{}, counter:{}, procedure_done_status:{}, with size {}",
              ADDRESS_TO_LOGGABLE_STR(address), procedure_counter,
              (uint16_t)procedure_done_status, data.size());
                         bool is_last, std::vector<uint8_t> data) {
    log::info("{}, counter:{}, is_last:{}, with size {}",
              ADDRESS_TO_LOGGABLE_STR(address), procedure_counter, is_last,
              data.size());
    tBLE_BD_ADDR ble_bd_addr;
    ResolveAddress(ble_bd_addr, address);

@@ -96,8 +93,7 @@ class RasServerImpl : public bluetooth::ras::RasServer {
    data_buffer.segments_.push_back(data);

    // Send data ready
    if (procedure_done_status == ProcedureDoneStatus::ALL_RESULTS_COMPLETE ||
        procedure_done_status == ProcedureDoneStatus::ABORTED) {
    if (is_last) {
      uint16_t ccc_value =
          tracker.ccc_values_[kRasRangingDataReadyCharacteristic];
      if (ccc_value == GATT_CLT_CONFIG_NONE) {
+4 −0
Original line number Diff line number Diff line
@@ -414,6 +414,10 @@ uint16_t AclManager::HACK_GetLeHandle(Address address) {
  return pimpl_->le_impl_->HACK_get_handle(address);
}

Address AclManager::HACK_GetLeAddress(uint16_t connection_handle) {
  return pimpl_->le_impl_->HACK_get_address(connection_handle);
}

void AclManager::HACK_SetAclTxPriority(uint8_t handle, bool high_priority) {
  CallOn(pimpl_->round_robin_scheduler_, &RoundRobinScheduler::SetLinkPriority, handle, high_priority);
}
+1 −0
Original line number Diff line number Diff line
@@ -171,6 +171,7 @@ class AclManager : public Module {
 private:
  virtual uint16_t HACK_GetHandle(const Address address);
  virtual uint16_t HACK_GetLeHandle(const Address address);
  virtual Address HACK_GetLeAddress(uint16_t connection_handle);

  virtual void HACK_SetAclTxPriority(uint8_t handle, bool high_priority);

+4 −0
Original line number Diff line number Diff line
@@ -646,6 +646,10 @@ struct le_impl : public bluetooth::hci::LeAddressManagerCallback {
    return connections.HACK_get_handle(address);
  }

  Address HACK_get_address(uint16_t connection_handle) {
    return connections.getAddressWithType(connection_handle).GetAddress();
  }

  void OnAdvertisingSetTerminated(
      uint16_t conn_handle,
      uint8_t adv_set_id,
Loading