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

Commit 19950429 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge changes If2f4e0c3,I0c0d8a9b into main

* changes:
  CS: Parsing the CS procedure data of mode 3
  CS: Parsing the CS procedure data of mode 1
parents 15ea8e72 47707819
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -35,6 +35,10 @@ struct ChannelSoundingRawData {
  std::vector<std::vector<std::complex<double>>> tone_pct_reflector_;
  std::vector<std::vector<uint8_t>> tone_quality_indicator_initiator_;
  std::vector<std::vector<uint8_t>> tone_quality_indicator_reflector_;
  std::vector<int8_t> packet_quality_initiator;
  std::vector<int8_t> packet_quality_reflector;
  std::vector<int16_t> toa_tod_initiators_;
  std::vector<int16_t> tod_toa_reflectors_;
};

struct RangingResult {
+14 −0
Original line number Diff line number Diff line
@@ -195,6 +195,7 @@ public:
    hal_raw_data.stepChannels = raw_data.step_channel_;
    hal_raw_data.initiatorData.stepTonePcts.emplace(std::vector<std::optional<StepTonePct>>{});
    hal_raw_data.reflectorData.stepTonePcts.emplace(std::vector<std::optional<StepTonePct>>{});
    // Add tone data for mode 2, mode 3
    for (uint8_t i = 0; i < raw_data.tone_pct_initiator_.size(); i++) {
      StepTonePct step_tone_pct;
      for (uint8_t j = 0; j < raw_data.tone_pct_initiator_[i].size(); j++) {
@@ -217,6 +218,19 @@ public:
      step_tone_pct.toneQualityIndicator = raw_data.tone_quality_indicator_reflector_[i];
      hal_raw_data.reflectorData.stepTonePcts.value().emplace_back(step_tone_pct);
    }
    // Add RTT data for mode 1, mode 3
    if (!raw_data.toa_tod_initiators_.empty()) {
      hal_raw_data.toaTodInitiator = std::vector<int32_t>(raw_data.toa_tod_initiators_.begin(),
                                                          raw_data.toa_tod_initiators_.end());
      hal_raw_data.initiatorData.packetQuality = std::vector<uint8_t>(
              raw_data.packet_quality_initiator.begin(), raw_data.packet_quality_initiator.end());
    }
    if (!raw_data.tod_toa_reflectors_.empty()) {
      hal_raw_data.todToaReflector = std::vector<int32_t>(raw_data.tod_toa_reflectors_.begin(),
                                                          raw_data.tod_toa_reflectors_.end());
      hal_raw_data.reflectorData.packetQuality = std::vector<uint8_t>(
              raw_data.packet_quality_reflector.begin(), raw_data.packet_quality_reflector.end());
    }
    session_trackers_[connection_handle]->GetSession()->writeRawData(hal_raw_data);
  }