PU2CLR RDA5807 Arduino Library 1.1.9
Arduino Library for RDA5807 Devices - By Ricardo Lima Caratti
|
Functions | |
char * | RDA5807::getRdsStationName (void) |
Gets the Station Name. | |
char * | RDA5807::getRdsProgramInformation (void) |
Gets the Program Information (RT - Radio Text) | |
char * | RDA5807::getRdsStationInformation (void) |
Gets the Station Information. | |
uint8_t | RDA5807::getBlockId () |
Gets the current Block ID. | |
uint8_t | RDA5807::getErrorBlockA () |
Gets the current Status of block A. | |
uint8_t | RDA5807::getErrorBlockB () |
Gets the current Status of block B. | |
bool | RDA5807::hasRdsInfo () |
Returns true when the RDS system has valid information. | |
bool | RDA5807::hasRdsInfoAB () |
Returns true when the RDS system has valid information. | |
bool | RDA5807::getRdsSync () |
Gets the Rds Sync. | |
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. | |
bool | RDA5807::isNewRdsFlagAB (void) |
Returns true if the Text Flag A/B has changed. | |
bool | RDA5807::getRdsAllData (char **stationName, char **stationInformation, char **programInformation, char **utcTime) |
Gets Station Name, Station Information, Program Information and utcTime. | |
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) | |
uint8_t | RDA5807::getRdsTrafficProgramCode (void) |
Returns the Traffic Alerts given by the station. | |
void | RDA5807::getNext2Block (char *c) |
Process data received from group 2B. | |
void | RDA5807::getNext4Block (char *c) |
Process data received from group 2A. | |
char * | RDA5807::getRdsText0A (void) |
Gets the station name and other messages. | |
char * | RDA5807::getRdsText2A (void) |
Gets the Program Information. | |
char * | RDA5807::getRdsText2B (void) |
Gets the Station Information. | |
char * | RDA5807::getRdsTime () |
Gets the RDS UTC time and date when the Group type is 4. | |
char * | RDA5807::getRdsLocalTime () |
Gets the RDS time converted to local time. | |
void | RDA5807::setRdsFifo (bool value) |
Sets RDS fifo mode enable. | |
void | RDA5807::clearRdsFifo (bool value=1) |
Clear RDS fifo. | |
void | RDA5807::clearRdsBuffer () |
Clear RDS Information (Station Name, Station Information, Program Information and Time) | |
Is important to mention that almost all the essential methods required to implement RDS are already implemented here.
Begin working with RDS, simply invoke the setRDS or setRBDS methods.
Querying a set of RDS information, please ensure to call getRdsReady before.
void RDA5807::clearRdsBuffer | ( | ) |
Clear RDS Information (Station Name, Station Information, Program Information and Time)
Clear the buffer with latest RDS information
References RDA5807::rds_buffer0A, RDA5807::rds_buffer2A, RDA5807::rds_buffer2B, and RDA5807::rds_time.
void RDA5807::clearRdsFifo | ( | bool | value = 1 | ) |
Clear RDS fifo.
value | If true, clears the RDS fifo |
|
inline |
Gets the current Block ID.
You must call getRdsReady before calling this function
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
|
inline |
Gets the current Status of block A.
You must call getRdsReady before calling this function
Bin | Dec | description |
---|---|---|
00 | 0 | 0 errors requiring correction |
01 | 1 | 1~2 errors requiring correction |
10 | 2 | 3~5 errors requiring correction |
11 | 3 | 6+ errors or error in checkword, correction not possible |
Available only in RDS Verbose mode
|
inline |
Gets the current Status of block B.
You must call getRdsReady before calling this function
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).
Bin | Dec | description |
---|---|---|
00 | 0 | 0 errors requiring correction |
01 | 1 | 1~2 errors requiring correction |
10 | 2 | 3~5 errors requiring correction |
11 | 3 | 6+ errors or error in checkword, correction not possible |
Available only in RDS Verbose mode
void RDA5807::getNext2Block | ( | char * | c | ) |
Process data received from group 2B.
c | char array reference to the "group 2B" text |
Referenced by RDA5807::getRdsText0A(), and RDA5807::getRdsText2B().
void RDA5807::getNext4Block | ( | char * | c | ) |
Process data received from group 2A.
c | char array reference to the "group 2A" text |
Referenced by RDA5807::getRdsText2A().
bool RDA5807::getRdsAllData | ( | char ** | stationName, |
char ** | stationInformation, | ||
char ** | programInformation, | ||
char ** | utcTime | ||
) |
Gets Station Name, Station Information, Program Information and utcTime.
This function populates four char pointer variable parameters with Station Name, Station Information, Programa Information and UTC time.
You must call setRDS(true), setRdsFifo(true) before calling getRdsAllData(...)
ATTENTION: the parameters below are point to point to array of char.
the right way to call this function is shown below.
stationName | (reference) - if NOT NULL, point to Name of the Station (char array - 9 bytes) |
stationInformation | (reference) - if NOT NULL, point to Station information (char array - 33 bytes) |
programInformation | (reference) - if NOT NULL, point to program information (char array - 65 nytes) |
utcTime | (reference) - if NOT NULL, point to char array containing the current UTC time (format HH:MM:SS +HH:MM) |
References RDA5807::getRdsReady(), RDA5807::getRdsText0A(), RDA5807::getRdsText2A(), RDA5807::getRdsText2B(), RDA5807::getRdsTime(), and RDA5807::hasRdsInfoAB().
uint8_t RDA5807::getRdsFlagAB | ( | void | ) |
Returns the current Text Flag A/B.
ATTENTION: You must call getRdsReady before calling this function.
uint16_t RDA5807::getRdsGroupType | ( | ) |
Return the group type.
ATTENTION: You must call getRdsReady before calling this function.
char * RDA5807::getRdsLocalTime | ( | ) |
Gets the RDS time converted to local time.
ATTENTION: You must call getRdsReady before calling this function.
ATTENTION: Some stations broadcast wrong time.
References RDA5807::rds_time.
|
inline |
Gets the Program Information (RT - Radio Text)
@
Process the program information data. Same getRdsText2A(). It is a alias for getRdsText2A.
ATTENTION: You must call getRdsReady before calling this function.
References RDA5807::getRdsText2A().
uint8_t RDA5807::getRdsProgramType | ( | void | ) |
Returns the Program Type (extracted from the Block B)
ATTENTION: You must call getRdsReady before calling this function.
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.
ATTENTION: You must call this function before calling any RDS query
References RDA5807::getStatusRegisters().
Referenced by RDA5807::getRdsAllData().
|
inline |
Gets the Station Information.
ATTENTION: You must call getRdsReady before calling this function.
References RDA5807::getRdsText2B().
|
inline |
Gets the Station Name.
Alias for getRdsText0A
ATTENTION: You must call getRdsReady before calling this function.
References RDA5807::getRdsText0A().
|
inline |
Gets the Rds Sync.
You must call getRdsReady before calling this function
Returns true if RDS currently synchronized.
char * RDA5807::getRdsText0A | ( | void | ) |
Gets the station name and other messages.
ATTENTION: You must call getRdsReady before calling this function.
References RDA5807::getNext2Block(), and RDA5807::rds_buffer0A.
Referenced by RDA5807::getRdsAllData(), and RDA5807::getRdsStationName().
char * RDA5807::getRdsText2A | ( | void | ) |
Gets the Program Information.
@
Process the program information data.
ATTENTION: You must call getRdsReady before calling this function.
References RDA5807::getNext4Block(), and RDA5807::rds_buffer2A.
Referenced by RDA5807::getRdsAllData(), and RDA5807::getRdsProgramInformation().
char * RDA5807::getRdsText2B | ( | void | ) |
Gets the Station Information.
ATTENTION: You must call getRdsReady before calling this function.
References RDA5807::getNext2Block(), and RDA5807::rds_buffer2B.
Referenced by RDA5807::getRdsAllData(), and RDA5807::getRdsStationInformation().
char * RDA5807::getRdsTime | ( | ) |
Gets the RDS UTC time and date when the Group type is 4.
ATTENTION: You must call getRdsReady before calling this function.
ATTENTION: Some stations broadcast wrong time.
References RDA5807::rds_time.
Referenced by RDA5807::getRdsAllData().
uint8_t RDA5807::getRdsTrafficProgramCode | ( | void | ) |
Returns the Traffic Alerts given by the station.
ATTENTION: You must call getRdsReady before calling this function.
uint8_t RDA5807::getRdsVersionCode | ( | void | ) |
Gets the version code (extracted from the Block B)
ATTENTION: You must call getRdsReady before calling this function.
|
inline |
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
You must call getRdsReady before calling this function
|
inline |
Returns true when the RDS system has valid information.
You must call getRdsReady before calling this function
Referenced by RDA5807::getRdsAllData().
bool RDA5807::isNewRdsFlagAB | ( | void | ) |
Returns true if the Text Flag A/B has changed.
This function returns true if a new FlagAB has chenged. Also it clears the Station Name buffer in that condition.
It is useful to check and show the RDS Text in your application.
You must call getRdsReady before calling this function.
References RDA5807::rds_buffer0A.
void RDA5807::setRBDS | ( | bool | value | ) |
Sets the RBDS operation.
Enable or Disable the RDS
true | = turns the RBDS ON; false = turns the RBDS OFF |
void RDA5807::setRDS | ( | bool | value | ) |
Sets the RDS operation.
Enable or Disable the RDS
You must call this function before stating deal with RDS.
true | = turns the RDS ON; false = turns the RDS OFF |
void RDA5807::setRdsFifo | ( | bool | value | ) |
Sets RDS fifo mode enable.
value | If true, it makes the the fifo mode enable. |