This program plays an internet radio audio stream like Shoutcast.

Dependencies:   EthernetNetIf mbed HTTPClient

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers VS1002.h Source File

VS1002.h

00001 #ifndef VS1002_H
00002 #define VS1002_H
00003 
00004 //#define FS_ONLY
00005 #define FIXED_VOL
00006 
00007 #include "mbed.h"
00008 //#include "SDFileSystem.h"
00009 #include "string"
00010 #include "string.h"
00011 
00012 //SCI_MODE register bits as of p.26 of the datasheet
00013 #define SM_DIFF         0x0001
00014 #define SM_SETTOZERO    0x0002
00015 #define SM_RESET        0x0004
00016 #define SM_OUTOFWAV     0x0008
00017 #define SM_PDOWN        0x0010
00018 #define SM_TESTS        0x0020
00019 #define SM_STREAM       0x0040
00020 #define SM_PLUSV        0x0080
00021 #define SM_DACT         0x0100
00022 #define SM_SDIORD       0x0200
00023 #define SM_SDISHARE     0x0400
00024 #define SM_SDINEW       0x0800
00025 #define SM_ADPCM        0x1000
00026 #define SM_ADPCM_HP     0x2000
00027 
00028 
00029 class VS1002  {
00030 
00031 public:
00032 //    VS1002(int _mmosi, int _mmiso, int _ssck, int _ccs, const char* _name,
00033 // int _mosi, int _miso, int _sck, int _cs, int _rst, int _dreq, int _dcs, int _vol);
00034     VS1002( PinName _mosi, PinName _miso, PinName _sck, PinName _cs, PinName _rst, PinName _dreq,
00035     PinName _dcs, PinName _vol);
00036 
00037     void cs_low(void); 
00038     void cs_high(void);
00039     void dcs_low(void);
00040     void dcs_high(void);
00041     void sci_en(void);
00042     void sci_dis(void);
00043     void sdi_en(void);
00044     void sdi_dis(void);
00045     
00046     void sci_initialise(void);
00047     void sdi_initialise(void);
00048     void reset(void);
00049     void power_down(void);
00050  
00051     void sci_write(unsigned char, unsigned short int);
00052     void sdi_write(unsigned char);
00053     unsigned short int read(unsigned short int);
00054     void sine_test_activate(unsigned char);
00055     void volume(void);
00056     void sine_test_deactivate(void);
00057     void play_song(void);
00058     int num_of_files;
00059     
00060     DigitalIn _DREQ;
00061     DigitalOut _RST;
00062     AnalogIn _VOL;
00063     
00064 protected:
00065 
00066     SPI _spi;
00067     DigitalOut _CS;
00068     DigitalOut _DCS;
00069 
00070 };
00071 #endif