Correct Event Loop Connections

This commit is contained in:
2019-11-20 21:42:12 -08:00
parent e928234c14
commit 997b3c5db0
6 changed files with 18 additions and 11 deletions

View File

@@ -2,10 +2,10 @@
FaultFinder::FaultFinder(QObject *parent) : QObject(parent) FaultFinder::FaultFinder(QObject *parent) : QObject(parent)
{ {
fault_mgr = new FaultManager(parent); fault_mgr = new FaultManager(this);
image_mgr = new ImageManager(parent); image_mgr = new ImageManager(this);
config_mgr = new ConfigManager(parent); config_mgr = new ConfigManager(this);
stream_mgr = new StreamManager(parent); stream_mgr = new StreamManager(this);
} }
FaultFinder::~FaultFinder() FaultFinder::~FaultFinder()

View File

@@ -3,8 +3,8 @@
#include <opencv2/imgcodecs.hpp> #include <opencv2/imgcodecs.hpp>
#include <opencv2/imgproc.hpp> #include <opencv2/imgproc.hpp>
#include "FaultFinder.hpp"
#include "ImageManager.hpp" #include "ImageManager.hpp"
#include "FaultManager.hpp"
#define ZERO 0 #define ZERO 0
#define BITS8 0xff #define BITS8 0xff

View File

@@ -25,6 +25,4 @@ private:
}; };
#include "FaultFinder.hpp"
#endif #endif

View File

@@ -1,9 +1,11 @@
#include "StreamManager.hpp" #include "StreamManager.hpp"
#include "FaultFinder.hpp"
StreamManager::StreamManager(QObject *parent) : QObject(parent) StreamManager::StreamManager(QObject *parent) : QObject(parent)
{ {
// Listen for New Emissivity Signal // Connect Signals
//connect(&config_mgr, &ConfigManager::NewEmissivity, this, &StreamManager::SetEmissivity); connect(((FaultFinder *)parent)->config_mgr, &ConfigManager::NewEmissivity, this, &StreamManager::SetEmissivity);
PvResult res; PvResult res;
res = FindDevice(); res = FindDevice();
@@ -28,6 +30,7 @@ StreamManager::StreamManager(QObject *parent) : QObject(parent)
StartStream(); StartStream();
ImageThread = new StreamReader(Device, Stream, Pipeline); ImageThread = new StreamReader(Device, Stream, Pipeline);
connect(ImageThread, &StreamReader::NewImage, this, &StreamManager::SendForProcessing, Qt::QueuedConnection);
ImageThread->start(QThread::TimeCriticalPriority); ImageThread->start(QThread::TimeCriticalPriority);
} }
@@ -39,8 +42,14 @@ StreamManager::~StreamManager()
Disconnect(); Disconnect();
} }
void StreamManager::SendForProcessing(uint32_t width, uint32_t height, uint8_t *imgPointer)
{
((FaultFinder *)parent())->image_mgr->ProcessImage(width, height, imgPointer);
}
void StreamManager::SetEmissivity(double emissivity) void StreamManager::SetEmissivity(double emissivity)
{ {
qInfo() << "HERE";
if (lDeviceParams) if (lDeviceParams)
lDeviceParams->SetFloatValue("ObjectEmissivity", emissivity); lDeviceParams->SetFloatValue("ObjectEmissivity", emissivity);
} }

View File

@@ -10,7 +10,6 @@
#include <PvPipeline.h> #include <PvPipeline.h>
#include <PvDeviceGEV.h> #include <PvDeviceGEV.h>
#include <PvStreamGEV.h> #include <PvStreamGEV.h>
#include "StreamReader.hpp" #include "StreamReader.hpp"
#define BUFFER_COUNT (32) #define BUFFER_COUNT (32)
@@ -25,6 +24,7 @@ public:
public slots: public slots:
void SetEmissivity(double emissivity); void SetEmissivity(double emissivity);
void SendForProcessing(uint32_t width, uint32_t height, uint8_t *imgPointer);
private: private:
PvResult FindDevice(); PvResult FindDevice();

View File

@@ -36,7 +36,7 @@ void StreamReader::run()
lWidth = lImage->GetWidth(); lWidth = lImage->GetWidth();
lHeight = lImage->GetHeight(); lHeight = lImage->GetHeight();
NewImage(lWidth, lHeight, lImage->GetDataPointer()); emit NewImage(lWidth, lHeight, lImage->GetDataPointer());
} }
else else
{ {