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:
parent
a5df0a1ee4
commit
1d0cf9582d
@ -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);
|
||||||
|
@ -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()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user