1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-07-17 00:05:23 -04:00

BFM Demod: fixed RDS text clearscreen. Fixes #1101

This commit is contained in:
f4exb 2022-01-12 08:43:20 +01:00
parent 180d554812
commit 1a977c4ce2
2 changed files with 7 additions and 9 deletions

View File

@ -262,7 +262,6 @@ void RDSParser::clearUpdateFlags()
m_g14_updated = false; m_g14_updated = false;
m_g14_data_available = false; m_g14_data_available = false;
m_g15_updated = false; m_g15_updated = false;
radiotext_AB_flag = false;
debug = false; debug = false;
log = false; log = false;
} }
@ -697,16 +696,16 @@ void RDSParser::decode_type2(unsigned int *group, bool B)
m_g2_updated = true; m_g2_updated = true;
m_g2_count++; m_g2_count++;
bool radiotext_AB_flag = ((group[1] >> 4) & 0x01);
// when the A/B flag is toggled, flush your current radiotext // when the flag goes from B to A (false -> true), flush your current radiotext
if (radiotext_AB_flag != ((group[1] >> 4) & 0x01)) if (!m_radiotext_AB_flag && radiotext_AB_flag)
{ {
// qDebug("RDSParser::decode_type2: ---------");
std::memset(m_g2_radiotext, ' ', sizeof(m_g2_radiotext)); std::memset(m_g2_radiotext, ' ', sizeof(m_g2_radiotext));
m_g2_radiotext[sizeof(m_g2_radiotext) - 1] = '\0'; m_g2_radiotext[sizeof(m_g2_radiotext) - 1] = '\0';
} }
radiotext_AB_flag = (group[1] >> 4) & 0x01;
if (!B) if (!B)
{ {
m_g2_radiotext[text_segment_address_code * 4 ] = (group[2] >> 8) & 0xff; m_g2_radiotext[text_segment_address_code * 4 ] = (group[2] >> 8) & 0xff;
@ -720,9 +719,8 @@ void RDSParser::decode_type2(unsigned int *group, bool B)
m_g2_radiotext[text_segment_address_code * 2 + 1] = group[3] & 0xff; m_g2_radiotext[text_segment_address_code * 2 + 1] = group[3] & 0xff;
} }
/* // qDebug("RDSParser::decode_type2: %x Radio Text %s: '%s'", group[1], radiotext_AB_flag ? "A" : "B", m_g2_radiotext);
qDebug() << "RDSParser::decode_type2: " << "Radio Text " << (radiotext_AB_flag ? 'B' : 'A') m_radiotext_AB_flag = radiotext_AB_flag;
<< ": " << std::string(m_g2_radiotext, sizeof(m_g2_radiotext)).c_str();*/
} }
void RDSParser::decode_type3(unsigned int *group, bool B) void RDSParser::decode_type3(unsigned int *group, bool B)

View File

@ -193,7 +193,7 @@ private:
unsigned char pi_country_identification; unsigned char pi_country_identification;
unsigned char pi_program_reference_number; unsigned char pi_program_reference_number;
bool radiotext_AB_flag; bool m_radiotext_AB_flag;
bool debug; bool debug;
bool log; bool log;