fix schedule.json empty bug.
This commit is contained in:
parent
0afde88bbb
commit
bc821ed7b4
@ -307,6 +307,7 @@ int SensorScheduler::GetNextDuration(int short_addr) {
|
||||
SensorScheduler::SensorScheduler() {
|
||||
support_modification_ = true;
|
||||
std::ifstream schedule_file(SCHEDULE_CONFIG);
|
||||
bool configed = false;
|
||||
if (schedule_file.good()) {
|
||||
zlog_info(zbt, "exist configuration file");
|
||||
Json::Reader reader;
|
||||
@ -314,13 +315,14 @@ SensorScheduler::SensorScheduler() {
|
||||
if (!reader.parse(schedule_file, root, false)) {
|
||||
zlog_error(zbt, "invalid format, fail to parse %s", SCHEDULE_CONFIG);
|
||||
schedule_file.close();
|
||||
return;
|
||||
goto init_config;
|
||||
}
|
||||
schedule_file.close();
|
||||
if (!root.isObject()) {
|
||||
zlog_error(zbt, "invalid format, not an object: %s", SCHEDULE_CONFIG);
|
||||
return;
|
||||
goto init_config;
|
||||
}
|
||||
configed = true;
|
||||
start_timestamp_ = std::stol(root["schedule_start_timestamp"].asString());
|
||||
start_ts_str_ = root["schedule_start_time"].asString();
|
||||
long current_ts = GetLocalTs();
|
||||
@ -362,28 +364,12 @@ SensorScheduler::SensorScheduler() {
|
||||
int rest_duration = eigen_value_send_interval_ - eigen_value_slice_total_seconds_;
|
||||
wave_slice_num_per_eigen_interval_ = rest_duration / wave_form_send_duration_;
|
||||
seconds_per_wave_slice_ = rest_duration / wave_slice_num_per_eigen_interval_;
|
||||
} else {
|
||||
zlog_info(zbt, "use default configuration");
|
||||
int eigen_value_send_interval = 300;
|
||||
int wave_form_send_interval = 7200;
|
||||
int eigen_value_send_duration = 6;
|
||||
int wave_form_send_duration = 50;
|
||||
int max_sensor_num = 32;
|
||||
}
|
||||
|
||||
// int eigen_value_send_interval = 120;
|
||||
// int wave_form_send_interval = 240;
|
||||
// int eigen_value_send_duration = 6;
|
||||
// int wave_form_send_duration = 40;
|
||||
// int max_sensor_num = 4;
|
||||
std::string error_msg;
|
||||
Config(eigen_value_send_interval,
|
||||
wave_form_send_interval,
|
||||
eigen_value_send_duration,
|
||||
wave_form_send_duration,
|
||||
max_sensor_num,
|
||||
error_msg);
|
||||
init_config:
|
||||
if (!configed) {
|
||||
UseDefaultConfig();
|
||||
}
|
||||
|
||||
short_addr_map_.clear();
|
||||
ShortAddrCfg::ReadCfg(short_addr_map_);
|
||||
|
||||
@ -810,4 +796,26 @@ void SensorScheduler::CleanIdleOccupiedSet(long ts) {
|
||||
} else ++it;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void SensorScheduler::UseDefaultConfig() {
|
||||
zlog_info(zbt, "use default configuration");
|
||||
int eigen_value_send_interval = 300;
|
||||
int wave_form_send_interval = 7200;
|
||||
int eigen_value_send_duration = 6;
|
||||
int wave_form_send_duration = 50;
|
||||
int max_sensor_num = 32;
|
||||
|
||||
// int eigen_value_send_interval = 120;
|
||||
// int wave_form_send_interval = 240;
|
||||
// int eigen_value_send_duration = 6;
|
||||
// int wave_form_send_duration = 40;
|
||||
// int max_sensor_num = 4;
|
||||
std::string error_msg;
|
||||
Config(eigen_value_send_interval,
|
||||
wave_form_send_interval,
|
||||
eigen_value_send_duration,
|
||||
wave_form_send_duration,
|
||||
max_sensor_num,
|
||||
error_msg);
|
||||
}
|
||||
|
||||
@ -104,6 +104,7 @@ public:
|
||||
private:
|
||||
void UpdateUpgradeInfo(int id);
|
||||
void CleanIdleOccupiedSet(long ts);
|
||||
void UseDefaultConfig();
|
||||
|
||||
// user config
|
||||
int eigen_value_send_interval_;
|
||||
@ -132,7 +133,7 @@ private:
|
||||
std::unordered_set<uint16_t> patch_set_; // 漏传的补传
|
||||
void ClearFailureSuccessMap();
|
||||
bool RetransferWave(uint16_t short_addr);
|
||||
bool MissedWave(uint16_t short_addr);
|
||||
bool MissedWave(uint16_t short_addr);
|
||||
|
||||
// 空闲时间戳被占用
|
||||
std::unordered_set<long> free_slice_ocuppied_;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user