add codes.

This commit is contained in:
pandx 2025-04-30 10:00:37 +08:00
parent a0f968ec41
commit 8e7aadee9a

View File

@ -166,6 +166,16 @@ long SensorScheduler::CalcNextTimestamp(int id, uint16_t short_addr, int& next_t
// if (seconds_in_current_eigen_slice_ < eigen_value_slice_total_seconds_ - 3) { // if (seconds_in_current_eigen_slice_ < eigen_value_slice_total_seconds_ - 3) {
// ts_in_eigen_slice_ = true; // ts_in_eigen_slice_ = true;
// } // }
nth_wave_start_slice_ = (current_ts_ - start_timestamp_) / wave_form_send_interval_;
current_wave_start_ts_ = nth_wave_start_slice_ * wave_form_send_interval_ + start_timestamp_;
seconds_in_current_wave_slice_ = current_ts_ - current_wave_start_ts_;
nth_eigen_value_slice_ = seconds_in_current_wave_slice_ / eigen_value_send_interval_;
seconds_in_current_eigen_slice_ = seconds_in_current_wave_slice_ % eigen_value_send_interval_;
ts_in_eigen_slice_ = false;
if (seconds_in_current_eigen_slice_ < eigen_value_slice_total_seconds_ - 3) {
ts_in_eigen_slice_ = true;
}
if (ts_in_eigen_slice_) { if (ts_in_eigen_slice_) {
int forward_wave_slice_num = nth_eigen_value_slice_ * wave_slice_num_per_eigen_interval_; int forward_wave_slice_num = nth_eigen_value_slice_ * wave_slice_num_per_eigen_interval_;
@ -292,13 +302,13 @@ int SensorScheduler::GetNextDuration(int short_addr, int &next_task_id) {
} else { } else {
id = iter->second; id = iter->second;
} }
long current_ts = GetLocalTs(); long current_ts_ = GetLocalTs();
nth_wave_start_slice_ = (current_ts_ - start_timestamp_) / wave_form_send_interval_; // nth_wave_start_slice_ = (current_ts_ - start_timestamp_) / wave_form_send_interval_;
current_wave_start_ts_ = nth_wave_start_slice_ * wave_form_send_interval_ + start_timestamp_; // current_wave_start_ts_ = nth_wave_start_slice_ * wave_form_send_interval_ + start_timestamp_;
seconds_in_current_wave_slice_ = current_ts_ - current_wave_start_ts_; // seconds_in_current_wave_slice_ = current_ts_ - current_wave_start_ts_;
nth_eigen_value_slice_ = seconds_in_current_wave_slice_ / eigen_value_send_interval_; // nth_eigen_value_slice_ = seconds_in_current_wave_slice_ / eigen_value_send_interval_;
long next_ts = CalcNextTimestamp(id, short_addr, next_task_id); long next_ts = CalcNextTimestamp(id, short_addr, next_task_id);
int duration = next_ts - current_ts; int duration = next_ts - current_ts_;
if (duration < 0 || duration > eigen_value_send_interval_) { if (duration < 0 || duration > eigen_value_send_interval_) {
zlog_warn(zct, "[Nxt] exception duration: %d", duration); zlog_warn(zct, "[Nxt] exception duration: %d", duration);
duration = eigen_value_send_interval_; duration = eigen_value_send_interval_;