增加了数据库功能,采用直接编译源码的方式,不使用动态库链接
This commit is contained in:
@@ -15,14 +15,6 @@ UpperCommManager::UpperCommManager(PowerManger* pm) : m_pm(pm) {
|
||||
};
|
||||
|
||||
bool UpperCommManager::processUpperMsg(const string& key, const string& strJson) {
|
||||
// if(key == DB_TO_PM_MSCMD)
|
||||
// {
|
||||
// m_pm->m_msCmd = getMasterControlCmd(key, strJson);
|
||||
// cout << "m_msCmd: " << endl;
|
||||
// MasterCommandEvent event;
|
||||
// PowerManagerFsm::dispatch(event);
|
||||
// return true;
|
||||
// }
|
||||
if (key == m_sysStateMsg.key)
|
||||
{
|
||||
m_pm->m_msCmd = m_sysStateMsg.getMasterControlCmd(key, strJson);
|
||||
@@ -45,21 +37,6 @@ bool UpperCommManager::processUpperMsg(const string& key, const string& strJson)
|
||||
}
|
||||
}
|
||||
}
|
||||
// else if(key == DB_TO_PM_EQUIPMENTCMD)
|
||||
// {
|
||||
// m_pm->m_MSDriverCmd = getEquipmentCmd(key, strJson);
|
||||
// vector<DriverCommand> devCmdExt = m_pm->m_driver.loadDriverIdFromJson(strJson);
|
||||
// if (devCmdExt.empty()) {
|
||||
// LOG_F(WARNING, "控制指令");
|
||||
// }
|
||||
// else {
|
||||
// for (auto& cmd : devCmdExt) {
|
||||
// DevCmdExt event(cmd.id, cmd.cmd);
|
||||
// PowerManagerFsm::dispatch(event);
|
||||
// }
|
||||
// }
|
||||
// return true;
|
||||
// }
|
||||
// 次级配电状态处理
|
||||
else if(key == m_secdistStateMsg.key_fb)
|
||||
{
|
||||
@@ -137,228 +114,6 @@ bool UpperCommManager::processUpperMsg(const string& key, const string& strJson)
|
||||
return false;
|
||||
}
|
||||
|
||||
// const MSControlCmd UpperCommManager::getMasterControlCmd(const std::string& key, const std::string& msg)
|
||||
// {
|
||||
// MSControlCmd cmd;
|
||||
// if (parseControlCmdFromJson(cmd, msg)) {
|
||||
|
||||
// return cmd;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// cout << MOOS::ConsoleColours::Red << "parse control cmd error:" << msg
|
||||
// << MOOS::ConsoleColours::reset << endl;
|
||||
// }
|
||||
// }
|
||||
|
||||
// const DriverTable UpperCommManager::getEquipmentCmd(const std::string& key, const std::string& msg)
|
||||
// {
|
||||
// DriverTable cmd;
|
||||
// if (m_pm->m_driver.loadDriverTableFromJson(msg, cmd) < 0) {
|
||||
// cout << MOOS::ConsoleColours::Red << "get equipment cmd error:" << msg
|
||||
// << MOOS::ConsoleColours::reset << endl;
|
||||
// LOG_F(WARNING, "get equipment cmd error:%s", msg.c_str());
|
||||
// }
|
||||
// return cmd;
|
||||
// }
|
||||
|
||||
// const DriverTable UpperCommManager::getSubDisState(const std::string& key, const std::string& msg)
|
||||
// {
|
||||
// DriverTable state;
|
||||
// if (m_pm->m_driver.loadDriverTableFromJson(msg, state) < 0) {
|
||||
// cout << MOOS::ConsoleColours::Red << "get sub dis state error:" << msg
|
||||
// << MOOS::ConsoleColours::reset << endl;
|
||||
// LOG_F(WARNING, "get sub dis state error:%s", msg.c_str());
|
||||
// }
|
||||
// }
|
||||
|
||||
// const int UpperCommManager::getDeepth(const std::string& key, const std::string& msg){
|
||||
// int deepth;
|
||||
// Json::Value root;
|
||||
// Json::CharReaderBuilder builder;
|
||||
// JSONCPP_STRING errs;
|
||||
|
||||
// // 解析JSON字符串
|
||||
// std::istringstream stream(msg);
|
||||
// if (!Json::parseFromStream(builder, stream, &root, &errs)) {
|
||||
// std::cerr << "JSON解析失败: " << errs << std::endl;
|
||||
// LOG_F(WARNING, "JSON解析失败: %s", errs.c_str());
|
||||
// return -1;
|
||||
// }
|
||||
|
||||
// // 检查并读取深度数组
|
||||
// if (root.isMember("value_array_int32") && root["value_array_int32"].isArray()) {
|
||||
// const Json::Value& array = root["value_array_int32"];
|
||||
// if (array.size() >= 3) {
|
||||
// // 计算三个深度值的平均值
|
||||
// deepth = (array[0].asInt() + array[1].asInt() + array[2].asInt()) / 3;
|
||||
// } else {
|
||||
// LOG_F(WARNING, "深度数组元素不足3个");
|
||||
// return -1;
|
||||
// }
|
||||
// } else {
|
||||
// LOG_F(WARNING, "缺少或类型不匹配: value_array_int32");
|
||||
// return -1;
|
||||
// }
|
||||
|
||||
// return deepth;
|
||||
// }
|
||||
|
||||
// MissionState UpperCommManager::getMission(const std::string& key, const std::string& msg) {
|
||||
// MissionState mission;
|
||||
// Json::Value root;
|
||||
// Json::CharReaderBuilder builder;
|
||||
// JSONCPP_STRING errs;
|
||||
|
||||
// // 解析JSON字符串
|
||||
// std::istringstream stream(msg);
|
||||
// if (!Json::parseFromStream(builder, stream, &root, &errs)) {
|
||||
// std::cerr << "JSON解析失败: " << errs << std::endl;
|
||||
// LOG_F(WARNING, "JSON解析失败: %s", errs.c_str());
|
||||
// return mission;
|
||||
// }
|
||||
|
||||
// // 提取taskType_str
|
||||
// if (root.isMember("taskType_str") && root["taskType_str"].isString()) {
|
||||
// mission.type = TaskType::fromString(root["taskType_str"].asString());
|
||||
// LOG_F(INFO, "taskType: %d", mission.type, root["taskType_str"].asString());
|
||||
// }
|
||||
|
||||
// // 提取balanceEnabled_bool
|
||||
// if (root.isMember("balanceEnabled_bool") && root["balanceEnabled_bool"].isBool()) {
|
||||
// mission.enableBuoyancyAdjustment = root["balanceEnabled_bool"].asBool();
|
||||
// LOG_F(INFO, "balanceEnabled_bool: %d", mission.enableBuoyancyAdjustment);
|
||||
// }
|
||||
|
||||
// // 提取bowRudderUnfold_bool
|
||||
// if (root.isMember("bowRudderUnfold_bool") && root["bowRudderUnfold_bool"].isBool()) {
|
||||
// mission.enableBowRudder = root["bowRudderUnfold_bool"].asBool();
|
||||
// LOG_F(INFO, "bowRudderUnfold_bool: %d", mission.enableBowRudder);
|
||||
// }
|
||||
|
||||
|
||||
// return mission;
|
||||
// }
|
||||
|
||||
// int UpperCommManager::getSetOpCondition(const std::string& key, const std::string& msg)
|
||||
// {
|
||||
// Json::Value root;
|
||||
// Json::CharReaderBuilder builder;
|
||||
// JSONCPP_STRING errs;
|
||||
|
||||
// // 解析JSON字符串
|
||||
// std::istringstream stream(msg);
|
||||
// if (!Json::parseFromStream(builder, stream, &root, &errs)) {
|
||||
// LOG_F(WARNING, "JSON解析失败: %s", errs.c_str());
|
||||
// return -1;
|
||||
// }
|
||||
|
||||
// // 检查并读取操作条件
|
||||
// if (root.isMember("state_uint8") && root["state_uint8"].isUInt()) {
|
||||
// return root["state_uint8"].asUInt();
|
||||
// LOG_F(INFO, "上位机指令:opCondition: %d", root["state_uint8"].asUInt());
|
||||
// } else {
|
||||
// LOG_F(WARNING, "缺少或类型不匹配: opCondition");
|
||||
// return -1;
|
||||
// }
|
||||
// }
|
||||
|
||||
// int UpperCommManager::getSetOpMode(const std::string& key, const std::string& msg)
|
||||
// {
|
||||
// Json::Value root;
|
||||
// Json::CharReaderBuilder builder;
|
||||
// JSONCPP_STRING errs;
|
||||
|
||||
// // 解析JSON字符串
|
||||
// std::istringstream stream(msg);
|
||||
// if (!Json::parseFromStream(builder, stream, &root, &errs)) {
|
||||
// LOG_F(WARNING, "JSON解析失败: %s", errs.c_str());
|
||||
// return -1;
|
||||
// }
|
||||
|
||||
// // 检查并读取操作模式
|
||||
// if (root.isMember("state_uint8") && root["state_uint8"].isUInt()) {
|
||||
// return root["state_uint8"].asUInt();
|
||||
// } else {
|
||||
// LOG_F(WARNING, "缺少或类型不匹配: opMode");
|
||||
// return -1;
|
||||
// }
|
||||
// }
|
||||
|
||||
// int UpperCommManager::getSetPMSys(const std::string& key, const std::string& msg)
|
||||
// {
|
||||
// Json::Value root;
|
||||
// Json::CharReaderBuilder builder;
|
||||
// JSONCPP_STRING errs;
|
||||
|
||||
// // 解析JSON字符串
|
||||
// std::istringstream stream(msg);
|
||||
// if (!Json::parseFromStream(builder, stream, &root, &errs)) {
|
||||
// std::cerr << "JSON解析失败: " << errs << std::endl;
|
||||
// return -1;
|
||||
// }
|
||||
|
||||
// // 检查并读取电源系统设置
|
||||
// if (root.isMember("powerCmd_uint8") && root["powerCmd_uint8"].isUInt()) {
|
||||
// return root["powerCmd_uint8"].asUInt();
|
||||
// } else {
|
||||
// LOG_F(WARNING, "缺少或类型不匹配: powerCmd_uint8");
|
||||
// return -1;
|
||||
// }
|
||||
// }
|
||||
|
||||
// DeviceSwitchCmd UpperCommManager::getSetDevSwitch(const std::string& key, const std::string& msg)
|
||||
// {
|
||||
// Json::Value root;
|
||||
// Json::CharReaderBuilder builder;
|
||||
// JSONCPP_STRING errs;
|
||||
// DeviceSwitchCmd cmd;
|
||||
// // 解析JSON字符串
|
||||
// std::istringstream stream(msg);
|
||||
// if (!Json::parseFromStream(builder, stream, &root, &errs)) {
|
||||
// LOG_F(WARNING, "JSON解析失败: %s", errs.c_str());
|
||||
// cmd.id = -1;
|
||||
// }
|
||||
|
||||
// // 检查并读取设备开关状态
|
||||
// if (root.isMember("id_uint8") && root["id_uint8"].isUInt()) {
|
||||
// cmd.id = root["id_uint8"].asUInt();
|
||||
// } else {
|
||||
// cmd.id = -1;
|
||||
// LOG_F(WARNING, "缺少或类型不匹配: id_uint8");
|
||||
// }
|
||||
// if (root.isMember("cmd_uint8") && root["cmd_uint8"].isUInt()) {
|
||||
// cmd.cmd = root["cmd_uint8"].asUInt();
|
||||
// } else {
|
||||
// LOG_F(WARNING, "缺少或类型不匹配: state_bool");
|
||||
// }
|
||||
// return cmd;
|
||||
// }
|
||||
|
||||
// bool UpperCommManager::getTaskStop(const std::string& key, const std::string& msg) {
|
||||
// Json::Value root;
|
||||
// Json::CharReaderBuilder builder;
|
||||
// JSONCPP_STRING errs;
|
||||
|
||||
// // 解析JSON字符串
|
||||
// std::istringstream stream(msg);
|
||||
// if (!Json::parseFromStream(builder, stream, &root, &errs)) {
|
||||
// LOG_F(WARNING, "JSON解析失败: %s", errs.c_str());
|
||||
// return false;
|
||||
// }
|
||||
|
||||
// // 检查op_int32字段
|
||||
// if (root.isMember("op_int32") && root["op_int32"].isInt()) {
|
||||
// return root["op_int32"].asInt() == 1;
|
||||
// }
|
||||
// return false;
|
||||
// }
|
||||
|
||||
// const std::string UpperCommManager::getSubDisCmd(DriverTable& driver)
|
||||
// {
|
||||
// return m_pm->m_driver.saveDriverTableToJson(&driver);
|
||||
// }
|
||||
|
||||
void UpperCommManager::processPeriodicTasks() {
|
||||
buildSystemReport();
|
||||
std::string strJson;
|
||||
@@ -374,50 +129,7 @@ void UpperCommManager::processPeriodicTasks() {
|
||||
//发送仪表电状态
|
||||
m_pm->sendNotification(m_equInsStateMsg.key,m_equInsStateMsg.buildMsg(m_pm->m_subDisSysState));
|
||||
}
|
||||
// bool UpperCommManager::parseControlCmdFromJson(MSControlCmd &cmd, const std::string &strJson)
|
||||
// {
|
||||
// Json::CharReaderBuilder builder;
|
||||
// Json::Value root;
|
||||
// std::string errs;
|
||||
|
||||
// // 解析JSON字符串
|
||||
// std::istringstream s(strJson);
|
||||
// if (!Json::parseFromStream(builder, s, &root, &errs))
|
||||
// {
|
||||
// std::cerr << "JSON解析失败: " << errs << std::endl;
|
||||
// return false; // 解析失败
|
||||
// }
|
||||
// if (root.isMember("powerCMD") && root["powerCMD"].isUInt())
|
||||
// {
|
||||
// cmd.powerCMD = root["powerCMD"].asUInt();
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// std::cerr << "缺少或类型不匹配: powerCMD" << std::endl;
|
||||
// return false; // 缺少或类型不匹配
|
||||
// }
|
||||
|
||||
// if (root.isMember("modCMD") && root["modCMD"].isUInt())
|
||||
// {
|
||||
// cmd.modCMD = root["modCMD"].asUInt();
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// std::cerr << "缺少或类型不匹配: modCMD" << std::endl;
|
||||
// return false; // 缺少或类型不匹配
|
||||
// }
|
||||
|
||||
// if (root.isMember("workCMD") && root["workCMD"].isUInt())
|
||||
// {
|
||||
// cmd.workCMD = root["workCMD"].asUInt();
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// std::cerr << "缺少或类型不匹配: workCMD" << std::endl;
|
||||
// return false; // 缺少或类型不匹配
|
||||
// }
|
||||
// return true; // 成功
|
||||
// }
|
||||
void UpperCommManager::buildSystemReport() {
|
||||
m_pmStateMsg.state.workCondition = m_pm->workCondition;
|
||||
m_pmStateMsg.state.currentMod = m_pm->currentMod;
|
||||
|
||||
Reference in New Issue
Block a user