add codes.

This commit is contained in:
pandx 2026-03-23 14:46:04 +08:00
parent c7118a7e8c
commit 9d50599924

View File

@ -313,7 +313,7 @@ long SensorScheduler::CalcNextTimestamp(int id, uint16_t short_addr, bool &z, in
} }
} }
if ((g_z || g_x || g_y) && send_wave_ts == 0) { if (send_wave_ts == 0) {
if (trigger_wave_record_.find(short_addr) != trigger_wave_record_.end()) { if (trigger_wave_record_.find(short_addr) != trigger_wave_record_.end()) {
auto iter = trigger_wave_record_.find(short_addr); auto iter = trigger_wave_record_.find(short_addr);
if (iter->second.first != 0 || iter->second.second != 0) { if (iter->second.first != 0 || iter->second.second != 0) {
@ -327,10 +327,12 @@ long SensorScheduler::CalcNextTimestamp(int id, uint16_t short_addr, bool &z, in
next_task_id = kScheduleWaveForm; next_task_id = kScheduleWaveForm;
if (iter->second.first != 0) { if (iter->second.first != 0) {
z = true; z = true;
iter->second.first = 0;
} else { } else {
z = false; z = false;
iter->second.second = 0;
} }
WriteTriggerWaveRecord();
zlog_debug(zbt, "[Nxt][%d:%x] %d nth free wave slice will be used to trigger z : %d wave, utc time:[%s]", id, short_addr, i+forward_wave_slice_num, z, GetUTCTime(available_ts).c_str()); zlog_debug(zbt, "[Nxt][%d:%x] %d nth free wave slice will be used to trigger z : %d wave, utc time:[%s]", id, short_addr, i+forward_wave_slice_num, z, GetUTCTime(available_ts).c_str());
break; break;
} else { } else {
@ -415,39 +417,39 @@ long SensorScheduler::CalcNextTimestamp(int id, uint16_t short_addr, bool &z, in
return max_ts; return max_ts;
} }
for (int i = forward_wave_slice_num+1; i <= forward_wave_slice_num + wave_slice_num_per_eigen_interval_; ++i) { // for (int i = forward_wave_slice_num+1; i <= forward_wave_slice_num + wave_slice_num_per_eigen_interval_; ++i) {
if (slice_sensor_id_[i] == 0) { // idle time // if (slice_sensor_id_[i] == 0) { // idle time
send_wave_ts = current_wave_start_ts_ + nth_eigen_value_slice_ * eigen_value_send_interval_ + 60 + (i - forward_wave_slice_num - 1) * 60; // send_wave_ts = current_wave_start_ts_ + nth_eigen_value_slice_ * eigen_value_send_interval_ + 60 + (i - forward_wave_slice_num - 1) * 60;
if (free_slice_ocuppied_.count(send_wave_ts) != 0) { // if (free_slice_ocuppied_.count(send_wave_ts) != 0) {
continue; // continue;
} // }
zlog_debug(zbt, "[%d:%x] in idle time for trigger wave", id, short_addr); // zlog_debug(zbt, "[%d:%x] in idle time for trigger wave", id, short_addr);
if (trigger_wave_record_.find(short_addr) != trigger_wave_record_.end()) { // if (trigger_wave_record_.find(short_addr) != trigger_wave_record_.end()) {
auto iter = trigger_wave_record_.find(short_addr); // auto iter = trigger_wave_record_.find(short_addr);
if (iter->second.first != 0) { // if (iter->second.first != 0) {
current_request_ = kScheduleWaveForm; // current_request_ = kScheduleWaveForm;
z = true; // z = true;
zlog_debug(zbt, "[%d:%x] trigger z wave time", id, short_addr); // zlog_debug(zbt, "[%d:%x] trigger z wave time", id, short_addr);
iter->second.first = 0; // iter->second.first = 0;
next_task_id = kScheduleWaveForm; // next_task_id = kScheduleWaveForm;
free_slice_ocuppied_.insert(send_wave_ts); // free_slice_ocuppied_.insert(send_wave_ts);
WriteTriggerWaveRecord(); // WriteTriggerWaveRecord();
return send_wave_ts; // return send_wave_ts;
} else if (iter->second.second != 0) { // } else if (iter->second.second != 0) {
current_request_ = kScheduleWaveForm; // current_request_ = kScheduleWaveForm;
z = false; // z = false;
iter->second.second = 0; // iter->second.second = 0;
WriteTriggerWaveRecord(); // WriteTriggerWaveRecord();
next_task_id = kScheduleWaveForm; // next_task_id = kScheduleWaveForm;
zlog_debug(zbt, "[%d:%x] trigger xy wave time", id, short_addr); // zlog_debug(zbt, "[%d:%x] trigger xy wave time", id, short_addr);
free_slice_ocuppied_.insert(send_wave_ts); // free_slice_ocuppied_.insert(send_wave_ts);
return send_wave_ts; // return send_wave_ts;
} // }
} else { // } else {
break; // break;
} // }
} // }
} // }
} else { } else {
if (current_schedule_status_ == kScheduleStatusDebug) { if (current_schedule_status_ == kScheduleStatusDebug) {
if (debug_list_.count(short_addr) == 0) { if (debug_list_.count(short_addr) == 0) {