1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-09-10 10:47:48 -04:00

ATV demod: ATV screen: use internal 40ms (25 FPS) timer for refresh

This commit is contained in:
f4exb 2017-02-25 05:45:42 +01:00
parent a5df0a1ee4
commit 1d0cf9582d
2 changed files with 14 additions and 10 deletions

View File

@ -191,7 +191,7 @@ ATVDemodGUI::ATVDemodGUI(PluginAPI* objPluginAPI, DeviceSourceAPI *objDeviceAPI,
m_objDeviceAPI->addChannelMarker(&m_objChannelMarker); m_objDeviceAPI->addChannelMarker(&m_objChannelMarker);
m_objDeviceAPI->addRollupWidget(this); m_objDeviceAPI->addRollupWidget(this);
ui->screenTV->connectTimer(m_objPluginAPI->getMainWindow()->getMasterTimer()); //ui->screenTV->connectTimer(m_objPluginAPI->getMainWindow()->getMasterTimer());
//********** ATV Default values ********** //********** ATV Default values **********
ui->horizontalSlider->setValue(100); ui->horizontalSlider->setValue(100);

View File

@ -31,8 +31,8 @@ ATVScreen::ATVScreen(QWidget* parent) :
QGLWidget(parent), m_objMutex(QMutex::NonRecursive) QGLWidget(parent), m_objMutex(QMutex::NonRecursive)
{ {
setAttribute(Qt::WA_OpaquePaintEvent); setAttribute(Qt::WA_OpaquePaintEvent);
//connect(&m_objTimer, SIGNAL(timeout()), this, SLOT(tick())); connect(&m_objTimer, SIGNAL(timeout()), this, SLOT(tick()));
//m_objTimer.start(50); m_objTimer.start(40); // capped at 25 FPS
m_chrLastData = NULL; m_chrLastData = NULL;
m_blnConfigChanged = false; m_blnConfigChanged = false;
@ -62,7 +62,8 @@ QRgb* ATVScreen::getRowBuffer(int intRow)
void ATVScreen::renderImage(unsigned char * objData) void ATVScreen::renderImage(unsigned char * objData)
{ {
m_chrLastData = objData; m_chrLastData = objData;
update(); m_blnDataChanged = true;
//update();
} }
void ATVScreen::resetImage() void ATVScreen::resetImage()
@ -148,6 +149,8 @@ void ATVScreen::paintGL()
{ {
m_objMutex.lock(); m_objMutex.lock();
m_blnDataChanged = false;
if (m_blnGLContextInitialized) if (m_blnGLContextInitialized)
{ {
if ((m_intAskedCols != 0) && (m_intAskedRows != 0)) if ((m_intAskedCols != 0) && (m_intAskedRows != 0))
@ -169,16 +172,17 @@ void ATVScreen::mousePressEvent(QMouseEvent* event)
void ATVScreen::tick() void ATVScreen::tick()
{ {
if (m_blnDataChanged) {
update();
}
} }
void ATVScreen::connectTimer(const QTimer& objTimer) void ATVScreen::connectTimer(const QTimer& objTimer)
{ {
/*
qDebug() << "ATVScreen::connectTimer"; qDebug() << "ATVScreen::connectTimer";
disconnect(&m_objTimer, SIGNAL(timeout()), this, SLOT(tick())); disconnect(&m_objTimer, SIGNAL(timeout()), this, SLOT(tick()));
connect(&objTimer, SIGNAL(timeout()), this, SLOT(tick())); connect(&objTimer, SIGNAL(timeout()), this, SLOT(tick()));
m_objTimer.stop(); m_objTimer.stop();
*/
} }
void ATVScreen::cleanup() void ATVScreen::cleanup()