no comment
This commit is contained in:
@@ -17,6 +17,7 @@ using namespace std;
|
||||
// Constructor
|
||||
DataManagement::DataManagement()
|
||||
{
|
||||
logEnable = false;
|
||||
|
||||
motionControlInfo.desiredHeading = 0;
|
||||
motionControlInfo.desiredSpeed = 0;
|
||||
@@ -44,26 +45,7 @@ DataManagement::DataManagement()
|
||||
// Destructor
|
||||
DataManagement::~DataManagement()
|
||||
{
|
||||
if(auvDataStream.is_open())
|
||||
{
|
||||
auvDataStream.close();
|
||||
}
|
||||
if(missionHistoryStream.is_open())
|
||||
{
|
||||
missionHistoryStream.close();
|
||||
}
|
||||
if(clientCommandStream.is_open())
|
||||
{
|
||||
clientCommandStream.close();
|
||||
}
|
||||
if(faultLogStream.is_open())
|
||||
{
|
||||
faultLogStream.close();
|
||||
}
|
||||
if(motionControlStream.is_open())
|
||||
{
|
||||
motionControlStream.close();
|
||||
}
|
||||
CloseOutputStream();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
@@ -89,11 +71,25 @@ bool DataManagement::OnNewMail(MOOSMSG_LIST &NewMail)
|
||||
bool mdbl = msg.IsDouble();
|
||||
bool mstr = msg.IsString();
|
||||
|
||||
if (key == "uClient_logEnable_cmd")
|
||||
{
|
||||
if (sval == "true")
|
||||
{
|
||||
logEnable = true;
|
||||
OpenOutputStream();
|
||||
}
|
||||
else
|
||||
{
|
||||
logEnable = false;
|
||||
CloseOutputStream();
|
||||
}
|
||||
}
|
||||
|
||||
if(key == "uDevice_monitor_fb")
|
||||
{
|
||||
std::string err;
|
||||
Json::Value estimatedStateData;
|
||||
std::istringstream iss(msg.GetString());
|
||||
std::istringstream iss(sval);
|
||||
Json::CharReaderBuilder builder;
|
||||
bool parsingResult = Json::parseFromStream(builder, iss, &estimatedStateData, &err);
|
||||
if (!parsingResult)
|
||||
@@ -138,7 +134,7 @@ bool DataManagement::OnNewMail(MOOSMSG_LIST &NewMail)
|
||||
{
|
||||
std::string err;
|
||||
Json::Value missionStatusObject;
|
||||
std::istringstream iss(msg.GetString());
|
||||
std::istringstream iss(sval);
|
||||
Json::CharReaderBuilder builder;
|
||||
bool parsingResult = Json::parseFromStream(builder, iss, &missionStatusObject, &err);
|
||||
try
|
||||
@@ -168,10 +164,9 @@ bool DataManagement::OnNewMail(MOOSMSG_LIST &NewMail)
|
||||
{
|
||||
std::string err;
|
||||
Json::Value errorStatus;
|
||||
std::istringstream iss(msg.GetString());
|
||||
std::istringstream iss(sval);
|
||||
Json::CharReaderBuilder builder;
|
||||
bool parsingResult = Json::parseFromStream(builder, iss, &errorStatus, &err);
|
||||
// std::cout << "uFH_errorMsg: " << msg.GetString() << std::endl;
|
||||
try
|
||||
{
|
||||
if (!parsingResult)
|
||||
@@ -242,7 +237,7 @@ bool DataManagement::OnNewMail(MOOSMSG_LIST &NewMail)
|
||||
}
|
||||
if(key == "DESIRED_HEADING")
|
||||
{
|
||||
motionControlInfo.desiredHeading = msg.GetDouble();
|
||||
motionControlInfo.desiredHeading = dval;
|
||||
std::stringstream ss;
|
||||
ss << std::fixed << std::setprecision(6) << MOOS::Time() << ",";
|
||||
ss << motionControlInfo.desiredHeading << ","
|
||||
@@ -252,7 +247,7 @@ bool DataManagement::OnNewMail(MOOSMSG_LIST &NewMail)
|
||||
}
|
||||
if(key == "DESIRED_SPEED")
|
||||
{
|
||||
motionControlInfo.desiredSpeed = msg.GetDouble();
|
||||
motionControlInfo.desiredSpeed = dval;
|
||||
std::stringstream ss;
|
||||
ss << std::fixed << std::setprecision(6) << MOOS::Time() << ",";
|
||||
ss << motionControlInfo.desiredHeading << ","
|
||||
@@ -262,7 +257,7 @@ bool DataManagement::OnNewMail(MOOSMSG_LIST &NewMail)
|
||||
}
|
||||
if(key == "DESIRED_DEPTH")
|
||||
{
|
||||
motionControlInfo.desiredDepth = msg.GetDouble();
|
||||
motionControlInfo.desiredDepth = dval;
|
||||
std::stringstream ss;
|
||||
ss << std::fixed << std::setprecision(6) << MOOS::Time() << ",";
|
||||
ss << motionControlInfo.desiredHeading << ","
|
||||
@@ -372,92 +367,92 @@ bool DataManagement::OnStartUp()
|
||||
{
|
||||
AppCastingMOOSApp::OnStartUp();
|
||||
|
||||
list<string> sParams;
|
||||
m_MissionReader.EnableVerbatimQuoting(false);
|
||||
if(m_MissionReader.GetConfiguration(GetAppName(), sParams)) {
|
||||
list<string>::iterator p;
|
||||
for(p=sParams.begin(); p!=sParams.end(); p++) {
|
||||
string line = *p;
|
||||
string param = tolower(biteStringX(line, '='));
|
||||
string value = line;
|
||||
// list<string> sParams;
|
||||
// m_MissionReader.EnableVerbatimQuoting(false);
|
||||
// if(m_MissionReader.GetConfiguration(GetAppName(), sParams)) {
|
||||
// list<string>::iterator p;
|
||||
// for(p=sParams.begin(); p!=sParams.end(); p++) {
|
||||
// string line = *p;
|
||||
// string param = tolower(biteStringX(line, '='));
|
||||
// string value = line;
|
||||
|
||||
if(param == "foo") {
|
||||
//handled
|
||||
}
|
||||
else if(param == "bar") {
|
||||
//handled
|
||||
}
|
||||
}
|
||||
}
|
||||
std::string saveLogDir;
|
||||
// if(param == "foo") {
|
||||
// //handled
|
||||
// }
|
||||
// else if(param == "bar") {
|
||||
// //handled
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
m_MissionReader.GetValue("LogDir", saveLogDir);
|
||||
std::string vehicleName;
|
||||
m_MissionReader.GetValue("VehicleName", vehicleName);
|
||||
bool logEnable = false;
|
||||
m_MissionReader.GetValue("LogEnable", logEnable);
|
||||
|
||||
std::string auvDataFile;
|
||||
m_MissionReader.GetValue("AuvDataLog", auvDataFile);
|
||||
std::string missionHistoryFile;
|
||||
m_MissionReader.GetValue("MissionHistoryLog", missionHistoryFile);
|
||||
std::string clientCommandFile;
|
||||
m_MissionReader.GetValue("ClientCommandLog", clientCommandFile);
|
||||
std::string faultLogFile;
|
||||
m_MissionReader.GetValue("FaultLog", faultLogFile);
|
||||
std::string motionControlFile;
|
||||
m_MissionReader.GetValue("MotionControlLog", motionControlFile);
|
||||
// std::string auvDataFile;
|
||||
// m_MissionReader.GetValue("AuvDataLog", auvDataFile);
|
||||
// std::string missionHistoryFile;
|
||||
// m_MissionReader.GetValue("MissionHistoryLog", missionHistoryFile);
|
||||
// std::string clientCommandFile;
|
||||
// m_MissionReader.GetValue("ClientCommandLog", clientCommandFile);
|
||||
// std::string faultLogFile;
|
||||
// m_MissionReader.GetValue("FaultLog", faultLogFile);
|
||||
// std::string motionControlFile;
|
||||
// m_MissionReader.GetValue("MotionControlLog", motionControlFile);
|
||||
|
||||
if (access(saveLogDir.c_str(), F_OK) == -1 )
|
||||
{
|
||||
mode_t mode = 0775;
|
||||
mkdir(saveLogDir.c_str(), mode);
|
||||
}
|
||||
saveLogDir += "/" + vehicleName;
|
||||
if (access(saveLogDir.c_str(), F_OK) == -1 )
|
||||
{
|
||||
mode_t mode = 0775;
|
||||
mkdir(saveLogDir.c_str(), mode);
|
||||
}
|
||||
|
||||
if (logEnable)
|
||||
{
|
||||
if (access(saveLogDir.c_str(), F_OK) == -1 )
|
||||
{
|
||||
mode_t mode = 0775;
|
||||
mkdir(saveLogDir.c_str(), mode);
|
||||
}
|
||||
saveLogDir += "/" + vehicleName;
|
||||
if (access(saveLogDir.c_str(), F_OK) == -1 )
|
||||
{
|
||||
mode_t mode = 0775;
|
||||
mkdir(saveLogDir.c_str(), mode);
|
||||
}
|
||||
// std::string subDir;
|
||||
// std::string localTime;
|
||||
// GenerateFileName(subDir, localTime);
|
||||
// saveLogDir += "/" + subDir;
|
||||
// if (access(saveLogDir.c_str(), F_OK) == -1 )
|
||||
// {
|
||||
// mode_t mode = 0775;
|
||||
// mkdir(saveLogDir.c_str(), mode);
|
||||
// }
|
||||
// saveLogDir += "/" + localTime;
|
||||
// if (access(saveLogDir.c_str(), F_OK) == -1 )
|
||||
// {
|
||||
// mode_t mode = 0775;
|
||||
// mkdir(saveLogDir.c_str(), mode);
|
||||
// }
|
||||
// std::string auvDataSavePath = saveLogDir + "/" + auvDataFile;
|
||||
// std::string missionHistorySavePath = saveLogDir + "/" + missionHistoryFile;
|
||||
// std::string clientCommandSavePath = saveLogDir + "/" + clientCommandFile;
|
||||
// std::string faultLogSavePath = saveLogDir + "/" + faultLogFile;
|
||||
// std::string motionControlSavePath = saveLogDir + "/" + motionControlFile;
|
||||
|
||||
std::string subDir;
|
||||
std::string localTime;
|
||||
GenerateFileName(subDir, localTime);
|
||||
saveLogDir += "/" + subDir;
|
||||
if (access(saveLogDir.c_str(), F_OK) == -1 )
|
||||
{
|
||||
mode_t mode = 0775;
|
||||
mkdir(saveLogDir.c_str(), mode);
|
||||
}
|
||||
saveLogDir += "/" + localTime;
|
||||
if (access(saveLogDir.c_str(), F_OK) == -1 )
|
||||
{
|
||||
mode_t mode = 0775;
|
||||
mkdir(saveLogDir.c_str(), mode);
|
||||
}
|
||||
std::string auvDataSavePath = saveLogDir + "/" + auvDataFile;
|
||||
std::string missionHistorySavePath = saveLogDir + "/" + missionHistoryFile;
|
||||
std::string clientCommandSavePath = saveLogDir + "/" + clientCommandFile;
|
||||
std::string faultLogSavePath = saveLogDir + "/" + faultLogFile;
|
||||
std::string motionControlSavePath = saveLogDir + "/" + motionControlFile;
|
||||
// if(!OpenFile(auvDataStream, auvDataSavePath))
|
||||
// return MOOSFail("Failed to Open auvData file");
|
||||
// if(!OpenFile(missionHistoryStream, missionHistorySavePath))
|
||||
// return MOOSFail("Failed to Open missionHistory file");
|
||||
// if(!OpenFile(clientCommandStream, clientCommandSavePath))
|
||||
// return MOOSFail("Failed to Open clientCommand file");
|
||||
// if(!OpenFile(faultLogStream, faultLogSavePath))
|
||||
// return MOOSFail("Failed to Open faultLog file");
|
||||
// if(!OpenFile(motionControlStream, motionControlSavePath))
|
||||
// return MOOSFail("Failed to Open faultLog file");
|
||||
|
||||
if(!OpenFile(auvDataStream, auvDataSavePath))
|
||||
return MOOSFail("Failed to Open auvData file");
|
||||
if(!OpenFile(missionHistoryStream, missionHistorySavePath))
|
||||
return MOOSFail("Failed to Open missionHistory file");
|
||||
if(!OpenFile(clientCommandStream, clientCommandSavePath))
|
||||
return MOOSFail("Failed to Open clientCommand file");
|
||||
if(!OpenFile(faultLogStream, faultLogSavePath))
|
||||
return MOOSFail("Failed to Open faultLog file");
|
||||
if(!OpenFile(motionControlStream, motionControlSavePath))
|
||||
return MOOSFail("Failed to Open faultLog file");
|
||||
// DoAuvDataLogBanner(auvDataStream);
|
||||
// DoMissionHistoryBanner(missionHistoryStream);
|
||||
// DoFaultHandleBanner(faultLogStream);
|
||||
// DoMotionControlBanner(motionControlStream);
|
||||
|
||||
DoAuvDataLogBanner(auvDataStream);
|
||||
DoMissionHistoryBanner(missionHistoryStream);
|
||||
DoFaultHandleBanner(faultLogStream);
|
||||
DoMotionControlBanner(motionControlStream);
|
||||
OpenOutputStream();
|
||||
}
|
||||
|
||||
RegisterVariables();
|
||||
@@ -488,7 +483,8 @@ void DataManagement::RegisterVariables()
|
||||
Register("DESIRED_HEADING", 0);
|
||||
Register("DESIRED_SPEED", 0);
|
||||
Register("DESIRED_DEPTH", 0);
|
||||
Register("uMotion_desired_log", 0);
|
||||
Register("uMotion_desired_log", 0);
|
||||
Register("uClient_logEnable_cmd", 0);
|
||||
}
|
||||
|
||||
bool DataManagement::buildReport()
|
||||
@@ -638,3 +634,82 @@ void DataManagement::GenerateFileName(std::string &fileDir, std::string &fileNam
|
||||
ss << hour << minute << second;
|
||||
fileName = ss.str();
|
||||
}
|
||||
|
||||
bool DataManagement::OpenOutputStream()
|
||||
{
|
||||
std::string subDir;
|
||||
std::string localTime;
|
||||
GenerateFileName(subDir, localTime);
|
||||
std::string saveSubLogDir = saveLogDir + "/" + subDir;
|
||||
if (access(saveSubLogDir.c_str(), F_OK) == -1 )
|
||||
{
|
||||
mode_t mode = 0775;
|
||||
mkdir(saveSubLogDir.c_str(), mode);
|
||||
}
|
||||
saveSubLogDir += "/" + localTime;
|
||||
if (access(saveSubLogDir.c_str(), F_OK) == -1 )
|
||||
{
|
||||
mode_t mode = 0775;
|
||||
mkdir(saveSubLogDir.c_str(), mode);
|
||||
}
|
||||
|
||||
std::string auvDataFile;
|
||||
m_MissionReader.GetValue("AuvDataLog", auvDataFile);
|
||||
std::string missionHistoryFile;
|
||||
m_MissionReader.GetValue("MissionHistoryLog", missionHistoryFile);
|
||||
std::string clientCommandFile;
|
||||
m_MissionReader.GetValue("ClientCommandLog", clientCommandFile);
|
||||
std::string faultLogFile;
|
||||
m_MissionReader.GetValue("FaultLog", faultLogFile);
|
||||
std::string motionControlFile;
|
||||
m_MissionReader.GetValue("MotionControlLog", motionControlFile);
|
||||
|
||||
std::string auvDataSavePath = saveSubLogDir + "/" + auvDataFile;
|
||||
std::string missionHistorySavePath = saveSubLogDir + "/" + missionHistoryFile;
|
||||
std::string clientCommandSavePath = saveSubLogDir + "/" + clientCommandFile;
|
||||
std::string faultLogSavePath = saveSubLogDir + "/" + faultLogFile;
|
||||
std::string motionControlSavePath = saveSubLogDir + "/" + motionControlFile;
|
||||
|
||||
if(!OpenFile(auvDataStream, auvDataSavePath))
|
||||
return MOOSFail("Failed to Open auvData file");
|
||||
if(!OpenFile(missionHistoryStream, missionHistorySavePath))
|
||||
return MOOSFail("Failed to Open missionHistory file");
|
||||
if(!OpenFile(clientCommandStream, clientCommandSavePath))
|
||||
return MOOSFail("Failed to Open clientCommand file");
|
||||
if(!OpenFile(faultLogStream, faultLogSavePath))
|
||||
return MOOSFail("Failed to Open faultLog file");
|
||||
if(!OpenFile(motionControlStream, motionControlSavePath))
|
||||
return MOOSFail("Failed to Open faultLog file");
|
||||
|
||||
DoAuvDataLogBanner(auvDataStream);
|
||||
DoMissionHistoryBanner(missionHistoryStream);
|
||||
DoFaultHandleBanner(faultLogStream);
|
||||
DoMotionControlBanner(motionControlStream);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void DataManagement::CloseOutputStream()
|
||||
{
|
||||
if(auvDataStream.is_open())
|
||||
{
|
||||
auvDataStream.close();
|
||||
}
|
||||
if(missionHistoryStream.is_open())
|
||||
{
|
||||
missionHistoryStream.close();
|
||||
}
|
||||
if(clientCommandStream.is_open())
|
||||
{
|
||||
clientCommandStream.close();
|
||||
}
|
||||
if(faultLogStream.is_open())
|
||||
{
|
||||
faultLogStream.close();
|
||||
}
|
||||
if(motionControlStream.is_open())
|
||||
{
|
||||
motionControlStream.close();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user