add log info.

This commit is contained in:
pandx 2024-11-07 15:16:15 +08:00
parent 45c591126a
commit 92dc368f38
4 changed files with 38 additions and 20 deletions

View File

@ -5,7 +5,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="446663210403312388" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true"> <provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="-600614757740630993" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/> <language-scope id="org.eclipse.cdt.core.g++"/>
</provider> </provider>
@ -16,7 +16,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="-469859550318386951" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true"> <provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="-1102353172776392420" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/> <language-scope id="org.eclipse.cdt.core.g++"/>
</provider> </provider>

11
.vscode/settings.json vendored
View File

@ -69,7 +69,16 @@
"streambuf": "cpp", "streambuf": "cpp",
"thread": "cpp", "thread": "cpp",
"cinttypes": "cpp", "cinttypes": "cpp",
"typeinfo": "cpp" "typeinfo": "cpp",
"csignal": "cpp",
"strstream": "cpp",
"bitset": "cpp",
"cfenv": "cpp",
"codecvt": "cpp",
"complex": "cpp",
"any": "cpp",
"future": "cpp",
"typeindex": "cpp"
}, },
"C_Cpp.errorSquiggles": "disabled" "C_Cpp.errorSquiggles": "disabled"
} }

View File

@ -120,12 +120,13 @@ SensorScheduler::SensorScheduler() {
int eigen_value_send_duration = 6; int eigen_value_send_duration = 6;
int wave_form_send_duration = 40; int wave_form_send_duration = 40;
int max_sensor_num = 4; int max_sensor_num = 4;
std::string error_msg;
Config(eigen_value_send_interval, Config(eigen_value_send_interval,
wave_form_send_interval, wave_form_send_interval,
eigen_value_send_duration, eigen_value_send_duration,
wave_form_send_duration, wave_form_send_duration,
max_sensor_num); max_sensor_num,
error_msg);
} }
short_addr_map_.clear(); short_addr_map_.clear();
@ -362,7 +363,8 @@ int SensorScheduler::StartSchedule(int short_addr, int &next_duration) {
} }
} }
int SensorScheduler::Config(int eigen_value_send_interval, int wave_form_send_interval, int eigen_value_send_duration, int wave_form_send_duration, int max_sensor_num) { int SensorScheduler::Config(int eigen_value_send_interval, int wave_form_send_interval, int eigen_value_send_duration,
int wave_form_send_duration, int max_sensor_num, std::string &error_msg) {
if (!support_modification_) { if (!support_modification_) {
zlog_warn(zct, "not support modification"); zlog_warn(zct, "not support modification");
return 1; return 1;
@ -376,7 +378,8 @@ int SensorScheduler::Config(int eigen_value_send_interval, int wave_form_send_in
wave_form_send_duration, wave_form_send_duration,
max_sensor_num, max_sensor_num,
available_slice, available_slice,
free_slice); free_slice,
error_msg);
if (ret != 0) { if (ret != 0) {
return ret; return ret;
} }
@ -411,27 +414,32 @@ int SensorScheduler::Config(int eigen_value_send_interval, int wave_form_send_in
// 一次特征值发送时长为6秒波形发送时长为60秒 // 一次特征值发送时长为6秒波形发送时长为60秒
int SensorScheduler::CalcAvailableSlice(int eigen_value_send_interval, int wave_form_send_interval, int SensorScheduler::CalcAvailableSlice(int eigen_value_send_interval, int wave_form_send_interval,
int eigen_value_send_duration, int wave_form_send_duration, int eigen_value_send_duration, int wave_form_send_duration,
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) { if (max_sensor_num <= 0) {
zlog_error(zbt, "invalid max_sensor_num:%d", max_sensor_num); 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; return 1;
} }
if (max_sensor_num * eigen_value_send_duration > eigen_value_send_interval) { if (max_sensor_num * eigen_value_send_duration > eigen_value_send_interval) {
zlog_error(zbt, "invalid eigen_value_send_interval:%d and eigen_value_send_duration:%d, max_sensor_num:%d", error_msg = "invalid max_sensor_num:" + std::to_string(max_sensor_num) +
eigen_value_send_interval, eigen_value_send_duration, max_sensor_num); " * eigen_value_send_duration:" + std::to_string(eigen_value_send_duration) + " > eigen_value_send_interval" + std::to_string(eigen_value_send_interval);
zlog_error(zbt, "%s", error_msg.c_str());
return 2; return 2;
} }
if (max_sensor_num * wave_form_send_duration > wave_form_send_interval) { if (max_sensor_num * wave_form_send_duration > wave_form_send_interval) {
zlog_error(zbt, "invalid wave_form_send_interval:%d and wave_form_send_duration:%d, max_sensor_num:%d", error_msg = "invalid wave_form_send_duration:" + std::to_string(wave_form_send_duration) +
wave_form_send_interval, wave_form_send_duration, max_sensor_num); " * 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; return 3;
} }
if (wave_form_send_interval % eigen_value_send_interval != 0) { if (wave_form_send_interval % eigen_value_send_interval != 0) {
zlog_error(zbt, "invalid eigen_value_send_interval:%d and wave_form_send_interval:%d", error_msg = "wave_form_send_interval:" + std::to_string(wave_form_send_interval) + " %% eigen_value_send_interval:" + std::to_string(eigen_value_send_interval) +
eigen_value_send_interval, wave_form_send_interval); " != 0";
zlog_error(zbt, "%s", error_msg.c_str());
return 4; return 4;
} }
@ -441,7 +449,8 @@ int SensorScheduler::CalcAvailableSlice(int eigen_value_send_interval, int wave_
available_slice = wave_form_send_interval / eigen_value_send_interval * slice_per_eigen_value_interval; available_slice = wave_form_send_interval / eigen_value_send_interval * slice_per_eigen_value_interval;
free_slice = available_slice - max_sensor_num; free_slice = available_slice - max_sensor_num;
if (free_slice < 0) { if (free_slice < 0) {
zlog_error(zbt, "invalid config, available slice:%d, required slice:%d", available_slice, max_sensor_num); error_msg = "invalid config, available slice:" + std::to_string(available_slice) + ", required slice:" + std::to_string(max_sensor_num);
zlog_error(zbt, "%s", error_msg.c_str());
return 5; return 5;
} }
return 0; return 0;
@ -584,4 +593,4 @@ void SensorScheduler::UpdateUpgradeInfo(int id) {
long ts = GetLocalTs(); long ts = GetLocalTs();
upgrade_iter->second.try_world_time1.push_back(GetUTCTime(ts)); upgrade_iter->second.try_world_time1.push_back(GetUTCTime(ts));
UpgradeCfg::WriteCfg(upgrade_); UpgradeCfg::WriteCfg(upgrade_);
} }

View File

@ -69,12 +69,12 @@ public:
int Config(int eigen_value_send_interval, int wave_form_send_interval, int Config(int eigen_value_send_interval, int wave_form_send_interval,
int eigen_value_send_duration, int wave_form_send_duration, int eigen_value_send_duration, int wave_form_send_duration,
int max_sensor_num); int max_sensor_num, std::string &error_msg);
int CalcAvailableSlice(int eigen_value_send_interval, int wave_form_send_interval, int CalcAvailableSlice(int eigen_value_send_interval, int wave_form_send_interval,
int eigen_value_send_duration, int wave_form_send_duration, int eigen_value_send_duration, int wave_form_send_duration,
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 GetScheduleConfig(int &eigen_value_send_interval, int &wave_form_send_interval,
int &eigen_value_send_duration, int &wave_form_send_duration, int &eigen_value_send_duration, int &wave_form_send_duration,