RDA5807M FM Radio library with RDS.
Dependents: RDA5807M-FM-Radio EFM32 RDA5807M RDS Radio
Example program here:
https://developer.mbed.org/users/star297/code/RDA5807M-FM-Radio/
RDA5807M.h
- Committer:
- star297
- Date:
- 2015-03-31
- Revision:
- 0:527aa96336ac
- Child:
- 1:2c8a64e71afd
File content as of revision 0:527aa96336ac:
#include "mbed.h" class RDA5807M { public: RDA5807M(PinName sda, PinName scl, int addr); ~RDA5807M(); //-------------------------------------------------------------- // Global Functions //-------------------------------------------------------------- void WriteAll(void); void WriteReg(int address,int data); void Init(void); void Read(void); void Reset(void); void PowerOn(void); void PowerOff(void); void RDS(void); void Mute(void); void Mono(void); void Softmute(void); void SoftBlend(void); void BassBoost(void); void Volume(int volume); void SeekUp(void); void SeekDown(void); void Frequency(float Freq); void Channel(void); //-------------------------------------------------------------- // Definitions //-------------------------------------------------------------- /* I2C Address */ #define RDASequential 0x20 //Current Working Communication #define RDARandom 0x22 //To Do Soon #define TEA5767Mode 0x60 //Not implemented /* Initialization Options */ #define StartingFreq 87.000 #define EndingFreq 108.00 #define DefaultFreq 87.000 #define StartingVolume 0x4 /* RDA5807M Function Code */ /* Register 0x02H (16Bits) */ #define RDA_DHIZ 0x8000 #define RDA_MUTE 0x8000 #define RDA_MONO_ON 0x2000 #define RDA_MONO_OFF 0xDFFF #define RDA_BASS_ON 0x1000 #define RDA_BASS_OFF 0xEFFF #define RDA_RCLK_MODE 0x0800 #define RDA_RCLK_DIRECT 0x0400 #define RDA_SEEK_UP 0x0300 #define RDA_SEEK_DOWN 0x0100 #define RDA_SEEK_STOP 0xFCFF #define RDA_SEEK_WRAP 0x0080 #define RDA_SEEK_NOWRAP 0xFF7F #define RDA_CLK_0327 0x0000 #define RDA_CLK_1200 0x0010 #define RDA_CLK_2400 0x0050 #define RDA_CLK_1300 0x0020 #define RDA_CLK_2600 0x0060 #define RDA_CLK_1920 0x0030 #define RDA_CLK_3840 0x0070 #define RDA_RDS_ON 0x0008 #define RDA_RDS_OFF 0xFFF7 #define RDA_NEW 0x0004 #define RDA_RESET 0x0002 #define RDA_POWER 0x0001 /* Register 0x03H (16Bits) */ #define RDA_TUNE_ON 0x0010 #define RDA_TUNE_OFF 0xFFEF //-------------------------------------------------------------- // Global Variables //-------------------------------------------------------------- // int rdsready,tuneok,nochannel,rdssynchro,stereo,signal,fmready,fmstation,rdsblockerror; float freq; unsigned int RDA5807M_WriteReg[8],RDA5807M_ReadReg[7],RDA5807M_RDS[32]; //-------------------------------------------------------------- private: I2C i2c; int addr; };