Merge branch 'dg102_feature_new_process' of http://192.168.1.212:3000/zhangsheng/WLG into dg102_feature_new_process
This commit is contained in:
commit
04c8983442
@ -909,7 +909,7 @@ int SensorScheduler::WriteScheduleCfg(long &ts, std::string &world_time) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int SensorScheduler::Config(int eigen_value_send_interval, int wave_form_send_interval, int max_sensor_num,
|
||||
int SensorScheduler::Config(int eigen_value_send_interval, int wave_form_send_interval, int &max_sensor_num,
|
||||
int wave_resend_num, std::string &error_msg) {
|
||||
int available_slice = 0;
|
||||
int free_slice = 0;
|
||||
@ -952,13 +952,13 @@ int SensorScheduler::Config(int eigen_value_send_interval, int wave_form_send_in
|
||||
// 特征值发送间隔300秒,波形发送间隔为7200秒
|
||||
// 一次特征值发送时长为2秒,波形发送时长为60秒,所有特征值在特征值发送间隔的第1分钟中的第3秒至第57秒全部完成
|
||||
int SensorScheduler::CalcAvailableSlice(int eigen_value_send_interval, int wave_form_send_interval,
|
||||
int max_sensor_num, int &available_slice, int &free_slice,
|
||||
int &max_sensor_num, int &available_slice, int &free_slice,
|
||||
std::string &error_msg) {
|
||||
if (max_sensor_num <= 0) {
|
||||
error_msg = "max_sensor_num:" + std::to_string(max_sensor_num) + " must bigger than 0";
|
||||
zlog_error(zbt, "%s", error_msg.c_str());
|
||||
return 1;
|
||||
}
|
||||
// if (max_sensor_num <= 0) {
|
||||
// error_msg = "max_sensor_num:" + std::to_string(max_sensor_num) + " must bigger than 0";
|
||||
// zlog_error(zbt, "%s", error_msg.c_str());
|
||||
// return 1;
|
||||
// }
|
||||
|
||||
if (2 > eigen_value_send_interval) {
|
||||
error_msg = "invalid max_sensor_num:" + std::to_string(max_sensor_num) +
|
||||
@ -967,12 +967,12 @@ int SensorScheduler::CalcAvailableSlice(int eigen_value_send_interval, int wave_
|
||||
return 2;
|
||||
}
|
||||
|
||||
if (max_sensor_num * 60 * 2 > wave_form_send_interval) { // xy, z分开发送
|
||||
error_msg = "invalid wave_form_send_duration:" + std::to_string(60) +
|
||||
"* 2 * max_sensor_num:" + std::to_string(max_sensor_num) + " > wave_form_send_interval:" + std::to_string(wave_form_send_interval);
|
||||
zlog_error(zbt, "%s", error_msg.c_str());
|
||||
return 3;
|
||||
}
|
||||
// if (max_sensor_num * 60 * 2 > wave_form_send_interval) { // xy, z分开发送
|
||||
// error_msg = "invalid wave_form_send_duration:" + std::to_string(60) +
|
||||
// "* 2 * max_sensor_num:" + std::to_string(max_sensor_num) + " > wave_form_send_interval:" + std::to_string(wave_form_send_interval);
|
||||
// zlog_error(zbt, "%s", error_msg.c_str());
|
||||
// return 3;
|
||||
// }
|
||||
|
||||
if (wave_form_send_interval % eigen_value_send_interval != 0) {
|
||||
error_msg = "wave_form_send_interval:" + std::to_string(wave_form_send_interval) + " %% eigen_value_send_interval:" + std::to_string(eigen_value_send_interval) +
|
||||
@ -985,9 +985,15 @@ int SensorScheduler::CalcAvailableSlice(int eigen_value_send_interval, int wave_
|
||||
int rest_duration = eigen_value_send_interval - total_eigen_value_send_duration;
|
||||
int slice_per_eigen_value_interval = rest_duration / 60;
|
||||
available_slice = wave_form_send_interval / eigen_value_send_interval * slice_per_eigen_value_interval;
|
||||
free_slice = available_slice - max_sensor_num * 2;
|
||||
if (free_slice < 0) {
|
||||
error_msg = "invalid config, available slice:" + std::to_string(available_slice) + ", required slice:" + std::to_string(max_sensor_num);
|
||||
// free_slice = available_slice - max_sensor_num * 2;
|
||||
max_sensor_num = available_slice / 2;
|
||||
// if (free_slice < 0) {
|
||||
// error_msg = "invalid config, available slice:" + std::to_string(available_slice) + ", required slice:" + std::to_string(max_sensor_num*2);
|
||||
// zlog_error(zbt, "%s", error_msg.c_str());
|
||||
// return 5;
|
||||
// }
|
||||
if (available_slice <= 0) {
|
||||
error_msg = "invalid config, available slice:" + std::to_string(available_slice) + ", required slice:" + std::to_string(max_sensor_num*2);
|
||||
zlog_error(zbt, "%s", error_msg.c_str());
|
||||
return 5;
|
||||
}
|
||||
|
||||
@ -76,10 +76,10 @@ public:
|
||||
int UpdateConfigResult(uint16_t short_addr, int result);
|
||||
|
||||
int Config(int eigen_value_send_interval, int wave_form_send_interval,
|
||||
int max_sensor_num, int wave_resend_num, std::string &error_msg);
|
||||
int &max_sensor_num, int wave_resend_num, std::string &error_msg);
|
||||
|
||||
int CalcAvailableSlice(int eigen_value_send_interval, int wave_form_send_interval,
|
||||
int max_sensor_num, int &available_slice, int &free_slice,
|
||||
int &max_sensor_num, int &available_slice, int &free_slice,
|
||||
std::string &error_msg);
|
||||
|
||||
int GetScheduleConfig(int &eigen_value_send_interval, int &wave_form_send_interval, int &wave_resend_num,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user