PU2CLR RDA5807 Arduino Library
1.0.1
Arduino Library for RDA5807 Devices - By Ricardo Lima Caratti
|
Go to the documentation of this file.
25 #define MAX_DELAY_AFTER_OSCILLATOR 500
28 #define I2C_ADDR_DIRECT_ACCESS 0x11
29 #define I2C_ADDR_FULL_ACCESS 0x10
32 #define OSCILLATOR_TYPE_CRYSTAL 0
33 #define OSCILLATOR_TYPE_REFCLK 1
43 #define RDS_STANDARD 0
46 #define RDA_FM_BAND_USA_EU 0
47 #define RDA_FM_BAND_JAPAN_WIDE 1
48 #define RDA_FM_BAND_WORLD 2
49 #define RDA_FM_BAND_SPECIAL 3
51 #define RDA_SEEK_WRAP 0
52 #define RDA_SEEK_STOP 1
53 #define RDA_SEEK_DOWN 0
132 uint8_t SOFT_RESET : 1;
133 uint8_t NEW_METHOD : 1;
135 uint8_t CLK_MODE : 3;
139 uint8_t RCLK_DIRECT_IN : 1;
140 uint8_t NON_CALIBRATE : 1;
191 uint16_t DIRECT_MODE : 1;
210 uint8_t I2S_ENABLE : 1;
213 uint8_t SOFTMUTE_EN : 1;
214 uint8_t RDS_FIFO_CLR : 1;
216 uint8_t RDS_FIFO_EN : 1;
232 uint8_t LNA_ICSEL_BIT : 2;
233 uint8_t LNA_PORT_SEL : 2;
236 uint8_t SEEK_MODE : 2;
237 uint8_t INT_MODE : 1;
265 uint8_t SCLK_O_EDGE : 1;
266 uint8_t SW_O_EDGE : 1;
267 uint8_t I2S_SW_CNT : 4;
268 uint8_t WS_I_EDGE : 1;
269 uint8_t DATA_SIGNED : 1;
270 uint8_t SCLK_I_EDGE : 1;
272 uint8_t SLAVE_MASTER : 1;
273 uint8_t OPEN_MODE : 2;
286 uint8_t FREQ_MODE : 1;
287 uint8_t SOFTBLEND_EN : 1;
288 uint8_t SEEK_TH_OLD : 6;
290 uint8_t MODE_50_60 : 1;
291 uint8_t TH_SOFRBLEND : 5;
334 uint16_t READCHAN : 10;
368 uint8_t FM_READY : 1;
462 uint8_t programType : 5;
463 uint8_t trafficProgramCode : 1;
464 uint8_t versionCode : 1;
465 uint8_t groupType : 4;
470 uint8_t textABFlag : 1;
471 uint8_t programType : 5;
472 uint8_t trafficProgramCode : 1;
473 uint8_t versionCode : 1;
474 uint8_t groupType : 4;
479 uint8_t textABFlag : 1;
480 uint8_t programType : 5;
481 uint8_t trafficProgramCode : 1;
482 uint8_t versionCode : 1;
483 uint8_t groupType : 4;
502 uint8_t offset_sense : 1;
536 uint16_t shadowStatusRegisters[6];
537 uint16_t shadowRegisters[9];
540 rda_reg00 *reg00 = (rda_reg00 *)&shadowRegisters[0];
541 rda_reg01 *reg01 = (rda_reg01 *)&shadowRegisters[1];
542 rda_reg02 *reg02 = (rda_reg02 *)&shadowRegisters[2];
543 rda_reg03 *reg03 = (rda_reg03 *)&shadowRegisters[3];
544 rda_reg04 *reg04 = (rda_reg04 *)&shadowRegisters[4];
545 rda_reg05 *reg05 = (rda_reg05 *)&shadowRegisters[5];
546 rda_reg06 *reg06 = (rda_reg06 *)&shadowRegisters[6];
547 rda_reg07 *reg07 = (rda_reg07 *)&shadowRegisters[7];
548 rda_reg08 *reg08 = (rda_reg08 *)&shadowRegisters[8];
551 rda_reg0a *reg0a = (rda_reg0a *)&shadowStatusRegisters[0];
552 rda_reg0b *reg0b = (rda_reg0b *)&shadowStatusRegisters[1];
553 rda_reg0c *reg0c = (rda_reg0c *)&shadowStatusRegisters[2];
554 rda_reg0d *reg0d = (rda_reg0d *)&shadowStatusRegisters[3];
555 rda_reg0e *reg0e = (rda_reg0e *)&shadowStatusRegisters[4];
556 rda_reg0f *reg0f = (rda_reg0f *)&shadowStatusRegisters[5];
559 uint16_t startBand[4] = {8700, 7600, 7600, 6500};
560 uint16_t fmSpace[4] = {100, 200, 50, 25};
607 void setGpio(uint8_t gpioPin, uint8_t gpioSetup = 0,
int mcuPin = -1);
623 void seek(uint8_t seek_mode, uint8_t direction);
626 void setBand(uint8_t band = 1);
void powerUp()
Powers the receiver on.
Definition: RDA5807.cpp:177
void waitAndFinishTune()
Waits for Seek or Tune finish.
Definition: RDA5807.cpp:154
void getStatusRegisters()
Gets all current device status and RDS information registers (From 0x0A to 0x0F)
Definition: RDA5807.cpp:62
uint16_t RDSD
Definition: RDA5807.h:436
void setRegister(uint8_t reg, uint16_t value)
Sets a given value to a specific device register.
Definition: RDA5807.cpp:136
uint8_t raw[6]
Definition: RDA5807.h:509
void setSoftmute(bool value)
Sets Soft Mute Enable or disable.
Definition: RDA5807.cpp:374
uint16_t raw
Definition: RDA5807.h:221
void setVolume(uint8_t value)
Sets the audio volume level.
Definition: RDA5807.cpp:450
uint16_t currentFrequency
Definition: RDA5807.h:567
void setRBDS(bool value)
Sets the RBDS operation.
Definition: RDA5807.cpp:425
void setup(uint8_t clock_type=CLOCK_32K, uint8_t oscillator_type=OSCILLATOR_TYPE_CRYSTAL)
Starts the device.
Definition: RDA5807.cpp:218
int gpio3Control
Can be used to add control to the system via GPIO3 pin.
Definition: RDA5807.h:574
#define REG04
Definition: RDA5807.h:59
void setDelayAfterCrystalOn(uint8_t ms_value)
Set the Delay After Crystal On (default 500ms)
Definition: RDA5807.h:588
uint16_t raw
Definition: RDA5807.h:522
int gpio2Control
Can be used to add control to the system via GPIO2 pin.
Definition: RDA5807.h:573
void clearRdsFifo()
Clears RDS/RBDS FIFO.
Definition: RDA5807.cpp:437
#define REG05
Definition: RDA5807.h:60
void setMono(bool value)
Sets audio Mono or stereo.
Definition: RDA5807.cpp:399
uint8_t currentVolume
Definition: RDA5807.h:570
uint16_t raw
Definition: RDA5807.h:146
void setSeekThreshold(uint8_t value)
Sets RSSI Seek Threshold.
Definition: RDA5807.cpp:308
uint16_t getRealFrequency()
Definition: RDA5807.cpp:284
uint16_t RDSC
Definition: RDA5807.h:420
int resetPin
Definition: RDA5807.h:566
uint16_t raw
Definition: RDA5807.h:311
uint16_t raw
Definition: RDA5807.h:194
void powerDown()
Definition: RDA5807.cpp:206
uint16_t getRealChannel()
Definition: RDA5807.cpp:272
void seek(uint8_t seek_mode, uint8_t direction)
Seek function.
Definition: RDA5807.cpp:295
rda_reg0d blockB
Definition: RDA5807.h:485
void setI2CBusAddrs(int directAccess, int fullAccess)
Sets alternatives I2C bus address.
Definition: RDA5807.h:597
uint8_t currentFMSpace
Definition: RDA5807.h:569
#define REG0B
Definition: RDA5807.h:64
#define I2C_ADDR_DIRECT_ACCESS
Can be used to access a given register at a time.
Definition: RDA5807.h:28
uint16_t raw
Definition: RDA5807.h:276
uint8_t clockType
Definition: RDA5807.h:576
#define I2C_ADDR_FULL_ACCESS
Can be used to access a set of register at a time.
Definition: RDA5807.h:29
void setFrequency(uint16_t frequency)
Sets the frequency.
Definition: RDA5807.cpp:250
uint16_t getFrequency()
Gets the current frequency.
Definition: RDA5807.cpp:262
int deviceAddressFullAccess
Definition: RDA5807.h:564
int getRssi()
Gets the current Rssi.
Definition: RDA5807.cpp:363
void setVolumeUp()
Increments the audio volume.
Definition: RDA5807.cpp:475
void setMute(bool value)
Sets Audio mute or unmute.
Definition: RDA5807.cpp:387
uint16_t maxDelayAftarCrystalOn
Definition: RDA5807.h:579
uint8_t getVolume()
Gets the current audio volume level.
Definition: RDA5807.cpp:465
int deviceAddressDirectAccess
Definition: RDA5807.h:563
void setGpio(uint8_t gpioPin, uint8_t gpioSetup=0, int mcuPin=-1)
Set the Device GPIO pins.
Definition: RDA5807.cpp:32
void setAllRegisters()
Sets values to the device registers from 0x02 to 0x07.
Definition: RDA5807.cpp:112
void softReset()
Resets the device.
Definition: RDA5807.cpp:167
uint16_t raw
Definition: RDA5807.h:239
#define REG0A
Definition: RDA5807.h:63
#define REG03
Definition: RDA5807.h:58
int gpio1Control
Can be used to add control to the system via GPIO1 pin.
Definition: RDA5807.h:572
void setBand(uint8_t band=1)
Sets the FM band. See table below.
Definition: RDA5807.cpp:329
uint16_t raw
Definition: RDA5807.h:342
void setFmDeemphasis(uint8_t de)
Sets De-emphasis.
Definition: RDA5807.cpp:517
void * getStatus(uint8_t reg)
Gets the register content of a given status register (from 0x0A to 0x0F)
Definition: RDA5807.cpp:84
uint16_t raw
Definition: RDA5807.h:372
uint16_t raw
Definition: RDA5807.h:294
uint8_t getDeviceId()
Gets the Device identification.
Definition: RDA5807.cpp:505
void setVolumeDown()
Decrements the audio volume.
Definition: RDA5807.cpp:489
#define MAX_DELAY_AFTER_OSCILLATOR
Definition: RDA5807.h:25
void setRDS(bool value)
Sets the RDS operation.
Definition: RDA5807.cpp:412
uint8_t oscillatorType
Definition: RDA5807.h:577
uint16_t RDSB
Definition: RDA5807.h:403
void setChannel(uint16_t channel)
Sets the channel.
Definition: RDA5807.cpp:234
#define CLOCK_32K
32.768kHz
Definition: RDA5807.h:35
#define REG02
Definition: RDA5807.h:57
uint16_t RDSA
BLOCK A ( in RDS mode) or BLOCK E (in RBDS mode when ABCD_E flag is 1)
Definition: RDA5807.h:387
void setSpace(uint8_t space=0)
Sets the FM channel space.
Definition: RDA5807.cpp:350
uint8_t currentFMBand
Definition: RDA5807.h:568
uint16_t raw
Definition: RDA5807.h:88
#define OSCILLATOR_TYPE_CRYSTAL
Crystal.
Definition: RDA5807.h:32
uint16_t raw
Definition: RDA5807.h:103