v3.0.t8
-the test cameras are picking up motion as post command is running. added a delay increment to DetectLoop in hope to fix this. -removed the upkeep log since it doesn't really provide any useful information. -adjusted the default motion score again. -reduced the amount of image files DetectLoop needs from 3 to 2.
This commit is contained in:
parent
b445906403
commit
de24a94bd4
|
@ -19,7 +19,7 @@ Camera::Camera(QObject *parent) : QObject(parent)
|
||||||
shared.camName.clear();
|
shared.camName.clear();
|
||||||
|
|
||||||
shared.retCode = 0;
|
shared.retCode = 0;
|
||||||
shared.imgThresh = 15000;
|
shared.imgThresh = 10000;
|
||||||
shared.maxEvents = 100;
|
shared.maxEvents = 100;
|
||||||
shared.maxLogSize = 100000;
|
shared.maxLogSize = 100000;
|
||||||
shared.skipCmd = false;
|
shared.skipCmd = false;
|
||||||
|
@ -231,43 +231,22 @@ bool Upkeep::exec()
|
||||||
|
|
||||||
enforceMaxLogSize(QString("logs/") + REC_LOG_NAME, shared);
|
enforceMaxLogSize(QString("logs/") + REC_LOG_NAME, shared);
|
||||||
enforceMaxLogSize(QString("logs/") + DET_LOG_NAME, shared);
|
enforceMaxLogSize(QString("logs/") + DET_LOG_NAME, shared);
|
||||||
enforceMaxLogSize(QString("logs/") + UPK_LOG_NAME, shared);
|
|
||||||
|
|
||||||
dumpLogs(QString("logs/") + REC_LOG_NAME, shared->recLog);
|
dumpLogs(QString("logs/") + REC_LOG_NAME, shared->recLog);
|
||||||
dumpLogs(QString("logs/") + DET_LOG_NAME, shared->detLog);
|
dumpLogs(QString("logs/") + DET_LOG_NAME, shared->detLog);
|
||||||
dumpLogs(QString("logs/") + UPK_LOG_NAME, shared->upkLog);
|
|
||||||
|
|
||||||
shared->recLog.clear();
|
shared->recLog.clear();
|
||||||
shared->detLog.clear();
|
shared->detLog.clear();
|
||||||
shared->upkLog.clear();
|
|
||||||
|
|
||||||
initLogFrontPages(shared);
|
initLogFrontPages();
|
||||||
enforceMaxEvents(shared);
|
enforceMaxEvents(shared);
|
||||||
enforceMaxImages();
|
enforceMaxImages();
|
||||||
|
|
||||||
genHTMLul(".", shared->camName, shared);
|
genHTMLul(".", shared->camName, shared);
|
||||||
upkLog("camera specific webroot page updated: " + shared->outDir + "/index.html", shared);
|
|
||||||
|
|
||||||
QFile tmp("/tmp/mow-lock");
|
|
||||||
|
|
||||||
if (!tmp.exists())
|
|
||||||
{
|
|
||||||
tmp.open(QFile::WriteOnly);
|
|
||||||
tmp.write(QByteArray());
|
|
||||||
|
|
||||||
genCSS(shared);
|
genCSS(shared);
|
||||||
genHTMLul(shared->webRoot, QString(APP_NAME) + " " + QString(APP_VER), shared);
|
genHTMLul(shared->webRoot, QString(APP_NAME) + " " + QString(APP_VER), shared);
|
||||||
|
|
||||||
tmp.close();
|
|
||||||
tmp.remove();
|
|
||||||
|
|
||||||
upkLog("webroot page updated: " + QDir::cleanPath(shared->webRoot) + "/index.html", shared);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
upkLog("skipping update of the webroot page, it is busy.", shared);
|
|
||||||
}
|
|
||||||
|
|
||||||
return Loop::exec();
|
return Loop::exec();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -419,6 +398,9 @@ void DetectLoop::pcBreak()
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (delayCycles == 0) delayCycles = 1;
|
||||||
|
else delayCycles += 1;
|
||||||
|
|
||||||
detLog("no motion detected, running post command: " + shared->postCmd, shared);
|
detLog("no motion detected, running post command: " + shared->postCmd, shared);
|
||||||
system(shared->postCmd.toUtf8().data());
|
system(shared->postCmd.toUtf8().data());
|
||||||
}
|
}
|
||||||
|
@ -432,13 +414,15 @@ bool DetectLoop::exec()
|
||||||
if (delayCycles > 0)
|
if (delayCycles > 0)
|
||||||
{
|
{
|
||||||
delayCycles -= 1;
|
delayCycles -= 1;
|
||||||
|
|
||||||
|
detLog("spec: detection cycle skipped. cycles left to be skipped: " + QString::number(delayCycles), shared);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
auto curDT = QDateTime::currentDateTime();
|
auto curDT = QDateTime::currentDateTime();
|
||||||
auto images = backwardFacingFiles("img", ".bmp", curDT, 10);
|
auto images = backwardFacingFiles("img", ".bmp", curDT, 5);
|
||||||
|
|
||||||
if (images.size() < 3)
|
if (images.size() < 2)
|
||||||
{
|
{
|
||||||
detLog("wrn: didn't pick up enough image files from the image stream. number of files: " + QString::number(images.size()), shared);
|
detLog("wrn: didn't pick up enough image files from the image stream. number of files: " + QString::number(images.size()), shared);
|
||||||
detLog(" will try again on the next loop.", shared);
|
detLog(" will try again on the next loop.", shared);
|
||||||
|
@ -452,8 +436,8 @@ bool DetectLoop::exec()
|
||||||
|
|
||||||
args << "compare";
|
args << "compare";
|
||||||
args << "-metric" << "FUZZ";
|
args << "-metric" << "FUZZ";
|
||||||
args << images[pos - 2];
|
|
||||||
args << images[pos - 1];
|
args << images[pos - 1];
|
||||||
|
args << images[pos];
|
||||||
args << "/dev/null";
|
args << "/dev/null";
|
||||||
|
|
||||||
extComp.start("magick", args);
|
extComp.start("magick", args);
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
#define APP_VER "3.0.t7"
|
#define APP_VER "3.0.t8"
|
||||||
#define APP_NAME "Motion Watch"
|
#define APP_NAME "Motion Watch"
|
||||||
#define APP_BIN "mow"
|
#define APP_BIN "mow"
|
||||||
#define REC_LOG_NAME "rec_log_lines.html"
|
#define REC_LOG_NAME "rec_log_lines.html"
|
||||||
|
|
|
@ -22,11 +22,6 @@ void detLog(const QString &line, shared_t *share)
|
||||||
share->detLog += QDateTime::currentDateTime().toString("[yyyy-MM-dd-hh-mm-ss] ") + line + "<br>\n";
|
share->detLog += QDateTime::currentDateTime().toString("[yyyy-MM-dd-hh-mm-ss] ") + line + "<br>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
void upkLog(const QString &line, shared_t *share)
|
|
||||||
{
|
|
||||||
share->upkLog += QDateTime::currentDateTime().toString("[yyyy-MM-dd-hh-mm-ss] ") + line + "<br>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
void enforceMaxLogSize(const QString &filePath, shared_t *share)
|
void enforceMaxLogSize(const QString &filePath, shared_t *share)
|
||||||
{
|
{
|
||||||
QFile file(filePath);
|
QFile file(filePath);
|
||||||
|
@ -115,9 +110,8 @@ void initLogFrontPage(const QString &filePath, const QString &logLinesFile)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void initLogFrontPages(shared_t *share)
|
void initLogFrontPages()
|
||||||
{
|
{
|
||||||
initLogFrontPage("logs/recording_log.html", REC_LOG_NAME);
|
initLogFrontPage("logs/recording_log.html", REC_LOG_NAME);
|
||||||
initLogFrontPage("logs/detection_log.html", DET_LOG_NAME);
|
initLogFrontPage("logs/detection_log.html", DET_LOG_NAME);
|
||||||
initLogFrontPage("logs/upkeep_log.html", UPK_LOG_NAME);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,9 +17,8 @@
|
||||||
|
|
||||||
void recLog(const QString &line, shared_t *share);
|
void recLog(const QString &line, shared_t *share);
|
||||||
void detLog(const QString &line, shared_t *share);
|
void detLog(const QString &line, shared_t *share);
|
||||||
void upkLog(const QString &line, shared_t *share);
|
|
||||||
void dumpLogs(const QString &fileName, const QString &lines);
|
void dumpLogs(const QString &fileName, const QString &lines);
|
||||||
void enforceMaxLogSize(const QString &filePath, shared_t *share);
|
void enforceMaxLogSize(const QString &filePath, shared_t *share);
|
||||||
void initLogFrontPages(shared_t *share);
|
void initLogFrontPages();
|
||||||
|
|
||||||
#endif // lOGGER_H
|
#endif // lOGGER_H
|
||||||
|
|
Loading…
Reference in New Issue
Block a user