fix bug.
This commit is contained in:
parent
c6b3475b4a
commit
e09162a0a3
@ -177,7 +177,7 @@ long SensorScheduler::CalcNextTimestamp(int id) {
|
||||
// 发送波的时间窗也在本次特征值发送间隔中
|
||||
for (int i = forward_wave_slice_num; i <= forward_wave_slice_num + wave_slice_num_per_eigen_interval_; ++i) {
|
||||
if (wave_slice - 1 == i) {
|
||||
send_wave_ts = current_wave_start_ts_ + eigen_value_slice_total_seconds_ + (i - forward_wave_slice_num) * seconds_per_wave_slice_;
|
||||
send_wave_ts = current_wave_start_ts_ + nth_eigen_value_slice_ * eigen_value_send_interval_ + eigen_value_slice_total_seconds_ + (i - forward_wave_slice_num) * seconds_per_wave_slice_;
|
||||
zlog_debug(zct, "[%d] send wave time:[%s]\n", id, GetUTCTime(send_wave_ts).c_str());
|
||||
break;
|
||||
}
|
||||
@ -191,7 +191,7 @@ long SensorScheduler::CalcNextTimestamp(int id) {
|
||||
for (int i = 0; i < wave_slice_num_per_eigen_interval_; ++i) {
|
||||
if (slice_sensor_id_[i+forward_wave_slice_num] == 0) {
|
||||
// 判断此空闲位置是否被占用
|
||||
long current_wave_slice_ts = current_wave_start_ts_ + eigen_value_slice_total_seconds_ + i * seconds_per_wave_slice_;
|
||||
long current_wave_slice_ts = current_wave_start_ts_ + nth_eigen_value_slice_ * eigen_value_send_interval_ + eigen_value_slice_total_seconds_ + i * seconds_per_wave_slice_;
|
||||
if (free_slice_ocuppied_.count(current_wave_slice_ts) == 0) {
|
||||
available_ts = current_wave_slice_ts;
|
||||
free_slice_ocuppied_.insert(available_ts);
|
||||
@ -215,7 +215,7 @@ long SensorScheduler::CalcNextTimestamp(int id) {
|
||||
}
|
||||
|
||||
// 如果是在当前波形时间窗中,不管是空闲时间窗,还是发送波形的时间窗,下一个时间窗是特征值
|
||||
long available_ts = current_wave_start_ts_ + eigen_value_send_interval_ + (id - 1) * eigen_value_send_duration_;
|
||||
long available_ts = current_wave_start_ts_ + (nth_eigen_value_slice_ + 1)* eigen_value_send_interval_ + (id - 1) * eigen_value_send_duration_;
|
||||
zlog_debug(zct, "[%d] next feature send utc time:[%s]", id, GetUTCTime(available_ts).c_str());
|
||||
return available_ts;
|
||||
}
|
||||
@ -264,9 +264,7 @@ int SensorScheduler::StartSchedule(int short_addr, int &next_duration) {
|
||||
} else {
|
||||
nth_wave_slice_ = (seconds_in_current_eigen_slice_ - eigen_value_slice_total_seconds_ + 3) / seconds_per_wave_slice_;
|
||||
}
|
||||
|
||||
|
||||
zlog_debug(zct, "[%d] current utc:%s", id, GetUTCTime(current_ts_).c_str());
|
||||
zlog_debug(zct, "[%d] current utc:%s, nth eigen_value slice:%d, seconds in eigen slice:%d, eigen slice:%d", id, GetUTCTime(current_ts_).c_str(), nth_eigen_value_slice_+1, seconds_in_current_eigen_slice_, ts_in_eigen_slice_);
|
||||
if (ts_in_eigen_slice_) {
|
||||
if (id == nth_eigen_slice_ + 1) {
|
||||
// 传感器需要执行上送特征值任务, 如果有配置需要下发的话,下发配置
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user