From 2b08db4aa75cb11a4ca70421fc03f224c56592d3 Mon Sep 17 00:00:00 2001 From: pandx Date: Thu, 9 Jan 2025 11:51:12 +0800 Subject: [PATCH] fix the bug when there are three wave time slices in one eigen interval. --- .settings/language.settings.xml | 4 ++-- scheduler/schedule.hpp | 2 +- scheduler/wave_feature_set.cpp | 32 ++++++++++++++++---------------- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml index 1d893ec..915f0d3 100644 --- a/.settings/language.settings.xml +++ b/.settings/language.settings.xml @@ -5,7 +5,7 @@ - + @@ -16,7 +16,7 @@ - + diff --git a/scheduler/schedule.hpp b/scheduler/schedule.hpp index f3b72ad..39951cd 100644 --- a/scheduler/schedule.hpp +++ b/scheduler/schedule.hpp @@ -142,7 +142,7 @@ private: int seconds_in_current_eigen_slice_; // 相对特征值发送间隔的秒数 bool ts_in_eigen_slice_; // 时间位于特征值发送窗口中 int nth_eigen_slice_; // 如果ts_in_eigen_slice_是真的话,此值表明是第几个特征值窗口 - bool nth_wave_slice_; // 如果ts_in_eigen_slice_是假的话,此值表明是第几个波形窗口 + int nth_wave_slice_; // 如果ts_in_eigen_slice_是假的话,此值表明是第几个波形窗口 int current_request_; }; diff --git a/scheduler/wave_feature_set.cpp b/scheduler/wave_feature_set.cpp index f0fd703..77b557b 100644 --- a/scheduler/wave_feature_set.cpp +++ b/scheduler/wave_feature_set.cpp @@ -33,12 +33,12 @@ WaveFeatureSetting::WaveFeatureSetting() { global_feature_.short_addr = 0; for (size_t i = 0; i < v.size(); ++i) { if (i == 0) { - global_feature_.x = v[i].asInt(); + global_feature_.x = v.get(i, 0).asInt(); } else if (i == 1) { - global_feature_.y = v[i].asInt(); + global_feature_.y = v.get(i, 0).asInt(); } else if (i == 2) { - global_feature_.z = v[i].asInt(); - } + global_feature_.z = v.get(i, 0).asInt(); + } } } else { short_addr = strtol(key.c_str(), &end_ptr, 16); @@ -46,12 +46,12 @@ WaveFeatureSetting::WaveFeatureSetting() { FeatureEntryPrivateCfg item; for (size_t i = 0; i < v.size(); ++i) { if (i == 0) { - item.x = v[i].asInt(); + item.x = v.get(i, 0).asInt(); } else if (i == 1) { - item.y = v[i].asInt(); + item.y = v.get(i, 0).asInt(); } else if (i == 2) { - item.z = v[i].asInt(); - } + item.z = v.get(i, 0).asInt(); + } } eigen_map_[short_addr] = item; } @@ -85,12 +85,12 @@ WaveFeatureSetting::WaveFeatureSetting() { global_wave_.short_addr = 0; for (size_t i = 0; i < v.size(); ++i) { if (i == 0) { - global_wave_.x = v[i].asInt(); + global_wave_.x = v.get(i, 0).asInt(); } else if (i == 1) { - global_wave_.y = v[i].asInt(); + global_wave_.y = v.get(i, 0).asInt(); } else if (i == 2) { - global_wave_.z = v[i].asInt(); - } + global_wave_.z = v.get(i, 0).asInt(); + } } } else { short_addr = strtol(key.c_str(), &end_ptr, 16); @@ -98,12 +98,12 @@ WaveFeatureSetting::WaveFeatureSetting() { FeatureEntryPrivateCfg item; for (size_t i = 0; i < v.size(); ++i) { if (i == 0) { - item.x = v[i].asInt(); + item.x = v.get(i, 0).asInt(); } else if (i == 1) { - item.y = v[i].asInt(); + item.y = v.get(i, 0).asInt(); } else if (i == 2) { - item.z = v[i].asInt(); - } + item.z = v.get(i, 0).asInt(); + } } wave_map_[short_addr] = item;