mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-26 09:48:45 -05:00
ATV Demod: init simplification
This commit is contained in:
parent
9b6e65c9cb
commit
f84b19c828
@ -98,33 +98,6 @@ void ATVDemod::configure(
|
||||
objMessageQueue->push(msgCmd);
|
||||
}
|
||||
|
||||
void ATVDemod::InitATVParameters(
|
||||
int intSampleRate,
|
||||
float fltLineDurationUs,
|
||||
float fltTopDurationUs,
|
||||
float fltFramePerS,
|
||||
float fltRatioOfRowsToDisplay,
|
||||
bool blnHSync,
|
||||
bool blnVSync)
|
||||
{
|
||||
m_objSettingsMutex.lock();
|
||||
|
||||
m_intNumberOfRowsToDisplay = (int) ((fltRatioOfRowsToDisplay * fltLineDurationUs * intSampleRate) / m_fltSecondToUs);
|
||||
m_intRowsLimit = m_intNumberOfLines-1;
|
||||
m_intImageIndex = 0;
|
||||
|
||||
m_intColIndex=0;
|
||||
m_intRowIndex=0;
|
||||
m_intRowsLimit=0;
|
||||
|
||||
//Mise à jour de la config
|
||||
m_objRunning.m_fltRatioOfRowsToDisplay = fltRatioOfRowsToDisplay;
|
||||
m_objRunning.m_blnHSync = blnHSync;
|
||||
m_objRunning.m_blnVSync = blnVSync;
|
||||
|
||||
m_objSettingsMutex.unlock();
|
||||
}
|
||||
|
||||
void ATVDemod::feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end, bool firstOfBurst)
|
||||
{
|
||||
float fltDivSynchroBlack = 1.0f - m_objRunning.m_fltVoltLevelSynchroBlack;
|
||||
@ -496,17 +469,12 @@ bool ATVDemod::handleMessage(const Message& cmd)
|
||||
{
|
||||
DownChannelizer::MsgChannelizerNotification& objNotif = (DownChannelizer::MsgChannelizerNotification&) cmd;
|
||||
m_objConfig.m_intSampleRate = objNotif.getSampleRate();
|
||||
ApplySettings();
|
||||
|
||||
// if(m_objRunning.m_intSampleRate!=objNotif.getSampleRate())
|
||||
// {
|
||||
// m_objRunning.m_intSampleRate = objNotif.getSampleRate();
|
||||
// ApplySettings();
|
||||
// }
|
||||
|
||||
qDebug() << "ATVDemod::handleMessage: MsgChannelizerNotification:"
|
||||
<< " m_intMsps: " << m_objConfig.m_intSampleRate;
|
||||
|
||||
ApplySettings();
|
||||
|
||||
return true;
|
||||
}
|
||||
else if (MsgConfigureATVDemod::match(cmd))
|
||||
@ -534,22 +502,7 @@ bool ATVDemod::handleMessage(const Message& cmd)
|
||||
<< " m_blnHSync" << m_objConfig.m_blnHSync
|
||||
<< " m_blnVSync" << m_objConfig.m_blnVSync;
|
||||
|
||||
if((m_objConfig.m_enmModulation != m_objRunning.m_enmModulation)
|
||||
|| (m_objConfig.m_fltVoltLevelSynchroBlack != m_objRunning.m_fltVoltLevelSynchroBlack)
|
||||
|| (m_objConfig.m_fltVoltLevelSynchroTop != m_objRunning.m_fltVoltLevelSynchroTop)
|
||||
|| (m_objConfig.m_fltFramePerS != m_objRunning.m_fltFramePerS)
|
||||
|| (m_objConfig.m_fltLineDurationUs != m_objRunning.m_fltLineDurationUs)
|
||||
|| (m_objConfig.m_fltRatioOfRowsToDisplay != m_objRunning.m_fltRatioOfRowsToDisplay)
|
||||
|| (m_objConfig.m_fltTopDurationUs != m_objRunning.m_fltTopDurationUs)
|
||||
|| (m_objConfig.m_blnHSync != m_objRunning.m_blnHSync)
|
||||
|| (m_objConfig.m_blnVSync != m_objRunning.m_blnVSync))
|
||||
{
|
||||
m_objRunning.m_fltRatioOfRowsToDisplay = m_objConfig.m_fltRatioOfRowsToDisplay;
|
||||
m_objRunning.m_blnHSync = m_objConfig.m_blnHSync;
|
||||
m_objRunning.m_blnVSync = m_objConfig.m_blnVSync;
|
||||
|
||||
ApplySettings();
|
||||
}
|
||||
ApplySettings();
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -569,22 +522,24 @@ void ATVDemod::ApplySettings()
|
||||
|
||||
if((m_objConfig.m_fltFramePerS != m_objRunning.m_fltFramePerS)
|
||||
|| (m_objConfig.m_fltLineDurationUs != m_objRunning.m_fltLineDurationUs)
|
||||
|| (m_objConfig.m_intSampleRate != m_objRunning.m_intSampleRate))
|
||||
|| (m_objConfig.m_intSampleRate != m_objRunning.m_intSampleRate)
|
||||
|| (m_objConfig.m_fltTopDurationUs != m_objRunning.m_fltTopDurationUs)
|
||||
|| (m_objConfig.m_fltRatioOfRowsToDisplay != m_objRunning.m_fltRatioOfRowsToDisplay))
|
||||
{
|
||||
m_objSettingsMutex.lock();
|
||||
|
||||
m_intNumberSamplePerLine = (int) ((m_objConfig.m_fltLineDurationUs * m_objConfig.m_intSampleRate) / m_fltSecondToUs);
|
||||
m_intNumberOfLines = (int) ((m_fltSecondToUs / m_objConfig.m_fltFramePerS) /round(m_objConfig.m_fltLineDurationUs));
|
||||
m_objRegisteredATVScreen->resizeATVScreen(m_intNumberSamplePerLine, m_intNumberOfLines);
|
||||
m_intNumberSamplePerTop = (int) ((m_objConfig.m_fltTopDurationUs * m_objConfig.m_intSampleRate) / m_fltSecondToUs);
|
||||
m_intNumberOfRowsToDisplay = (int) ((m_objConfig.m_fltRatioOfRowsToDisplay * m_objConfig.m_fltLineDurationUs * m_objConfig.m_intSampleRate) / m_fltSecondToUs);
|
||||
|
||||
m_objSettingsMutex.unlock();
|
||||
}
|
||||
m_intRowsLimit = m_intNumberOfLines-1;
|
||||
m_intImageIndex = 0;
|
||||
m_intColIndex=0;
|
||||
m_intRowIndex=0;
|
||||
m_intRowsLimit=0;
|
||||
|
||||
if((m_objConfig.m_fltTopDurationUs != m_objRunning.m_fltTopDurationUs)
|
||||
|| (m_objConfig.m_intSampleRate != m_objRunning.m_intSampleRate))
|
||||
{
|
||||
m_objSettingsMutex.lock();
|
||||
m_intNumberSamplePerTop=(int)((m_objConfig.m_fltTopDurationUs * m_objConfig.m_intSampleRate) / m_fltSecondToUs);
|
||||
m_objSettingsMutex.unlock();
|
||||
}
|
||||
|
||||
@ -595,15 +550,9 @@ void ATVDemod::ApplySettings()
|
||||
m_objRunning.m_fltFramePerS = m_objConfig.m_fltFramePerS;
|
||||
m_objRunning.m_fltLineDurationUs = m_objConfig.m_fltLineDurationUs;
|
||||
m_objRunning.m_fltTopDurationUs = m_objConfig.m_fltTopDurationUs;
|
||||
|
||||
InitATVParameters(
|
||||
m_objRunning.m_intSampleRate,
|
||||
m_objRunning.m_fltLineDurationUs,
|
||||
m_objRunning.m_fltTopDurationUs,
|
||||
m_objRunning.m_fltFramePerS,
|
||||
m_objRunning.m_fltRatioOfRowsToDisplay,
|
||||
m_objRunning.m_blnHSync,
|
||||
m_objRunning.m_blnVSync);
|
||||
m_objRunning.m_fltRatioOfRowsToDisplay = m_objConfig.m_fltRatioOfRowsToDisplay;
|
||||
m_objRunning.m_blnHSync = m_objConfig.m_blnHSync;
|
||||
m_objRunning.m_blnVSync = m_objConfig.m_blnVSync;
|
||||
}
|
||||
|
||||
int ATVDemod::GetSampleRate()
|
||||
|
@ -94,13 +94,6 @@ public:
|
||||
virtual bool handleMessage(const Message& cmd);
|
||||
|
||||
bool SetATVScreen(ATVScreen *objScreen);
|
||||
void InitATVParameters(int intMsps,
|
||||
float fltLineDurationUs,
|
||||
float fltTopDurationUs,
|
||||
float fltFramePerS,
|
||||
float fltRatioOfRowsToDisplay,
|
||||
bool blnHSync,
|
||||
bool blnVSync);
|
||||
int GetSampleRate();
|
||||
double getMagSq() const { return m_objMagSqAverage.average(); } //!< Beware this is scaled to 2^30
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user