This program plays an internet radio audio stream like Shoutcast.

Dependencies:   EthernetNetIf mbed HTTPClient

Committer:
parik
Date:
Tue Mar 01 06:22:50 2011 +0000
Revision:
0:37da71b87d96

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
parik 0:37da71b87d96 1 #ifndef VS1002_H
parik 0:37da71b87d96 2 #define VS1002_H
parik 0:37da71b87d96 3
parik 0:37da71b87d96 4 //#define FS_ONLY
parik 0:37da71b87d96 5 #define FIXED_VOL
parik 0:37da71b87d96 6
parik 0:37da71b87d96 7 #include "mbed.h"
parik 0:37da71b87d96 8 //#include "SDFileSystem.h"
parik 0:37da71b87d96 9 #include "string"
parik 0:37da71b87d96 10 #include "string.h"
parik 0:37da71b87d96 11
parik 0:37da71b87d96 12 //SCI_MODE register bits as of p.26 of the datasheet
parik 0:37da71b87d96 13 #define SM_DIFF 0x0001
parik 0:37da71b87d96 14 #define SM_SETTOZERO 0x0002
parik 0:37da71b87d96 15 #define SM_RESET 0x0004
parik 0:37da71b87d96 16 #define SM_OUTOFWAV 0x0008
parik 0:37da71b87d96 17 #define SM_PDOWN 0x0010
parik 0:37da71b87d96 18 #define SM_TESTS 0x0020
parik 0:37da71b87d96 19 #define SM_STREAM 0x0040
parik 0:37da71b87d96 20 #define SM_PLUSV 0x0080
parik 0:37da71b87d96 21 #define SM_DACT 0x0100
parik 0:37da71b87d96 22 #define SM_SDIORD 0x0200
parik 0:37da71b87d96 23 #define SM_SDISHARE 0x0400
parik 0:37da71b87d96 24 #define SM_SDINEW 0x0800
parik 0:37da71b87d96 25 #define SM_ADPCM 0x1000
parik 0:37da71b87d96 26 #define SM_ADPCM_HP 0x2000
parik 0:37da71b87d96 27
parik 0:37da71b87d96 28
parik 0:37da71b87d96 29 class VS1002 {
parik 0:37da71b87d96 30
parik 0:37da71b87d96 31 public:
parik 0:37da71b87d96 32 // VS1002(int _mmosi, int _mmiso, int _ssck, int _ccs, const char* _name,
parik 0:37da71b87d96 33 // int _mosi, int _miso, int _sck, int _cs, int _rst, int _dreq, int _dcs, int _vol);
parik 0:37da71b87d96 34 VS1002( PinName _mosi, PinName _miso, PinName _sck, PinName _cs, PinName _rst, PinName _dreq,
parik 0:37da71b87d96 35 PinName _dcs, PinName _vol);
parik 0:37da71b87d96 36
parik 0:37da71b87d96 37 void cs_low(void);
parik 0:37da71b87d96 38 void cs_high(void);
parik 0:37da71b87d96 39 void dcs_low(void);
parik 0:37da71b87d96 40 void dcs_high(void);
parik 0:37da71b87d96 41 void sci_en(void);
parik 0:37da71b87d96 42 void sci_dis(void);
parik 0:37da71b87d96 43 void sdi_en(void);
parik 0:37da71b87d96 44 void sdi_dis(void);
parik 0:37da71b87d96 45
parik 0:37da71b87d96 46 void sci_initialise(void);
parik 0:37da71b87d96 47 void sdi_initialise(void);
parik 0:37da71b87d96 48 void reset(void);
parik 0:37da71b87d96 49 void power_down(void);
parik 0:37da71b87d96 50
parik 0:37da71b87d96 51 void sci_write(unsigned char, unsigned short int);
parik 0:37da71b87d96 52 void sdi_write(unsigned char);
parik 0:37da71b87d96 53 unsigned short int read(unsigned short int);
parik 0:37da71b87d96 54 void sine_test_activate(unsigned char);
parik 0:37da71b87d96 55 void volume(void);
parik 0:37da71b87d96 56 void sine_test_deactivate(void);
parik 0:37da71b87d96 57 void play_song(void);
parik 0:37da71b87d96 58 int num_of_files;
parik 0:37da71b87d96 59
parik 0:37da71b87d96 60 DigitalIn _DREQ;
parik 0:37da71b87d96 61 DigitalOut _RST;
parik 0:37da71b87d96 62 AnalogIn _VOL;
parik 0:37da71b87d96 63
parik 0:37da71b87d96 64 protected:
parik 0:37da71b87d96 65
parik 0:37da71b87d96 66 SPI _spi;
parik 0:37da71b87d96 67 DigitalOut _CS;
parik 0:37da71b87d96 68 DigitalOut _DCS;
parik 0:37da71b87d96 69
parik 0:37da71b87d96 70 };
parik 0:37da71b87d96 71 #endif