PU2CLR RDA5807 Arduino Library 1.1.1
Arduino Library for RDA5807 Devices - By Ricardo Lima Caratti
Loading...
Searching...
No Matches
RDS Functions

Functions

void RDA5807::setRDS (bool value)
 Sets the RDS operation.
 
void RDA5807::setRBDS (bool value)
 Sets the RBDS operation.
 
bool RDA5807::getRdsReady ()
 Returns true if RDS Ready.
 
uint8_t RDA5807::getRdsFlagAB (void)
 Returns the current Text Flag A/B

 
uint16_t RDA5807::getRdsGroupType ()
 Return the group type.
 
uint8_t RDA5807::getRdsVersionCode (void)
 Gets the version code (extracted from the Block B)
 
uint8_t RDA5807::getRdsProgramType (void)
 Returns the Program Type (extracted from the Block B)
 
void RDA5807::getNext2Block (char *c)
 Process data received from group 2B.
 
void RDA5807::getNext4Block (char *c)
 Process data received from group 2A.
 
char * RDA5807::getRdsText (void)
 Gets the RDS Text when the message is of the Group Type 2 version A.
 
char * RDA5807::getRdsText0A (void)
 Gets the station name and other messages.
 
char * RDA5807::getRdsText2A (void)
 Gets the Text processed for the 2A group.
 
char * RDA5807::getRdsText2B (void)
 Gets the Text processed for the 2B group.
 
char * RDA5807::getRdsTime ()
 Gets the RDS time and date when the Group type is 4.
 
bool RDA5807::getRdsSync ()
 Get the Rds Sync.
 
uint8_t RDA5807::getBlockId ()
 Get the current Block ID.
 
uint8_t RDA5807::getErrorBlockB ()
 Get the current Status of block B.
 
bool RDA5807::hasRdsInfo ()
 Returns true when the RDS system has valid information.
 
void RDA5807::setRdsFifo (bool value)
 Sets RDS fifo mode enable.
 
void RDA5807::clearRdsFifo ()
 Clear RDS fifo.
 

Detailed Description

RDS/RBDS

Todo:
Need optimizing the method to get the RDS informastion - getStatusRegisters should be called just once at a cicle.

Function Documentation

◆ setRDS()

void RDA5807::setRDS ( bool  value)

Sets the RDS operation.

Enable or Disable the RDS

Parameters
true= turns the RDS ON; false = turns the RDS OFF

◆ setRBDS()

void RDA5807::setRBDS ( bool  value)

Sets the RBDS operation.

Enable or Disable the RDS

Parameters
true= turns the RBDS ON; false = turns the RBDS OFF

◆ getRdsReady()

bool RDA5807::getRdsReady ( )

Returns true if RDS Ready.

Read address 0Ah and check the bit RDSR.

When using the polling method, it is best not to poll continuously. The data will appear in intervals.

Returns
true
false

◆ getRdsFlagAB()

uint8_t RDA5807::getRdsFlagAB ( void  )

Returns the current Text Flag A/B

Returns
uint8_t current Text Flag A/B

References RDA5807::getStatusRegisters().

◆ getRdsGroupType()

uint16_t RDA5807::getRdsGroupType ( )

Return the group type.

Returns
uint16_t

References RDA5807::getStatusRegisters().

◆ getRdsVersionCode()

uint8_t RDA5807::getRdsVersionCode ( void  )

Gets the version code (extracted from the Block B)

Returns
0=A or 1=B

References RDA5807::getStatusRegisters().

◆ getRdsProgramType()

uint8_t RDA5807::getRdsProgramType ( void  )

Returns the Program Type (extracted from the Block B)

<>

See also
https://en.wikipedia.org/wiki/Radio_Data_System
Returns
program type (an integer betwenn 0 and 31)

References RDA5807::getStatusRegisters().

◆ getNext2Block()

void RDA5807::getNext2Block ( char *  c)

Process data received from group 2B.

Parameters
cchar array reference to the "group 2B" text

Referenced by RDA5807::getRdsText0A(), and RDA5807::getRdsText2B().

◆ getNext4Block()

void RDA5807::getNext4Block ( char *  c)

Process data received from group 2A.

Parameters
cchar array reference to the "group 2A" text

Referenced by RDA5807::getRdsText(), and RDA5807::getRdsText2A().

◆ getRdsText()

char * RDA5807::getRdsText ( void  )

Gets the RDS Text when the message is of the Group Type 2 version A.

Returns
char* The string (char array) with the content (Text) received from group 2A

References RDA5807::getNext4Block(), and RDA5807::getStatusRegisters().

◆ getRdsText0A()

char * RDA5807::getRdsText0A ( void  )

Gets the station name and other messages.

Todo:
RDS Dynamic PS or Scrolling PS support
Returns
char* should return a string with the station name. However, some stations send other kind of messages

References RDA5807::getNext2Block(), and RDA5807::getStatusRegisters().

◆ getRdsText2A()

char * RDA5807::getRdsText2A ( void  )

Gets the Text processed for the 2A group.

@

Returns
char* string with the Text of the group A2

References RDA5807::getNext4Block(), and RDA5807::getStatusRegisters().

◆ getRdsText2B()

char * RDA5807::getRdsText2B ( void  )

Gets the Text processed for the 2B group.

Returns
char* string with the Text of the group AB

References RDA5807::getNext2Block(), and RDA5807::getStatusRegisters().

◆ getRdsTime()

char * RDA5807::getRdsTime ( )

Gets the RDS time and date when the Group type is 4.

Todo:
Need to check. It is working on SI4735 and Si4703. Why not here?
Returns
char* a string with hh:mm +/- offset

References RDA5807::getStatusRegisters().

◆ getRdsSync()

bool RDA5807::getRdsSync ( )

Get the Rds Sync.

Returns true if RDS currently synchronized.

Returns
true or false

◆ getBlockId()

uint8_t RDA5807::getBlockId ( )

Get the current Block ID.

1= the block id of register 0cH,0dH,0eH,0fH is E

0= the block id of register 0cH, 0dH, 0eH,0fH is A, B, C, D

Returns
0= the block id of register 0cH, 0dH, 0eH,0fH is A, B, C, D; 1 = the block id of register 0cH,0dH,0eH,0fH is E

◆ getErrorBlockB()

uint8_t RDA5807::getErrorBlockB ( )

Get the current Status of block B.

Block Errors Level of RDS_DATA_1, and is always read as Errors Level of RDS BLOCK B (in RDS mode ) or E (in RBDS mode when ABCD_E flag is 1).

value description
00 0 errors requiring correction
01 1~2 errors requiring correction
10 3~5 errors requiring correction
11 6+ errors or error in checkword, correction not possible

Available only in RDS Verbose mode

Returns
value See table above.

◆ hasRdsInfo()

bool RDA5807::hasRdsInfo ( )

Returns true when the RDS system has valid information.

Returns true if RDS currently synchronized; the information are A, B, C and D blocks; and no errors

Returns
true or false

◆ setRdsFifo()

void RDA5807::setRdsFifo ( bool  value)

Sets RDS fifo mode enable.

Parameters
valueIf true, it makes the the fifo mode enable.
Returns
true or false

◆ clearRdsFifo()

void RDA5807::clearRdsFifo ( )

Clear RDS fifo.

Parameters
valueIf true, it makes the the fifo mode enable.
Returns
true or false